31 lines
779 B
TypeScript
31 lines
779 B
TypeScript
|
import type { RequestEvent, App, ResolveOpts } from "@sveltejs/kit/types";
|
||
|
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 cookies = cookie.parse(input.event.request.headers.get("cookie") || "");
|
||
|
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,
|
||
|
},
|
||
|
};
|
||
|
}
|