#!/bin/bash

# Script di verifica completa per Netgescon
# Verifica lo stato della migrazione e testa le funzionalità

echo "🔍 Verifica stato migrazione Netgescon..."

# Parametri
REMOTE_USER="michele"
REMOTE_HOST="192.168.0.200"
REMOTE_PATH="/var/www/netgescon"

echo "🌐 Connessione al server $REMOTE_HOST..."

# Test 1: Verifica struttura database
echo "📊 Test 1: Verifica struttura tabella amministratori..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && mysql -u root -p -e 'DESCRIBE netgescon.amministratori;' | grep codice_univoco"

# Test 2: Verifica indici
echo "📊 Test 2: Verifica indici tabella amministratori..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && mysql -u root -p -e 'SHOW INDEX FROM netgescon.amministratori;' | grep codice"

# Test 3: Verifica migration status
echo "📊 Test 3: Stato migration..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan migrate:status | tail -10"

# Test 4: Test creazione amministratore
echo "📊 Test 4: Test creazione amministratore..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan tinker --execute=\"\\\$admin = new App\\\\Models\\\\Amministratore(['nome' => 'TestVerifica', 'cognome' => 'Sistema', 'user_id' => 1, 'codice_amministratore' => 'VER' . rand(100,999)]); \\\$admin->save(); echo 'Codice univoco: ' . \\\$admin->codice_univoco;\""

# Test 5: Verifica Observer
echo "📊 Test 5: Verifica registrazione Observer..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && grep -r 'AmministratoreObserver' app/ config/"

# Test 6: Verifica trigger SQL (se presenti)
echo "📊 Test 6: Verifica trigger SQL..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && mysql -u root -p -e 'SHOW TRIGGERS FROM netgescon WHERE Trigger LIKE \"%codice_univoco%\";'"

# Test 7: Verifica servizi Laravel
echo "📊 Test 7: Verifica servizi Laravel..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan route:list | grep admin"

echo "✅ Verifica completata!"
