boredgame/src/routes/(app)/+layout.server.ts

24 lines
771 B
TypeScript
Raw Normal View History

2024-03-07 04:37:05 +00:00
import { loadFlash } from 'sveltekit-flash-message/server';
import type { LayoutServerLoad } from '../$types';
import { userFullyAuthenticated, userNotFullyAuthenticated } from '$lib/server/auth-utils';
import { lucia } from '$lib/server/auth';
export const load: LayoutServerLoad = loadFlash(async (event) => {
const { url, locals, cookies } = event;
const { user, session } = locals;
if (userNotFullyAuthenticated(user, session)) {
await lucia.invalidateSession(locals.session!.id!);
const sessionCookie = lucia.createBlankSessionCookie();
cookies.set(sessionCookie.name, sessionCookie.value, {
path: '.',
...sessionCookie.attributes,
});
}
2024-03-07 04:37:05 +00:00
return {
url: url.pathname,
user: userFullyAuthenticated(user, session) ? locals.user : null,
2024-03-07 04:37:05 +00:00
};
});