import { redirect } from '@sveltejs/kit'; import type { RequestEvent } from '@sveltejs/kit'; import { pbAdmin } from '$lib/server/pocketbase'; export function getSession(event: RequestEvent) { return event.locals.user; } export function requireAuth(event: RequestEvent) { const session = getSession(event); if (!session) { throw redirect(303, '/login'); } return session; } export function clearSession(event: RequestEvent) { event.cookies.delete('session', { path: '/' }); event.cookies.delete('pb_token', { path: '/' }); event.cookies.delete('device_token', { path: '/' }); } // Resolve the fam slug + admin display name used for the post-login redirect. export async function getFamContext(famId: string) { const fam = await pbAdmin.getOne('fams', famId).catch(() => null); return { famSlug: fam?.slug || famId, famName: fam?.name || '' }; }