SPB Git

spb/vrai-prix Public

Vrai-Prix — l'évaluation du vrai prix des propriétés résidentielles au Québec.

TypeScript 96.7% CSS 3.2%
1.2 KB · 30 lines typescript
Raw Blame History
1// Auteur : Simon-Pierre Boucher — contact@spboucher.ai2import { NextRequest, NextResponse } from "next/server";3import { estimateByUnitId, indexType } from "@/lib/estimator";4import { getMarketIndex } from "@/lib/db";5import { buildProReport } from "@/lib/report-pro";67export async function GET(req: NextRequest) {8  const rawId = req.nextUrl.searchParams.get("id");9  if (!rawId) return NextResponse.json({ error: "id requis" }, { status: 400 });10  const id = rawId.replace(/\D/g, "") || rawId;11  const data = estimateByUnitId(id);12  if (!data || !data.unit)13    return NextResponse.json({ error: "unité introuvable" }, { status: 404 });14  const idx = getMarketIndex(indexType(data.unit.typeProp));15  const pdf = await buildProReport(data, idx);16  const slug = (data.unit.adresse ?? "propriete")17    .toLowerCase()18    .normalize("NFD")19    .replace(/[̀-ͯ]/g, "")20    .replace(/[^a-z0-9]+/g, "-")21    .replace(/^-+|-+$/g, "");22  return new NextResponse(new Uint8Array(pdf), {23    headers: {24      "Content-Type": "application/pdf",25      "Content-Disposition": `attachment; filename="vrai-prix-rapport-detaille-${slug}.pdf"`,26      "Cache-Control": "private, max-age=300",27    },28  });29}30