#!/bin/bash
# Deploy API Soporte a producción
# Servidor: 108.61.192.251
# Dominio: devapi.lambicom.com
# Path: /var/www/html/api-suporte

set -e

APP_DIR="/var/www/html/api-suporte"

echo "=== Deploy API Soporte - devapi.lambicom.com ==="

# 1. Copiar proyecto al directorio de producción
echo "[1/8] Copiando archivos..."
sudo mkdir -p $APP_DIR
sudo rsync -av --exclude='vendor' --exclude='node_modules' --exclude='.env' --exclude='storage/logs/*' \
    /home/kobymaster/Omitech-Project/CloudPBX/LambiTenant/api-suporte/ $APP_DIR/

# 2. Configurar .env de producción
echo "[2/8] Configurando .env..."
sudo cp $APP_DIR/.env.production $APP_DIR/.env

# 3. Permisos
echo "[3/8] Configurando permisos..."
sudo chown -R www-data:www-data $APP_DIR
sudo chmod -R 755 $APP_DIR
sudo chmod -R 775 $APP_DIR/storage
sudo chmod -R 775 $APP_DIR/bootstrap/cache

# 4. Instalar dependencias
echo "[4/8] Instalando dependencias..."
cd $APP_DIR
sudo -u www-data composer install --no-dev --optimize-autoloader --no-interaction

# 5. Generar caches
echo "[5/8] Optimizando para producción..."
sudo -u www-data php artisan config:cache
sudo -u www-data php artisan route:cache
sudo -u www-data php artisan view:cache

# 6. Migrar base de datos
echo "[6/8] Ejecutando migraciones..."
sudo -u www-data php artisan migrate --force
sudo -u www-data php artisan db:seed --force

# 7. Configurar Nginx
echo "[7/8] Configurando Nginx..."
sudo cp $APP_DIR/devapi.lambicom.com.conf /etc/nginx/sites-available/devapi.lambicom.com
sudo ln -sf /etc/nginx/sites-available/devapi.lambicom.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

# 8. SSL con Certbot (opcional)
echo "[8/8] Configurando SSL..."
sudo certbot --nginx -d devapi.lambicom.com --non-interactive --agree-tos -m admin@lambicom.com || echo "NOTA: Configura SSL manualmente si falla"

echo ""
echo "=== Deploy completado ==="
echo "API disponible en: https://devapi.lambicom.com/api/v1/"
echo ""
echo "Para generar token:"
echo "curl -X POST https://devapi.lambicom.com/api/v1/auth/token \\"
echo "  -H 'Content-Type: application/json' \\"
echo "  -d '{\"email\":\"voicebot@lambitenant.com\",\"password\":\"voicebot2026\",\"device_name\":\"voicebot\"}'"
