<?php
header('Content-Type: text/html; charset=utf-8');
echo "<h2>🔔 Teste da API de Notificações</h2>";

// Testar a API de notificações
$url = "https://sistemas.pinheiroempresas.com.br/controlefrotaV1.1/backend-php/api/gestao/notificacoes.php?acao=nao_lidas&user_id=4";

echo "<h3>1. Teste da API de notificações</h3>";
echo "🔗 <a href='$url' target='_blank'>Clique aqui para testar</a><br><br>";

// Verificar se o arquivo existe
echo "<h3>2. Verificar arquivo da API</h3>";
$filePath = __DIR__ . '/api/gestao/notificacoes.php';
if (file_exists($filePath)) {
    echo "✅ Arquivo notificacoes.php existe<br>";
    echo "📁 Tamanho: " . filesize($filePath) . " bytes<br>";
} else {
    echo "❌ Arquivo notificacoes.php NÃO existe<br>";
}

// Verificar se o bootstrap existe
echo "<h3>3. Verificar arquivo bootstrap</h3>";
$bootstrapPath = __DIR__ . '/config/bootstrap.php';
if (file_exists($bootstrapPath)) {
    echo "✅ Arquivo bootstrap.php existe<br>";
    echo "📁 Tamanho: " . filesize($bootstrapPath) . " bytes<br>";
} else {
    echo "❌ Arquivo bootstrap.php NÃO existe<br>";
}

// Testar banco de dados
echo "<h3>4. Teste do banco de dados</h3>";
try {
    require_once 'config/database.php';
    $pdo = Database::getConnection();
    echo "✅ Conexão com banco OK<br>";
    
    // Verificar se a tabela notificacoes_push existe
    $stmt = $pdo->query("SHOW TABLES LIKE 'notificacoes_push'");
    $tableExists = $stmt->fetch();
    
    if ($tableExists) {
        echo "✅ Tabela notificacoes_push existe<br>";
        
        // Contar notificações
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM notificacoes_push");
        $result = $stmt->fetch();
        echo "📊 Total de notificações: " . $result['total'] . "<br>";
        
        // Verificar notificações para user_id = 4
        $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM notificacoes_push WHERE user_id = ?");
        $stmt->execute(['4']);
        $result = $stmt->fetch();
        echo "📊 Notificações para user_id=4: " . $result['total'] . "<br>";
        
    } else {
        echo "❌ Tabela notificacoes_push NÃO existe<br>";
    }
    
} catch (Exception $e) {
    echo "❌ Erro no banco: " . $e->getMessage() . "<br>";
}

// Testar a consulta específica
echo "<h3>5. Teste da consulta específica</h3>";

try {
    require_once 'config/database.php';
    $pdo = Database::getConnection();
    
    $userId = "4";
    echo "🔍 Testando para user_id: $userId<br>";
    
    // Consulta que a API está tentando executar
    $sql = "SELECT 
                n.*,
                s.cliente as solicitacao_cliente,
                s.prioridade as solicitacao_prioridade,
                s.tecnico_id as solicitacao_tecnico_id,
                m.nome as tecnico_nome
            FROM notificacoes_push n
            LEFT JOIN solicitacoes_viagem s ON n.solicitacao_id = s.id
            LEFT JOIN motoristas m ON s.tecnico_id = m.id
            WHERE n.user_id = ? AND n.lida = FALSE
            ORDER BY 
                CASE 
                    WHEN n.tipo = 'solicitacao_viagem' THEN 1
                    ELSE 2
                END,
                n.created_at DESC";
    
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$userId]);
    $notificacoes = $stmt->fetchAll();
    
    echo "✅ Consulta executada com sucesso<br>";
    echo "📊 Notificações encontradas: " . count($notificacoes) . "<br>";
    
    if (!empty($notificacoes)) {
        echo "<h4>Primeira notificação:</h4>";
        echo "<pre>" . print_r($notificacoes[0], true) . "</pre>";
    }
    
} catch (Exception $e) {
    echo "❌ Erro na consulta: " . $e->getMessage() . "<br>";
    echo "📋 Stack trace: " . $e->getTraceAsString() . "<br>";
}

echo "<h3>✅ Teste concluído!</h3>";
echo "<p><strong>Instruções:</strong></p>";
echo "<ol>";
echo "<li>Clique no link acima para testar a API de notificações</li>";
echo "<li>Se der erro 500, verifique os logs do servidor</li>";
echo "<li>Se funcionar, o problema pode ser de timeout no Android</li>";
echo "</ol>";
?>
