From 3962536a69a986cf6ed662d8f4ff97c315a87858 Mon Sep 17 00:00:00 2001 From: Evgeniy Shangin Date: Tue, 9 Jan 2024 15:25:31 +0300 Subject: [PATCH] feat: refact attach db to Model --- lib/core.ts | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/lib/core.ts b/lib/core.ts index f307f18..2c62d21 100644 --- a/lib/core.ts +++ b/lib/core.ts @@ -20,30 +20,34 @@ export interface CoreDBConstructorArgs { logger?: ExLogger; } -let _db: PGDispatcher; +export function getModel() { + let _db: PGDispatcher; + + class CoreBaseModel extends Model { + static set db(value: PGDispatcher) { + if (!_db) { + _db = value; + } + } -class CoreBaseModel extends Model { - static set db(value: PGDispatcher) { - if (!_db) { - _db = value; + static get primary() { + return _db.primary; } - } - static get primary() { - return _db.primary; - } + get primary() { + return _db.primary; + } - get primary() { - return _db.primary; - } + static get replica() { + return _db.replica; + } - static get replica() { - return _db.replica; + get replica() { + return _db.replica; + } } - get replica() { - return _db.replica; - } + return CoreBaseModel; } export function initDB({ @@ -83,7 +87,8 @@ export function initDB({ process.on('SIGUSR1', terminate); process.on('SIGUSR2', terminate); - _db = db; + const CoreBaseModel = getModel(); + CoreBaseModel.db = db; const helpers = { clearDatabase: async function () {