Initial commit

This commit is contained in:
hiperman
2025-12-04 00:33:37 -05:00
commit 7ca0a21283
798 changed files with 190424 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
import { ApiClient } from '$lib/server/api';
import { validateToken } from '$lib/server/auth';
import { redirect, type Handle } from '@sveltejs/kit';
import { sequence } from '@sveltejs/kit/hooks';
const authHandle: Handle = async ({ event, resolve }) => {
// Get auth token from cookies
const authToken = event.cookies.get('authToken');
if (authToken) {
// Validate the token
const api = new ApiClient(authToken);
const user = await validateToken(api);
if (user) {
// Token is valid
event.locals.user = user;
event.locals.authToken = authToken;
event.locals.api = api;
} else {
// Token invalid, clear auth cookie
event.cookies.delete('authToken', { path: '/' });
}
}
return resolve(event);
};
const protectedRoutesHandle: Handle = async ({ event, resolve }) => {
const isProtectedRoute = !event.url.pathname.startsWith('/login');
if (isProtectedRoute && !event.locals.user) throw redirect(303, '/login');
return resolve(event);
};
export const handle = sequence(authHandle, protectedRoutesHandle);