<?php
// Versão simplificada da API de opções para filtros
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Authorization');

// Handle preflight
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
    http_response_code(200);
    exit();
}

// Função de resposta JSON
function jsonResponse($data, $success = true) {
    echo json_encode([
        'success' => $success,
        'data' => $data,
        'timestamp' => date('Y-m-d H:i:s')
    ], JSON_UNESCAPED_UNICODE);
    exit();
}

try {
    // Conectar diretamente ao banco
    $pdo = new PDO(
        "mysql:host=localhost;dbname=pinheir3_controle_frotasV1.1;charset=utf8mb4",
        "pinheir3_admin",
        "080880Gelboy",
        [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
    );

    $opcoes = [];

    // Buscar técnicos
    try {
        $stmt = $pdo->query("SELECT id, nome FROM usuarios WHERE cargo = 'Técnico' AND ativo = 1 ORDER BY nome");
        $opcoes['tecnicos'] = $stmt->fetchAll(PDO::FETCH_ASSOC);
    } catch (Exception $e) {
        $opcoes['tecnicos'] = [];
    }

    // Buscar veículos
    try {
        $stmt = $pdo->query("SELECT id, CONCAT(marca, ' ', modelo, ' (', placa, ')') as descricao, placa, marca, modelo FROM veiculos WHERE status IN ('ativo', 'em_uso') ORDER BY marca, modelo, placa");
        $opcoes['veiculos'] = $stmt->fetchAll(PDO::FETCH_ASSOC);
    } catch (Exception $e) {
        $opcoes['veiculos'] = [];
    }

    // Períodos predefinidos
    $opcoes['periodos'] = [
        ['valor' => 'hoje', 'label' => 'Hoje'],
        ['valor' => 'ontem', 'label' => 'Ontem'],
        ['valor' => 'semana', 'label' => 'Última Semana'],
        ['valor' => 'mes', 'label' => 'Este Mês'],
        ['valor' => 'mes_anterior', 'label' => 'Mês Anterior'],
        ['valor' => 'trimestre', 'label' => 'Último Trimestre'],
        ['valor' => 'ano', 'label' => 'Este Ano']
    ];

    // Tipos de agrupamento
    $opcoes['agrupamentos'] = [
        ['valor' => 'hora', 'label' => 'Por Hora'],
        ['valor' => 'dia', 'label' => 'Por Dia'],
        ['valor' => 'semana', 'label' => 'Por Semana'],
        ['valor' => 'mes', 'label' => 'Por Mês']
    ];

    jsonResponse($opcoes);

} catch (PDOException $e) {
    jsonResponse(['error' => 'Erro de conexão: ' . $e->getMessage()], false);
} catch (Exception $e) {
    jsonResponse(['error' => 'Erro geral: ' . $e->getMessage()], false);
} 
