Compare commits
No commits in common. "1ef75efcd8db8cfa5444f9e63a7b6c15ace2dab8" and "897c172dfcda4d3d37da2e1ebdae083cb8d1bb19" have entirely different histories.
1ef75efcd8
...
897c172dfc
|
|
@ -4,12 +4,15 @@ import { error, redirect } from "@sveltejs/kit";
|
|||
import { env } from "$env/dynamic/private"
|
||||
|
||||
import SessionStore from "$lib/server/session_store"
|
||||
import { init_db, close_db, create_user, do_users_exist } from "$lib/server/database";
|
||||
import { init_db, close_db, create_user } from "$lib/server/database";
|
||||
|
||||
import Logs from "$lib/server/log";
|
||||
|
||||
let local_setup: {user_setup: (() => void) | ((username: string, password: string) => void) }= {
|
||||
user_setup: () => {}
|
||||
let local_setup = {
|
||||
user_setup: (username: string, password: string) => {
|
||||
create_user({name: "name", gender: "x", address: "home", username: username, password: password });
|
||||
local_setup.user_setup = () => {}
|
||||
}
|
||||
}
|
||||
|
||||
async function init() {
|
||||
|
|
@ -27,17 +30,6 @@ async function init() {
|
|||
|
||||
await init_db();
|
||||
|
||||
if (!do_users_exist()) {
|
||||
local_setup.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 = () => {}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Logs.process.info("Initializing of server complete")
|
||||
|
||||
}
|
||||
|
|
@ -83,15 +75,12 @@ 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: "/" });
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -92,13 +92,11 @@ 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;
|
||||
|
|
@ -125,10 +123,8 @@ async function __clean_session_store() {
|
|||
cleaned_active_users += 1
|
||||
}
|
||||
});
|
||||
|
||||
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`)
|
||||
}
|
||||
|
||||
Logs.user.info(`Cleaned ${cleaned_user_sessions} inactive session tokens and ${cleaned_active_users} inactive users`)
|
||||
}
|
||||
|
||||
export default class SessionStore {
|
||||
|
|
|
|||
Loading…
Reference in New Issue