#!/bin/bash
# ─── Deploy AutoGest API na VPS ───────────────────────────────────────────────
# Execute na VPS: bash deploy-vps.sh
# ─────────────────────────────────────────────────────────────────────────────
set -e

API_DIR="/var/www/autogest-api"

echo "=== 1. Instalando Node.js 20 ==="
if ! command -v node &>/dev/null; then
  curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
  apt-get install -y nodejs
fi
echo "Node: $(node -v) | npm: $(npm -v)"

echo "=== 2. Instalando PM2 ==="
npm install -g pm2 --quiet

echo "=== 3. Criando diretório da API ==="
mkdir -p "$API_DIR"

echo ""
echo ">>> Copie os arquivos da pasta 'api/' para $API_DIR na VPS <<<"
echo "    (via scp, FileZilla, ou cPanel File Manager)"
echo ""
echo "    Arquivos necessários:"
echo "      - server.js"
echo "      - package.json"
echo "      - .env"
echo ""
read -p "Pressione ENTER quando os arquivos estiverem em $API_DIR..."

echo "=== 4. Instalando dependências ==="
cd "$API_DIR"
npm install --omit=dev

echo "=== 5. Iniciando API com PM2 ==="
pm2 delete autogest-api 2>/dev/null || true
pm2 start server.js --name autogest-api

echo "=== 6. PM2 inicializa com o sistema ==="
pm2 save
pm2 startup | tail -1 | bash 2>/dev/null || true

echo "=== 7. Abrindo porta 3001 no firewall ==="
if command -v ufw &>/dev/null; then
  ufw allow 3001/tcp
  echo "Porta 3001 liberada (ufw)"
elif command -v firewall-cmd &>/dev/null; then
  firewall-cmd --permanent --add-port=3001/tcp
  firewall-cmd --reload
  echo "Porta 3001 liberada (firewalld)"
else
  echo "Firewall não detectado — libere a porta 3001 manualmente"
fi

echo ""
echo "=== Testando API ==="
sleep 2
curl -s http://localhost:3001/api/health | python3 -m json.tool 2>/dev/null || \
  curl -s http://localhost:3001/api/health

echo ""
echo "✅  API rodando em http://167.114.95.240:3001"
echo ""
echo "=== PRÓXIMO PASSO: HTTPS (obrigatório se o site usar HTTPS) ==="
echo ""
echo "  1. Aponte um subdomínio para esta VPS (ex: api.seudominio.com.br → 167.114.95.240)"
echo "  2. Instale Nginx e Certbot:"
echo "       apt install -y nginx certbot python3-certbot-nginx"
echo "  3. Copie nginx.conf para /etc/nginx/sites-available/autogest-api"
echo "     (substitua SEU-DOMINIO pelo seu domínio real)"
echo "  4. Ative e emita SSL:"
echo "       ln -s /etc/nginx/sites-available/autogest-api /etc/nginx/sites-enabled/"
echo "       certbot --nginx -d api.seudominio.com.br"
echo "       nginx -t && systemctl reload nginx"
echo "  5. Atualize API_URL nos HTMLs:"
echo "       const API_URL = 'https://api.seudominio.com.br';"
echo ""
