#!/bin/bash

# Script di verifica completa del sistema Netgescon
# Uso: ./verify-system.sh

echo "🔍 VERIFICA COMPLETA SISTEMA NETGESCON"
echo "======================================"

echo ""
echo "1️⃣ Controllo struttura database..."
mysql -u root -p -e "
USE netgescon;
SELECT 'Tabella amministratori:' as info;
DESCRIBE amministratori;
SELECT '' as separator;
SELECT 'Utenti esistenti:' as info;
SELECT id, name, email FROM users LIMIT 5;
"

echo ""
echo "2️⃣ Test generazione codice univoco..."
php artisan tinker --execute="
echo 'Test Observer Amministratore:';
\$user = \App\Models\User::first();
if (\$user) {
    echo 'Utente trovato: ' . \$user->name;
    \$admin = new \App\Models\Amministratore([
        'nome' => 'Test Sistema',
        'cognome' => 'Verifica',
        'user_id' => \$user->id,
        'codice_amministratore' => 'SYSVER' . rand(10,99)
    ]);
    \$admin->save();
    echo 'Admin creato con codice univoco: ' . \$admin->codice_univoco;
    \$admin->delete();
    echo 'Test completato (record eliminato)';
} else {
    echo 'ERRORE: Nessun utente trovato nel sistema';
}
"

echo ""
echo "3️⃣ Controllo Observer e trigger..."
php artisan tinker --execute="
echo 'Controllo configurazione Observer:';
echo 'AmministratoreObserver: ' . (class_exists('App\\\Observers\\\AmministratoreObserver') ? 'OK' : 'MANCANTE');
echo 'UserObserver: ' . (class_exists('App\\\Observers\\\UserObserver') ? 'OK' : 'MANCANTE');
"

echo ""
echo "4️⃣ Test migration status..."
php artisan migrate:status | tail -10

echo ""
echo "✅ Verifica completata!"
