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 { 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)

View File

@ -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;

View File

@ -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;
`

View File

@ -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({

View File

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