<?php
/**
 * Teste da API de aprovação de solicitações
 */

// Token simulado
$token = "eyJpZCI6MiwidXN1YXJpbyI6Imdlc3RvciIsIm5pdmVsIjoiZ2VzdG9yIiwiZXhwIjoxNzUyNjc4NDQ2fQ==";

echo "🧪 Testando API de aprovação\n";
echo "============================\n\n";

// 1. Primeiro, buscar solicitações pendentes
echo "1️⃣ Buscando solicitações pendentes...\n";
$url = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api/gestao/gestor-solicitacoes.php?acao=solicitacoes";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer ' . $token,
    'Content-Type: application/json'
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "Status: $httpCode\n";
$data = json_decode($response, true);

if ($data && isset($data['data']['solicitacoes_pendentes']) && !empty($data['data']['solicitacoes_pendentes'])) {
    $primeira = $data['data']['solicitacoes_pendentes'][0];
    $solicitacaoId = $primeira['id'];
    
    echo "✅ Encontrada solicitação ID: $solicitacaoId\n";
    echo "Cliente: " . $primeira['cliente'] . "\n";
    echo "Status: " . $primeira['status'] . "\n\n";
    
    // 2. Testar aprovação
    echo "2️⃣ Testando aprovação da solicitação $solicitacaoId...\n";
    
    $url = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api/gestao/gestor-solicitacoes.php?acao=aprovar";
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
        'solicitacao_id' => $solicitacaoId,
        'justificativa' => 'Teste de aprovação via script'
    ]));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Authorization: Bearer ' . $token,
        'Content-Type: application/json'
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    echo "Status da aprovação: $httpCode\n";
    echo "Resposta: $response\n\n";
    
    $data = json_decode($response, true);
    if ($data && isset($data['success'])) {
        if ($data['success']) {
            echo "✅ Aprovação bem-sucedida!\n";
            echo "Viagem ID: " . ($data['data']['viagem_id'] ?? 'N/A') . "\n";
            echo "Mensagem: " . ($data['data']['mensagem'] ?? 'N/A') . "\n";
        } else {
            echo "❌ Erro na aprovação:\n";
            echo "Mensagem: " . ($data['error']['message'] ?? 'Erro desconhecido') . "\n";
        }
    }
    
} else {
    echo "❌ Nenhuma solicitação pendente encontrada\n";
    echo "Resposta: $response\n";
}

echo "\n🔍 Verificando estrutura da tabela viagens:\n";
try {
    $pdo = new PDO('mysql:host=localhost;dbname=pinheir3_controle_frotasV1.1;charset=utf8mb4', 'pinheir3_admin', '080880Gelboy');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $stmt = $pdo->query("DESCRIBE viagens");
    $colunas = $stmt->fetchAll();
    
    echo "Colunas da tabela viagens:\n";
    foreach ($colunas as $coluna) {
        echo "- " . $coluna['Field'] . " (" . $coluna['Type'] . ")\n";
    }
    
} catch (Exception $e) {
    echo "❌ Erro ao verificar tabela: " . $e->getMessage() . "\n";
}
?> 
