diff options
Diffstat (limited to 'app/src/lib/server/db.ts')
-rw-r--r-- | app/src/lib/server/db.ts | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/app/src/lib/server/db.ts b/app/src/lib/server/db.ts index db001b7..b35f853 100644 --- a/app/src/lib/server/db.ts +++ b/app/src/lib/server/db.ts @@ -1,5 +1,6 @@ import pg from "pg"; import { env } from "$env/dynamic/private"; +import type { Handle } from "@sveltejs/kit"; const pool = new pg.Pool({ database: env.POSTGRES_DB || "postgres", @@ -15,6 +16,13 @@ pool.on("error", (err, client) => { console.error("Database error: ", err, client); }); -export function getDbClient(): Promise<pg.PoolClient> { - return pool.connect(); -} +export const dbHandle = (async ({ event, resolve }) => { + const dbClient = await pool.connect(); + event.locals.dbClient = dbClient; + + try { + return await resolve(event); + } finally { + dbClient.release(); + } +}) satisfies Handle; |