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

echo "🧪 TESTE DIRETO DA API DE GESTORES\n\n";

try {
    // Conectar diretamente ao banco
    $host = 'localhost';
    $dbname = 'pinheir3_controle_frotasV1.1';
    $username = 'pinheir3_sistema';
    $password = 'Fr0t@s2024!';
    
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "✅ Conexão OK\n";
    
    // Testar consulta
    $sql = "SELECT id, nome, email, usuario, nivel_acesso, telefone, 
                   departamento, foto, status, data_criacao, data_ultimo_acesso
            FROM gestores 
            WHERE status IN ('ativo', 'inativo')
            ORDER BY nivel_acesso DESC, nome ASC";
    
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    $gestores = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    echo "✅ Consulta OK - " . count($gestores) . " gestores encontrados\n";
    
    // Limpar campos NULL
    foreach ($gestores as &$gestor) {
        $gestor['telefone'] = $gestor['telefone'] ?? '';
        $gestor['departamento'] = $gestor['departamento'] ?? '';
        $gestor['foto'] = $gestor['foto'] ?? '';
        $gestor['data_ultimo_acesso'] = $gestor['data_ultimo_acesso'] ?? '';
    }
    
    // Estatísticas
    $gestoresAtivos = array_filter($gestores, function($g) { return $g['status'] === 'ativo'; });
    $administradores = array_filter($gestores, function($g) { return $g['nivel_acesso'] === 'admin'; });
    
    $stats = [
        'total_gestores' => count($gestores),
        'gestores_ativos' => count($gestoresAtivos),
        'administradores' => count($administradores),
        'ultima_sincronizacao' => date('Y-m-d H:i:s')
    ];
    
    echo "✅ Estatísticas OK\n";
    
    $response = [
        'sucesso' => true,
        'gestores' => $gestores,
        'estatisticas' => $stats,
        'versao_dados' => date('YmdHis'),
        'debug' => [
            'total_original' => count($gestores),
            'ativos' => count($gestoresAtivos),
            'admins' => count($administradores),
            'timestamp' => time()
        ]
    ];
    
    echo "✅ Response preparado\n";
    
    $jsonOutput = json_encode($response, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
    
    if ($jsonOutput === false) {
        throw new Exception('Erro ao gerar JSON: ' . json_last_error_msg());
    }
    
    echo "✅ JSON válido!\n\n";
    echo "📤 OUTPUT FINAL:\n";
    echo $jsonOutput;
    
} catch (Exception $e) {
    echo "❌ ERRO: " . $e->getMessage() . "\n";
    echo "📍 Linha: " . $e->getLine() . "\n";
    echo "📄 Arquivo: " . $e->getFile() . "\n";
    
    $errorResponse = [
        'sucesso' => false,
        'erro' => $e->getMessage(),
        'debug' => [
            'file' => $e->getFile(),
            'line' => $e->getLine(),
            'timestamp' => time()
        ]
    ];
    
    echo json_encode($errorResponse, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
?> 
