@futdevpro/nts-dynamo 1.10.49 → 1.10.50
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/.github/workflows/main.yml +11 -0
- package/build/_collections/archive.util.d.ts +10 -0
- package/build/_collections/archive.util.d.ts.map +1 -1
- package/build/_collections/archive.util.js +10 -0
- package/build/_collections/archive.util.js.map +1 -1
- package/build/_collections/global-settings.const.d.ts +4 -0
- package/build/_collections/global-settings.const.d.ts.map +1 -1
- package/build/_collections/global-settings.const.js +4 -0
- package/build/_collections/global-settings.const.js.map +1 -1
- package/build/_enums/data-model-type.enum.d.ts +4 -4
- package/build/_enums/data-model-type.enum.js +4 -4
- package/build/_enums/data-service-function.enum.d.ts +8 -2
- package/build/_enums/data-service-function.enum.d.ts.map +1 -1
- package/build/_enums/data-service-function.enum.js +8 -2
- package/build/_enums/data-service-function.enum.js.map +1 -1
- package/build/_enums/predefined-data-types.enum.d.ts +4 -15
- package/build/_enums/predefined-data-types.enum.d.ts.map +1 -1
- package/build/_enums/predefined-data-types.enum.js +4 -15
- package/build/_enums/predefined-data-types.enum.js.map +1 -1
- package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/app-params.control-model.js +4 -3
- package/build/_models/control-models/app-params.control-model.js.map +1 -1
- package/build/_services/shared.static-service.d.ts +13 -9
- package/build/_services/shared.static-service.d.ts.map +1 -1
- package/build/_services/shared.static-service.js +13 -9
- package/build/_services/shared.static-service.js.map +1 -1
- package/build/index.d.ts +46 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +46 -1
- package/build/index.js.map +1 -1
- package/package.json +3 -3
- package/src/_collections/archive.util.ts +10 -1
- package/src/_collections/global-settings.const.ts +4 -0
- package/src/_enums/data-model-type.enum.ts +5 -5
- package/src/_enums/data-service-function.enum.ts +12 -3
- package/src/_enums/predefined-data-types.enum.ts +5 -16
- package/src/_models/control-models/app-params.control-model.ts +4 -3
- package/src/_services/shared.static-service.ts +17 -13
- package/src/index.ts +62 -1
|
@@ -20,8 +20,12 @@ jobs:
|
|
|
20
20
|
notification0:
|
|
21
21
|
name: Discord start Notification
|
|
22
22
|
runs-on: ubuntu-latest
|
|
23
|
+
outputs:
|
|
24
|
+
start: ${{ steps.mark_start.outputs.started }}
|
|
23
25
|
steps:
|
|
24
26
|
- uses: actions/checkout@master
|
|
27
|
+
- id: mark_start
|
|
28
|
+
run: echo "started=$(date +%s)" >> "$GITHUB_OUTPUT"
|
|
25
29
|
- name: send custom message with args
|
|
26
30
|
uses: appleboy/discord-action@master
|
|
27
31
|
with:
|
|
@@ -247,6 +251,12 @@ jobs:
|
|
|
247
251
|
echo "THIS_VERSION=$RAW_THIS_VERSION" >> $GITHUB_ENV
|
|
248
252
|
|
|
249
253
|
- uses: actions/checkout@master
|
|
254
|
+
- id: duration
|
|
255
|
+
run: |
|
|
256
|
+
START_TIME=${{ needs.notification0.outputs.start }}
|
|
257
|
+
END_TIME=$(date +%s)
|
|
258
|
+
DIFF=$((END_TIME - START_TIME))
|
|
259
|
+
echo "human=$(printf '%dm %ds' $((DIFF/60)) $((DIFF%60)))" >> "$GITHUB_OUTPUT"
|
|
250
260
|
- name: send custom message with args
|
|
251
261
|
uses: appleboy/discord-action@master
|
|
252
262
|
with:
|
|
@@ -262,6 +272,7 @@ jobs:
|
|
|
262
272
|
- ${{ needs.deploy.result == 'failure' && ':cross_mark:' || needs.deploy.result == 'success' && ':white_check_mark:' || needs.deploy.result == 'skipped' && ':zzz:' || ':question:' }}
|
|
263
273
|
Deploy: ${{ needs.deploy.result }} (${{ env.THIS_VERSION }})
|
|
264
274
|
${{ needs.deploy.result == 'success' && ':rocket:' || '' }}\n\
|
|
275
|
+
:stopwatch: Duration: ${{ steps.duration.outputs.human }}\n\
|
|
265
276
|
:cd: (${{ github.run_number }}) [:link:](
|
|
266
277
|
https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})"
|
|
267
278
|
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/** Suffix appended to database names when archived. */
|
|
1
2
|
export declare const DyNTS_archiveSuffix = "archived";
|
|
3
|
+
/**
|
|
4
|
+
* Create the archive database name for a given base database.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* const name = DyNTS_getArchivedDBName('users');
|
|
9
|
+
* // => 'users_archived'
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
2
12
|
export declare function DyNTS_getArchivedDBName(dbName: string): string;
|
|
3
13
|
//# sourceMappingURL=archive.util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.util.d.ts","sourceRoot":"","sources":["../../src/_collections/archive.util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"archive.util.d.ts","sourceRoot":"","sources":["../../src/_collections/archive.util.ts"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9D"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DyNTS_getArchivedDBName = exports.DyNTS_archiveSuffix = void 0;
|
|
4
|
+
/** Suffix appended to database names when archived. */
|
|
4
5
|
exports.DyNTS_archiveSuffix = 'archived';
|
|
6
|
+
/**
|
|
7
|
+
* Create the archive database name for a given base database.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const name = DyNTS_getArchivedDBName('users');
|
|
12
|
+
* // => 'users_archived'
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
5
15
|
function DyNTS_getArchivedDBName(dbName) {
|
|
6
16
|
return `${dbName}_${exports.DyNTS_archiveSuffix}`;
|
|
7
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.util.js","sourceRoot":"","sources":["../../src/_collections/archive.util.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"archive.util.js","sourceRoot":"","sources":["../../src/_collections/archive.util.ts"],"names":[],"mappings":";;;AAEA,uDAAuD;AAC1C,QAAA,mBAAmB,GAAG,UAAU,CAAC;AAE9C;;;;;;;;GAQG;AACH,SAAgB,uBAAuB,CAAC,MAAc;IACpD,OAAO,GAAG,MAAM,IAAI,2BAAmB,EAAE,CAAC;AAC5C,CAAC;AAFD,0DAEC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { DyNTS_Global_Settings } from '../_models/interfaces/global-settings.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration used across the NodeTS framework.
|
|
4
|
+
* These values can be overridden when bootstrapping the server.
|
|
5
|
+
*/
|
|
2
6
|
export declare const DyNTS_global_settings: DyNTS_Global_Settings;
|
|
3
7
|
//# sourceMappingURL=global-settings.const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-settings.const.d.ts","sourceRoot":"","sources":["../../src/_collections/global-settings.const.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAGxF,eAAO,MAAM,qBAAqB,EAAE,qBAoCnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"global-settings.const.d.ts","sourceRoot":"","sources":["../../src/_collections/global-settings.const.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAGxF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,qBAoCnC,CAAC"}
|
|
@@ -4,6 +4,10 @@ exports.DyNTS_global_settings = void 0;
|
|
|
4
4
|
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
5
|
const route_security_enum_1 = require("../_enums/route-security.enum");
|
|
6
6
|
const socket_security_enum_1 = require("../_modules/socket/_enums/socket-security.enum");
|
|
7
|
+
/**
|
|
8
|
+
* Default configuration used across the NodeTS framework.
|
|
9
|
+
* These values can be overridden when bootstrapping the server.
|
|
10
|
+
*/
|
|
7
11
|
exports.DyNTS_global_settings = {
|
|
8
12
|
baseUrl: '/api',
|
|
9
13
|
systemVersion: 'unknown-version',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-settings.const.js","sourceRoot":"","sources":["../../src/_collections/global-settings.const.ts"],"names":[],"mappings":";;;AACA,sDAAuF;AAEvF,uEAAoE;AAEpE,yFAAsF;
|
|
1
|
+
{"version":3,"file":"global-settings.const.js","sourceRoot":"","sources":["../../src/_collections/global-settings.const.ts"],"names":[],"mappings":";;;AACA,sDAAuF;AAEvF,uEAAoE;AAEpE,yFAAsF;AAEtF;;;GAGG;AACU,QAAA,qBAAqB,GAA0B;IAC1D,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,iBAAiB;IAChC,oBAAoB,EAAE,yCAAmB,CAAC,IAAI;IAC9C,qBAAqB,EAAE,2CAAoB,CAAC,IAAI;IAChD,eAAe,EAAE,EAAE;IACnB,oCAAoC,EAAE,IAAI;IAC1C,gBAAgB,EAAE,GAAG;IACrB,WAAW,EAAE,qCAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAA2B,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,WAAmC,CAAC,CAAC;QACjD,iCAAoB,CAAC,KAAK;IAE5B,YAAY,EAAE;QACZ,gBAAgB,EAAE,KAAK;QAEvB,KAAK,EAAE,KAAK;QAEZ,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,KAAK;QACtB,oBAAoB,EAAE,KAAK;QAE3B,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,mBAAmB,EAAE,KAAK;QAE1B,UAAU,EAAE,IAAI;QAChB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE,IAAI;QAEhB,cAAc,EAAE,KAAK;QAErB,YAAY,EAAE,KAAK;KACpB;CACF,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Declares where a given model definition is used.
|
|
3
3
|
*
|
|
4
|
-
* dataModel
|
|
5
|
-
* controlModel
|
|
6
|
-
* interfaceModel
|
|
4
|
+
* - `dataModel`: persisted in the database
|
|
5
|
+
* - `controlModel`: runtime only
|
|
6
|
+
* - `interfaceModel`: runtime without constructor
|
|
7
7
|
*/
|
|
8
8
|
/** @deprecated */
|
|
9
9
|
export declare enum DyNTS_DataModelType {
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DyNTS_DataModelType = void 0;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Declares where a given model definition is used.
|
|
6
6
|
*
|
|
7
|
-
* dataModel
|
|
8
|
-
* controlModel
|
|
9
|
-
* interfaceModel
|
|
7
|
+
* - `dataModel`: persisted in the database
|
|
8
|
+
* - `controlModel`: runtime only
|
|
9
|
+
* - `interfaceModel`: runtime without constructor
|
|
10
10
|
*/
|
|
11
11
|
/** @deprecated */
|
|
12
12
|
var DyNTS_DataModelType;
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Commonly used operations within data services.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Each value represents a standard CRUD style method
|
|
5
|
+
* that can be implemented by a service.
|
|
5
6
|
*/
|
|
6
7
|
export declare enum DyNTS_DSF {
|
|
8
|
+
/** Retrieve all documents from the store. */
|
|
7
9
|
getAll = "getAll",
|
|
10
|
+
/** Load a single document by its identifier. */
|
|
8
11
|
getDataById = "getDataById",
|
|
12
|
+
/** Update an existing document. */
|
|
9
13
|
modifyData = "modifyData",
|
|
14
|
+
/** Remove a document. */
|
|
10
15
|
deleteData = "deleteData",
|
|
16
|
+
/** Return data supplied directly rather than fetched. */
|
|
11
17
|
getProvidedData = "getProvidedData"
|
|
12
18
|
}
|
|
13
19
|
//# sourceMappingURL=data-service-function.enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service-function.enum.d.ts","sourceRoot":"","sources":["../../src/_enums/data-service-function.enum.ts"],"names":[],"mappings":"AACA
|
|
1
|
+
{"version":3,"file":"data-service-function.enum.d.ts","sourceRoot":"","sources":["../../src/_enums/data-service-function.enum.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AACH,oBAAY,SAAS;IACnB,6CAA6C;IAC7C,MAAM,WAAW;IAEjB,gDAAgD;IAChD,WAAW,gBAAgB;IAG3B,mCAAmC;IACnC,UAAU,eAAe;IAEzB,yBAAyB;IACzB,UAAU,eAAe;IAEzB,yDAAyD;IACzD,eAAe,oBAAoB;CACpC"}
|
|
@@ -2,18 +2,24 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DyNTS_DSF = void 0;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Commonly used operations within data services.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Each value represents a standard CRUD style method
|
|
8
|
+
* that can be implemented by a service.
|
|
8
9
|
*/
|
|
9
10
|
var DyNTS_DSF;
|
|
10
11
|
(function (DyNTS_DSF) {
|
|
12
|
+
/** Retrieve all documents from the store. */
|
|
11
13
|
DyNTS_DSF["getAll"] = "getAll";
|
|
14
|
+
/** Load a single document by its identifier. */
|
|
12
15
|
DyNTS_DSF["getDataById"] = "getDataById";
|
|
13
16
|
/* checkIfDataExists = 'checkIfDataExists',
|
|
14
17
|
createData = 'createNewData', */
|
|
18
|
+
/** Update an existing document. */
|
|
15
19
|
DyNTS_DSF["modifyData"] = "modifyData";
|
|
20
|
+
/** Remove a document. */
|
|
16
21
|
DyNTS_DSF["deleteData"] = "deleteData";
|
|
22
|
+
/** Return data supplied directly rather than fetched. */
|
|
17
23
|
DyNTS_DSF["getProvidedData"] = "getProvidedData";
|
|
18
24
|
})(DyNTS_DSF || (exports.DyNTS_DSF = DyNTS_DSF = {}));
|
|
19
25
|
//# sourceMappingURL=data-service-function.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service-function.enum.js","sourceRoot":"","sources":["../../src/_enums/data-service-function.enum.ts"],"names":[],"mappings":";;;AACA
|
|
1
|
+
{"version":3,"file":"data-service-function.enum.js","sourceRoot":"","sources":["../../src/_enums/data-service-function.enum.ts"],"names":[],"mappings":";;;AACA;;;;;GAKG;AACH,IAAY,SAgBX;AAhBD,WAAY,SAAS;IACnB,6CAA6C;IAC7C,8BAAiB,CAAA;IAEjB,gDAAgD;IAChD,wCAA2B,CAAA;IAC3B;oCACgC;IAChC,mCAAmC;IACnC,sCAAyB,CAAA;IAEzB,yBAAyB;IACzB,sCAAyB,CAAA;IAEzB,yDAAyD;IACzD,gDAAmC,CAAA;AACrC,CAAC,EAhBW,SAAS,yBAAT,SAAS,QAgBpB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* A small set of primitive data type names used when
|
|
3
|
+
* describing field types in various models.
|
|
3
4
|
*/
|
|
4
5
|
export declare enum DyanmoNTS_PredefinedDataTypes {
|
|
5
6
|
'string' = 0,
|
|
@@ -9,19 +10,7 @@ export declare enum DyanmoNTS_PredefinedDataTypes {
|
|
|
9
10
|
'object' = 4
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* 'documentArray' | 'embedded' | 'array' | 'objectId' | 'string' |
|
|
15
|
-
* 'number' | 'boolean' | 'date' | 'buffer' | 'mixed' | 'decimal128' |
|
|
16
|
-
* 'map' | 'documentArray' | 'embedded' | 'array' | 'objectId' |
|
|
17
|
-
* 'string' | 'number' | 'boolean' | 'date' | 'buffer' | 'mixed' |
|
|
18
|
-
* 'decimal128' | 'map' | 'documentArray' | 'embedded' | 'array' |
|
|
19
|
-
* 'objectId' | 'string' | 'number' | 'boolean' | 'date' | 'buffer' |
|
|
20
|
-
* 'mixed' | 'decimal128' | 'map' | 'documentArray' | 'embedded' |
|
|
21
|
-
* 'array' | 'objectId' | 'string' | 'number' | 'boolean' | 'date' |
|
|
22
|
-
* 'buffer' | 'mixed' | 'decimal128' | 'map' | 'documentArray' |
|
|
23
|
-
* 'embedded' | 'array' | 'objectId' | 'string' | 'number' | 'boolean' |
|
|
24
|
-
* 'date' | 'buffer' | 'mixed' | 'decimal128' | 'map' | 'documentArray' |
|
|
25
|
-
* 'embedded'
|
|
13
|
+
* Full list of complex types supported by the framework
|
|
14
|
+
* when interacting with the database.
|
|
26
15
|
*/
|
|
27
16
|
//# sourceMappingURL=predefined-data-types.enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predefined-data-types.enum.d.ts","sourceRoot":"","sources":["../../src/_enums/predefined-data-types.enum.ts"],"names":[],"mappings":"AACA
|
|
1
|
+
{"version":3,"file":"predefined-data-types.enum.d.ts","sourceRoot":"","sources":["../../src/_enums/predefined-data-types.enum.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,oBAAY,6BAA6B;IACvC,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,SAAS,IAAA;IACT,MAAM,IAAA;IACN,QAAQ,IAAA;CACT;AAED;;;GAGG"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DyanmoNTS_PredefinedDataTypes = void 0;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* A small set of primitive data type names used when
|
|
6
|
+
* describing field types in various models.
|
|
6
7
|
*/
|
|
7
8
|
var DyanmoNTS_PredefinedDataTypes;
|
|
8
9
|
(function (DyanmoNTS_PredefinedDataTypes) {
|
|
@@ -13,19 +14,7 @@ var DyanmoNTS_PredefinedDataTypes;
|
|
|
13
14
|
DyanmoNTS_PredefinedDataTypes[DyanmoNTS_PredefinedDataTypes["object"] = 4] = "object";
|
|
14
15
|
})(DyanmoNTS_PredefinedDataTypes || (exports.DyanmoNTS_PredefinedDataTypes = DyanmoNTS_PredefinedDataTypes = {}));
|
|
15
16
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* 'documentArray' | 'embedded' | 'array' | 'objectId' | 'string' |
|
|
19
|
-
* 'number' | 'boolean' | 'date' | 'buffer' | 'mixed' | 'decimal128' |
|
|
20
|
-
* 'map' | 'documentArray' | 'embedded' | 'array' | 'objectId' |
|
|
21
|
-
* 'string' | 'number' | 'boolean' | 'date' | 'buffer' | 'mixed' |
|
|
22
|
-
* 'decimal128' | 'map' | 'documentArray' | 'embedded' | 'array' |
|
|
23
|
-
* 'objectId' | 'string' | 'number' | 'boolean' | 'date' | 'buffer' |
|
|
24
|
-
* 'mixed' | 'decimal128' | 'map' | 'documentArray' | 'embedded' |
|
|
25
|
-
* 'array' | 'objectId' | 'string' | 'number' | 'boolean' | 'date' |
|
|
26
|
-
* 'buffer' | 'mixed' | 'decimal128' | 'map' | 'documentArray' |
|
|
27
|
-
* 'embedded' | 'array' | 'objectId' | 'string' | 'number' | 'boolean' |
|
|
28
|
-
* 'date' | 'buffer' | 'mixed' | 'decimal128' | 'map' | 'documentArray' |
|
|
29
|
-
* 'embedded'
|
|
17
|
+
* Full list of complex types supported by the framework
|
|
18
|
+
* when interacting with the database.
|
|
30
19
|
*/
|
|
31
20
|
//# sourceMappingURL=predefined-data-types.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predefined-data-types.enum.js","sourceRoot":"","sources":["../../src/_enums/predefined-data-types.enum.ts"],"names":[],"mappings":";;;AACA
|
|
1
|
+
{"version":3,"file":"predefined-data-types.enum.js","sourceRoot":"","sources":["../../src/_enums/predefined-data-types.enum.ts"],"names":[],"mappings":";;;AACA;;;GAGG;AACH,IAAY,6BAMX;AAND,WAAY,6BAA6B;IACvC,qFAAQ,CAAA;IACR,qFAAQ,CAAA;IACR,uFAAS,CAAA;IACT,iFAAM,CAAA;IACN,qFAAQ,CAAA;AACV,CAAC,EANW,6BAA6B,6CAA7B,6BAA6B,QAMxC;AAED;;;GAGG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"app-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IAEpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;gBAGpC,GAAG,EAAE,gBAAgB;CAwCxB"}
|
|
@@ -33,9 +33,7 @@ class DyNTS_App_Params {
|
|
|
33
33
|
/**
|
|
34
34
|
* options for the MongoDB connection
|
|
35
35
|
*/
|
|
36
|
-
dbOptions
|
|
37
|
-
directConnection: true,
|
|
38
|
-
};
|
|
36
|
+
dbOptions;
|
|
39
37
|
openHost;
|
|
40
38
|
secureHost;
|
|
41
39
|
expressBacklog;
|
|
@@ -53,6 +51,9 @@ class DyNTS_App_Params {
|
|
|
53
51
|
this.version = set.version;
|
|
54
52
|
this.dbName = set.dbName;
|
|
55
53
|
this.dbUri = set.dbUri ?? `mongodb://localhost:27017/${this.dbName}`;
|
|
54
|
+
this.dbOptions = set.dbOptions ?? {
|
|
55
|
+
directConnection: true,
|
|
56
|
+
};
|
|
56
57
|
this.systemName = set.systemName ?? this.name.replace(' ', '-');
|
|
57
58
|
this.systemShortCodeName = set.systemShortCodeName ?? this.systemName.replace(/[^A-Z]/g, '');
|
|
58
59
|
this.openHost = set.openHost ?? 'localhost';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AAGjD;;GAEG;AACH,MAAa,gBAAgB;IAC3B;;OAEG;IACM,IAAI,CAAS;IACtB;;OAEG;IACM,KAAK,CAAU;IACxB;;;;;OAKG;IACM,OAAO,CAAS;IAEzB;;;OAGG;IACM,KAAK,CAAU;IACxB;;OAEG;IACM,MAAM,CAAU;IACzB;;OAEG;IACM,SAAS,
|
|
1
|
+
{"version":3,"file":"app-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AAGjD;;GAEG;AACH,MAAa,gBAAgB;IAC3B;;OAEG;IACM,IAAI,CAAS;IACtB;;OAEG;IACM,KAAK,CAAU;IACxB;;;;;OAKG;IACM,OAAO,CAAS;IAEzB;;;OAGG;IACM,KAAK,CAAU;IACxB;;OAEG;IACM,MAAM,CAAU;IACzB;;OAEG;IACM,SAAS,CAAkB;IAE3B,QAAQ,CAAU;IAClB,UAAU,CAAU;IACpB,cAAc,CAAU;IAEjC;;OAEG;IACM,UAAU,CAAU;IAC7B;;OAEG;IACM,mBAAmB,CAAU;IAEtC,YACE,GAAqB;QAErB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,6BAA6B,IAAI,CAAC,MAAM,EAAE,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI;YAChC,gBAAgB,EAAE,IAAI;SACvB,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,qBAAQ,CAAC,KAAK,CACZ,gCAAgC;gBAChC,yBAAyB,IAAI,CAAC,IAAI,UAAU;gBAC5C,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,qBAAQ,CAAC,IAAI,CACX,gCAAgC;gBAChC,sCAAsC,IAAI,CAAC,MAAM,UAAU;gBAC3D,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,qBAAQ,CAAC,IAAI,CACX,gCAAgC;gBAChC,qCAAqC,IAAI,CAAC,MAAM,UAAU;gBAC1D,2BAA2B,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AArFD,4CAqFC;AAED;;;;;;IAMI"}
|
|
@@ -2,31 +2,35 @@ import { Request } from 'express';
|
|
|
2
2
|
import { DyFM_Shared } from '@futdevpro/fsm-dynamo';
|
|
3
3
|
import { DyFM_GeoIpLocation } from '@futdevpro/fsm-dynamo/location';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Collection of static helper utilities shared across modules.
|
|
6
6
|
*/
|
|
7
7
|
export declare class DyNTS_Shared extends DyFM_Shared {
|
|
8
8
|
/**
|
|
9
|
+
* Extract the IP address from an Express request.
|
|
9
10
|
*
|
|
10
|
-
* @param request
|
|
11
|
-
* @returns
|
|
11
|
+
* @param request Incoming HTTP request
|
|
12
|
+
* @returns Resolved IP string
|
|
12
13
|
*/
|
|
13
14
|
static getIpFromRequest(request: Request): string;
|
|
14
15
|
/**
|
|
16
|
+
* Lookup the Geo location of a request based on its IP address.
|
|
15
17
|
*
|
|
16
|
-
* @param request
|
|
17
|
-
* @returns
|
|
18
|
+
* @param request Incoming request
|
|
19
|
+
* @returns Resolved geo location information
|
|
18
20
|
*/
|
|
19
21
|
static getLocationDataByRequest(request: Request): DyFM_GeoIpLocation;
|
|
20
22
|
/**
|
|
23
|
+
* Lookup the Geo location of a raw IP address.
|
|
21
24
|
*
|
|
22
|
-
* @param
|
|
23
|
-
* @returns
|
|
25
|
+
* @param ip IP address string
|
|
26
|
+
* @returns Geo location information
|
|
24
27
|
*/
|
|
25
28
|
static getLocationByIp(ip: string): DyFM_GeoIpLocation;
|
|
26
29
|
/**
|
|
30
|
+
* Simple CLI helper to prompt the user for input.
|
|
27
31
|
*
|
|
28
|
-
* @param question
|
|
29
|
-
* @returns
|
|
32
|
+
* @param question Text displayed to the user
|
|
33
|
+
* @returns Entered string value
|
|
30
34
|
*/
|
|
31
35
|
static prompt(question: string): Promise<string>;
|
|
32
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.static-service.d.ts","sourceRoot":"","sources":["../../src/_services/shared.static-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAE3C
|
|
1
|
+
{"version":3,"file":"shared.static-service.d.ts","sourceRoot":"","sources":["../../src/_services/shared.static-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAE3C;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAejD;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB;IAIrE;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB;IAItD;;;;;OAKG;WACU,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAiBvD"}
|
|
@@ -6,13 +6,14 @@ const ReadLine = tslib_1.__importStar(require("readline"));
|
|
|
6
6
|
const GeoIp = tslib_1.__importStar(require("geoip-lite"));
|
|
7
7
|
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Collection of static helper utilities shared across modules.
|
|
10
10
|
*/
|
|
11
11
|
class DyNTS_Shared extends fsm_dynamo_1.DyFM_Shared {
|
|
12
12
|
/**
|
|
13
|
+
* Extract the IP address from an Express request.
|
|
13
14
|
*
|
|
14
|
-
* @param request
|
|
15
|
-
* @returns
|
|
15
|
+
* @param request Incoming HTTP request
|
|
16
|
+
* @returns Resolved IP string
|
|
16
17
|
*/
|
|
17
18
|
static getIpFromRequest(request) {
|
|
18
19
|
let ip;
|
|
@@ -27,25 +28,28 @@ class DyNTS_Shared extends fsm_dynamo_1.DyFM_Shared {
|
|
|
27
28
|
return ip;
|
|
28
29
|
}
|
|
29
30
|
/**
|
|
31
|
+
* Lookup the Geo location of a request based on its IP address.
|
|
30
32
|
*
|
|
31
|
-
* @param request
|
|
32
|
-
* @returns
|
|
33
|
+
* @param request Incoming request
|
|
34
|
+
* @returns Resolved geo location information
|
|
33
35
|
*/
|
|
34
36
|
static getLocationDataByRequest(request) {
|
|
35
37
|
return GeoIp.lookup(this.getIpFromRequest(request));
|
|
36
38
|
}
|
|
37
39
|
/**
|
|
40
|
+
* Lookup the Geo location of a raw IP address.
|
|
38
41
|
*
|
|
39
|
-
* @param
|
|
40
|
-
* @returns
|
|
42
|
+
* @param ip IP address string
|
|
43
|
+
* @returns Geo location information
|
|
41
44
|
*/
|
|
42
45
|
static getLocationByIp(ip) {
|
|
43
46
|
return GeoIp.lookup(ip);
|
|
44
47
|
}
|
|
45
48
|
/**
|
|
49
|
+
* Simple CLI helper to prompt the user for input.
|
|
46
50
|
*
|
|
47
|
-
* @param question
|
|
48
|
-
* @returns
|
|
51
|
+
* @param question Text displayed to the user
|
|
52
|
+
* @returns Entered string value
|
|
49
53
|
*/
|
|
50
54
|
static async prompt(question) {
|
|
51
55
|
const readLine = ReadLine.createInterface({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.static-service.js","sourceRoot":"","sources":["../../src/_services/shared.static-service.ts"],"names":[],"mappings":";;;;AACA,2DAAqC;AACrC,0DAAoC;AAGpC,sDAAoD;AAGpD;;GAEG;AACH,MAAa,YAAa,SAAQ,wBAAW;IAE3C
|
|
1
|
+
{"version":3,"file":"shared.static-service.js","sourceRoot":"","sources":["../../src/_services/shared.static-service.ts"],"names":[],"mappings":";;;;AACA,2DAAqC;AACrC,0DAAoC;AAGpC,sDAAoD;AAGpD;;GAEG;AACH,MAAa,YAAa,SAAQ,wBAAW;IAE3C;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAgB;QACtC,IAAI,EAAU,CAAC;QAEf,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAc,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEnF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACrC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QACpC,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAgB;QAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,EAAU;QAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAgB;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAc,EAAE,EAAE;oBAC7C,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAlED,oCAkEC"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,13 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility helpers for dealing with archived collections.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* const name = DyNTS_getArchivedDBName('users');
|
|
7
|
+
* // => 'users_archived'
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
1
10
|
export * from './_collections/archive.util';
|
|
11
|
+
/**
|
|
12
|
+
* Common application wide settings used across the framework.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* console.log(DyNTS_global_settings.baseUrl);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
2
19
|
export * from './_collections/global-settings.const';
|
|
20
|
+
/**
|
|
21
|
+
* Enumerations describing model usage locations.
|
|
22
|
+
*/
|
|
3
23
|
export * from './_enums/data-model-type.enum';
|
|
24
|
+
/**
|
|
25
|
+
* Enumerations listing the supported service function names.
|
|
26
|
+
*/
|
|
4
27
|
export * from './_enums/data-service-function.enum';
|
|
28
|
+
/**
|
|
29
|
+
* Common primitive data types used in models.
|
|
30
|
+
*/
|
|
5
31
|
export * from './_enums/predefined-data-types.enum';
|
|
32
|
+
/**
|
|
33
|
+
* Defines if routes should use HTTP, HTTPS or both.
|
|
34
|
+
*/
|
|
6
35
|
export * from './_enums/route-security.enum';
|
|
36
|
+
/** Interfaces describing global configuration and certificates. */
|
|
7
37
|
export * from './_models/interfaces/certification-settings.interface';
|
|
8
38
|
export * from './_models/interfaces/global-service-settings.interface';
|
|
9
39
|
export * from './_models/interfaces/global-settings.interface';
|
|
10
40
|
export * from './_models/interfaces/routing-module-settings.interface';
|
|
41
|
+
/** Classes defining runtime structures without database persistence. */
|
|
11
42
|
export * from './_models/control-models/api-call-params.control-model';
|
|
12
43
|
export * from './_models/control-models/app-ext-system-controls.control-model';
|
|
13
44
|
export * from './_models/control-models/app-params.control-model';
|
|
@@ -15,19 +46,34 @@ export * from './_models/control-models/app-system-controls.control-model';
|
|
|
15
46
|
export * from './_models/control-models/endpoint-params.control-model';
|
|
16
47
|
export * from './_models/control-models/http-settings.control-model';
|
|
17
48
|
export * from './_models/control-models/system-control.control-model';
|
|
49
|
+
/** Types describing MongoDB style update objects. */
|
|
18
50
|
export * from './_models/types/db-update.type';
|
|
51
|
+
/** Client side helper for making HTTP requests. */
|
|
19
52
|
export * from './_services/core/api.service';
|
|
53
|
+
/** Basic authentication helper functions. */
|
|
20
54
|
export * from './_services/core/auth.service';
|
|
55
|
+
/** Utility for sending transactional emails. */
|
|
21
56
|
export * from './_services/core/email.service';
|
|
57
|
+
/** Global service registry and bootstrapping utilities. */
|
|
22
58
|
export * from './_services/core/global.service';
|
|
59
|
+
/** Singleton service container. */
|
|
23
60
|
export * from './_services/core/service-collection.service';
|
|
61
|
+
/** Handles moving data to archive collections. */
|
|
24
62
|
export * from './_services/base/archive-data.service';
|
|
63
|
+
/** Basic CRUD service used by feature modules. */
|
|
25
64
|
export * from './_services/base/data.service';
|
|
65
|
+
/** Thin wrapper around the database driver. */
|
|
26
66
|
export * from './_services/base/db.service';
|
|
67
|
+
/** Base class for implementing singleton services. */
|
|
27
68
|
export * from './_services/base/singleton.service';
|
|
69
|
+
/** Express server wrapper. */
|
|
28
70
|
export * from './_services/server/app.server';
|
|
71
|
+
/** Environment detection helpers. */
|
|
29
72
|
export * from './_services/server/env-set';
|
|
73
|
+
/** Abstract base controller for defining routes. */
|
|
30
74
|
export * from './_services/route/controller.service';
|
|
75
|
+
/** Handles route registration and mounting. */
|
|
31
76
|
export * from './_services/route/routing-module.service';
|
|
77
|
+
/** Assorted shared helpers accessible statically. */
|
|
32
78
|
export * from './_services/shared.static-service';
|
|
33
79
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,cAAc,6BAA6B,CAAC;AAE5C;;;;;;;GAOG;AACH,cAAc,sCAAsC,CAAC;AAIrD;;GAEG;AACH,cAAc,+BAA+B,CAAC;AAE9C;;GAEG;AACH,cAAc,qCAAqC,CAAC;AAEpD;;GAEG;AACH,cAAc,qCAAqC,CAAC;AAEpD;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAK7C,mEAAmE;AACnE,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wDAAwD,CAAC;AAIvE,wEAAwE;AACxE,cAAc,wDAAwD,CAAC;AACvE,cAAc,gEAAgE,CAAA;AAC9E,cAAc,mDAAmD,CAAC;AAClE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,wDAAwD,CAAC;AACvE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AAItE,qDAAqD;AACrD,cAAc,gCAAgC,CAAC;AAK/C,mDAAmD;AACnD,cAAc,8BAA8B,CAAC;AAE7C,6CAA6C;AAC7C,cAAc,+BAA+B,CAAC;AAE9C,gDAAgD;AAChD,cAAc,gCAAgC,CAAC;AAE/C,2DAA2D;AAC3D,cAAc,iCAAiC,CAAC;AAEhD,mCAAmC;AACnC,cAAc,6CAA6C,CAAC;AAG5D,kDAAkD;AAClD,cAAc,uCAAuC,CAAC;AAEtD,kDAAkD;AAClD,cAAc,+BAA+B,CAAC;AAE9C,+CAA+C;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,sDAAsD;AACtD,cAAc,oCAAoC,CAAC;AAGnD,8BAA8B;AAC9B,cAAc,+BAA+B,CAAC;AAE9C,qCAAqC;AACrC,cAAc,4BAA4B,CAAC;AAG3C,oDAAoD;AACpD,cAAc,sCAAsC,CAAC;AAErD,+CAA+C;AAC/C,cAAc,0CAA0C,CAAC;AAGzD,qDAAqD;AACrD,cAAc,mCAAmC,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -2,20 +2,50 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
// COLLECTIONS
|
|
5
|
+
/**
|
|
6
|
+
* Utility helpers for dealing with archived collections.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* const name = DyNTS_getArchivedDBName('users');
|
|
11
|
+
* // => 'users_archived'
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
5
14
|
tslib_1.__exportStar(require("./_collections/archive.util"), exports);
|
|
15
|
+
/**
|
|
16
|
+
* Common application wide settings used across the framework.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* console.log(DyNTS_global_settings.baseUrl);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
6
23
|
tslib_1.__exportStar(require("./_collections/global-settings.const"), exports);
|
|
7
24
|
// ENUMS
|
|
25
|
+
/**
|
|
26
|
+
* Enumerations describing model usage locations.
|
|
27
|
+
*/
|
|
8
28
|
tslib_1.__exportStar(require("./_enums/data-model-type.enum"), exports);
|
|
29
|
+
/**
|
|
30
|
+
* Enumerations listing the supported service function names.
|
|
31
|
+
*/
|
|
9
32
|
tslib_1.__exportStar(require("./_enums/data-service-function.enum"), exports);
|
|
33
|
+
/**
|
|
34
|
+
* Common primitive data types used in models.
|
|
35
|
+
*/
|
|
10
36
|
tslib_1.__exportStar(require("./_enums/predefined-data-types.enum"), exports);
|
|
37
|
+
/**
|
|
38
|
+
* Defines if routes should use HTTP, HTTPS or both.
|
|
39
|
+
*/
|
|
11
40
|
tslib_1.__exportStar(require("./_enums/route-security.enum"), exports);
|
|
12
41
|
// MODELS (CONTROL-MODELS, INTERFACES, TYPES)
|
|
13
|
-
|
|
42
|
+
/** Interfaces describing global configuration and certificates. */
|
|
14
43
|
tslib_1.__exportStar(require("./_models/interfaces/certification-settings.interface"), exports);
|
|
15
44
|
tslib_1.__exportStar(require("./_models/interfaces/global-service-settings.interface"), exports);
|
|
16
45
|
tslib_1.__exportStar(require("./_models/interfaces/global-settings.interface"), exports);
|
|
17
46
|
tslib_1.__exportStar(require("./_models/interfaces/routing-module-settings.interface"), exports);
|
|
18
47
|
// models/CONTROL MODELS
|
|
48
|
+
/** Classes defining runtime structures without database persistence. */
|
|
19
49
|
tslib_1.__exportStar(require("./_models/control-models/api-call-params.control-model"), exports);
|
|
20
50
|
tslib_1.__exportStar(require("./_models/control-models/app-ext-system-controls.control-model"), exports);
|
|
21
51
|
tslib_1.__exportStar(require("./_models/control-models/app-params.control-model"), exports);
|
|
@@ -24,25 +54,40 @@ tslib_1.__exportStar(require("./_models/control-models/endpoint-params.control-m
|
|
|
24
54
|
tslib_1.__exportStar(require("./_models/control-models/http-settings.control-model"), exports);
|
|
25
55
|
tslib_1.__exportStar(require("./_models/control-models/system-control.control-model"), exports);
|
|
26
56
|
// models/TYPES
|
|
57
|
+
/** Types describing MongoDB style update objects. */
|
|
27
58
|
tslib_1.__exportStar(require("./_models/types/db-update.type"), exports);
|
|
28
59
|
// SERVICES
|
|
29
60
|
// services/CORE
|
|
61
|
+
/** Client side helper for making HTTP requests. */
|
|
30
62
|
tslib_1.__exportStar(require("./_services/core/api.service"), exports);
|
|
63
|
+
/** Basic authentication helper functions. */
|
|
31
64
|
tslib_1.__exportStar(require("./_services/core/auth.service"), exports);
|
|
65
|
+
/** Utility for sending transactional emails. */
|
|
32
66
|
tslib_1.__exportStar(require("./_services/core/email.service"), exports);
|
|
67
|
+
/** Global service registry and bootstrapping utilities. */
|
|
33
68
|
tslib_1.__exportStar(require("./_services/core/global.service"), exports);
|
|
69
|
+
/** Singleton service container. */
|
|
34
70
|
tslib_1.__exportStar(require("./_services/core/service-collection.service"), exports);
|
|
35
71
|
// services/BASE
|
|
72
|
+
/** Handles moving data to archive collections. */
|
|
36
73
|
tslib_1.__exportStar(require("./_services/base/archive-data.service"), exports);
|
|
74
|
+
/** Basic CRUD service used by feature modules. */
|
|
37
75
|
tslib_1.__exportStar(require("./_services/base/data.service"), exports);
|
|
76
|
+
/** Thin wrapper around the database driver. */
|
|
38
77
|
tslib_1.__exportStar(require("./_services/base/db.service"), exports);
|
|
78
|
+
/** Base class for implementing singleton services. */
|
|
39
79
|
tslib_1.__exportStar(require("./_services/base/singleton.service"), exports);
|
|
40
80
|
// services/SERVER
|
|
81
|
+
/** Express server wrapper. */
|
|
41
82
|
tslib_1.__exportStar(require("./_services/server/app.server"), exports);
|
|
83
|
+
/** Environment detection helpers. */
|
|
42
84
|
tslib_1.__exportStar(require("./_services/server/env-set"), exports);
|
|
43
85
|
// services/ROUTE
|
|
86
|
+
/** Abstract base controller for defining routes. */
|
|
44
87
|
tslib_1.__exportStar(require("./_services/route/controller.service"), exports);
|
|
88
|
+
/** Handles route registration and mounting. */
|
|
45
89
|
tslib_1.__exportStar(require("./_services/route/routing-module.service"), exports);
|
|
46
90
|
// services/SHARED
|
|
91
|
+
/** Assorted shared helpers accessible statically. */
|
|
47
92
|
tslib_1.__exportStar(require("./_services/shared.static-service"), exports);
|
|
48
93
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,cAAc;AACd,sEAA4C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,cAAc;AACd;;;;;;;;GAQG;AACH,sEAA4C;AAE5C;;;;;;;GAOG;AACH,+EAAqD;AAGrD,QAAQ;AACR;;GAEG;AACH,wEAA8C;AAE9C;;GAEG;AACH,8EAAoD;AAEpD;;GAEG;AACH,8EAAoD;AAEpD;;GAEG;AACH,uEAA6C;AAG7C,6CAA6C;AAE7C,mEAAmE;AACnE,gGAAsE;AACtE,iGAAuE;AACvE,yFAA+D;AAC/D,iGAAuE;AAEvE,wBAAwB;AAExB,wEAAwE;AACxE,iGAAuE;AACvE,yGAA8E;AAC9E,4FAAkE;AAClE,qGAA2E;AAC3E,iGAAuE;AACvE,+FAAqE;AACrE,gGAAsE;AAEtE,eAAe;AAEf,qDAAqD;AACrD,yEAA+C;AAG/C,WAAW;AACX,gBAAgB;AAChB,mDAAmD;AACnD,uEAA6C;AAE7C,6CAA6C;AAC7C,wEAA8C;AAE9C,gDAAgD;AAChD,yEAA+C;AAE/C,2DAA2D;AAC3D,0EAAgD;AAEhD,mCAAmC;AACnC,sFAA4D;AAE5D,gBAAgB;AAChB,kDAAkD;AAClD,gFAAsD;AAEtD,kDAAkD;AAClD,wEAA8C;AAE9C,+CAA+C;AAC/C,sEAA4C;AAE5C,sDAAsD;AACtD,6EAAmD;AAEnD,kBAAkB;AAClB,8BAA8B;AAC9B,wEAA8C;AAE9C,qCAAqC;AACrC,qEAA2C;AAE3C,iBAAiB;AACjB,oDAAoD;AACpD,+EAAqD;AAErD,+CAA+C;AAC/C,mFAAyD;AAEzD,kBAAkB;AAClB,qDAAqD;AACrD,4EAAkD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/nts-dynamo",
|
|
3
|
-
"version": "01.10.
|
|
3
|
+
"version": "01.10.50",
|
|
4
4
|
"description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Program Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "server-package",
|
|
@@ -136,12 +136,12 @@
|
|
|
136
136
|
},
|
|
137
137
|
"homepage": "https:/futdevpro.hu/projects/dynamo",
|
|
138
138
|
"DISABLED": {
|
|
139
|
-
"@futdevpro/fsm-dynamo": "file:../tgz-collection/dynamo-fsm/futdevpro-fsm-dynamo-01.10.
|
|
139
|
+
"@futdevpro/fsm-dynamo": "file:../tgz-collection/dynamo-fsm/futdevpro-fsm-dynamo-01.10.39.tgz",
|
|
140
140
|
|
|
141
141
|
"empty": ""
|
|
142
142
|
},
|
|
143
143
|
"peerDependencies": {
|
|
144
|
-
"@futdevpro/fsm-dynamo": "1.10.
|
|
144
|
+
"@futdevpro/fsm-dynamo": "1.10.39",
|
|
145
145
|
|
|
146
146
|
"@types/express": "4.17.21",
|
|
147
147
|
"@types/geoip-lite": "~1.4.1",
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/** Suffix appended to database names when archived. */
|
|
4
4
|
export const DyNTS_archiveSuffix = 'archived';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Create the archive database name for a given base database.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const name = DyNTS_getArchivedDBName('users');
|
|
12
|
+
* // => 'users_archived'
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
6
15
|
export function DyNTS_getArchivedDBName(dbName: string): string {
|
|
7
16
|
return `${dbName}_${DyNTS_archiveSuffix}`;
|
|
8
17
|
}
|
|
@@ -5,6 +5,10 @@ import { DyNTS_RouteSecurity } from '../_enums/route-security.enum';
|
|
|
5
5
|
import { DyNTS_Global_Settings } from '../_models/interfaces/global-settings.interface';
|
|
6
6
|
import { DyNTS_SocketSecurity } from '../_modules/socket/_enums/socket-security.enum';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Default configuration used across the NodeTS framework.
|
|
10
|
+
* These values can be overridden when bootstrapping the server.
|
|
11
|
+
*/
|
|
8
12
|
export const DyNTS_global_settings: DyNTS_Global_Settings = {
|
|
9
13
|
baseUrl: '/api',
|
|
10
14
|
systemVersion: 'unknown-version',
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* dataModel
|
|
6
|
-
* controlModel
|
|
7
|
-
* interfaceModel
|
|
3
|
+
* Declares where a given model definition is used.
|
|
4
|
+
*
|
|
5
|
+
* - `dataModel`: persisted in the database
|
|
6
|
+
* - `controlModel`: runtime only
|
|
7
|
+
* - `interfaceModel`: runtime without constructor
|
|
8
8
|
*/
|
|
9
9
|
/** @deprecated */
|
|
10
10
|
export enum DyNTS_DataModelType {
|
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Commonly used operations within data services.
|
|
4
|
+
*
|
|
5
|
+
* Each value represents a standard CRUD style method
|
|
6
|
+
* that can be implemented by a service.
|
|
6
7
|
*/
|
|
7
8
|
export enum DyNTS_DSF {
|
|
9
|
+
/** Retrieve all documents from the store. */
|
|
8
10
|
getAll = 'getAll',
|
|
11
|
+
|
|
12
|
+
/** Load a single document by its identifier. */
|
|
9
13
|
getDataById = 'getDataById',
|
|
10
14
|
/* checkIfDataExists = 'checkIfDataExists',
|
|
11
15
|
createData = 'createNewData', */
|
|
16
|
+
/** Update an existing document. */
|
|
12
17
|
modifyData = 'modifyData',
|
|
18
|
+
|
|
19
|
+
/** Remove a document. */
|
|
13
20
|
deleteData = 'deleteData',
|
|
21
|
+
|
|
22
|
+
/** Return data supplied directly rather than fetched. */
|
|
14
23
|
getProvidedData = 'getProvidedData',
|
|
15
24
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* A small set of primitive data type names used when
|
|
4
|
+
* describing field types in various models.
|
|
4
5
|
*/
|
|
5
6
|
export enum DyanmoNTS_PredefinedDataTypes {
|
|
6
|
-
'string',
|
|
7
|
+
'string',
|
|
7
8
|
'number',
|
|
8
9
|
'boolean',
|
|
9
10
|
'Date',
|
|
@@ -11,18 +12,6 @@ export enum DyanmoNTS_PredefinedDataTypes {
|
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* 'documentArray' | 'embedded' | 'array' | 'objectId' | 'string' |
|
|
17
|
-
* 'number' | 'boolean' | 'date' | 'buffer' | 'mixed' | 'decimal128' |
|
|
18
|
-
* 'map' | 'documentArray' | 'embedded' | 'array' | 'objectId' |
|
|
19
|
-
* 'string' | 'number' | 'boolean' | 'date' | 'buffer' | 'mixed' |
|
|
20
|
-
* 'decimal128' | 'map' | 'documentArray' | 'embedded' | 'array' |
|
|
21
|
-
* 'objectId' | 'string' | 'number' | 'boolean' | 'date' | 'buffer' |
|
|
22
|
-
* 'mixed' | 'decimal128' | 'map' | 'documentArray' | 'embedded' |
|
|
23
|
-
* 'array' | 'objectId' | 'string' | 'number' | 'boolean' | 'date' |
|
|
24
|
-
* 'buffer' | 'mixed' | 'decimal128' | 'map' | 'documentArray' |
|
|
25
|
-
* 'embedded' | 'array' | 'objectId' | 'string' | 'number' | 'boolean' |
|
|
26
|
-
* 'date' | 'buffer' | 'mixed' | 'decimal128' | 'map' | 'documentArray' |
|
|
27
|
-
* 'embedded'
|
|
15
|
+
* Full list of complex types supported by the framework
|
|
16
|
+
* when interacting with the database.
|
|
28
17
|
*/
|
|
@@ -33,9 +33,7 @@ export class DyNTS_App_Params {
|
|
|
33
33
|
/**
|
|
34
34
|
* options for the MongoDB connection
|
|
35
35
|
*/
|
|
36
|
-
readonly dbOptions?: ConnectOptions
|
|
37
|
-
directConnection: true,
|
|
38
|
-
}
|
|
36
|
+
readonly dbOptions?: ConnectOptions;
|
|
39
37
|
|
|
40
38
|
readonly openHost?: string;
|
|
41
39
|
readonly secureHost?: string;
|
|
@@ -58,6 +56,9 @@ export class DyNTS_App_Params {
|
|
|
58
56
|
this.version = set.version;
|
|
59
57
|
this.dbName = set.dbName;
|
|
60
58
|
this.dbUri = set.dbUri ?? `mongodb://localhost:27017/${this.dbName}`;
|
|
59
|
+
this.dbOptions = set.dbOptions ?? {
|
|
60
|
+
directConnection: true,
|
|
61
|
+
};
|
|
61
62
|
this.systemName = set.systemName ?? this.name.replace(' ', '-');
|
|
62
63
|
this.systemShortCodeName = set.systemShortCodeName ?? this.systemName.replace(/[^A-Z]/g, '');
|
|
63
64
|
this.openHost = set.openHost ?? 'localhost';
|
|
@@ -7,14 +7,15 @@ import { DyFM_Shared } from '@futdevpro/fsm-dynamo';
|
|
|
7
7
|
import { DyFM_GeoIpLocation } from '@futdevpro/fsm-dynamo/location';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Collection of static helper utilities shared across modules.
|
|
11
11
|
*/
|
|
12
12
|
export class DyNTS_Shared extends DyFM_Shared {
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* @
|
|
15
|
+
* Extract the IP address from an Express request.
|
|
16
|
+
*
|
|
17
|
+
* @param request Incoming HTTP request
|
|
18
|
+
* @returns Resolved IP string
|
|
18
19
|
*/
|
|
19
20
|
static getIpFromRequest(request: Request): string {
|
|
20
21
|
let ip: string;
|
|
@@ -32,27 +33,30 @@ export class DyNTS_Shared extends DyFM_Shared {
|
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* @
|
|
36
|
+
* Lookup the Geo location of a request based on its IP address.
|
|
37
|
+
*
|
|
38
|
+
* @param request Incoming request
|
|
39
|
+
* @returns Resolved geo location information
|
|
38
40
|
*/
|
|
39
41
|
static getLocationDataByRequest(request: Request): DyFM_GeoIpLocation {
|
|
40
42
|
return GeoIp.lookup(this.getIpFromRequest(request));
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* @
|
|
46
|
+
* Lookup the Geo location of a raw IP address.
|
|
47
|
+
*
|
|
48
|
+
* @param ip IP address string
|
|
49
|
+
* @returns Geo location information
|
|
47
50
|
*/
|
|
48
51
|
static getLocationByIp(ip: string): DyFM_GeoIpLocation {
|
|
49
52
|
return GeoIp.lookup(ip);
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* @
|
|
56
|
+
* Simple CLI helper to prompt the user for input.
|
|
57
|
+
*
|
|
58
|
+
* @param question Text displayed to the user
|
|
59
|
+
* @returns Entered string value
|
|
56
60
|
*/
|
|
57
61
|
static async prompt(question: string): Promise<string> {
|
|
58
62
|
const readLine = ReadLine.createInterface({
|
package/src/index.ts
CHANGED
|
@@ -1,24 +1,60 @@
|
|
|
1
1
|
|
|
2
2
|
// COLLECTIONS
|
|
3
|
+
/**
|
|
4
|
+
* Utility helpers for dealing with archived collections.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* const name = DyNTS_getArchivedDBName('users');
|
|
9
|
+
* // => 'users_archived'
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
3
12
|
export * from './_collections/archive.util';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Common application wide settings used across the framework.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* console.log(DyNTS_global_settings.baseUrl);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
4
22
|
export * from './_collections/global-settings.const';
|
|
5
23
|
|
|
6
24
|
|
|
7
25
|
// ENUMS
|
|
26
|
+
/**
|
|
27
|
+
* Enumerations describing model usage locations.
|
|
28
|
+
*/
|
|
8
29
|
export * from './_enums/data-model-type.enum';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Enumerations listing the supported service function names.
|
|
33
|
+
*/
|
|
9
34
|
export * from './_enums/data-service-function.enum';
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Common primitive data types used in models.
|
|
38
|
+
*/
|
|
10
39
|
export * from './_enums/predefined-data-types.enum';
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Defines if routes should use HTTP, HTTPS or both.
|
|
43
|
+
*/
|
|
11
44
|
export * from './_enums/route-security.enum';
|
|
12
45
|
|
|
13
46
|
|
|
14
47
|
// MODELS (CONTROL-MODELS, INTERFACES, TYPES)
|
|
15
|
-
|
|
48
|
+
|
|
49
|
+
/** Interfaces describing global configuration and certificates. */
|
|
16
50
|
export * from './_models/interfaces/certification-settings.interface';
|
|
17
51
|
export * from './_models/interfaces/global-service-settings.interface';
|
|
18
52
|
export * from './_models/interfaces/global-settings.interface';
|
|
19
53
|
export * from './_models/interfaces/routing-module-settings.interface';
|
|
20
54
|
|
|
21
55
|
// models/CONTROL MODELS
|
|
56
|
+
|
|
57
|
+
/** Classes defining runtime structures without database persistence. */
|
|
22
58
|
export * from './_models/control-models/api-call-params.control-model';
|
|
23
59
|
export * from './_models/control-models/app-ext-system-controls.control-model'
|
|
24
60
|
export * from './_models/control-models/app-params.control-model';
|
|
@@ -28,32 +64,57 @@ export * from './_models/control-models/http-settings.control-model';
|
|
|
28
64
|
export * from './_models/control-models/system-control.control-model';
|
|
29
65
|
|
|
30
66
|
// models/TYPES
|
|
67
|
+
|
|
68
|
+
/** Types describing MongoDB style update objects. */
|
|
31
69
|
export * from './_models/types/db-update.type';
|
|
32
70
|
|
|
33
71
|
|
|
34
72
|
// SERVICES
|
|
35
73
|
// services/CORE
|
|
74
|
+
/** Client side helper for making HTTP requests. */
|
|
36
75
|
export * from './_services/core/api.service';
|
|
76
|
+
|
|
77
|
+
/** Basic authentication helper functions. */
|
|
37
78
|
export * from './_services/core/auth.service';
|
|
79
|
+
|
|
80
|
+
/** Utility for sending transactional emails. */
|
|
38
81
|
export * from './_services/core/email.service';
|
|
82
|
+
|
|
83
|
+
/** Global service registry and bootstrapping utilities. */
|
|
39
84
|
export * from './_services/core/global.service';
|
|
85
|
+
|
|
86
|
+
/** Singleton service container. */
|
|
40
87
|
export * from './_services/core/service-collection.service';
|
|
41
88
|
|
|
42
89
|
// services/BASE
|
|
90
|
+
/** Handles moving data to archive collections. */
|
|
43
91
|
export * from './_services/base/archive-data.service';
|
|
92
|
+
|
|
93
|
+
/** Basic CRUD service used by feature modules. */
|
|
44
94
|
export * from './_services/base/data.service';
|
|
95
|
+
|
|
96
|
+
/** Thin wrapper around the database driver. */
|
|
45
97
|
export * from './_services/base/db.service';
|
|
98
|
+
|
|
99
|
+
/** Base class for implementing singleton services. */
|
|
46
100
|
export * from './_services/base/singleton.service';
|
|
47
101
|
|
|
48
102
|
// services/SERVER
|
|
103
|
+
/** Express server wrapper. */
|
|
49
104
|
export * from './_services/server/app.server';
|
|
105
|
+
|
|
106
|
+
/** Environment detection helpers. */
|
|
50
107
|
export * from './_services/server/env-set';
|
|
51
108
|
|
|
52
109
|
// services/ROUTE
|
|
110
|
+
/** Abstract base controller for defining routes. */
|
|
53
111
|
export * from './_services/route/controller.service';
|
|
112
|
+
|
|
113
|
+
/** Handles route registration and mounting. */
|
|
54
114
|
export * from './_services/route/routing-module.service';
|
|
55
115
|
|
|
56
116
|
// services/SHARED
|
|
117
|
+
/** Assorted shared helpers accessible statically. */
|
|
57
118
|
export * from './_services/shared.static-service';
|
|
58
119
|
|
|
59
120
|
|