website/src/routes/admin/+layout.server.ts

18 lines
629 B
TypeScript

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 ({ 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
};
};