import { notFound } from 'next/navigation';
import { getLead } from '@/db/queries';
import { construirPresupuestoPdf } from '@/lib/pdf/build-presupuesto';

export const runtime = 'nodejs';
export const dynamic = 'force-dynamic';

export async function GET(
  req: Request,
  { params }: { params: Promise<{ id: string }> }
) {
  const { id } = await params;
  // getLead aplica el scoping por tenant del panel: sirve de guardia de auth/404.
  const data = await getLead(id);
  if (!data) notFound();

  const pdf = await construirPresupuestoPdf(id);
  if (!pdf) notFound();

  const descargar = new URL(req.url).searchParams.get('download') === '1';
  return new Response(new Uint8Array(pdf.buffer), {
    headers: {
      'Content-Type': 'application/pdf',
      'Content-Disposition': `${descargar ? 'attachment' : 'inline'}; filename="${pdf.filename}"`,
      'Cache-Control': 'no-store',
    },
  });
}
