#!/usr/bin/env bash
# Deploy / atualização do Algar Venture Builder na EC2.
# Uso: cd /var/www/html/algarventurebuilder/algar-venture && ./deploy.sh
set -euo pipefail

APP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SERVICE="algarventurebuilder"
BRANCH="${BRANCH:-main}"

cd "$APP_DIR"

echo "==> Atualizando código (branch $BRANCH)"
git fetch --all --prune
git checkout "$BRANCH"
git pull --ff-only origin "$BRANCH"

echo "==> Instalando dependências (npm)"
if [ -f package-lock.json ]; then
  npm ci
else
  npm install
fi

echo "==> Build (Nitro preset node-server)"
NITRO_PRESET="${NITRO_PRESET:-node-server}" npm run build

test -f .output/server/index.mjs || { echo "ERRO: .output/server/index.mjs não gerado"; exit 1; }

echo "==> Reiniciando serviço"
sudo -n /usr/bin/systemctl restart "$SERVICE"
sleep 2
sudo -n /usr/bin/systemctl --no-pager --lines=10 status "$SERVICE"
curl -fsS -o /dev/null -w "healthcheck: %{http_code}\n" http://127.0.0.1:3002/
echo "==> Deploy concluído"