import { NextResponse } from "next/server"; import { gerarBriefingPdfBuffer } from "@/lib/briefing-pdf"; import { getBriefingPdfData } from "@/lib/pdf-data"; export const runtime = "nodejs"; function safeFileName(value: string) { return value .normalize("NFD") .replace(/[\u0300-\u036f]/g, "") .replace(/[^a-zA-Z0-9-_]+/g, "-") .replace(/-+/g, "-") .replace(/^-|-$/g, "") .toLowerCase(); } export async function GET(_request: Request, { params }: { params: { id: string } }) { const data = await getBriefingPdfData(params.id); const buffer = await gerarBriefingPdfBuffer(data); const fileName = `${safeFileName(data.briefing.titulo || "briefing")}.pdf`; return new NextResponse(buffer, { headers: { "Content-Type": "application/pdf", "Content-Disposition": `attachment; filename="${fileName}"`, "X-Content-Type-Options": "nosniff" } }); }