<?php
declare(strict_types=1);

require_once __DIR__ . '/../config/helpers.php';
require_once __DIR__ . '/../config/corrida_compartilhamento_lib.php';

$token = trim((string) ($_GET['t'] ?? $_GET['token'] ?? ''));
if ($token === '') {
    json_fail('Link invalido.', 400);
}

try {
    $pdo = db();
    $compartilhamento = corrida_compartilhamento_buscar_por_token($pdo, $token);
    if (!$compartilhamento) {
        json_fail('Link expirado ou invalido.', 410);
    }

    corrida_compartilhamento_marcar_acesso($pdo, (int) $compartilhamento['id']);
    $corrida = corrida_compartilhamento_dados($pdo, (int) $compartilhamento['id_corrida']);
    if (!$corrida) {
        json_fail('Corrida nao encontrada.', 404);
    }

    json_ok([
        'corrida' => $corrida,
        'expira_minutos_apos_fim' => CORRIDA_COMPARTILHAMENTO_GRACA_MINUTOS,
    ]);
} catch (Throwable $e) {
    json_fail('Erro ao buscar acompanhamento.', 500, ['error' => $e->getMessage()]);
}
