#!/bin/bash
# =============================================================================
# IDS - Pulizia Database Automatica
# =============================================================================
# Esegui giornalmente via cron per mantenere database pulito
# Esempio cron: 0 3 * * * /opt/ids/deployment/cleanup_database.sh
# =============================================================================

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
IDS_DIR="/opt/ids"

# Carica variabili ambiente ed esportale
if [ -f "$IDS_DIR/.env" ]; then
    set -a
    source "$IDS_DIR/.env"
    set +a
fi

# Verifica DATABASE_URL
if [ -z "$DATABASE_URL" ]; then
    echo "[ERROR] DATABASE_URL non impostato"
    exit 1
fi

echo "=========================================="
echo "IDS - Pulizia Database $(date)"
echo "=========================================="

# Dimensione database PRIMA della pulizia
echo ""
echo "📊 Dimensione database PRIMA:"
psql "$DATABASE_URL" -c "SELECT pg_size_pretty(pg_database_size(current_database()));"

# Esegui pulizia
echo ""
echo "🧹 Eliminazione log vecchi (>3 giorni)..."
psql "$DATABASE_URL" -f "$IDS_DIR/database-schema/cleanup_old_logs.sql"

# Dimensione database DOPO la pulizia
echo ""
echo "📊 Dimensione database DOPO:"
psql "$DATABASE_URL" -c "SELECT pg_size_pretty(pg_database_size(current_database()));"

echo ""
echo "✅ Pulizia completata - $(date)"
echo "=========================================="
