Stundenaufzeichnung/src/hooks.server.ts

53 lines
933 B
TypeScript
Raw Normal View History

2025-04-20 22:35:12 +02:00
import type { Handle } from "@sveltejs/kit";
import { error } from "@sveltejs/kit";
2025-04-20 22:35:12 +02:00
import { init_db, close_db, get_user } from "$lib/server/database";
2025-04-20 22:35:12 +02:00
async function init() {
2025-04-20 22:35:12 +02:00
if (process.env.APP_USER_DATA_PATH == null) {
console.log("APP_USER_DATA_PATH is not defined. Exiting.");
process.exit(-1);
}
if (process.env.APP_TMP_USER_DATA_PATH == null) {
console.log("APP_TMP_USER_DATA_PATH is not defined. Exiting.");
process.exit(-1);
}
2025-04-20 22:35:12 +02:00
await init_db();
console.log("started");
}
function deinit() {
close_db();
console.log('exit');
}
2025-04-20 22:35:12 +02:00
await init();
2025-04-20 22:35:12 +02:00
process.on('exit', (_) => {
deinit();
process.exit(0);
});
2025-04-20 22:35:12 +02:00
process.on('SIGINT', (_) => {
console.log("SIGINT")
process.exit(0);
})
2025-04-20 22:35:12 +02:00
export let handle: Handle = async function ({ event, resolve }) {
2025-04-20 22:35:12 +02:00
let user = get_user();
if (!user) {
return error(404, "No user"); // redirect login
}
event.locals.user = user;
return await resolve(event);
}