#!/bin/bash

# 🏦 Script para Configurar PIX no Servidor
# Execute no servidor: ./configurar-pix-servidor.sh

echo "🏦 Configurando PIX no Servidor - Liberi Kids"
echo "============================================"

# Cores para output
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
RED='\033[0;31m'
NC='\033[0m'

log() {
    echo -e "${GREEN}[SUCCESS]${NC} $1"
}

warn() {
    echo -e "${YELLOW}[WARN]${NC} $1"
}

info() {
    echo -e "${BLUE}[INFO]${NC} $1"
}

error() {
    echo -e "${RED}[ERROR]${NC} $1"
}

# Verificar se estamos no diretório correto
if [ ! -f "server-supabase.js" ]; then
    error "Arquivo server-supabase.js não encontrado!"
    echo "Execute este script no diretório raiz do projeto (onde está o server-supabase.js)"
    exit 1
fi

info "📁 Diretório correto encontrado"

# Verificar se .env existe
if [ ! -f ".env" ]; then
    warn "⚠️  Arquivo .env não encontrado!"
    echo "Criando .env a partir do .env.example..."
    
    if [ -f ".env.example" ]; then
        cp .env.example .env
        log "✅ Arquivo .env criado"
    else
        error "❌ Arquivo .env.example não encontrado!"
        exit 1
    fi
fi

# Verificar se as credenciais PIX estão no .env
if ! grep -q "MERCADOPAGO_ACCESS_TOKEN" .env; then
    warn "⚠️  Credenciais PIX não encontradas no .env"
    echo ""
    echo "Adicionando configurações PIX ao .env..."
    
    cat >> .env << 'EOF'

# =====================================================
# CONFIGURAÇÕES PIX - MERCADO PAGO
# =====================================================

# Access Token do Mercado Pago (TEST para desenvolvimento, PROD para produção)
MERCADOPAGO_ACCESS_TOKEN=TEST-sua_access_token_aqui

# Public Key do Mercado Pago
MERCADOPAGO_PUBLIC_KEY=pk_test_sua_public_key_aqui

# URL base para webhooks (importante para produção)
BASE_URL=http://localhost:5000
EOF

    log "✅ Configurações PIX adicionadas ao .env"
    warn "📝 EDITE O ARQUIVO .env E CONFIGURE SUAS CREDENCIAIS!"
fi

# Verificar se node_modules existe
if [ ! -d "node_modules" ]; then
    warn "⚠️  node_modules não encontrado. Instalando dependências..."
    npm install
fi

# Verificar se mercadopago está instalado
if [ ! -d "node_modules/mercadopago" ]; then
    info "📦 Instalando SDK do Mercado Pago..."
    npm install mercadopago
    log "✅ Mercado Pago SDK instalado"
fi

# Verificar se o build do frontend existe
if [ ! -d "client/build" ]; then
    warn "⚠️  Build do frontend não encontrado"
    info "🔨 Fazendo build do frontend..."
    cd client
    npm install
    npm run build
    cd ..
    log "✅ Build do frontend concluído"
fi

echo ""
info "🎯 CONFIGURAÇÃO PIX FINALIZADA!"
echo ""

log "✅ Arquivos PIX criados:"
echo "  - config/mercadopago.js (Serviço PIX)"
echo "  - client/src/styles/pix-integration.css (Estilos)"
echo "  - aplicar-pix-supabase.sql (SQL para Supabase)"
echo ""

warn "📝 PRÓXIMOS PASSOS OBRIGATÓRIOS:"
echo ""
echo "1. 🏦 CRIAR CONTA MERCADO PAGO:"
echo "   - Acesse: https://www.mercadopago.com.br/developers"
echo "   - Crie conta e aplicação de 'Pagamentos online'"
echo ""

echo "2. 📝 CONFIGURAR CREDENCIAIS:"
echo "   - Edite o arquivo .env:"
echo "     nano .env"
echo "   - Configure:"
echo "     MERCADOPAGO_ACCESS_TOKEN=TEST-sua_access_token"
echo "     MERCADOPAGO_PUBLIC_KEY=pk_test_sua_public_key"
echo "     BASE_URL=http://$(hostname -I | awk '{print $1}'):5000"
echo ""

echo "3. 🗄️ APLICAR SQL NO SUPABASE:"
echo "   - Acesse o painel do Supabase"
echo "   - Vá em SQL Editor"
echo "   - Execute o conteúdo do arquivo: aplicar-pix-supabase.sql"
echo ""

echo "4. 🔄 REINICIAR SERVIDOR:"
echo "   - pm2 restart liberi-kids"
echo "   - Ou: pm2 start server-supabase.js --name liberi-kids"
echo ""

echo "5. 🧪 TESTAR:"
echo "   - Acesse o sistema"
echo "   - Vá em Vendas"
echo "   - Clique no botão PIX (💳)"
echo "   - Verifique se QR Code é gerado"
echo ""

info "💡 DICAS:"
echo "  - Use credenciais TEST para desenvolvimento"
echo "  - Configure webhook URL no Mercado Pago"
echo "  - Teste pagamentos no ambiente sandbox"
echo ""

log "🎉 PIX PRONTO PARA CONFIGURAÇÃO!"
echo ""
warn "Configure as credenciais e execute o SQL no Supabase!"
