Repository Public
1// Auteur : Simon-Pierre Boucher — contact@spboucher.ai2/**3 * GET /api/stats/catalog — v3 : blocs composables pour le constructeur de4 * rapports personnalisés (src/ka/stats/SPEC.md §3bis). Dérivé de l'EcoPayload5 * consolidé (src/lib/ecostats.ts — mêmes chiffres que la page /stats, cache6 * amont 10 min par plateforme) ; `period` accepté, `from`/`to` non7 * applicables (les dashboards amont ne parlent que par période).8 */9import { type NextRequest, NextResponse } from "next/server";10import { catalogFromDashboard, getReportPayload } from "@/lib/report-stats";1112export const dynamic = "force-dynamic";1314export async function GET(req: NextRequest) {15 const payload = await getReportPayload(req.nextUrl.searchParams.get("period") ?? undefined);16 return NextResponse.json(17 { updated: payload.freshness ?? null,18 period: { label: payload.periodLabel },19 blocks: catalogFromDashboard(payload) },20 { headers: { "Cache-Control": "public, max-age=300" } },21 );22}23