import { NextResponse } from "next/server";

import { TITULO_DA_FERRAMENTA } from "@/lib/assistentes/ferramentas";
import { acessoDoPainel, listarAtividade, recusaDoPainel } from "@/lib/assistentes/painel";

export const runtime = "nodejs";

/**
 * O que os assistentes fizeram na conta, do mais recente para o mais antigo.
 * Dono e admin veem tudo da empresa; os demais, só o que as chaves deles fizeram.
 */
export async function GET() {
  const acesso = await acessoDoPainel();
  if (!acesso.ok) return recusaDoPainel(acesso.motivo);

  try {
    const atividade = await listarAtividade(acesso, 60);
    return NextResponse.json(
      {
        atividade: atividade.map((linha) => ({ ...linha, titulo: TITULO_DA_FERRAMENTA[linha.ferramenta] ?? linha.ferramenta })),
      },
      { headers: { "Cache-Control": "no-store" } }
    );
  } catch (erro) {
    console.error("[assistentes] não foi possível listar a atividade:", erro instanceof Error ? erro.message : erro);
    return NextResponse.json({ error: "Não foi possível carregar a atividade." }, { status: 500 });
  }
}
