#!/bin/bash

# Alert System Database Migration Execution Script
# This script executes all alert system migrations

set -e

echo "=========================================="
echo "Alert System Database Migration"
echo "=========================================="
echo ""

# Check if DATABASE_URL is set
if [ -z "$DATABASE_URL" ]; then
    echo "ERROR: DATABASE_URL environment variable not set"
    echo "Please set DATABASE_URL before running this script"
    exit 1
fi

echo "Database URL: $DATABASE_URL"
echo ""

# Extract connection details from DATABASE_URL
# Format: mysql://user:password@host:port/database
if [[ $DATABASE_URL =~ mysql://([^:]+):([^@]+)@([^:]+):([^/]+)/(.+) ]]; then
    DB_USER="${BASH_REMATCH[1]}"
    DB_PASS="${BASH_REMATCH[2]}"
    DB_HOST="${BASH_REMATCH[3]}"
    DB_PORT="${BASH_REMATCH[4]}"
    DB_NAME="${BASH_REMATCH[5]}"
else
    echo "ERROR: Could not parse DATABASE_URL"
    exit 1
fi

echo "Connecting to: $DB_HOST:$DB_PORT/$DB_NAME as $DB_USER"
echo ""

# Execute alert system migration
echo "Executing alert_system.sql migration..."
mysql -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" < drizzle/migrations/alert_system.sql

if [ $? -eq 0 ]; then
    echo "✓ Alert system migration completed successfully"
else
    echo "✗ Alert system migration failed"
    exit 1
fi

echo ""
echo "=========================================="
echo "Verifying tables..."
echo "=========================================="
echo ""

# Verify tables were created
mysql -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" << EOF
SHOW TABLES LIKE 'alert%';
SELECT COUNT(*) as template_count FROM alert_templates;
SELECT COUNT(*) as alert_count FROM alert_logs;
EOF

echo ""
echo "=========================================="
echo "Migration Complete!"
echo "=========================================="
echo ""
echo "Next steps:"
echo "1. Configure environment variables:"
echo "   - SLACK_WEBHOOK_URL"
echo "   - PAGERDUTY_INTEGRATION_KEY"
echo "   - ALERT_EMAIL_RECIPIENTS"
echo "   - BREVO_API_KEY"
echo ""
echo "2. Test alert delivery:"
echo "   - Navigate to Admin → Monitoring"
echo "   - Click 'Check Metrics Now'"
echo ""
echo "3. Monitor alerts:"
echo "   - View active alerts in real-time"
echo "   - Check delivery status"
echo "   - Review alert history"
echo ""
