chat-ui-agent-demo / src /lib /server /api /utils /requireAuth.ts
Mike0021's picture
Deploy verified chat and coding agent UX (part 2)
fae625a verified
Raw History Blame Contribute Delete
544 Bytes
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");
}
}