Spaces:
Paused
Paused
| import { error } from "@sveltejs/kit"; | |
| /** | |
| * Throws 401 if neither a user._id nor sessionId is present in locals. | |
| */ | |
| export function requireAuth(locals: App.Locals): void { | |
| if (!locals.user?._id && !locals.sessionId) { | |
| error(401, "Must have a valid session or user"); | |
| } | |
| } | |
| /** | |
| * Throws 401 if no user/session, 403 if not admin. | |
| */ | |
| export function requireAdmin(locals: App.Locals): void { | |
| if (!locals.user && !locals.sessionId) { | |
| error(401, "Unauthorized"); | |
| } | |
| if (!locals.isAdmin) { | |
| error(403, "Admin privileges required"); | |
| } | |
| } | |