<?php
/**
 * Script para verificar tokens FCM registrados
 */

require_once __DIR__ . '/config/bootstrap.php';

use ControleFrotas\Config\Database;

header('Content-Type: text/html; charset=utf-8');

echo "<h1>🔍 Verificação de Tokens FCM</h1>";
echo "<hr>";

try {
    // Verificar se a tabela existe
    $tabelaExiste = Database::queryOne(
        "SELECT COUNT(*) as total FROM information_schema.tables 
         WHERE table_schema = DATABASE() AND table_name = 'fcm_tokens'"
    );
    
    if ($tabelaExiste['total'] == 0) {
        echo "<p style='color: red;'>❌ Tabela fcm_tokens não existe!</p>";
        echo "<p>Execute primeiro o script de sincronização.</p>";
        exit;
    }
    
    // Contar tokens
    $totalTokens = Database::queryOne("SELECT COUNT(*) as total FROM fcm_tokens")['total'];
    $tokensAtivos = Database::queryOne("SELECT COUNT(*) as total FROM fcm_tokens WHERE ativo = TRUE")['total'];
    $tokensInativos = Database::queryOne("SELECT COUNT(*) as total FROM fcm_tokens WHERE ativo = FALSE")['total'];
    
    echo "<h2>📊 Estatísticas</h2>";
    echo "<ul>";
    echo "<li><strong>Total de tokens:</strong> $totalTokens</li>";
    echo "<li><strong>Tokens ativos:</strong> $tokensAtivos</li>";
    echo "<li><strong>Tokens inativos:</strong> $tokensInativos</li>";
    echo "</ul>";
    
    // Listar todos os tokens
    echo "<h2>📋 Todos os Tokens</h2>";
    
    $tokens = Database::query(
        "SELECT * FROM fcm_tokens ORDER BY created_at DESC"
    );
    
    if (count($tokens) > 0) {
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr>";
        echo "<th>ID</th>";
        echo "<th>User ID</th>";
        echo "<th>Token (primeiros 20 chars)</th>";
        echo "<th>Device ID</th>";
        echo "<th>Device Name</th>";
        echo "<th>Platform</th>";
        echo "<th>Ativo</th>";
        echo "<th>Último Uso</th>";
        echo "<th>Criado em</th>";
        echo "</tr>";
        
        foreach ($tokens as $token) {
            $tokenPreview = substr($token['token'], 0, 20) . "...";
            $status = $token['ativo'] ? "✅ Sim" : "❌ Não";
            $rowColor = $token['ativo'] ? "background-color: #e8f5e8;" : "background-color: #ffe8e8;";
            
            echo "<tr style='$rowColor'>";
            echo "<td>{$token['id']}</td>";
            echo "<td>{$token['user_id']}</td>";
            echo "<td>{$tokenPreview}</td>";
            echo "<td>{$token['device_id']}</td>";
            echo "<td>{$token['device_name']}</td>";
            echo "<td>{$token['platform']}</td>";
            echo "<td>$status</td>";
            echo "<td>{$token['ultimo_uso']}</td>";
            echo "<td>{$token['created_at']}</td>";
            echo "</tr>";
        }
        echo "</table>";
    } else {
        echo "<p style='color: orange;'>⚠️ Nenhum token encontrado</p>";
    }
    
    // Verificar notificações
    echo "<h2>📱 Notificações</h2>";
    
    $totalNotificacoes = Database::queryOne("SELECT COUNT(*) as total FROM notificacoes_push")['total'];
    $notificacoesNaoLidas = Database::queryOne("SELECT COUNT(*) as total FROM notificacoes_push WHERE lida = FALSE")['total'];
    
    echo "<ul>";
    echo "<li><strong>Total de notificações:</strong> $totalNotificacoes</li>";
    echo "<li><strong>Não lidas:</strong> $notificacoesNaoLidas</li>";
    echo "</ul>";
    
    // Últimas notificações
    $notificacoes = Database::query(
        "SELECT * FROM notificacoes_push ORDER BY created_at DESC LIMIT 10"
    );
    
    if (count($notificacoes) > 0) {
        echo "<h3>Últimas 10 Notificações:</h3>";
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr>";
        echo "<th>ID</th>";
        echo "<th>User ID</th>";
        echo "<th>Tipo</th>";
        echo "<th>Título</th>";
        echo "<th>Mensagem</th>";
        echo "<th>Lida</th>";
        echo "<th>Criado em</th>";
        echo "</tr>";
        
        foreach ($notificacoes as $notif) {
            $lida = $notif['lida'] ? "✅ Sim" : "❌ Não";
            $rowColor = $notif['lida'] ? "background-color: #e8f5e8;" : "background-color: #fff3cd;";
            
            echo "<tr style='$rowColor'>";
            echo "<td>{$notif['id']}</td>";
            echo "<td>{$notif['user_id']}</td>";
            echo "<td>{$notif['tipo']}</td>";
            echo "<td>{$notif['titulo']}</td>";
            echo "<td>{$notif['mensagem']}</td>";
            echo "<td>$lida</td>";
            echo "<td>{$notif['created_at']}</td>";
            echo "</tr>";
        }
        echo "</table>";
    }
    
    echo "<hr>";
    echo "<h2>🔧 Ações</h2>";
    echo "<p><a href='testar-sincronizacao.php' style='background: #007bff; color: white; padding: 10px; text-decoration: none; border-radius: 5px;'>🔄 Executar Sincronização</a></p>";
    echo "<p><a href='inserir-token-teste.php' style='background: #28a745; color: white; padding: 10px; text-decoration: none; border-radius: 5px;'>➕ Inserir Token de Teste</a></p>";
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ ERRO: " . $e->getMessage() . "</p>";
}
?> 
