import type { Handle } from '@sveltejs/kit'; import * as auth from '$lib/server/auth.js'; import { dev } from '$app/environment'; import { db } from '$lib/server/db'; import type { ServerInit } from '@sveltejs/kit'; import { migrate } from 'drizzle-orm/bun-sqlite/migrator'; export const init: ServerInit = async () => { if (!dev) { try { migrate(db, { migrationsFolder: 'drizzle' }); } catch (error) { console.error(error); } } }; const handleAuth: Handle = async ({ event, resolve }) => { const sessionToken = event.cookies.get(auth.sessionCookieName); if (!sessionToken) { event.locals.user = null; event.locals.session = null; return resolve(event); } const { session, user } = await auth.validateSessionToken(sessionToken); if (session) { auth.setSessionTokenCookie(event, sessionToken, session.expiresAt); } else { auth.deleteSessionTokenCookie(event); } event.locals.user = user; event.locals.session = session; return resolve(event); }; export const handle: Handle = handleAuth;