mentorenwahl/frontend_old/src/hooks.ts

32 lines
801 B
TypeScript

import type { RequestEvent, ResolveOpts } from "@sveltejs/kit";
import * as cookie from "cookie";
import * as cookieNames from "$lib/cookieNames";
export async function handle(input: {
event: RequestEvent;
opts?: ResolveOpts;
resolve(event: RequestEvent, opts?: ResolveOpts): Promise<Response>;
}): Promise<Response> {
const header = input.event.request.headers.get("cookie");
const cookies = header ? cookie.parse(header) : {};
const token: string | undefined = cookies[cookieNames.TOKEN];
input.event.locals = {
...input.event.locals,
user: {
token,
},
};
return input.resolve(input.event, input.opts);
}
export async function getSession(event: RequestEvent): Promise<App.Session> {
return {
user: {
token: event.locals.user.token,
},
};
}