#!/bin/bash
# Ejecutar en el VPS por SSH:
#   cd ~/public_html/agencia-viajes && bash scripts/vps-install.sh
set -e

echo "=== Id Viajero — instalación VPS ==="
cd "$(dirname "$0")/.."
APP_DIR="$(pwd)"
echo "Directorio: $APP_DIR"

if [ ! -f ".env" ]; then
  echo "ERROR: Falta .env en $APP_DIR"
  echo "Copia .env.vps.example y completa DATABASE_URL y AUTH_SECRET"
  exit 1
fi

if grep -q ':3307' .env 2>/dev/null; then
  echo "ERROR: DATABASE_URL usa puerto 3307 (MySQL local de Windows)."
  echo "En el VPS HostGator usa localhost:3306, por ejemplo:"
  echo '  DATABASE_URL="mysql://idviajero_idviajero_admin:TU_PASSWORD@localhost:3306/idviajero_idviajero_bd"'
  echo "Edita: nano .env"
  exit 1
fi

if [ ! -f "server.js" ]; then
  echo "ERROR: Falta server.js — sube la versión más reciente del proyecto"
  exit 1
fi

chmod +x node_modules/.bin/* 2>/dev/null || true

echo "→ npm install..."
npm install

echo "→ prisma migrate deploy..."
set +e
MIGRATE_OUT=$(npx prisma migrate deploy 2>&1)
MIGRATE_STATUS=$?
set -e
echo "$MIGRATE_OUT"

if [ $MIGRATE_STATUS -ne 0 ]; then
  if echo "$MIGRATE_OUT" | grep -q "P3005"; then
    echo "→ La BD ya tiene tablas. Baseline: marcando migración como aplicada..."
    npx prisma migrate resolve --applied "20260531230000_init_mysql"
  else
    echo "ERROR: prisma migrate deploy falló."
    exit 1
  fi
fi

echo "→ npm run build..."
npm run build

if [ ! -d ".next" ]; then
  echo "ERROR: No se generó .next — el build falló"
  exit 1
fi

echo ""
echo "=== Listo. Ahora en cPanel: ==="
echo "  1. Setup Node.js App"
echo "  2. Application root: agencia-viajes"
echo "  3. Application URL: idviajero.com (sin subcarpeta)"
echo "  4. Application startup file: server.js"
echo "  5. Run NPM Install → START APP"
echo ""
echo "Si ya existe la app: STOP → Run NPM Install → START"
