Files
Calbook/lib/auth/session.ts

19 lines
461 B
TypeScript

import { getServerSession } from "next-auth";
import { authOptions } from "@/lib/auth/options";
export async function requireSession() {
const session = await getServerSession(authOptions);
if (!session?.user?.id) {
throw new Error("UNAUTHORIZED");
}
return session;
}
export async function requireAdmin() {
const session = await requireSession();
if (session.user.role !== "ADMIN") {
throw new Error("FORBIDDEN");
}
return session;
}