diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 1339fed..1a732b5 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -9,8 +9,11 @@ import { init_db, close_db, create_user } from "$lib/server/database"; import Logs from "$lib/server/log"; let local_setup = { - user_setup: (username: string, password: string) => { + user_setup: (username: string, password: string) => { + Logs.user.info("Creating first user") + create_user({name: "name", gender: "x", address: "home", username: username, password: password }); + local_setup.user_setup = () => {} } } @@ -75,12 +78,15 @@ export let handle: Handle = async function ({ event, resolve }) { const token = event.cookies.get("session_id") const user = SessionStore.get_user_by_access_token(token ?? "") + Logs.user.debug(user ? `Found user ${user.id} for session token` : "No user for session token") + if (!token || !user) { if (event.request.method == "POST" && event.route.id != "/login") { return error(401, "Invalid Session"); } if (token) { + Logs.user.debug("recieved an invalid session id. Deleting on client.") event.cookies.delete("session_id", { path: "/" }); } diff --git a/src/lib/server/session_store.ts b/src/lib/server/session_store.ts index 2d2f4f0..d27b6a8 100644 --- a/src/lib/server/session_store.ts +++ b/src/lib/server/session_store.ts @@ -92,11 +92,13 @@ function get_user_by_access_token(token: string): User | null { function logout_user_session(token: string): boolean { const token_info = active_session_tokens.get(token); + if (!token_info) { Logs.user.warn(`Failed to logout user by token, because token does not exist`); return false; } + Logs.user.info(`Logging out user ${token_info?.user_id}`) token_info.expiry_time = new Date(0); return true; @@ -123,8 +125,10 @@ async function __clean_session_store() { cleaned_active_users += 1 } }); - - Logs.user.info(`Cleaned ${cleaned_user_sessions} inactive session tokens and ${cleaned_active_users} inactive users`) + + if (cleaned_active_users > 0 || cleaned_active_users > 0) { + Logs.user.info(`Cleaned ${cleaned_user_sessions} inactive session tokens and ${cleaned_active_users} inactive users`) + } } export default class SessionStore {