Spaces:
Paused
Paused
File size: 544 Bytes
ded72f6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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");
}
}
|