2025-04-20 22:35:12 +02:00
|
|
|
import type { Handle } from "@sveltejs/kit";
|
|
|
|
|
import { error } from "@sveltejs/kit";
|
2025-01-03 01:04:30 +01:00
|
|
|
|
2025-04-20 22:35:12 +02:00
|
|
|
import { init_db, close_db, get_user } from "$lib/server/database";
|
2025-01-03 01:04:30 +01:00
|
|
|
|
2025-04-20 22:35:12 +02:00
|
|
|
async function init() {
|
2025-01-03 01:04:30 +01:00
|
|
|
|
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-01-03 01:04:30 +01:00
|
|
|
|
2025-04-20 22:35:12 +02:00
|
|
|
await init_db();
|
2025-01-03 01:04:30 +01:00
|
|
|
|
|
|
|
|
console.log("started");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function deinit() {
|
|
|
|
|
close_db();
|
|
|
|
|
console.log('exit');
|
|
|
|
|
}
|
|
|
|
|
|
2025-04-20 22:35:12 +02:00
|
|
|
await init();
|
2025-01-03 01:04:30 +01:00
|
|
|
|
2025-04-20 22:35:12 +02:00
|
|
|
process.on('exit', (_) => {
|
2025-01-03 01:04:30 +01:00
|
|
|
deinit();
|
|
|
|
|
process.exit(0);
|
|
|
|
|
});
|
|
|
|
|
|
2025-04-20 22:35:12 +02:00
|
|
|
process.on('SIGINT', (_) => {
|
2025-01-03 01:04:30 +01:00
|
|
|
console.log("SIGINT")
|
|
|
|
|
process.exit(0);
|
|
|
|
|
})
|
|
|
|
|
|
2025-04-20 22:35:12 +02:00
|
|
|
export let handle: Handle = async function ({ event, resolve }) {
|
2025-01-03 01:04:30 +01:00
|
|
|
|
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;
|
2025-01-03 01:04:30 +01:00
|
|
|
|
|
|
|
|
return await resolve(event);
|
|
|
|
|
}
|