From 177382d9c3f707ac0faf494b4beb0fccf4ca9e98 Mon Sep 17 00:00:00 2001 From: CnF-Gris Date: Mon, 30 Jun 2025 20:04:48 +0000 Subject: [PATCH] Added handle for UI --- src/handles/handle.ts | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/handles/handle.ts b/src/handles/handle.ts index 3bec8b1..47fd112 100644 --- a/src/handles/handle.ts +++ b/src/handles/handle.ts @@ -8,7 +8,7 @@ const sessionConstructorHandle = (async ({event, resolve}) => { const data = await AppData.extractAppDataFromCookies(event.cookies) - logger.debug(`Session Data: ${data}`, "Session Handle") + logger.debug(`User: ${data?.user.username}\nToken ${data?.session.sessionToken}`, "Session Handle") event.locals.session = data @@ -27,6 +27,7 @@ const apiHandle = (async ({event, resolve}) => { return await resolve(event) } + // It's a backend, should not redirect if (!event.locals.session) { // Satisfies HTTP Codes: // https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/401 @@ -37,7 +38,27 @@ const apiHandle = (async ({event, resolve}) => { }) satisfies Handle +const appHandle = (async ({event, resolve}) => { + + logger.debug(event.url.pathname, "API Handle") + logger.debug(`Session Data: ${event.locals.session}`, "API Handle") + + if(!event.url.pathname.startsWith("/app/program")) { + // next handle + return await resolve(event) + } + + // It's for frontend, should redirect + if (!event.locals.session) { + return redirect(302, "/app/login") + } + + return await resolve(event) + +}) satisfies Handle + export const handles = sequence( sessionConstructorHandle, - apiHandle + apiHandle, + appHandle ) \ No newline at end of file