import { getDbConnection } from "$lib/server/db"; import { validateSessionToken } from "$lib/server/sessions"; import { redirect, type Handle } from "@sveltejs/kit"; import { sequence } from "@sveltejs/kit/hooks"; const dbHandle = (async ({ event, resolve }) => { const dbConn = await getDbConnection(); event.locals = { dbConn }; const response = await resolve(event); dbConn.release(); return response; }) satisfies Handle; const sessionHandle = (async ({ event, resolve }) => { const sessionToken = event.cookies.get("SESSION_ID"); if (sessionToken) { const { user } = await validateSessionToken(event.locals.dbConn, sessionToken); if (user) { event.locals.user = user; } } return resolve(event); }) satisfies Handle; export const handle = sequence(dbHandle, sessionHandle);