@futdevpro/nts-dynamo 1.10.49 → 1.10.51
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 +17 -19
- package/build/_models/control-models/app-params.control-model.js.map +1 -1
- package/build/_models/control-models/app-params.control-model.spec.js +3 -3
- package/build/_models/control-models/app-params.control-model.spec.js.map +1 -1
- package/build/_modules/mock/app-extended-server.mock.d.ts.map +1 -1
- package/build/_modules/mock/app-extended-server.mock.js +3 -0
- package/build/_modules/mock/app-extended-server.mock.js.map +1 -1
- package/build/_modules/mock/app-server.mock.d.ts.map +1 -1
- package/build/_modules/mock/app-server.mock.js +3 -0
- package/build/_modules/mock/app-server.mock.js.map +1 -1
- package/build/_modules/socket/app-extended.server.spec.js +24 -9
- package/build/_modules/socket/app-extended.server.spec.js.map +1 -1
- package/build/_services/server/app.server.d.ts.map +1 -1
- package/build/_services/server/app.server.js +24 -2
- package/build/_services/server/app.server.js.map +1 -1
- package/build/_services/server/app.server.spec.js +16 -7
- package/build/_services/server/app.server.spec.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.spec.ts +3 -3
- package/src/_models/control-models/app-params.control-model.ts +12 -17
- package/src/_modules/mock/app-extended-server.mock.ts +3 -0
- package/src/_modules/mock/app-server.mock.ts +3 -0
- package/src/_modules/socket/app-extended.server.spec.ts +99 -15
- package/src/_services/server/app.server.spec.ts +66 -10
- package/src/_services/server/app.server.ts +31 -2
- package/src/_services/shared.static-service.ts +17 -13
- package/src/index.ts +62 -1
|
@@ -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
|
|