Adding database debug log for database queries

This commit is contained in:
Collin Duncan 2023-02-10 14:33:04 +01:00
parent 1d5c75b252
commit 5edf0eac68
No known key found for this signature in database

View file

@ -1,10 +1,12 @@
import { resolve } from 'path' import { resolve } from 'path'
import sqlite from 'sqlite3' import sqlite from 'sqlite3'
import { asyncLocalStorage } from '../logger'
import { CREATE_TABLE_reservations } from './sql' import { CREATE_TABLE_reservations } from './sql'
export const run = async (sql: string, params?: unknown) => { export const run = async (sql: string, params?: unknown) => {
const db = new sqlite.Database(resolve('autobaan_db')) const db = new sqlite.Database(resolve('autobaan_db'))
await new Promise<void>((res, rej) => { await new Promise<void>((res, rej) => {
asyncLocalStorage.getStore()?.debug(`<database> run ${sql} (${params})`)
db.run(sql, params, (err) => { db.run(sql, params, (err) => {
if (err) rej(err) if (err) rej(err)
res() res()
@ -15,11 +17,13 @@ export const run = async (sql: string, params?: unknown) => {
export const all = async <T>(sql: string, params?: unknown) => { export const all = async <T>(sql: string, params?: unknown) => {
const db = new sqlite.Database(resolve('autobaan_db')) const db = new sqlite.Database(resolve('autobaan_db'))
const rows = await new Promise<T[]>((res, rej) => const rows = await new Promise<T[]>((res, rej) => {
asyncLocalStorage.getStore()?.debug(`<database> all ${sql} (${params})`)
db.all(sql, params, (err, rows) => { db.all(sql, params, (err, rows) => {
if (err) rej(err) if (err) rej(err)
res(rows) res(rows)
}) })
}
) )
db.close() db.close()
return rows return rows