aboutsummaryrefslogtreecommitdiffstats
path: root/apps/kit/src/routes/(main)/+layout.server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/kit/src/routes/(main)/+layout.server.ts')
-rw-r--r--apps/kit/src/routes/(main)/+layout.server.ts32
1 files changed, 19 insertions, 13 deletions
diff --git a/apps/kit/src/routes/(main)/+layout.server.ts b/apps/kit/src/routes/(main)/+layout.server.ts
index 01aae89..32b0583 100644
--- a/apps/kit/src/routes/(main)/+layout.server.ts
+++ b/apps/kit/src/routes/(main)/+layout.server.ts
@@ -1,13 +1,19 @@
-// import {is_active} from "$lib/session";
-// import {redirect} from "@sveltejs/kit";
-// import type {LayoutServerLoad} from "./$types";
-//
-// export const load: LayoutServerLoad = async ({routeId}) => {
-// const sessionIsValid = await is_active();
-// const isPublicRoute = routeId?.startsWith("(public)");
-// if (sessionIsValid && isPublicRoute) {
-// throw redirect(302, "/home");
-// } else if (!sessionIsValid && !isPublicRoute) {
-// throw redirect(302, "/login");
-// }
-// }; \ No newline at end of file
+import { api_base, CookieNames } from "$lib/configuration";
+import { redirect } from "@sveltejs/kit";
+import type { LayoutServerLoad } from "./$types";
+
+export const load: LayoutServerLoad = async ({ routeId, cookies }) => {
+ const isPublicRoute = routeId?.startsWith("(main)/(public)") ?? true;
+ const sessionCookie = cookies.get(CookieNames.session);
+ const sessionIsValid = (await fetch(api_base("_/valid-session"), {
+ headers: {
+ Cookie: CookieNames.session + "=" + sessionCookie,
+ }
+ })).ok
+
+ if (sessionIsValid && isPublicRoute) {
+ throw redirect(302, "/home");
+ } else if (!sessionIsValid && !isPublicRoute) {
+ throw redirect(302, "/sign-in");
+ }
+}; \ No newline at end of file