#!/bin/bash
# Entrypoint para contenedor de mantenimiento

set -e

echo "=========================================="
echo "WhatsApp Bot - Contenedor de Mantenimiento"
echo "=========================================="
echo "Fecha: $(date)"
echo "Zona Horaria: $TZ"
echo ""

# Verificar conexión a base de datos
echo "Verificando conexión a base de datos..."
if mariadb-admin ping -h "${DB_HOST}" -u "${DB_USER}" --password="${DB_PASS}" --silent; then
    echo "✅ Conexión a base de datos OK"
else
    echo "❌ No se pudo conectar a la base de datos"
    exit 1
fi

# Verificar Redis
echo "Verificando conexión a Redis..."
if echo "PING" | nc -w 2 "${REDIS_HOST}" 6379 | grep -q PONG; then
    echo "✅ Conexión a Redis OK"
else
    echo "⚠️  Redis no disponible (no crítico)"
fi

# Crear directorios necesarios
mkdir -p /backups/database
mkdir -p /var/log/cron

# Ejecutar migraciones de base de datos
echo ""
echo "Ejecutando migraciones de base de datos..."
/scripts/run-migrations.sh

echo ""
echo "Tareas programadas:"
echo "- 02:00 AM: Backup de base de datos"
echo "- 03:00 AM: Limpieza de logs"
echo "- Cada hora: Verificación de salud"
echo "- Cada minuto: Envío de mensajes programados"
echo ""
echo "Logs disponibles en /var/log/cron/"
echo "=========================================="
echo ""

# Iniciar cron en segundo plano y seguir logs
crond -b -d 8
touch /var/log/cron/scheduled.log
tail -f /var/log/cron/*.log
