#!/bin/bash

echo "=========================================="
echo "DEPLOY: Correções Críticas - Subscription"
echo "=========================================="
echo ""

GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m'

cd /var/www/gestorstream

# 1. Atualizar código
echo "1. Atualizando código..."
git stash 2>/dev/null
git pull origin main

if [ $? -eq 0 ]; then
    echo -e "${GREEN}✓${NC} Código atualizado"
else
    echo -e "${RED}❌${NC} Erro ao atualizar código"
    exit 1
fi
echo ""

# 2. Limpar cache backend
echo "2. Limpando cache do backend..."
cd backend
php artisan config:clear
php artisan cache:clear
php artisan route:clear
echo -e "${GREEN}✓${NC} Cache limpo"
echo ""

# 3. Verificar nova rota
echo "3. Verificando rotas..."
RENEW_ROUTE=$(php artisan route:list | grep -c "subscriptions/renew")

if [ "$RENEW_ROUTE" -gt "0" ]; then
    echo -e "${GREEN}✓${NC} Rota /subscriptions/renew encontrada"
else
    echo -e "${RED}❌${NC} Rota /subscriptions/renew NÃO encontrada"
fi
echo ""

# 4. Recompilar frontend
echo "4. Compilando frontend..."
cd ../frontend
npm run build

if [ $? -eq 0 ]; then
    echo -e "${GREEN}✓${NC} Frontend compilado"
else
    echo -e "${RED}❌${NC} Erro ao compilar frontend"
fi
echo ""

# 5. Recarregar nginx
echo "5. Recarregando nginx..."
sudo nginx -s reload
echo -e "${GREEN}✓${NC} Nginx recarregado"
echo ""

echo "=========================================="
echo "✅ CORREÇÕES APLICADAS!"
echo "=========================================="
echo ""
echo "📋 O que foi corrigido:"
echo ""
echo "1. ✅ Instâncias WhatsApp extras preservadas em upgrades/downgrades"
echo "   - ProrationService preserva extras"
echo "   - WebhookController transfere extras"
echo "   - PaymentController transfere extras"
echo ""
echo "2. ✅ Histórico de pagamentos sempre visível"
echo "   - Removido condicional de subscription ativa"
echo ""
echo "3. ✅ Sistema de renovação com QR Code"
echo "   - POST /api/v1/subscriptions/renew"
echo "   - Aplica créditos automaticamente"
echo "   - Gera QR Code PIX"
echo ""
echo "🧪 Como testar:"
echo ""
echo "1. Teste de preservação de extras:"
echo "   - Compre instâncias extras"
echo "   - Faça upgrade/downgrade"
echo "   - Verifique se extras ainda estão lá"
echo ""
echo "2. Teste de histórico:"
echo "   - Acesse /subscription"
echo "   - Verifique se 'Histórico de Pagamentos' aparece"
echo ""
echo "3. Teste de renovação:"
echo "   curl -X POST https://gestor.jf.eng.br/api/v1/subscriptions/renew \\"
echo "     -H 'Authorization: Bearer TOKEN' \\"
echo "     -H 'Content-Type: application/json' \\"
echo "     -d '{\"gateway\": \"openpix\"}'"
echo ""
echo "📖 Documentação: CORRECOES_CRITICAS_SUBSCRIPTION.md"
echo ""
