25 lines
589 B
TypeScript
25 lines
589 B
TypeScript
import { prisma } from "@repo/db";
|
|
import { Error } from "_components/Error";
|
|
import { getServerSession } from "api/auth/[...nextauth]/auth";
|
|
|
|
export default async function ReportLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
const session = await getServerSession();
|
|
|
|
if (!session) return <Error title="Nicht eingeloggt" statusCode={401} />;
|
|
|
|
const user = await prisma.user.findUnique({
|
|
where: {
|
|
id: session.user.id,
|
|
},
|
|
});
|
|
|
|
if (!user?.permissions.includes("ADMIN_EVENT"))
|
|
return <Error title="Keine Berechtigung" statusCode={403} />;
|
|
|
|
return <>{children}</>;
|
|
}
|