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