import { withAdmin } from "@/lib/api-handler"; import { apiError, apiOk } from "@/lib/api-response"; import { PERMS } from "@/lib/permissions"; import { loadCatalogItemsData } from "@/lib/services/catalog-items-loader"; function jsonSafe(data: T): T { return JSON.parse( JSON.stringify(data, (_k, v) => (typeof v === "bigint" ? Number(v) : v)), ) as T; } export const GET = withAdmin( { permission: PERMS.CATALOG_VIEW }, async (request) => { const pageId = Number(request.nextUrl.searchParams.get("pageId")); if (!Number.isFinite(pageId) || pageId <= 0) { return apiError("Invalid pageId"); } const data = await loadCatalogItemsData(pageId); return apiOk(jsonSafe(data) as unknown as Record); }, );