1
0
cvsa/packages/tracker/lib/auth-utils.ts

21 lines
513 B
TypeScript

import { validateSession } from "./auth";
export async function getCurrentUser(request: Request) {
const cookies = request.headers.get("Cookie");
const sessionMatch = cookies?.match(/session=([^;]+)/);
const sessionId = sessionMatch?.[1];
if (!sessionId) {
return null;
}
return await validateSession(sessionId);
}
export async function requireAuth(request: Request) {
const user = await getCurrentUser(request);
if (!user) {
throw new Response("Unauthorized", { status: 401 });
}
return user;
}