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

use ControleFrotas\Config\Database;
use ControleFrotas\Utils\Response;

header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');

echo "<h1>🔍 Verificação da Tabela de Notificações</h1>";

try {
    // Verificar se a tabela existe
    $sql = "SHOW TABLES LIKE 'notificacoes_push'";
    $resultado = Database::query($sql);
    
    if (empty($resultado)) {
        echo "<p>❌ Tabela 'notificacoes_push' não existe!</p>";
        
        // Criar a tabela
        $sql = "CREATE TABLE notificacoes_push (
            id INT AUTO_INCREMENT PRIMARY KEY,
            user_id INT NOT NULL,
            tipo ENUM('solicitacao_viagem', 'aprovacao_viagem', 'negacao_viagem', 'viagem_iniciada', 'viagem_finalizada') NOT NULL,
            titulo VARCHAR(255) NOT NULL,
            mensagem TEXT NOT NULL,
            solicitacao_id INT NULL,
            viagem_id INT NULL,
            lida BOOLEAN DEFAULT FALSE,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
            updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
            INDEX idx_user_id (user_id),
            INDEX idx_tipo (tipo),
            INDEX idx_lida (lida),
            INDEX idx_created_at (created_at)
        )";
        
        Database::execute($sql);
        echo "<p>✅ Tabela 'notificacoes_push' criada com sucesso!</p>";
        
    } else {
        echo "<p>✅ Tabela 'notificacoes_push' existe!</p>";
    }
    
    // Verificar estrutura da tabela
    $sql = "DESCRIBE notificacoes_push";
    $colunas = Database::query($sql);
    
    echo "<h2>📋 Estrutura da Tabela:</h2>";
    echo "<table border='1'>";
    echo "<tr><th>Campo</th><th>Tipo</th><th>Null</th><th>Key</th><th>Default</th></tr>";
    
    foreach ($colunas as $coluna) {
        echo "<tr>";
        echo "<td>{$coluna['Field']}</td>";
        echo "<td>{$coluna['Type']}</td>";
        echo "<td>{$coluna['Null']}</td>";
        echo "<td>{$coluna['Key']}</td>";
        echo "<td>{$coluna['Default']}</td>";
        echo "</tr>";
    }
    echo "</table>";
    
    // Testar consulta de notificações
    $sql = "SELECT COUNT(*) as total FROM notificacoes_push WHERE user_id = 4";
    $resultado = Database::queryOne($sql);
    
    echo "<h2>📊 Teste de Consulta:</h2>";
    echo "<p>Total de notificações para usuário 4: {$resultado['total']}</p>";
    
    // Testar consulta de notificações não lidas
    $sql = "SELECT COUNT(*) as total FROM notificacoes_push WHERE user_id = 4 AND lida = FALSE";
    $resultado = Database::queryOne($sql);
    
    echo "<p>Total de notificações não lidas para usuário 4: {$resultado['total']}</p>";
    
    echo "<h2>✅ Verificação Concluída!</h2>";
    echo "<p>A tabela de notificações está funcionando corretamente.</p>";
    
} catch (Exception $e) {
    echo "<p>❌ Erro: " . $e->getMessage() . "</p>";
    echo "<pre>" . $e->getTraceAsString() . "</pre>";
}
?> 
