From f55cc486569eeeefb87757a8e3548aeaf7c7ae3e Mon Sep 17 00:00:00 2001 From: CnF-Gris Date: Mon, 30 Jun 2025 20:05:28 +0000 Subject: [PATCH] Fixed some Query bugs --- src/lib/classes/app-sessions.ts | 13 ++++++++++--- src/lib/db-utils/SQL/Sessions.sql | 8 ++++---- src/lib/db-utils/Sessions.ts | 11 +++++++---- src/lib/db-utils/Users.ts | 2 +- src/lib/db-utils/sqlite.ts | 3 +++ 5 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/lib/classes/app-sessions.ts b/src/lib/classes/app-sessions.ts index 816396f..3e97c45 100644 --- a/src/lib/classes/app-sessions.ts +++ b/src/lib/classes/app-sessions.ts @@ -1,7 +1,8 @@ import type { Cookies } from "@sveltejs/kit"; import { SessionApp, type Session } from "./sessions"; import { UserApp, type User } from "./users"; -import { JoseSingleton } from "$lib/utils/jtw-utils"; +import { JoseApp } from "$lib/utils/jtw-utils"; +import { logger } from "$lib/utils/logger"; export class AppData { @@ -19,7 +20,7 @@ export class AppData { public async toCookie() { - const signedSession = await JoseSingleton.signObject(this.session) + const signedSession = await JoseApp.signObject({token: this.session.sessionToken}) const encodedSession = btoa(signedSession) return encodedSession @@ -29,13 +30,19 @@ export class AppData { const encodedSessionToken = cookies.get("session") + logger.debug(`Session Cookie: ${encodedSessionToken}`, "APP Session Building 1") + if (!encodedSessionToken) { return null } const decodedSessionToken = atob(encodedSessionToken) - const sessionToken = await JoseSingleton.verifyObject(decodedSessionToken) + logger.debug(`Session Cookie: ${decodedSessionToken}`, "APP Session Building 2") + + const sessionToken = (await JoseApp.verifyObject(decodedSessionToken)).token + + logger.debug(`Session Token: ${sessionToken}`, "APP Session Building 3") const session = SessionApp.getSessionFromToken(sessionToken) diff --git a/src/lib/db-utils/SQL/Sessions.sql b/src/lib/db-utils/SQL/Sessions.sql index 87ff710..9fd24db 100644 --- a/src/lib/db-utils/SQL/Sessions.sql +++ b/src/lib/db-utils/SQL/Sessions.sql @@ -8,15 +8,15 @@ CREATE TABLE IF NOT EXISTS sessions ( INSERT INTO sessions (user_id, session_token) VALUES (@userID, @token); -SELECT session_id, user_id, session_token, +SELECT session_id, user_id, session_token FROM sessions WHERE session_token = @token; -SELECT session_id, user_id, session_token, +SELECT session_id, user_id, session_token FROM sessions -WHERE session_id = @userID; +WHERE user_id = @userID; -SELECT session_id, user_id, session_token, +SELECT session_id, user_id, session_token FROM sessions WHERE session_id = @sessionID; diff --git a/src/lib/db-utils/Sessions.ts b/src/lib/db-utils/Sessions.ts index d42c33d..17a7b27 100644 --- a/src/lib/db-utils/Sessions.ts +++ b/src/lib/db-utils/Sessions.ts @@ -86,6 +86,8 @@ export class SessionDBBroker implements ISessionBroker { // Check if Session has been successfully created const session = this.getSessionFromUserID(userID) + logger.debug(`session: ${session}`, "DB Session Create") + if (!session) { // UGLY: more specific throw new Error("Something wrong happened during the creationg of the session") @@ -126,9 +128,10 @@ export class SessionDBBroker implements ISessionBroker { private getSessionDBFromToken(token: string): SessionDB | null { + logger.debug(`token: ${token}`, "DB Session from Token") const stmt = SSLSnifferApp.prepare( ` - SELECT session_id, user_id, session_token, + SELECT session_id, user_id, session_token FROM sessions WHERE session_token = @token; ` @@ -146,9 +149,9 @@ export class SessionDBBroker implements ISessionBroker { private getSessionDBFromUserID(userID: number): SessionDB | null { const stmt = SSLSnifferApp.prepare( ` - SELECT session_id, user_id, session_token, + SELECT session_id, user_id, session_token FROM sessions - WHERE session_id = @userID; + WHERE user_id = @userID; ` ) @@ -164,7 +167,7 @@ export class SessionDBBroker implements ISessionBroker { const stmt = SSLSnifferApp.prepare( ` - SELECT session_id, user_id, session_token, + SELECT session_id, user_id, session_token FROM sessions WHERE session_id = @sessionID; ` diff --git a/src/lib/db-utils/Users.ts b/src/lib/db-utils/Users.ts index 6240222..cd750bc 100644 --- a/src/lib/db-utils/Users.ts +++ b/src/lib/db-utils/Users.ts @@ -178,7 +178,7 @@ export class UserDBBroker implements IUserBroker { SELECT user_id, username, password_hash FROM users WHERE username = @username; - ` + ` ) const user: any | null = stmt.get({ diff --git a/src/lib/db-utils/sqlite.ts b/src/lib/db-utils/sqlite.ts index 6b42226..e9e8a29 100644 --- a/src/lib/db-utils/sqlite.ts +++ b/src/lib/db-utils/sqlite.ts @@ -24,6 +24,9 @@ export class SSLSnifferApp { public static prepare(query: string) { + + logger.debug(`Statement: ${query}`, "SQLite Query Preparation") + return SSLSnifferApp.db.prepare(query) }