#!/bin/bash

echo "=========================================="
echo "CORREÇÃO: Erro coluna 'meta'"
echo "=========================================="
echo ""

GREEN='\033[0;32m'
RED='\033[0;31m'
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
echo "2. Limpando cache..."
cd backend
php artisan config:clear
php artisan cache:clear
php artisan route:clear
echo -e "${GREEN}✓${NC} Cache limpo"
echo ""

# 3. Testar se subscriptions tem campo meta
echo "3. Verificando estrutura da tabela subscriptions..."
HAS_META=$(php artisan tinker --execute="echo Schema::hasColumn('subscriptions', 'meta') ? 'yes' : 'no';" 2>/dev/null)

if [ "$HAS_META" = "yes" ]; then
    echo -e "${GREEN}✓${NC} Coluna 'meta' existe"
else
    echo "⚠️  Coluna 'meta' NÃO existe - código adaptado para usar 'admin_notes'"
fi
echo ""

# 4. Recompilar frontend
echo "4. Recompilando 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ÇÃO APLICADA!"
echo "=========================================="
echo ""
echo "Mudanças:"
echo "  ✓ Removido uso da coluna 'meta'"
echo "  ✓ Usando 'admin_notes' (JSON) para armazenar dados"
echo "  ✓ Frontend recompilado"
echo ""
echo "Teste novamente o upgrade/downgrade!"
echo ""
