#!/usr/bin/env bash
# Atualiza a versão publicada em bi.ledirautomoveis.com.br (ver DEPLOY.md).
# Roda no servidor, como o usuário da conta cPanel, de dentro de ~/bi-ledir.
set -euo pipefail

PHP="${PHP:-/opt/cpanel/ea-php83/root/usr/bin/php}"
COMPOSER="${COMPOSER:-/opt/cpanel/composer/bin/composer}"
cd "$(dirname "$0")/.."

"$PHP" -r 'exit(version_compare(PHP_VERSION, "8.3.0", ">=") ? 0 : 1);' \
    || { echo "PHP em $PHP é anterior ao 8.3. Ajuste a variável PHP."; exit 1; }

if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
    echo "Há arquivos do projeto alterados direto no servidor:"
    git status --short --untracked-files=no
    echo "Nada foi feito. Descarte ou leve essas mudanças para o repositório antes."
    exit 1
fi

echo "→ Manutenção"
"$PHP" artisan down --retry=30

echo "→ Código"
git pull --ff-only

echo "→ Dependências"
"$PHP" "$COMPOSER" install --no-dev --optimize-autoloader --no-interaction

echo "→ Banco"
"$PHP" artisan migrate --force

echo "→ Caches"
"$PHP" artisan config:cache
"$PHP" artisan route:cache
"$PHP" artisan view:cache

"$PHP" artisan up
echo "✓ Atualizado para $(git log -1 --format='%h — %s')"
