From dd2c10a365d9a0c92dc83aff17e5140a3c16ee9c Mon Sep 17 00:00:00 2001 From: bytedream Date: Tue, 29 Aug 2023 14:44:20 +0200 Subject: [PATCH] redirect to admin login when trying to access any admin page without valid cookies --- src/routes/admin/+layout.server.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/routes/admin/+layout.server.ts b/src/routes/admin/+layout.server.ts index cfa05fc..fc357e3 100644 --- a/src/routes/admin/+layout.server.ts +++ b/src/routes/admin/+layout.server.ts @@ -1,10 +1,15 @@ import type { LayoutServerLoad } from './$types'; import { Admin, User } from '$lib/server/database'; import { getSession } from '$lib/server/session'; +import { redirect } from '@sveltejs/kit'; +import { env } from '$env/dynamic/public'; -export const load: LayoutServerLoad = async ({ cookies }) => { +export const load: LayoutServerLoad = async ({ route, cookies }) => { const session = getSession(cookies); + if (session == null && route.id != '/admin/login') + throw redirect(302, `${env.PUBLIC_BASE_PATH}/admin/login`); + return { userCount: session?.permissions.userRead() ? await User.count() : null, adminCount: session?.permissions.adminRead() ? await Admin.count() : null