import { redirect, type Handle } from '@sveltejs/kit'; import { validateSession, setSessionCookie } from '$lib/server/auth/index.js'; import { startScheduler } from '$lib/server/recurring-bills/scheduler.js'; startScheduler(); export const handle: Handle = async ({ event, resolve }) => { // Redirect implicit /favicon.ico requests to our SVG to avoid 404 noise if (event.url.pathname === '/favicon.ico') { redirect(302, '/favicon.svg'); } const token = event.cookies.get('session'); if (token) { const { session, user } = await validateSession(token); if (session) { event.locals.user = user; event.locals.session = session; if (session.fresh) { setSessionCookie(event, token, session.expiresAt); } } else { event.locals.user = null; event.locals.session = null; event.cookies.delete('session', { path: '/' }); } } else { event.locals.user = null; event.locals.session = null; } return resolve(event); };