import { notFound, redirect } from "next/navigation"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { prisma } from "@/lib/prisma"; import { BcPageDetail } from "../bc-manager"; export default async function BcPageDetailPage({ params: paramsPromise, }: { params: Promise<{ locale: string; id: string }>; }) { const { id: idStr } = await paramsPromise; const id = parseInt(idStr, 10); if (Number.isNaN(id)) notFound(); const { session, permissions } = await getAdminContext(); if (!canAccess(permissions, PERMS.CATALOG_VIEW, session.user.rank)) { redirect("/admin"); } const canEdit = canAccess(permissions, PERMS.CATALOG_EDIT, session.user.rank); const bcPage = await prisma.catalogPagesBc.findUnique({ where: { id } }); if (!bcPage) notFound(); const bcItems = await prisma.catalogItemsBc.findMany({ where: { pageId: id }, orderBy: { orderNumber: "asc" }, }); return ( ({ id: i.id, pageId: i.pageId, itemIds: i.itemIds, catalogName: i.catalogName, orderNumber: i.orderNumber, extradata: i.extradata, }))} canEdit={canEdit} /> ); }