#!/bin/bash
# ============================================================================
# AMIGO MX — POS  |  Setup Script
# Ejecutar una sola vez en tu VPS de HostGator
# Usage: bash setup.sh
# ============================================================================

set -e
echo ""
echo "🌮  AMIGO MX — POS  Setup"
echo "========================="
echo ""

# 1. Instalar dependencias del servidor
echo "📦  Instalando dependencias del servidor..."
npm install --production
echo "   ✅  Dependencias instaladas"
echo ""

# 2. Compilar frontend
echo "🔨  Compilando frontend React..."
cd public_src
npm install
npm run build
echo "   ✅  Frontend compilado"

# Copiar archivos compilados a public/
cp -r dist/* ../public/
cd ..
echo "   ✅  Archivos copiados a public/"
echo ""

# 3. Configurar base de datos
echo "🗄️   Configurando base de datos..."
echo "   Ejecutando schema.sql..."
source .env 2>/dev/null || true

if command -v mysql &>/dev/null; then
  mysql -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" < database/schema.sql 2>/dev/null && \
    echo "   ✅  Schema ejecutado" || \
    echo "   ⚠️   No se pudo ejecutar schema.sql automáticamente"
else
  echo "   ⚠️   mysql CLI no encontrado. Ejecuta manualmente:"
  echo "   mysql -u $DB_USER -p $DB_NAME < database/schema.sql"
fi
echo ""

# 4. Crear usuarios iniciales (seed)
echo "👥  Creando usuarios iniciales..."
node seed.js && echo "   ✅  Usuarios creados" || echo "   ⚠️   Error al crear usuarios"
echo ""

# 5. Instalar PM2 si no existe
if ! command -v pm2 &>/dev/null; then
  echo "📡  Instalando PM2..."
  npm install -g pm2
  echo "   ✅  PM2 instalado"
fi

# 6. Iniciar con PM2
echo "🚀  Iniciando servidor con PM2..."
pm2 delete amigo-pos 2>/dev/null || true
pm2 start server.js --name amigo-pos
pm2 save
echo ""

echo "============================================"
echo "🎉  ¡AMIGO MX — POS está listo!"
echo "============================================"
echo ""
echo "  URL: http://tu-dominio:3001"
echo ""
echo "  Usuarios por defecto:"
echo "  ┌──────────────┬──────────────┬──────────┐"
echo "  │ Usuario      │ Contraseña   │ Rol      │"
echo "  ├──────────────┼──────────────┼──────────┤"
echo "  │ admin        │ admin123     │ Admin    │"
echo "  │ carlos       │ mesero123    │ Mesero   │"
echo "  │ maria        │ mesero123    │ Mesera   │"
echo "  │ chef_juan    │ cocina123    │ Cocina   │"
echo "  │ bartender    │ bar123       │ Bar      │"
echo "  └──────────────┴──────────────┴──────────┘"
echo ""
echo "  Comandos PM2:"
echo "    pm2 logs amigo-pos     — Ver logs"
echo "    pm2 restart amigo-pos  — Reiniciar"
echo "    pm2 stop amigo-pos     — Detener"
echo ""
echo "  ⚠️  Cambia las contraseñas en producción!"
echo ""
