website/src/hooks.server.ts
bytedream ccc022f5f0
All checks were successful
delpoy / build-and-deploy (push) Successful in 27s
make session cookie name a variable
2023-08-29 14:52:27 +02:00

26 lines
720 B
TypeScript

import { sequelize } from '$lib/server/database';
import type { Handle } from '@sveltejs/kit';
import { env } from '$env/dynamic/public';
import { getSession, sessionCookieName } from '$lib/server/session';
// make sure that the database and tables exist
await sequelize.sync();
export const handle: Handle = async ({ event, resolve }) => {
if (
event.url.pathname.startsWith(`${env.PUBLIC_BASE_PATH}/admin`) &&
event.url.pathname != `${env.PUBLIC_BASE_PATH}/admin/login`
) {
if (getSession(event.cookies.get(sessionCookieName) || '') == null) {
return new Response(null, {
status: 302,
headers: {
location: `${env.PUBLIC_BASE_PATH}/admin/login`
}
});
}
}
return resolve(event);
};