import "server-only"; import { auth } from "@/auth"; import { Role } from "@/lib/generated/prisma/enums"; /** Returns the current session's user id, or throws if unauthenticated. */ export async function requireUserId(): Promise { const session = await auth(); if (!session?.user?.id) { throw new Error("Unauthorized"); } return session.user.id; } /** Returns the current session's user, or throws if not a signed-in admin. */ export async function requireAdmin() { const session = await auth(); if (!session?.user?.id) throw new Error("Unauthorized"); if (session.user.role !== Role.ADMIN) throw new Error("Forbidden"); return session.user; }