mentorenwahl/frontend_old/src/hooks.ts

32 lines
801 B
TypeScript
Raw Normal View History

2022-11-04 20:23:36 +00:00
import type { RequestEvent, ResolveOpts } from "@sveltejs/kit";
2022-02-13 08:40:06 +00:00
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> {
2022-11-04 20:23:36 +00:00
const header = input.event.request.headers.get("cookie");
const cookies = header ? cookie.parse(header) : {};
2022-02-13 08:40:06 +00:00
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,
},
};
}