chore: sincroniza projeto para gitea

This commit is contained in:
Tiago
2025-11-29 21:31:52 -03:00
parent 33d8645eb4
commit 7e7a0f8867
129 changed files with 24999 additions and 6757 deletions

View File

@@ -0,0 +1,147 @@
#!/bin/bash
##############################################
# Instalador de Cron Job para Alertas de Vencimento
#
# Este script configura o cron para executar
# alertas automáticos às 09:00 (horário de Brasília)
##############################################
set -e
echo "=========================================="
echo " INSTALADOR CRON - ALERTAS PARCELAS"
echo "=========================================="
echo ""
# Cores
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Detectar diretório do projeto
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
NODE_SCRIPT="$PROJECT_DIR/scripts/enviar-alertas-parcelas.js"
echo "📁 Diretório do projeto: $PROJECT_DIR"
echo "📜 Script de alertas: $NODE_SCRIPT"
echo ""
# Verificar se o script existe
if [ ! -f "$NODE_SCRIPT" ]; then
echo -e "${RED}❌ Script de alertas não encontrado!${NC}"
echo " Caminho esperado: $NODE_SCRIPT"
exit 1
fi
# Tornar o script executável
chmod +x "$NODE_SCRIPT"
echo -e "${GREEN}✅ Permissões de execução configuradas${NC}"
# Detectar path do Node.js
NODE_PATH=$(which node)
if [ -z "$NODE_PATH" ]; then
echo -e "${RED}❌ Node.js não encontrado!${NC}"
echo " Instale o Node.js primeiro: https://nodejs.org"
exit 1
fi
echo -e "${GREEN}✅ Node.js encontrado: $NODE_PATH${NC}"
# Criar linha do cron
# Executa todos os dias às 09:00 (horário de Brasília - UTC-3)
# Nota: Cron usa UTC, então 09:00 BRT = 12:00 UTC
CRON_LINE="0 12 * * * TZ='America/Sao_Paulo' $NODE_PATH $NODE_SCRIPT >> $PROJECT_DIR/logs/alertas-cron.log 2>&1"
echo ""
echo "🕐 Configuração do cron:"
echo " - Horário: 09:00 (Brasília)"
echo " - Frequência: Diariamente"
echo " - Timezone: America/Sao_Paulo"
echo ""
# Criar diretório de logs
mkdir -p "$PROJECT_DIR/logs"
echo -e "${GREEN}✅ Diretório de logs criado${NC}"
# Verificar se já existe o cron
EXISTING_CRON=$(crontab -l 2>/dev/null | grep -F "$NODE_SCRIPT" || true)
if [ -n "$EXISTING_CRON" ]; then
echo -e "${YELLOW}⚠️ Já existe um cron job configurado para este script${NC}"
echo ""
echo "Cron atual:"
echo " $EXISTING_CRON"
echo ""
read -p "Deseja substituir? (s/N): " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Ss]$ ]]; then
echo "❌ Instalação cancelada pelo usuário"
exit 0
fi
# Remover linha antiga
(crontab -l 2>/dev/null | grep -v -F "$NODE_SCRIPT") | crontab -
echo -e "${GREEN}✅ Cron antigo removido${NC}"
fi
# Adicionar novo cron
(crontab -l 2>/dev/null; echo "$CRON_LINE") | crontab -
echo ""
echo -e "${GREEN}✅ Cron job instalado com sucesso!${NC}"
echo ""
# Verificar instalação
echo "📋 Cron jobs ativos:"
echo "────────────────────────────────────────"
crontab -l | grep -F "$NODE_SCRIPT" || echo "Nenhum cron encontrado"
echo "────────────────────────────────────────"
echo ""
# Teste manual
echo "🧪 Deseja executar um teste agora? (s/N): "
read -p "" -n 1 -r
echo ""
if [[ $REPLY =~ ^[Ss]$ ]]; then
echo ""
echo "🚀 Executando teste..."
echo "────────────────────────────────────────"
TZ='America/Sao_Paulo' $NODE_PATH $NODE_SCRIPT
echo "────────────────────────────────────────"
echo ""
fi
echo ""
echo "=========================================="
echo " INSTALAÇÃO CONCLUÍDA! ✅"
echo "=========================================="
echo ""
echo "📝 Próximos passos:"
echo ""
echo "1. Configure as variáveis de ambiente em .env:"
echo " - SUPABASE_URL"
echo " - SUPABASE_SERVICE_KEY (ou SUPABASE_ANON_KEY)"
echo ""
echo "2. Configure no painel admin:"
echo " - Evolution API (URL, Instance, API Key)"
echo " - Mercado Pago (Access Token)"
echo " - Mensagens de alerta personalizadas"
echo " - Dias de antecedência para alertas"
echo ""
echo "3. Monitore os logs:"
echo " tail -f $PROJECT_DIR/logs/alertas-cron.log"
echo ""
echo "4. Para testar manualmente:"
echo " cd $PROJECT_DIR"
echo " node scripts/enviar-alertas-parcelas.js"
echo ""
echo "5. Para desinstalar o cron:"
echo " crontab -e (e remova a linha do script)"
echo ""
echo "=========================================="
echo ""