@churchapps/apihelper 0.1.9 → 0.4.34
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/dist/controllers/CustomBaseController.d.ts.map +1 -1
- package/dist/controllers/CustomBaseController.js +4 -16
- package/dist/controllers/CustomBaseController.js.map +1 -1
- package/dist/helpers/DBCreator.js +2 -2
- package/dist/helpers/DBCreator.js.map +1 -1
- package/dist/helpers/LoggingHelper.d.ts.map +1 -1
- package/dist/helpers/LoggingHelper.js +1 -7
- package/dist/helpers/LoggingHelper.js.map +1 -1
- package/dist/helpers/OmitEmpty.d.ts +1 -0
- package/dist/helpers/OmitEmpty.d.ts.map +1 -1
- package/dist/helpers/OmitEmpty.js +31 -7
- package/dist/helpers/OmitEmpty.js.map +1 -1
- package/package.json +5 -12
- package/scripts/copy-assets.js +12 -3
- package/src/controllers/CustomBaseController.ts +4 -16
- package/src/helpers/DBCreator.ts +1 -1
- package/src/helpers/LoggingHelper.ts +1 -5
- package/src/helpers/OmitEmpty.ts +24 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomBaseController.d.ts","sourceRoot":"","sources":["../../src/controllers/CustomBaseController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAa,MAAM,SAAS,CAAA;AAEtD,qBAAa,oBAAqB,SAAQ,kBAAkB;IAEjD,MAAM,EAAE,aAAa,CAAC;;IAOtB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE;IAItB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE;IAI3B,QAAQ,IAAI,iBAAiB;IAK7B,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM;IAUpC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CustomBaseController.d.ts","sourceRoot":"","sources":["../../src/controllers/CustomBaseController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAa,MAAM,SAAS,CAAA;AAEtD,qBAAa,oBAAqB,SAAQ,kBAAkB;IAEjD,MAAM,EAAE,aAAa,CAAC;;IAOtB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE;IAItB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE;IAI3B,QAAQ,IAAI,iBAAiB;IAK7B,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM;IAUpC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAWlI,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAahI"}
|
|
@@ -38,14 +38,8 @@ class CustomBaseController extends inversify_express_utils_1.BaseHttpController
|
|
|
38
38
|
return result;
|
|
39
39
|
}
|
|
40
40
|
catch (e) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
await this.logger.flush();
|
|
44
|
-
}
|
|
45
|
-
catch (e) {
|
|
46
|
-
console.log(e);
|
|
47
|
-
}
|
|
48
|
-
return this.internalServerError(e);
|
|
41
|
+
// Since logger.error now throws, just re-throw the error
|
|
42
|
+
throw e;
|
|
49
43
|
}
|
|
50
44
|
}
|
|
51
45
|
async actionWrapperAnon(_req, _res, fetchFunction) {
|
|
@@ -55,14 +49,8 @@ class CustomBaseController extends inversify_express_utils_1.BaseHttpController
|
|
|
55
49
|
return result;
|
|
56
50
|
}
|
|
57
51
|
catch (e) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
await this.logger.flush();
|
|
61
|
-
}
|
|
62
|
-
catch (e) {
|
|
63
|
-
console.log(e);
|
|
64
|
-
}
|
|
65
|
-
return this.internalServerError(e);
|
|
52
|
+
// Since logger.error now throws, just re-throw the error
|
|
53
|
+
throw e;
|
|
66
54
|
}
|
|
67
55
|
}
|
|
68
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomBaseController.js","sourceRoot":"","sources":["../../src/controllers/CustomBaseController.ts"],"names":[],"mappings":";;;AAAA,qEAA6D;AAE7D,4DAAyD;AACzD,kCAAsD;AAEtD,MAAa,oBAAqB,SAAQ,4CAAkB;IAIxD;QACI,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,6BAAa,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,MAAgB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAEM,UAAU,CAAC,MAAgB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAEM,QAAQ;QACX,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,wBAAiB,CAAC,IAAI,gBAAS,CAAC,EAAE,CAAC,CAAC,CAAC;;YAC/E,OAAO,IAAI,wBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAiB,CAAC,CAAC;IAC1E,CAAC;IAEM,OAAO,CAAC,GAAoB,EAAE,IAAY;QAC7C,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,KAAK,GAAW,GAAG,CAAC,KAAK,CAAC,OAAiB,CAAC;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAE,MAAM,GAAG,IAAI,CAAC;QAChD,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,IAAqB,EAAE,IAAsB,EAAE,aAAkD;QACxH,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,
|
|
1
|
+
{"version":3,"file":"CustomBaseController.js","sourceRoot":"","sources":["../../src/controllers/CustomBaseController.ts"],"names":[],"mappings":";;;AAAA,qEAA6D;AAE7D,4DAAyD;AACzD,kCAAsD;AAEtD,MAAa,oBAAqB,SAAQ,4CAAkB;IAIxD;QACI,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,6BAAa,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,MAAgB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAEM,UAAU,CAAC,MAAgB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAEM,QAAQ;QACX,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,wBAAiB,CAAC,IAAI,gBAAS,CAAC,EAAE,CAAC,CAAC,CAAC;;YAC/E,OAAO,IAAI,wBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAiB,CAAC,CAAC;IAC1E,CAAC;IAEM,OAAO,CAAC,GAAoB,EAAE,IAAY;QAC7C,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,KAAK,GAAW,GAAG,CAAC,KAAK,CAAC,OAAiB,CAAC;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAE,MAAM,GAAG,IAAI,CAAC;QAChD,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,IAAqB,EAAE,IAAsB,EAAE,aAAkD;QACxH,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,yDAAyD;YACzD,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,IAAqB,EAAE,IAAsB,EAAE,aAA4B;QACtG,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,yDAAyD;YACzD,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;CAIJ;AAxDD,oDAwDC"}
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.DBCreator = void 0;
|
|
7
7
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
8
|
-
const
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
9
|
const DB_1 = require("./DB");
|
|
10
10
|
class DBCreator {
|
|
11
11
|
static async init(selectedTables) {
|
|
@@ -23,7 +23,7 @@ class DBCreator {
|
|
|
23
23
|
}
|
|
24
24
|
static async runScript(title, file, customDelimeter) {
|
|
25
25
|
console.log("Creating '" + title + "'");
|
|
26
|
-
const sql =
|
|
26
|
+
const sql = fs_1.default.readFileSync(file, "utf-8");
|
|
27
27
|
let del = /;(?=END)\s*$|;(?!\nEND)\s*$/gm;
|
|
28
28
|
if (customDelimeter) {
|
|
29
29
|
del = /\$\$$/gm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBCreator.js","sourceRoot":"","sources":["../../src/helpers/DBCreator.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"DBCreator.js","sourceRoot":"","sources":["../../src/helpers/DBCreator.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,4CAAoB;AACpB,6BAA0B;AAE1B,MAAa,SAAS;IAQb,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAwB;QAC/C,gBAAM,CAAC,MAAM,EAAE,CAAC;QAEhB,MAAM,IAAI,GAAsC,EAAE,CAAC;QACnD,cAAc,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;gBAC5B,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE;oBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,EAAE,IAAI,IAAI;YAAE,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjG,OAAO;IACT,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,IAAY,EAAE,eAAwB;QACjF,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,+BAA+B,CAAC;QAC1C,IAAI,eAAe,EAAE,CAAC;YACpB,GAAG,GAAG,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,KAAK,MAAM,SAAS,IAAI,UAAU;YAAE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,OAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;;AA/BH,8BAkCC;AAhCgB,gBAAM,GAAsC;IACzD,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;IACvC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;IACvC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE;CAC9C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggingHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/LoggingHelper.ts"],"names":[],"mappings":"AAKA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuB;IAC9C,OAAc,UAAU,sBAMvB;IAED,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAA0D;IAC9E,OAAO,CAAC,cAAc,CAAa;IAI5B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"LoggingHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/LoggingHelper.ts"],"names":[],"mappings":"AAKA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuB;IAC9C,OAAc,UAAU,sBAMvB;IAED,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAA0D;IAC9E,OAAO,CAAC,cAAc,CAAa;IAI5B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI1B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAMzB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAQlE,OAAO,CAAC,IAAI;IAaL,KAAK;CAgBb"}
|
|
@@ -16,13 +16,7 @@ class LoggingHelper {
|
|
|
16
16
|
this.logDestination = "console";
|
|
17
17
|
}
|
|
18
18
|
error(msg) {
|
|
19
|
-
|
|
20
|
-
this.init("API");
|
|
21
|
-
this.pendingMessages = true;
|
|
22
|
-
if (_1.EnvironmentBase.appEnv === "dev")
|
|
23
|
-
console.log(msg);
|
|
24
|
-
this._logger.error(msg);
|
|
25
|
-
this._logger.error(new Error().stack.toString());
|
|
19
|
+
throw msg instanceof Error ? msg : new Error(typeof msg === 'string' ? msg : JSON.stringify(msg));
|
|
26
20
|
}
|
|
27
21
|
info(msg) {
|
|
28
22
|
if (this._logger === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggingHelper.js","sourceRoot":"","sources":["../../src/helpers/LoggingHelper.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAC9B,4EAAmD;AACnD,4BAA4B;AAC5B,wBAAoC;AAEpC,MAAa,aAAa;IAA1B;QAUU,YAAO,GAAmB,IAAI,CAAC;QAE/B,oBAAe,GAAG,KAAK,CAAC;QACxB,iBAAY,GAAG,kBAAe,CAAC,OAAO,GAAG,GAAG,GAAG,kBAAe,CAAC,MAAM,CAAC;QACtE,mBAAc,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"LoggingHelper.js","sourceRoot":"","sources":["../../src/helpers/LoggingHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OmitEmpty.d.ts","sourceRoot":"","sources":["../../src/helpers/OmitEmpty.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OmitEmpty.d.ts","sourceRoot":"","sources":["../../src/helpers/OmitEmpty.ts"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAQD,qBAAa,SAAS;WACJ,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO;IAkC9E,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAQhC,OAAO,CAAC,MAAM,CAAC,OAAO;IAqBtB,OAAO,CAAC,MAAM,CAAC,OAAO;CA6CzB"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
// Based on https://www.npmjs.com/package/omit-empty
|
|
2
2
|
// The project appears to be abandoned, but needed modification to allow for empty arrays.
|
|
3
3
|
"use strict";
|
|
4
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
|
-
};
|
|
7
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
5
|
exports.OmitEmpty = void 0;
|
|
9
|
-
const kind_of_1 = __importDefault(require("kind-of"));
|
|
10
6
|
class OmitEmpty {
|
|
11
7
|
static omitEmpty(obj, options = {}) {
|
|
12
8
|
const runtimeOpts = OmitEmpty._buildRuntimeOpts(options);
|
|
@@ -14,7 +10,7 @@ class OmitEmpty {
|
|
|
14
10
|
if (Array.isArray(value)) {
|
|
15
11
|
value = value.map(v => omit(v, opts)).filter(v => !OmitEmpty.isEmpty(v, opts));
|
|
16
12
|
}
|
|
17
|
-
if (
|
|
13
|
+
if (OmitEmpty.getType(value) === "object" && value !== null) {
|
|
18
14
|
const result = {};
|
|
19
15
|
for (const key of Object.keys(value)) {
|
|
20
16
|
if (!opts.excludedProperties.includes(key)) {
|
|
@@ -32,7 +28,7 @@ class OmitEmpty {
|
|
|
32
28
|
};
|
|
33
29
|
const res = omit(obj, runtimeOpts);
|
|
34
30
|
if (res === void 0) {
|
|
35
|
-
return
|
|
31
|
+
return OmitEmpty.getType(obj) === "object" ? {} : res;
|
|
36
32
|
}
|
|
37
33
|
return res;
|
|
38
34
|
}
|
|
@@ -44,8 +40,36 @@ class OmitEmpty {
|
|
|
44
40
|
};
|
|
45
41
|
}
|
|
46
42
|
;
|
|
43
|
+
static getType(value) {
|
|
44
|
+
if (value === null)
|
|
45
|
+
return "null";
|
|
46
|
+
if (value === undefined)
|
|
47
|
+
return "undefined";
|
|
48
|
+
if (Array.isArray(value))
|
|
49
|
+
return "array";
|
|
50
|
+
if (value instanceof Date)
|
|
51
|
+
return "date";
|
|
52
|
+
if (value instanceof RegExp)
|
|
53
|
+
return "regexp";
|
|
54
|
+
if (value instanceof Error)
|
|
55
|
+
return "error";
|
|
56
|
+
if (value instanceof Map)
|
|
57
|
+
return "map";
|
|
58
|
+
if (value instanceof Set)
|
|
59
|
+
return "set";
|
|
60
|
+
if (value instanceof File)
|
|
61
|
+
return "file";
|
|
62
|
+
const type = typeof value;
|
|
63
|
+
if (type === "object") {
|
|
64
|
+
// Check if it's an arguments object
|
|
65
|
+
if (Object.prototype.toString.call(value) === '[object Arguments]') {
|
|
66
|
+
return "arguments";
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return type;
|
|
70
|
+
}
|
|
47
71
|
static isEmpty(value, runtimeOpts) {
|
|
48
|
-
switch (
|
|
72
|
+
switch (OmitEmpty.getType(value)) {
|
|
49
73
|
case "null":
|
|
50
74
|
case "undefined":
|
|
51
75
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OmitEmpty.js","sourceRoot":"","sources":["../../src/helpers/OmitEmpty.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,0FAA0F;AAE1F,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"OmitEmpty.js","sourceRoot":"","sources":["../../src/helpers/OmitEmpty.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@churchapps/apihelper",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.34",
|
|
4
4
|
"description": "Library of helper functions not specific to any one ChurchApps project or framework.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -35,31 +35,24 @@
|
|
|
35
35
|
},
|
|
36
36
|
"homepage": "https://github.com/LiveChurchSolutions/Helpers#readme",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@aws-sdk/client-cloudwatch-logs": "^3.862.0",
|
|
39
38
|
"@aws-sdk/client-s3": "^3.862.0",
|
|
40
39
|
"@aws-sdk/client-ses": "^3.862.0",
|
|
41
40
|
"@aws-sdk/client-ssm": "^3.862.0",
|
|
42
41
|
"@aws-sdk/s3-presigned-post": "^3.862.0",
|
|
43
|
-
"@
|
|
44
|
-
"@churchapps/helpers": "^1.0.46",
|
|
42
|
+
"@churchapps/helpers": "^1.1.3",
|
|
45
43
|
"dotenv": "^17.2.1",
|
|
46
|
-
"express": "^
|
|
47
|
-
"
|
|
48
|
-
"inversify": "^7.7.0",
|
|
44
|
+
"express": "^4.21.2",
|
|
45
|
+
"inversify": "^6.2.2",
|
|
49
46
|
"inversify-express-utils": "^6.5.0",
|
|
50
47
|
"jsonwebtoken": "^9.0.2",
|
|
51
|
-
"kind-of": "^6.0.3",
|
|
52
48
|
"mysql2": "^3.14.3",
|
|
53
49
|
"nodemailer": "^7.0.5",
|
|
54
|
-
"reflect-metadata": "^0.2.2",
|
|
55
50
|
"winston": "^3.17.0",
|
|
56
51
|
"winston-cloudwatch": "^6.3.0"
|
|
57
52
|
},
|
|
58
53
|
"devDependencies": {
|
|
59
|
-
"@types/express": "^
|
|
60
|
-
"@types/fs-extra": "^11.0.4",
|
|
54
|
+
"@types/express": "^4.17.21",
|
|
61
55
|
"@types/jsonwebtoken": "^9.0.10",
|
|
62
|
-
"@types/kind-of": "^6.0.3",
|
|
63
56
|
"@types/node": "^24.2.0",
|
|
64
57
|
"@types/nodemailer": "^6.4.17",
|
|
65
58
|
"@typescript-eslint/eslint-plugin": "^8.39.0",
|
package/scripts/copy-assets.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import fs from 'fs
|
|
1
|
+
import fs from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
|
|
@@ -11,10 +11,19 @@ async function copyAssets() {
|
|
|
11
11
|
const destDir = path.join(__dirname, '..', 'dist', 'templates');
|
|
12
12
|
|
|
13
13
|
// Ensure destination directory exists
|
|
14
|
-
await fs.
|
|
14
|
+
await fs.promises.mkdir(destDir, { recursive: true });
|
|
15
15
|
|
|
16
16
|
// Copy all files from src/tools/templates to dist/templates
|
|
17
|
-
await fs.
|
|
17
|
+
const files = await fs.promises.readdir(srcDir);
|
|
18
|
+
for (const file of files) {
|
|
19
|
+
const srcPath = path.join(srcDir, file);
|
|
20
|
+
const destPath = path.join(destDir, file);
|
|
21
|
+
const stat = await fs.promises.stat(srcPath);
|
|
22
|
+
|
|
23
|
+
if (stat.isFile()) {
|
|
24
|
+
await fs.promises.copyFile(srcPath, destPath);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
18
27
|
|
|
19
28
|
console.log('Assets copied successfully');
|
|
20
29
|
} catch (error) {
|
|
@@ -41,14 +41,8 @@ export class CustomBaseController extends BaseHttpController {
|
|
|
41
41
|
await this.logger.flush();
|
|
42
42
|
return result;
|
|
43
43
|
} catch (e: unknown) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
await this.logger.flush();
|
|
47
|
-
} catch (e) {
|
|
48
|
-
console.log(e);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return this.internalServerError(e as Error);
|
|
44
|
+
// Since logger.error now throws, just re-throw the error
|
|
45
|
+
throw e;
|
|
52
46
|
}
|
|
53
47
|
}
|
|
54
48
|
|
|
@@ -58,14 +52,8 @@ export class CustomBaseController extends BaseHttpController {
|
|
|
58
52
|
await this.logger.flush();
|
|
59
53
|
return result;
|
|
60
54
|
} catch (e: unknown) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
await this.logger.flush();
|
|
64
|
-
} catch (e) {
|
|
65
|
-
console.log(e);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return this.internalServerError(e as Error);
|
|
55
|
+
// Since logger.error now throws, just re-throw the error
|
|
56
|
+
throw e;
|
|
69
57
|
}
|
|
70
58
|
}
|
|
71
59
|
|
package/src/helpers/DBCreator.ts
CHANGED
|
@@ -22,11 +22,7 @@ export class LoggingHelper {
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
public error(msg: string | object) {
|
|
25
|
-
|
|
26
|
-
this.pendingMessages = true;
|
|
27
|
-
if (EnvironmentBase.appEnv === "dev") console.log(msg);
|
|
28
|
-
this._logger.error(msg);
|
|
29
|
-
this._logger.error(new Error().stack.toString());
|
|
25
|
+
throw msg instanceof Error ? msg : new Error(typeof msg === 'string' ? msg : JSON.stringify(msg));
|
|
30
26
|
}
|
|
31
27
|
|
|
32
28
|
public info(msg: string | object) {
|
package/src/helpers/OmitEmpty.ts
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
"use strict";
|
|
5
5
|
|
|
6
|
-
import typeOf from "kind-of";
|
|
7
6
|
|
|
8
7
|
interface OmitEmptyOptions {
|
|
9
8
|
omitZero?: boolean;
|
|
@@ -26,7 +25,7 @@ export class OmitEmpty {
|
|
|
26
25
|
value = value.map(v => omit(v, opts)).filter(v => !OmitEmpty.isEmpty(v, opts));
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
if (
|
|
28
|
+
if (OmitEmpty.getType(value) === "object" && value !== null) {
|
|
30
29
|
const result: Record<string, unknown> = {};
|
|
31
30
|
for (const key of Object.keys(value as Record<string, unknown>)) {
|
|
32
31
|
if (!opts.excludedProperties.includes(key)) {
|
|
@@ -46,7 +45,7 @@ export class OmitEmpty {
|
|
|
46
45
|
|
|
47
46
|
const res = omit(obj, runtimeOpts);
|
|
48
47
|
if (res === void 0) {
|
|
49
|
-
return
|
|
48
|
+
return OmitEmpty.getType(obj) === "object" ? {} : res;
|
|
50
49
|
}
|
|
51
50
|
return res;
|
|
52
51
|
}
|
|
@@ -60,8 +59,29 @@ export class OmitEmpty {
|
|
|
60
59
|
};
|
|
61
60
|
};
|
|
62
61
|
|
|
62
|
+
private static getType(value: unknown): string {
|
|
63
|
+
if (value === null) return "null";
|
|
64
|
+
if (value === undefined) return "undefined";
|
|
65
|
+
if (Array.isArray(value)) return "array";
|
|
66
|
+
if (value instanceof Date) return "date";
|
|
67
|
+
if (value instanceof RegExp) return "regexp";
|
|
68
|
+
if (value instanceof Error) return "error";
|
|
69
|
+
if (value instanceof Map) return "map";
|
|
70
|
+
if (value instanceof Set) return "set";
|
|
71
|
+
if (value instanceof File) return "file";
|
|
72
|
+
|
|
73
|
+
const type = typeof value;
|
|
74
|
+
if (type === "object") {
|
|
75
|
+
// Check if it's an arguments object
|
|
76
|
+
if (Object.prototype.toString.call(value) === '[object Arguments]') {
|
|
77
|
+
return "arguments";
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return type;
|
|
81
|
+
}
|
|
82
|
+
|
|
63
83
|
private static isEmpty(value: unknown, runtimeOpts: RuntimeOptions): boolean {
|
|
64
|
-
switch (
|
|
84
|
+
switch (OmitEmpty.getType(value)) {
|
|
65
85
|
case "null":
|
|
66
86
|
case "undefined":
|
|
67
87
|
return true;
|