import { NextResponse } from "next/server";

import { acessoDaRota, respostaDeErro } from "@/lib/regras/servidor/acesso-da-rota";
import { verExecucoes } from "@/lib/regras/servidor/servico";

/* O histórico: o que as regras fizeram, mais recentes primeiro. ?regra=<id> filtra uma. */

export async function GET(req: Request) {
  const r = await acessoDaRota();
  if ("erro" in r) return r.erro;
  const url = new URL(req.url);
  const regra = url.searchParams.get("regra");
  try {
    const execucoes = await verExecucoes(r.acesso, regra && /^[0-9a-f-]{36}$/i.test(regra) ? regra : null, 100);
    return NextResponse.json({ execucoes });
  } catch (erro) {
    return respostaDeErro(erro);
  }
}
