#!/usr/bin/env bash
# Script de diagnóstico para lawfirm
# Uso: ./diagnose_lawfirm.sh

set -euo pipefail

echo "🔍 Diagnóstico de cuenta lawfirm"
echo "=================================="
echo ""

# 1. Verificar si el usuario existe
echo "1️⃣ Verificando si el usuario cPanel 'lawfirm' existe..."
if whmapi1 listaccts searchtype=user search=lawfirm 2>/dev/null | grep -q "user.*lawfirm"; then
    echo "✅ Usuario 'lawfirm' EXISTE"
    USER_EXISTS=true
else
    echo "❌ Usuario 'lawfirm' NO EXISTE"
    USER_EXISTS=false
fi
echo ""

# 2. Si existe, verificar BD
if [ "$USER_EXISTS" = true ]; then
    echo "2️⃣ Verificando bases de datos para 'lawfirm'..."
    uapi --user=lawfirm Mysql list_databases 2>&1 | head -20
    echo ""

    echo "3️⃣ Verificando usuarios de BD para 'lawfirm'..."
    uapi --user=lawfirm Mysql list_users 2>&1 | head -20
    echo ""

    echo "4️⃣ Verificando directorio home..."
    if [ -d "/home/lawfirm" ]; then
        echo "✅ Directorio /home/lawfirm existe"
        ls -la /home/lawfirm/ | head -10
    else
        echo "❌ Directorio /home/lawfirm NO existe"
    fi
    echo ""
else
    echo "⚠️  Como el usuario no existe, necesitas crearlo primero."
    echo ""
    echo "💡 Solución: Ejecuta el script de creación:"
    echo "   ./bulk_create_cpanel4.sh --json /tmp/lawfirm-proyecto.json"
    echo ""
fi

# 3. Verificar logs de error
echo "5️⃣ Últimos errores en logs de cPanel..."
echo "   Buscando errores relacionados con 'lawfirm' o 'd5vgu5'..."
if [ -f "/usr/local/cpanel/logs/error_log" ]; then
    grep -i "lawfirm\|d5vgu5" /usr/local/cpanel/logs/error_log | tail -10 || echo "   No se encontraron errores relacionados"
else
    echo "   Archivo de log no encontrado"
fi
echo ""

# 4. Verificar estado de MySQL
echo "6️⃣ Verificando estado de MySQL..."
if systemctl status mysql >/dev/null 2>&1 || service mysql status >/dev/null 2>&1; then
    echo "✅ MySQL está corriendo"
else
    echo "⚠️  No se pudo verificar el estado de MySQL"
fi
echo ""

# 5. Verificar límites de recursos
if [ "$USER_EXISTS" = true ]; then
    echo "7️⃣ Límites de recursos para 'lawfirm'..."
    whmapi1 accountsummary user=lawfirm 2>/dev/null | grep -E "maxsql|maxsub|maxpark|maxaddon" || echo "   No se pudieron obtener límites"
    echo ""
fi

echo "=================================="
echo "✅ Diagnóstico completado"
echo ""

