import { comentariosParaResponder } from "@/lib/digitais/servidor/acoes/comentarios";
import { rotaDigital } from "@/lib/digitais/servidor/contexto";
import { avisosDeComentarios, contarComentarios } from "@/lib/digitais/servidor/comentarios";

/*
 * Os comentários das aulas para a loja responder. `?contar=1` devolve só os
 * números (o selo do menu e a Visão geral); `?avisos=1`, os recentes para o
 * sino do painel. A lista mora em lib/digitais/servidor/acoes (o assistente usa a mesma).
 */
export async function GET(request: Request) {
  return rotaDigital("digital.comments.read", async (contexto) => {
    const url = new URL(request.url);
    if (url.searchParams.get("contar") === "1") return contarComentarios(contexto.admin, contexto.lojaId);
    if (url.searchParams.get("avisos") === "1") return { avisos: await avisosDeComentarios(contexto.admin, contexto.lojaId) };
    return comentariosParaResponder(contexto, {
      filtro: url.searchParams.get("filtro"),
      cursoId: url.searchParams.get("curso"),
      antes: url.searchParams.get("antes"),
    });
  });
}
