diff --git a/src/lib/server/database.ts b/src/lib/server/database.ts index 66c3024..716859c 100644 --- a/src/lib/server/database.ts +++ b/src/lib/server/database.ts @@ -4,6 +4,8 @@ import { Database, SQLiteError } from "bun:sqlite"; import type { UserEntry, RecordEntry, EstimatesEntry } from "$lib/db_types"; import { calculateDuration, parseDate, toInt, isTimeValidHHMM } from "$lib/util"; +import Logs from "$lib/server/log" + const DATABASES_PATH: string = (process.env.APP_USER_DATA_PATH ?? ".") + "/databases/"; const USER_DATABASE_PATH: string = DATABASES_PATH + "users.sqlite"; @@ -51,6 +53,9 @@ const USER_DATABASE_ADD_USER: string = const USER_DATABASE_GET_ALL_USER: string = "SELECT id, username, name FROM users;"; +const USER_DATABASE_GET_USER_BY_ID: string = + "SELECT * FROM users WHERE id = $id;" + const USER_DATABASE_GET_USER_BY_NAME: string = "SELECT * FROM users WHERE username = $username;" @@ -409,6 +414,20 @@ export function get_all_user(): { id: number, username: string, name: string }[] } } +export function get_user_entry_by_id(id: number): UserEntry | null { + + try { + const query = user_database.query(USER_DATABASE_GET_USER_BY_ID) + const user = query.get({ id: id }) as UserEntry | null; + + return user + } catch (e) { + Logs.db.error(`Encountered exception when retrievieng user ${id} from database: ${e.message}`) + } + + return null +} + export function get_user_by_name(username: string): User | null { try { diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index e4be645..345e3fc 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -12,7 +12,7 @@