#!/bin/bash

# 🧹 Script para Limpeza COMPLETA do Servidor
# ⚠️  CUIDADO: Este script APAGA TUDO do servidor!
# Execute: ./limpar-servidor-completo.sh

echo "🧹 LIMPEZA COMPLETA DO 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}[✅ OK]${NC} $1"
}

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

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

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

# Configurações do servidor
SERVER_IP="192.168.195.145"
SERVER_USER="tiago"
SERVER_PATH="/home/tiago/app_estoque"

echo ""
warn "⚠️  ATENÇÃO: Este script vai APAGAR COMPLETAMENTE:"
echo "  🗂️  Todos os arquivos do projeto no servidor"
echo "  🔄 Processos PM2 do Liberi Kids"
echo "  📦 Dependências Node.js"
echo "  🔧 Configurações locais"
echo ""
warn "⚠️  O BANCO DE DADOS SUPABASE NÃO SERÁ AFETADO"
echo ""

read -p "Tem CERTEZA que quer limpar TUDO do servidor? (digite 'CONFIRMO'): " confirma
if [[ $confirma != "CONFIRMO" ]]; then
    error "❌ Operação cancelada!"
    exit 1
fi

echo ""
info "🧹 INICIANDO LIMPEZA COMPLETA..."

# Função para executar comandos no servidor
run_remote() {
    ssh $SERVER_USER@$SERVER_IP "$1"
}

echo ""
info "1️⃣  PARANDO PROCESSOS PM2..."

run_remote "pm2 stop all 2>/dev/null || true"
run_remote "pm2 delete all 2>/dev/null || true"
run_remote "pm2 kill 2>/dev/null || true"

log "✅ Processos PM2 parados"

echo ""
info "2️⃣  REMOVENDO DIRETÓRIO DO PROJETO..."

run_remote "rm -rf $SERVER_PATH"
run_remote "mkdir -p $SERVER_PATH"

log "✅ Diretório limpo: $SERVER_PATH"

echo ""
info "3️⃣  LIMPANDO CACHE NODE.JS..."

run_remote "npm cache clean --force 2>/dev/null || true"
run_remote "rm -rf ~/.npm 2>/dev/null || true"

log "✅ Cache Node.js limpo"

echo ""
info "4️⃣  REMOVENDO LOGS ANTIGOS..."

run_remote "rm -rf ~/.pm2/logs/* 2>/dev/null || true"
run_remote "rm -rf /tmp/liberi-* 2>/dev/null || true"

log "✅ Logs removidos"

echo ""
info "5️⃣  VERIFICANDO PORTAS..."

run_remote "pkill -f 'node.*server' 2>/dev/null || true"
run_remote "fuser -k 5000/tcp 2>/dev/null || true"

log "✅ Portas liberadas"

echo ""
log "🎉 LIMPEZA COMPLETA FINALIZADA!"
echo ""

info "📋 SERVIDOR LIMPO:"
echo "  ✅ Todos os arquivos removidos"
echo "  ✅ Processos parados"
echo "  ✅ Cache limpo"
echo "  ✅ Portas liberadas"
echo ""

info "🚀 PRÓXIMO PASSO:"
echo "  Execute: ./deploy-completo-servidor.sh"
echo ""

warn "💡 DICA: O banco Supabase não foi afetado"
warn "💡 Suas vendas e dados estão seguros na nuvem"
