<?php

declare(strict_types=1);

class ApiConsultaController extends Controller
{
    public function consultar(): void
    {
        ApiAuth::requireToken();

        $protocolo = trim((string)($_GET['protocolo'] ?? ''));
        if ($protocolo === '') {
            ApiResponse::error('Protocolo não informado.', [], 422);
        }

        $model = new Ocorrencia();
        $item = $model->buscarPorProtocolo($protocolo);

        if (!$item) {
            ApiResponse::error('Ocorrência não encontrada.', [], 404);
        }

        ApiResponse::success([
            'protocolo' => $item['protocolo'],
            'status' => $item['status'],
            'mensagem_status' => 'Sua ocorrência está atualmente com status ' . $item['status'] . '.',
            'categoria' => $item['categoria_nome'] ?? null,
            'criado_em' => $item['criado_em'] ?? null
        ], 'Consulta realizada com sucesso.');
    }
}
