af-db-ts 2.0.88 → 2.0.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/pg/pool-pg.js +6 -2
- package/dist/cjs/src/pg/pool-pg.js.map +1 -1
- package/dist/cjs/src/pg/query-pg.js +2 -2
- package/dist/cjs/src/pg/query-pg.js.map +1 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/pg/pool-pg.js +6 -2
- package/dist/esm/src/pg/pool-pg.js.map +1 -1
- package/dist/esm/src/pg/query-pg.js +2 -2
- package/dist/esm/src/pg/query-pg.js.map +1 -1
- package/dist/types/src/@types/i-config.d.ts +2 -0
- package/dist/types/src/@types/i-config.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/pg/pool-pg.d.ts +2 -1
- package/dist/types/src/pg/pool-pg.d.ts.map +1 -1
- package/dist/types/src/pg/query-pg.d.ts +2 -1
- package/dist/types/src/pg/query-pg.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/i-config.ts +5 -0
- package/src/index.ts +1 -0
- package/src/pg/pool-pg.ts +8 -4
- package/src/pg/query-pg.ts +3 -1
package/README.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
### Not of interest to third party users
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
### Not of interest to third party users
|
|
2
|
+
|
|
3
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;AAsBA,mCAIkB;AAHhB,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AAGb,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAElB,uCAMuB;AALrB,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AACX,uGAAA,cAAc,OAAA;AACd,2GAAA,kBAAkB,OAAA;AAClB,0FAAA,CAAC,OAAA;AAGH,6CAK0B;AAJxB,sGAAA,UAAU,OAAA;AACV,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AACb,6HAAA,iCAAiC,OAAA;AAGnC,+CAQ2B;AAPzB,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAEhB,6GAAA,gBAAgB,OAAA;AAChB,+GAAA,kBAAkB,OAAA;AAElB,gHAAA,mBAAmB,OAAA;AAgBrB,wEAGsC;AAFpC,8HAAA,mBAAmB,OAAA;AACnB,+HAAA,oBAAoB,OAAA;AAGtB,0CAAkD;AAAzC,6GAAA,iBAAiB,OAAA;AAE1B,8CAAqD;AAA5C,wGAAA,cAAc,OAAA;AAEvB,4CAAmD;AAA1C,sGAAA,aAAa,OAAA;AAEtB,8CAAqD;AAA5C,wGAAA,cAAc,OAAA;AAEvB,wCAQsB;AAPpB,uGAAA,YAAY,OAAA;AACZ,8GAAA,mBAAmB,OAAA;AACnB,kHAAA,uBAAuB,OAAA;AACvB,sHAAA,2BAA2B,OAAA;AAC3B,+GAAA,oBAAoB,OAAA;AACpB,wGAAA,aAAa,OAAA;AACb,oGAAA,SAAS,OAAA;AAGX,oDAG4B;AAF1B,kHAAA,iBAAiB,OAAA;AACjB,mHAAA,kBAAkB,OAAA;AAGpB,0CAAwC;AAA/B,mGAAA,OAAO,OAAA;AAEhB,wDAG8B;AAF5B,mHAAA,gBAAgB,OAAA;AAChB,wHAAA,qBAAqB,OAAA;AAGvB,gEAA6D;AAApD,wHAAA,iBAAiB,OAAA;AAgB1B,wEAGsC;AAFpC,8HAAA,mBAAmB,OAAA;AACnB,+HAAA,oBAAoB,OAAA;AAGtB,0CAIuB;AAHrB,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAClB,+GAAA,mBAAmB,OAAA;AAGrB,8CAAqD;AAA5C,wGAAA,cAAc,OAAA;AAEvB,4CAAmD;AAA1C,sGAAA,aAAa,OAAA;AAEtB,8CAAqD;AAA5C,wGAAA,cAAc,OAAA;AAEvB,4CAAwD;AAA/C,qGAAA,QAAQ,OAAA;AAAE,yGAAA,YAAY,OAAA;AAE/B,wEAAqE;AAA5D,gIAAA,qBAAqB,OAAA;AAE9B,wCAMsB;AALpB,uGAAA,YAAY,OAAA;AACZ,oGAAA,SAAS,OAAA;AACT,sGAAA,WAAW,OAAA;AACX,wGAAA,aAAa,OAAA;AACb,kHAAA,uBAAuB,OAAA;AAGzB,oDAK4B;AAJ1B,mHAAA,kBAAkB,OAAA;AAClB,kHAAA,iBAAiB,OAAA;AACjB,8GAAA,aAAa,OAAA;AACb,8GAAA,aAAa,OAAA;AAGf,0CAAwC;AAA/B,mGAAA,OAAO,OAAA;AAEhB,wDAG8B;AAF5B,uHAAA,oBAAoB,OAAA;AACpB,mHAAA,gBAAgB,OAAA"}
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.closeAllPgConnectionsPg = exports.closePoolPg = exports.getPoolPg = exports.poolsCachePg = exports.getDbConfigPg = void 0;
|
|
7
|
+
/* eslint-disable no-await-in-loop */
|
|
7
8
|
const config_1 = __importDefault(require("config"));
|
|
8
9
|
const pg_1 = require("pg");
|
|
9
10
|
const af_echo_ts_1 = require("af-echo-ts");
|
|
@@ -50,7 +51,7 @@ const getDbConfigPg = (connectionId, includeOptions, throwError) => {
|
|
|
50
51
|
};
|
|
51
52
|
exports.getDbConfigPg = getDbConfigPg;
|
|
52
53
|
exports.poolsCachePg = {};
|
|
53
|
-
const getPoolPg = async (connectionId, throwError) => {
|
|
54
|
+
const getPoolPg = async (connectionId, throwError, registerTypesFunctions) => {
|
|
54
55
|
if (!exports.poolsCachePg[connectionId]) {
|
|
55
56
|
const poolConfig = (0, exports.getDbConfigPg)(connectionId, true, throwError);
|
|
56
57
|
const pool = new pg_1.Pool(poolConfig);
|
|
@@ -59,9 +60,12 @@ const getPoolPg = async (connectionId, throwError) => {
|
|
|
59
60
|
client.release(true);
|
|
60
61
|
logger_error_1.logger.error(err);
|
|
61
62
|
});
|
|
62
|
-
pool.on('connect', (client) => {
|
|
63
|
+
pool.on('connect', async (client) => {
|
|
63
64
|
const { database, processID } = client;
|
|
64
65
|
af_echo_ts_1.echo.debug(`PG client [${connectionId}] connected! DB: "${database}" / processID: ${processID}`);
|
|
66
|
+
if (Array.isArray(registerTypesFunctions)) {
|
|
67
|
+
await Promise.all(registerTypesFunctions.map((fn) => fn(client)));
|
|
68
|
+
}
|
|
65
69
|
});
|
|
66
70
|
pool.on('remove', (client) => {
|
|
67
71
|
const { database, processID } = client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-pg.js","sourceRoot":"","sources":["../../../../src/pg/pool-pg.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,2BAAkD;AAClD,2CAAkC;AAClC,6CAAwC;AACxC,kDAAyC;AAGzC,sCAAqC;AAErC,MAAM,GAAG,GAAG,IAAA,uBAAS,EAAC,gBAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAM,CAAC,CAAQ,CAAC;AAE3D,IAAI,GAAG,GAAW,EAAE,CAAC;AACrB,IAAI,SAAS,GAAQ,EAAE,CAAC;AACxB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;IACjB,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAY,CAAC;IACpC,SAAS,GAAG,EAAE,CAAC;AACjB,CAAC;KAAM,IAAI,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IACjC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjC,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,cAAc,GAAiB;IACnC,sDAAsD;IACtD,mEAAmE;IACnE,gFAAgF;IAChF,8CAA8C;IAC9C,uBAAuB,EAAE,CAAC,GAAG,KAAM,EAAE,QAAQ;IAC7C,mFAAmF;IACnF,2DAA2D;IAC3D,yFAAyF;IACzF,iBAAiB,EAAE,iBAAQ,EAAE,MAAM;IACnC,oDAAoD;IACpD,gCAAgC;IAChC,GAAG,EAAE,EAAE;IACP,iBAAiB,EAAE,iBAAQ,EAAE,0FAA0F;IACvH,aAAa,EAAE,iBAAQ,EAAE,iFAAiF;CAC3G,CAAC;AAEF,SAAS,GAAG,gBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAEvD,MAAM,aAAa,GAAG,CAAK,YAAoB,EAAE,cAAwB,EAAE,UAAoB,EAAiB,EAAE;IACvH,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,cAAc,CAAC,CAAC,CAAC,gBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AAC3F,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB;AAEW,QAAA,YAAY,GAAuB,EAAE,CAAC;AAE5C,MAAM,SAAS,GAAG,KAAK,EAAE,YAAoB,EAAE,UAAoB,EAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"pool-pg.js","sourceRoot":"","sources":["../../../../src/pg/pool-pg.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.queryPg = void 0;
|
|
4
4
|
const pool_pg_1 = require("./pool-pg");
|
|
5
5
|
const common_1 = require("../common");
|
|
6
|
-
const queryPg = async (connectionId, sqlText, sqlValues, throwError, prefix) => {
|
|
6
|
+
const queryPg = async (connectionId, sqlText, sqlValues, throwError, prefix, registerTypesFunctions) => {
|
|
7
7
|
try {
|
|
8
|
-
const pool = await (0, pool_pg_1.getPoolPg)(connectionId, throwError);
|
|
8
|
+
const pool = await (0, pool_pg_1.getPoolPg)(connectionId, throwError, registerTypesFunctions);
|
|
9
9
|
let res;
|
|
10
10
|
if (Array.isArray(sqlValues)) {
|
|
11
11
|
res = await pool.query(sqlText, sqlValues);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-pg.js","sourceRoot":"","sources":["../../../../src/pg/query-pg.ts"],"names":[],"mappings":";;;AACA,uCAAsC;AACtC,sCAAwC;
|
|
1
|
+
{"version":3,"file":"query-pg.js","sourceRoot":"","sources":["../../../../src/pg/query-pg.ts"],"names":[],"mappings":";;;AACA,uCAAsC;AACtC,sCAAwC;AAKjC,MAAM,OAAO,GAAG,KAAK,EAC1B,YAAoB,EACpB,OAAe,EACf,SAAiB,EACjB,UAAoB,EACpB,MAAe,EACf,sBAA0C,EAEN,EAAE;IACtC,IAAI,CAAC;QACH,MAAM,IAAI,GAAY,MAAM,IAAA,mBAAS,EAAC,YAAY,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;QACxF,IAAI,GAAgB,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,oBAAW,EAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC;AArBW,QAAA,OAAO,WAqBlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,CAAC,GACF,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,iCAAiC,GAClC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,kBAAkB,EAElB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAe3B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,aAAa,EACb,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAgB7D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable no-await-in-loop */
|
|
1
2
|
import config from 'config';
|
|
2
3
|
import { Pool } from 'pg';
|
|
3
4
|
import { echo } from 'af-echo-ts';
|
|
@@ -43,7 +44,7 @@ export const getDbConfigPg = (connectionId, includeOptions, throwError) => {
|
|
|
43
44
|
return includeOptions ? config.util.extendDeep(dbOptions, namedDbConfig) : namedDbConfig;
|
|
44
45
|
};
|
|
45
46
|
export const poolsCachePg = {};
|
|
46
|
-
export const getPoolPg = async (connectionId, throwError) => {
|
|
47
|
+
export const getPoolPg = async (connectionId, throwError, registerTypesFunctions) => {
|
|
47
48
|
if (!poolsCachePg[connectionId]) {
|
|
48
49
|
const poolConfig = getDbConfigPg(connectionId, true, throwError);
|
|
49
50
|
const pool = new Pool(poolConfig);
|
|
@@ -52,9 +53,12 @@ export const getPoolPg = async (connectionId, throwError) => {
|
|
|
52
53
|
client.release(true);
|
|
53
54
|
logger.error(err);
|
|
54
55
|
});
|
|
55
|
-
pool.on('connect', (client) => {
|
|
56
|
+
pool.on('connect', async (client) => {
|
|
56
57
|
const { database, processID } = client;
|
|
57
58
|
echo.debug(`PG client [${connectionId}] connected! DB: "${database}" / processID: ${processID}`);
|
|
59
|
+
if (Array.isArray(registerTypesFunctions)) {
|
|
60
|
+
await Promise.all(registerTypesFunctions.map((fn) => fn(client)));
|
|
61
|
+
}
|
|
58
62
|
});
|
|
59
63
|
pool.on('remove', (client) => {
|
|
60
64
|
const { database, processID } = client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-pg.js","sourceRoot":"","sources":["../../../../src/pg/pool-pg.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAA0B,MAAM,IAAI,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAQ,CAAC;AAE3D,IAAI,GAAG,GAAW,EAAE,CAAC;AACrB,IAAI,SAAS,GAAQ,EAAE,CAAC;AACxB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;IACjB,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAY,CAAC;IACpC,SAAS,GAAG,EAAE,CAAC;AACjB,CAAC;KAAM,IAAI,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IACjC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjC,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,cAAc,GAAiB;IACnC,sDAAsD;IACtD,mEAAmE;IACnE,gFAAgF;IAChF,8CAA8C;IAC9C,uBAAuB,EAAE,CAAC,GAAG,KAAM,EAAE,QAAQ;IAC7C,mFAAmF;IACnF,2DAA2D;IAC3D,yFAAyF;IACzF,iBAAiB,EAAE,QAAQ,EAAE,MAAM;IACnC,oDAAoD;IACpD,gCAAgC;IAChC,GAAG,EAAE,EAAE;IACP,iBAAiB,EAAE,QAAQ,EAAE,0FAA0F;IACvH,aAAa,EAAE,QAAQ,EAAE,iFAAiF;CAC3G,CAAC;AAEF,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAK,YAAoB,EAAE,cAAwB,EAAE,UAAoB,EAAiB,EAAE;IACvH,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AAC3F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAuB,EAAE,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,YAAoB,EAAE,UAAoB,EAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"pool-pg.js","sourceRoot":"","sources":["../../../../src/pg/pool-pg.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getPoolPg } from './pool-pg';
|
|
2
2
|
import { logSqlError } from '../common';
|
|
3
|
-
export const queryPg = async (connectionId, sqlText, sqlValues, throwError, prefix) => {
|
|
3
|
+
export const queryPg = async (connectionId, sqlText, sqlValues, throwError, prefix, registerTypesFunctions) => {
|
|
4
4
|
try {
|
|
5
|
-
const pool = await getPoolPg(connectionId, throwError);
|
|
5
|
+
const pool = await getPoolPg(connectionId, throwError, registerTypesFunctions);
|
|
6
6
|
let res;
|
|
7
7
|
if (Array.isArray(sqlValues)) {
|
|
8
8
|
res = await pool.query(sqlText, sqlValues);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-pg.js","sourceRoot":"","sources":["../../../../src/pg/query-pg.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"query-pg.js","sourceRoot":"","sources":["../../../../src/pg/query-pg.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAKxC,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,YAAoB,EACpB,OAAe,EACf,SAAiB,EACjB,UAAoB,EACpB,MAAe,EACf,sBAA0C,EAEN,EAAE;IACtC,IAAI,CAAC;QACH,MAAM,IAAI,GAAY,MAAM,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;QACxF,IAAI,GAAgB,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PoolClient } from "pg";
|
|
1
2
|
export interface IDBConfigCommon {
|
|
2
3
|
dialect?: 'mssql' | 'pg';
|
|
3
4
|
port: string | number | null | undefined;
|
|
@@ -32,6 +33,7 @@ export interface IDbOptionsMs {
|
|
|
32
33
|
requestTimeout: number;
|
|
33
34
|
connectionTimeout: number;
|
|
34
35
|
}
|
|
36
|
+
export type IRegisterTypeFn = (client: PoolClient) => Promise<void>;
|
|
35
37
|
export interface IDbOptionsPg {
|
|
36
38
|
connectionTimeoutMillis: number;
|
|
37
39
|
idleTimeoutMillis: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-config.d.ts","sourceRoot":"","sources":["../../../../src/@types/i-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"i-config.d.ts","sourceRoot":"","sources":["../../../../src/@types/i-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE;QACP,gBAAgB,EAAE,OAAO,CAAA;KAC1B,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,iBAAiB,EAAE,MAAM,CAAA;QACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;IACF,sBAAsB,EAAE,OAAO,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,WAAW,YAAY;IAK3B,uBAAuB,EAAE,MAAM,CAAC;IAIhC,iBAAiB,EAAE,MAAM,CAAC;IAG1B,GAAG,EAAE,EAAE,CAAC;IACR,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE;QACF,KAAK,CAAC,EAAE;YACN,OAAO,CAAC,EAAE,YAAY,CAAC;YACvB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,QAAQ,CAAC,EAAE;YACT,OAAO,CAAC,EAAE,YAAY,CAAC;YACvB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;CACH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { TDBRecord, TRecordSetAssoc, IDialect, TFieldName, TRecordKey, TRecordSet, IDateTimeOptionsEx, } from './@types/i-common';
|
|
2
|
-
export { IAFDatabasesConfig, IDBConfigCommon, IDBConfigMs, IDBConfigPg, IDbsMs, IDbsPg, IDbOptionsPg, IDbOptionsMs, } from './@types/i-config';
|
|
2
|
+
export { IAFDatabasesConfig, IDBConfigCommon, IDBConfigMs, IDBConfigPg, IDbsMs, IDbsPg, IRegisterTypeFn, IDbOptionsPg, IDbOptionsMs, } from './@types/i-config';
|
|
3
3
|
export { closeAllDb, graceExit, logSqlError, } from './common';
|
|
4
4
|
export { setLogger } from './logger-error';
|
|
5
5
|
export { schemaTable, prepareJSON, binToHexString, removePairBrackets, q, } from './utils/utils';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,EACN,YAAY,EACZ,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,CAAC,GACF,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,iCAAiC,GAClC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,kBAAkB,EAElB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,aAAa,EACb,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI7D,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,OAAO,EACP,kBAAkB,EAClB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { IRegisterTypeFn } from '../@types/i-config';
|
|
1
2
|
import { IConnectionPoolsPg, IPoolPg } from '../@types/i-pg';
|
|
2
3
|
export declare const getDbConfigPg: <T>(connectionId: string, includeOptions?: boolean, throwError?: boolean) => T | undefined;
|
|
3
4
|
export declare const poolsCachePg: IConnectionPoolsPg;
|
|
4
|
-
export declare const getPoolPg: (connectionId: string, throwError?: boolean) => Promise<IPoolPg>;
|
|
5
|
+
export declare const getPoolPg: (connectionId: string, throwError?: boolean, registerTypesFunctions?: IRegisterTypeFn[]) => Promise<IPoolPg>;
|
|
5
6
|
export declare const closePoolPg: (connectionId: string) => Promise<boolean>;
|
|
6
7
|
export declare const closeAllPgConnectionsPg: () => Promise<boolean[]>;
|
|
7
8
|
//# sourceMappingURL=pool-pg.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-pg.d.ts","sourceRoot":"","sources":["../../../../src/pg/pool-pg.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAiB,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAkC5E,eAAO,MAAM,aAAa,oBAAsB,MAAM,mBAAmB,OAAO,eAAe,OAAO,kBASrG,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,kBAAuB,CAAC;AAEnD,eAAO,MAAM,SAAS,iBAAwB,MAAM,eAAe,OAAO,KAAG,QAAQ,OAAO,
|
|
1
|
+
{"version":3,"file":"pool-pg.d.ts","sourceRoot":"","sources":["../../../../src/pg/pool-pg.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAiB,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAkC5E,eAAO,MAAM,aAAa,oBAAsB,MAAM,mBAAmB,OAAO,eAAe,OAAO,kBASrG,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,kBAAuB,CAAC;AAEnD,eAAO,MAAM,SAAS,iBAAwB,MAAM,eAAe,OAAO,2BAA2B,eAAe,EAAE,KAAG,QAAQ,OAAO,CAuBvI,CAAC;AAEF,eAAO,MAAM,WAAW,iBAAwB,MAAM,KAAG,QAAQ,OAAO,CAavE,CAAC;AAEF,eAAO,MAAM,uBAAuB,0BAAsG,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { QueryResult } from 'pg';
|
|
2
2
|
import { TDBRecord } from '../@types/i-common';
|
|
3
|
-
|
|
3
|
+
import { IRegisterTypeFn } from '../@types/i-config';
|
|
4
|
+
export declare const queryPg: <R extends TDBRecord = any>(connectionId: string, sqlText: string, sqlValues?: any[], throwError?: boolean, prefix?: string, registerTypesFunctions?: IRegisterTypeFn[]) => Promise<QueryResult<R> | undefined>;
|
|
4
5
|
//# sourceMappingURL=query-pg.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-pg.d.ts","sourceRoot":"","sources":["../../../../src/pg/query-pg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAIjC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"query-pg.d.ts","sourceRoot":"","sources":["../../../../src/pg/query-pg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAIjC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAO,MAAM,OAAO,4CACJ,MAAM,WACX,MAAM,cACH,GAAG,EAAE,eACJ,OAAO,WACX,MAAM,2BACU,eAAe,EAAE,wCAe3C,CAAC"}
|
package/package.json
CHANGED
package/src/@types/i-config.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { TypeFormat, TypeId } from 'pg-types';
|
|
2
|
+
import { PoolClient } from "pg";
|
|
3
|
+
|
|
1
4
|
export interface IDBConfigCommon {
|
|
2
5
|
dialect?: 'mssql' | 'pg',
|
|
3
6
|
port: string | number | null | undefined,
|
|
@@ -36,6 +39,8 @@ export interface IDbOptionsMs {
|
|
|
36
39
|
connectionTimeout: number
|
|
37
40
|
}
|
|
38
41
|
|
|
42
|
+
export type IRegisterTypeFn = (client: PoolClient) => Promise<void>;
|
|
43
|
+
|
|
39
44
|
export interface IDbOptionsPg {
|
|
40
45
|
// all valid client config options are also valid here
|
|
41
46
|
// in addition here are the pool specific configuration parameters:
|
package/src/index.ts
CHANGED
package/src/pg/pool-pg.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/* eslint-disable no-await-in-loop */
|
|
1
2
|
import config from 'config';
|
|
2
3
|
import { Pool, PoolClient, PoolConfig } from 'pg';
|
|
3
4
|
import { echo } from 'af-echo-ts';
|
|
4
5
|
import { cloneDeep } from 'af-tools-ts';
|
|
5
6
|
import { logger } from '../logger-error';
|
|
6
|
-
import { IDbOptionsPg, IDbsPg } from '../@types/i-config';
|
|
7
|
+
import { IDbOptionsPg, IDbsPg, IRegisterTypeFn } from '../@types/i-config';
|
|
7
8
|
import { IConnectionPoolsPg, IPoolClientPg, IPoolPg } from '../@types/i-pg';
|
|
8
9
|
import { _3_HOURS } from '../common';
|
|
9
10
|
|
|
@@ -51,18 +52,21 @@ export const getDbConfigPg = <T> (connectionId: string, includeOptions?: boolean
|
|
|
51
52
|
|
|
52
53
|
export const poolsCachePg: IConnectionPoolsPg = {};
|
|
53
54
|
|
|
54
|
-
export const getPoolPg = async (connectionId: string, throwError?: boolean): Promise<IPoolPg> => {
|
|
55
|
+
export const getPoolPg = async (connectionId: string, throwError?: boolean, registerTypesFunctions?: IRegisterTypeFn[]): Promise<IPoolPg> => {
|
|
55
56
|
if (!poolsCachePg[connectionId]) {
|
|
56
|
-
const poolConfig = getDbConfigPg<PoolConfig>(connectionId, true, throwError);
|
|
57
|
+
const poolConfig = getDbConfigPg<PoolConfig & IDbOptionsPg>(connectionId, true, throwError) as PoolConfig & IDbOptionsPg;
|
|
57
58
|
const pool = new Pool(poolConfig) as IPoolPg;
|
|
58
59
|
poolsCachePg[connectionId] = pool;
|
|
59
60
|
pool.on('error', (err: Error, client: PoolClient) => {
|
|
60
61
|
client.release(true);
|
|
61
62
|
logger.error(err);
|
|
62
63
|
});
|
|
63
|
-
pool.on('connect', (client: PoolClient) => {
|
|
64
|
+
pool.on('connect', async (client: PoolClient) => {
|
|
64
65
|
const { database, processID } = client as unknown as IPoolClientPg;
|
|
65
66
|
echo.debug(`PG client [${connectionId}] connected! DB: "${database}" / processID: ${processID}`);
|
|
67
|
+
if (Array.isArray(registerTypesFunctions)) {
|
|
68
|
+
await Promise.all(registerTypesFunctions.map((fn) => fn(client)));
|
|
69
|
+
}
|
|
66
70
|
});
|
|
67
71
|
pool.on('remove', (client: PoolClient) => {
|
|
68
72
|
const { database, processID } = client as unknown as IPoolClientPg;
|
package/src/pg/query-pg.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { getPoolPg } from './pool-pg';
|
|
|
3
3
|
import { logSqlError } from '../common';
|
|
4
4
|
import { IPoolPg } from '../@types/i-pg';
|
|
5
5
|
import { TDBRecord } from '../@types/i-common';
|
|
6
|
+
import { IRegisterTypeFn } from '../@types/i-config';
|
|
6
7
|
|
|
7
8
|
export const queryPg = async <R extends TDBRecord = any> (
|
|
8
9
|
connectionId: string,
|
|
@@ -10,10 +11,11 @@ export const queryPg = async <R extends TDBRecord = any> (
|
|
|
10
11
|
sqlValues?: any[],
|
|
11
12
|
throwError?: boolean,
|
|
12
13
|
prefix?: string,
|
|
14
|
+
registerTypesFunctions?: IRegisterTypeFn[],
|
|
13
15
|
):
|
|
14
16
|
Promise<QueryResult<R> | undefined> => {
|
|
15
17
|
try {
|
|
16
|
-
const pool: IPoolPg = await getPoolPg(connectionId, throwError);
|
|
18
|
+
const pool: IPoolPg = await getPoolPg(connectionId, throwError, registerTypesFunctions);
|
|
17
19
|
let res: QueryResult;
|
|
18
20
|
if (Array.isArray(sqlValues)) {
|
|
19
21
|
res = await pool.query(sqlText, sqlValues);
|