nexus/auth-frontend/src/routes/+layout.server.ts
2026-01-26 11:58:04 -05:00

24 lines
635 B
TypeScript

import { kratosServerClient } from '$lib/kratos-server';
import { ADMIN_USER_ID } from '$env/static/private';
import type { LayoutServerLoad } from './$types';
export const load: LayoutServerLoad = async ({ cookies }) => {
try {
const sessionToken = cookies.get('ory_kratos_session');
if (!sessionToken) {
return { session: null, isAdmin: false };
}
const { data: session } = await kratosServerClient.toSession({
cookie: `ory_kratos_session=${sessionToken}`
});
const isAdmin = session?.identity?.id === ADMIN_USER_ID;
return { session, isAdmin };
} catch {
return { session: null, isAdmin: false };
}
};