Fixed some Query bugs

This commit is contained in:
CnF-Gris 2025-06-30 20:05:28 +00:00
parent 177382d9c3
commit f55cc48656
5 changed files with 25 additions and 12 deletions

View File

@ -1,7 +1,8 @@
import type { Cookies } from "@sveltejs/kit"; import type { Cookies } from "@sveltejs/kit";
import { SessionApp, type Session } from "./sessions"; import { SessionApp, type Session } from "./sessions";
import { UserApp, type User } from "./users"; 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 { export class AppData {
@ -19,7 +20,7 @@ export class AppData {
public async toCookie() { public async toCookie() {
const signedSession = await JoseSingleton.signObject(this.session) const signedSession = await JoseApp.signObject({token: this.session.sessionToken})
const encodedSession = btoa(signedSession) const encodedSession = btoa(signedSession)
return encodedSession return encodedSession
@ -29,13 +30,19 @@ export class AppData {
const encodedSessionToken = cookies.get("session") const encodedSessionToken = cookies.get("session")
logger.debug(`Session Cookie: ${encodedSessionToken}`, "APP Session Building 1")
if (!encodedSessionToken) { if (!encodedSessionToken) {
return null return null
} }
const decodedSessionToken = atob(encodedSessionToken) 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) const session = SessionApp.getSessionFromToken(sessionToken)

View File

@ -8,15 +8,15 @@ CREATE TABLE IF NOT EXISTS sessions (
INSERT INTO sessions (user_id, session_token) INSERT INTO sessions (user_id, session_token)
VALUES (@userID, @token); VALUES (@userID, @token);
SELECT session_id, user_id, session_token, SELECT session_id, user_id, session_token
FROM sessions FROM sessions
WHERE session_token = @token; WHERE session_token = @token;
SELECT session_id, user_id, session_token, SELECT session_id, user_id, session_token
FROM sessions 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 FROM sessions
WHERE session_id = @sessionID; WHERE session_id = @sessionID;

View File

@ -86,6 +86,8 @@ export class SessionDBBroker implements ISessionBroker {
// Check if Session has been successfully created // Check if Session has been successfully created
const session = this.getSessionFromUserID(userID) const session = this.getSessionFromUserID(userID)
logger.debug(`session: ${session}`, "DB Session Create")
if (!session) { if (!session) {
// UGLY: more specific // UGLY: more specific
throw new Error("Something wrong happened during the creationg of the session") 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 { private getSessionDBFromToken(token: string): SessionDB | null {
logger.debug(`token: ${token}`, "DB Session from Token")
const stmt = SSLSnifferApp.prepare( const stmt = SSLSnifferApp.prepare(
` `
SELECT session_id, user_id, session_token, SELECT session_id, user_id, session_token
FROM sessions FROM sessions
WHERE session_token = @token; WHERE session_token = @token;
` `
@ -146,9 +149,9 @@ export class SessionDBBroker implements ISessionBroker {
private getSessionDBFromUserID(userID: number): SessionDB | null { private getSessionDBFromUserID(userID: number): SessionDB | null {
const stmt = SSLSnifferApp.prepare( const stmt = SSLSnifferApp.prepare(
` `
SELECT session_id, user_id, session_token, SELECT session_id, user_id, session_token
FROM sessions FROM sessions
WHERE session_id = @userID; WHERE user_id = @userID;
` `
) )
@ -164,7 +167,7 @@ export class SessionDBBroker implements ISessionBroker {
const stmt = SSLSnifferApp.prepare( const stmt = SSLSnifferApp.prepare(
` `
SELECT session_id, user_id, session_token, SELECT session_id, user_id, session_token
FROM sessions FROM sessions
WHERE session_id = @sessionID; WHERE session_id = @sessionID;
` `

View File

@ -24,6 +24,9 @@ export class SSLSnifferApp {
public static prepare(query: string) { public static prepare(query: string) {
logger.debug(`Statement: ${query}`, "SQLite Query Preparation")
return SSLSnifferApp.db.prepare(query) return SSLSnifferApp.db.prepare(query)
} }