34 lines
968 B
TypeScript
34 lines
968 B
TypeScript
import type { PageServerLoad } from './$types';
|
|
import { getSession } from '$lib/server/session';
|
|
import { Permissions } from '$lib/permissions';
|
|
import { redirect } from '@sveltejs/kit';
|
|
import { env } from '$env/dynamic/public';
|
|
import { Settings } from '$lib/server/database';
|
|
|
|
export const load: PageServerLoad = async ({ parent, cookies }) => {
|
|
if (getSession(cookies, { permissions: [Permissions.Settings] }) == null) {
|
|
throw redirect(302, `${env.PUBLIC_BASE_PATH}/admin`);
|
|
}
|
|
|
|
const { self } = await parent();
|
|
|
|
const settings = (await Settings.findAll()).reduce(
|
|
(prev, curr) => {
|
|
return { ...prev, [curr.key]: curr.value };
|
|
},
|
|
{} as { [key: string]: any }
|
|
);
|
|
|
|
return {
|
|
settings: {
|
|
global: {},
|
|
register: {
|
|
enabled: settings['register.enabled'] ?? true,
|
|
disabled_title: settings['register.disabled_title'] ?? 'Anmeldung geschlossen',
|
|
disabled_details: settings['register.disabled_details'] ?? ''
|
|
}
|
|
},
|
|
self: self
|
|
};
|
|
};
|