@futdevpro/nts-dynamo 1.9.17 → 1.9.18
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/.copilot/patterns.json +1 -1
- package/README.md +2 -2
- package/build/_constants/global-settings.const.d.ts +2 -2
- package/build/_constants/global-settings.const.d.ts.map +1 -1
- package/build/_constants/global-settings.const.js +4 -4
- package/build/_constants/global-settings.const.js.map +1 -1
- package/build/_constants/mocks/app-extended-server.mock.d.ts +26 -26
- package/build/_constants/mocks/app-extended-server.mock.d.ts.map +1 -1
- package/build/_constants/mocks/app-extended-server.mock.js +29 -29
- package/build/_constants/mocks/app-extended-server.mock.js.map +1 -1
- package/build/_constants/mocks/app-params.mock.d.ts +2 -2
- package/build/_constants/mocks/app-params.mock.d.ts.map +1 -1
- package/build/_constants/mocks/app-params.mock.js +2 -2
- package/build/_constants/mocks/app-params.mock.js.map +1 -1
- package/build/_constants/mocks/app-server.mock.d.ts +28 -28
- package/build/_constants/mocks/app-server.mock.d.ts.map +1 -1
- package/build/_constants/mocks/app-server.mock.js +25 -25
- package/build/_constants/mocks/app-server.mock.js.map +1 -1
- package/build/_constants/mocks/auth-service.mock.d.ts +2 -2
- package/build/_constants/mocks/auth-service.mock.d.ts.map +1 -1
- package/build/_constants/mocks/auth-service.mock.js +1 -1
- package/build/_constants/mocks/auth-service.mock.js.map +1 -1
- package/build/_constants/mocks/controller.mock.d.ts +3 -3
- package/build/_constants/mocks/controller.mock.d.ts.map +1 -1
- package/build/_constants/mocks/controller.mock.js +5 -5
- package/build/_constants/mocks/controller.mock.js.map +1 -1
- package/build/_constants/mocks/data-model.mock.d.ts +5 -5
- package/build/_constants/mocks/data-model.mock.d.ts.map +1 -1
- package/build/_constants/mocks/data-model.mock.js +4 -4
- package/build/_constants/mocks/data-model.mock.js.map +1 -1
- package/build/_constants/mocks/email-service-collection.mock.d.ts +2 -2
- package/build/_constants/mocks/email-service-collection.mock.d.ts.map +1 -1
- package/build/_constants/mocks/email-service-collection.mock.js +1 -1
- package/build/_constants/mocks/email-service-collection.mock.js.map +1 -1
- package/build/_constants/mocks/email-service.mock.d.ts +2 -2
- package/build/_constants/mocks/email-service.mock.d.ts.map +1 -1
- package/build/_constants/mocks/email-service.mock.js +1 -1
- package/build/_constants/mocks/email-service.mock.js.map +1 -1
- package/build/_constants/mocks/endpoint.mock.d.ts +8 -8
- package/build/_constants/mocks/endpoint.mock.d.ts.map +1 -1
- package/build/_constants/mocks/endpoint.mock.js +20 -20
- package/build/_constants/mocks/endpoint.mock.js.map +1 -1
- package/build/_constants/mocks/socket-client.mock.d.ts +5 -5
- package/build/_constants/mocks/socket-client.mock.d.ts.map +1 -1
- package/build/_constants/mocks/socket-client.mock.js +4 -4
- package/build/_constants/mocks/socket-client.mock.js.map +1 -1
- package/build/_constants/mocks/socket-server.mock.d.ts +9 -9
- package/build/_constants/mocks/socket-server.mock.d.ts.map +1 -1
- package/build/_constants/mocks/socket-server.mock.js +6 -6
- package/build/_constants/mocks/socket-server.mock.js.map +1 -1
- package/build/_enums/data-model-type.enum.d.ts +1 -1
- package/build/_enums/data-model-type.enum.d.ts.map +1 -1
- package/build/_enums/data-model-type.enum.js +7 -7
- package/build/_enums/data-model-type.enum.js.map +1 -1
- package/build/_enums/data-service-function.enum.d.ts +1 -1
- package/build/_enums/data-service-function.enum.d.ts.map +1 -1
- package/build/_enums/data-service-function.enum.js +9 -9
- package/build/_enums/data-service-function.enum.js.map +1 -1
- package/build/_enums/http/http-call-type.enum.d.ts +1 -1
- package/build/_enums/http/http-call-type.enum.d.ts.map +1 -1
- package/build/_enums/http/http-call-type.enum.js +9 -9
- package/build/_enums/http/http-call-type.enum.js.map +1 -1
- package/build/_enums/http/http-response-type.enum.d.ts +1 -1
- package/build/_enums/http/http-response-type.enum.d.ts.map +1 -1
- package/build/_enums/http/http-response-type.enum.js +8 -8
- package/build/_enums/http/http-response-type.enum.js.map +1 -1
- package/build/_enums/http/socket-event-type.enum.d.ts +1 -1
- package/build/_enums/http/socket-event-type.enum.d.ts.map +1 -1
- package/build/_enums/http/socket-event-type.enum.js +14 -14
- package/build/_enums/http/socket-event-type.enum.js.map +1 -1
- package/build/_enums/route-security.enum.d.ts +1 -1
- package/build/_enums/route-security.enum.d.ts.map +1 -1
- package/build/_enums/route-security.enum.js +7 -7
- package/build/_enums/route-security.enum.js.map +1 -1
- package/build/_enums/socket-security.enum.d.ts +1 -1
- package/build/_enums/socket-security.enum.d.ts.map +1 -1
- package/build/_enums/socket-security.enum.js +6 -6
- package/build/_enums/socket-security.enum.js.map +1 -1
- package/build/_models/control-models/api-call-params.control-model.d.ts +9 -9
- package/build/_models/control-models/api-call-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/api-call-params.control-model.js +6 -6
- package/build/_models/control-models/api-call-params.control-model.js.map +1 -1
- package/build/_models/control-models/app-ext-system-controls.control-model.d.ts +5 -5
- package/build/_models/control-models/app-ext-system-controls.control-model.d.ts.map +1 -1
- package/build/_models/control-models/app-ext-system-controls.control-model.js +6 -6
- package/build/_models/control-models/app-ext-system-controls.control-model.js.map +1 -1
- package/build/_models/control-models/app-params.control-model.d.ts +2 -3
- package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/app-params.control-model.js +3 -3
- package/build/_models/control-models/app-params.control-model.js.map +1 -1
- package/build/_models/control-models/app-system-controls.control-model.d.ts +6 -6
- package/build/_models/control-models/app-system-controls.control-model.d.ts.map +1 -1
- package/build/_models/control-models/app-system-controls.control-model.js +7 -7
- package/build/_models/control-models/app-system-controls.control-model.js.map +1 -1
- package/build/_models/control-models/endpoint-params.control-model.d.ts +7 -7
- package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/endpoint-params.control-model.js +35 -35
- package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
- package/build/_models/control-models/http-settings.control-model.d.ts +2 -2
- package/build/_models/control-models/http-settings.control-model.d.ts.map +1 -1
- package/build/_models/control-models/http-settings.control-model.js +3 -3
- package/build/_models/control-models/http-settings.control-model.js.map +1 -1
- package/build/_models/control-models/socket-client-service-params.control-model.d.ts +2 -2
- package/build/_models/control-models/socket-client-service-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/socket-client-service-params.control-model.js +3 -3
- package/build/_models/control-models/socket-client-service-params.control-model.js.map +1 -1
- package/build/_models/control-models/socket-event.control-model.d.ts +10 -10
- package/build/_models/control-models/socket-event.control-model.d.ts.map +1 -1
- package/build/_models/control-models/socket-event.control-model.js +19 -19
- package/build/_models/control-models/socket-event.control-model.js.map +1 -1
- package/build/_models/control-models/socket-presence.control-model.d.ts +1 -1
- package/build/_models/control-models/socket-presence.control-model.d.ts.map +1 -1
- package/build/_models/control-models/socket-presence.control-model.js +14 -14
- package/build/_models/control-models/socket-presence.control-model.js.map +1 -1
- package/build/_models/control-models/socket-server-service-params.control-model.d.ts +4 -4
- package/build/_models/control-models/socket-server-service-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/socket-server-service-params.control-model.js +4 -4
- package/build/_models/control-models/socket-server-service-params.control-model.js.map +1 -1
- package/build/_models/control-models/system-control.control-model.d.ts +1 -1
- package/build/_models/control-models/system-control.control-model.d.ts.map +1 -1
- package/build/_models/control-models/system-control.control-model.js +3 -3
- package/build/_models/control-models/system-control.control-model.js.map +1 -1
- package/build/_models/interfaces/certification-settings.interface.d.ts +1 -1
- package/build/_models/interfaces/certification-settings.interface.d.ts.map +1 -1
- package/build/_models/interfaces/global-service-settings.interface.d.ts +13 -13
- package/build/_models/interfaces/global-service-settings.interface.d.ts.map +1 -1
- package/build/_models/interfaces/global-settings.interface.d.ts +5 -5
- package/build/_models/interfaces/global-settings.interface.d.ts.map +1 -1
- package/build/_models/interfaces/routing-module-settings.interface.d.ts +5 -5
- package/build/_models/interfaces/routing-module-settings.interface.d.ts.map +1 -1
- package/build/_models/types/db-filter.type.d.ts +8 -8
- package/build/_models/types/db-filter.type.d.ts.map +1 -1
- package/build/_models/types/db-update.type.d.ts +3 -3
- package/build/_models/types/db-update.type.d.ts.map +1 -1
- package/build/_modules/custom-data/custom-data.controller.d.ts +3 -3
- package/build/_modules/custom-data/custom-data.controller.d.ts.map +1 -1
- package/build/_modules/custom-data/custom-data.controller.js +12 -12
- package/build/_modules/custom-data/custom-data.controller.js.map +1 -1
- package/build/_modules/custom-data/custom-data.data-service.d.ts +4 -4
- package/build/_modules/custom-data/custom-data.data-service.d.ts.map +1 -1
- package/build/_modules/custom-data/custom-data.data-service.js +4 -4
- package/build/_modules/custom-data/custom-data.data-service.js.map +1 -1
- package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts +3 -3
- package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts.map +1 -1
- package/build/_modules/custom-data/get-custom-data-routing-module.util.js +5 -5
- package/build/_modules/custom-data/get-custom-data-routing-module.util.js.map +1 -1
- package/build/_modules/test/get-test-routing-module.util.d.ts +3 -3
- package/build/_modules/test/get-test-routing-module.util.d.ts.map +1 -1
- package/build/_modules/test/get-test-routing-module.util.js +5 -5
- package/build/_modules/test/get-test-routing-module.util.js.map +1 -1
- package/build/_modules/test/test.controller.d.ts +3 -3
- package/build/_modules/test/test.controller.d.ts.map +1 -1
- package/build/_modules/test/test.controller.js +24 -24
- package/build/_modules/test/test.controller.js.map +1 -1
- package/build/_modules/usage/get-usage-routing-module.util.d.ts +3 -3
- package/build/_modules/usage/get-usage-routing-module.util.d.ts.map +1 -1
- package/build/_modules/usage/get-usage-routing-module.util.js +5 -5
- package/build/_modules/usage/get-usage-routing-module.util.js.map +1 -1
- package/build/_modules/usage/usage.controller.d.ts +3 -3
- package/build/_modules/usage/usage.controller.d.ts.map +1 -1
- package/build/_modules/usage/usage.controller.js +23 -23
- package/build/_modules/usage/usage.controller.js.map +1 -1
- package/build/_modules/usage/usage.data-service.d.ts +9 -9
- package/build/_modules/usage/usage.data-service.d.ts.map +1 -1
- package/build/_modules/usage/usage.data-service.js +13 -13
- package/build/_modules/usage/usage.data-service.js.map +1 -1
- package/build/_services/base/data.service.d.ts +14 -14
- package/build/_services/base/data.service.d.ts.map +1 -1
- package/build/_services/base/data.service.js +45 -45
- package/build/_services/base/data.service.js.map +1 -1
- package/build/_services/base/db.service.d.ts +15 -15
- package/build/_services/base/db.service.d.ts.map +1 -1
- package/build/_services/base/db.service.js +38 -38
- package/build/_services/base/db.service.js.map +1 -1
- package/build/_services/base/db.service.spec.js +1 -1
- package/build/_services/base/singleton.service.d.ts +1 -1
- package/build/_services/base/singleton.service.d.ts.map +1 -1
- package/build/_services/base/singleton.service.js +3 -3
- package/build/_services/base/singleton.service.js.map +1 -1
- package/build/_services/core/api.service.d.ts +6 -6
- package/build/_services/core/api.service.d.ts.map +1 -1
- package/build/_services/core/api.service.js +50 -50
- package/build/_services/core/api.service.js.map +1 -1
- package/build/_services/core/auth.service.d.ts +8 -8
- package/build/_services/core/auth.service.d.ts.map +1 -1
- package/build/_services/core/auth.service.js +5 -5
- package/build/_services/core/auth.service.js.map +1 -1
- package/build/_services/core/email.service.d.ts +8 -8
- package/build/_services/core/email.service.d.ts.map +1 -1
- package/build/_services/core/email.service.js +28 -28
- package/build/_services/core/email.service.js.map +1 -1
- package/build/_services/core/global.service.d.ts +21 -21
- package/build/_services/core/global.service.d.ts.map +1 -1
- package/build/_services/core/global.service.js +31 -31
- package/build/_services/core/global.service.js.map +1 -1
- package/build/_services/core/service-collection.service.d.ts +2 -2
- package/build/_services/core/service-collection.service.d.ts.map +1 -1
- package/build/_services/core/service-collection.service.js +3 -3
- package/build/_services/core/service-collection.service.js.map +1 -1
- package/build/_services/route/controller.service.d.ts +8 -8
- package/build/_services/route/controller.service.d.ts.map +1 -1
- package/build/_services/route/controller.service.js +6 -6
- package/build/_services/route/controller.service.js.map +1 -1
- package/build/_services/route/routing-module.service.d.ts +10 -10
- package/build/_services/route/routing-module.service.d.ts.map +1 -1
- package/build/_services/route/routing-module.service.js +32 -32
- package/build/_services/route/routing-module.service.js.map +1 -1
- package/build/_services/server/app-extended.server.d.ts +13 -13
- package/build/_services/server/app-extended.server.d.ts.map +1 -1
- package/build/_services/server/app-extended.server.js +46 -46
- package/build/_services/server/app-extended.server.js.map +1 -1
- package/build/_services/server/app-extended.server.spec.js +7 -7
- package/build/_services/server/app-extended.server.spec.js.map +1 -1
- package/build/_services/server/app.server.d.ts +39 -39
- package/build/_services/server/app.server.d.ts.map +1 -1
- package/build/_services/server/app.server.js +139 -139
- package/build/_services/server/app.server.js.map +1 -1
- package/build/_services/server/app.server.spec.js +8 -8
- package/build/_services/server/app.server.spec.js.map +1 -1
- package/build/_services/shared.service.spec.js +5 -5
- package/build/_services/shared.service.spec.js.map +1 -1
- package/build/_services/shared.static-service.d.ts +4 -4
- package/build/_services/shared.static-service.d.ts.map +1 -1
- package/build/_services/shared.static-service.js +3 -3
- package/build/_services/shared.static-service.js.map +1 -1
- package/build/_services/socket/socket-client.service.d.ts +8 -8
- package/build/_services/socket/socket-client.service.d.ts.map +1 -1
- package/build/_services/socket/socket-client.service.js +35 -35
- package/build/_services/socket/socket-client.service.js.map +1 -1
- package/build/_services/socket/socket-server.service.d.ts +20 -20
- package/build/_services/socket/socket-server.service.d.ts.map +1 -1
- package/build/_services/socket/socket-server.service.js +86 -86
- package/build/_services/socket/socket-server.service.js.map +1 -1
- package/build/_services/socket/socket-server.service.spec.js +2 -2
- package/build/_services/socket/socket-server.service.spec.js.map +1 -1
- package/package.json +5 -2
- package/src/_constants/global-settings.const.ts +6 -6
- package/src/_constants/mocks/app-extended-server.mock.ts +56 -56
- package/src/_constants/mocks/app-params.mock.ts +2 -2
- package/src/_constants/mocks/app-server.mock.ts +52 -52
- package/src/_constants/mocks/auth-service.mock.ts +2 -2
- package/src/_constants/mocks/controller.mock.ts +6 -6
- package/src/_constants/mocks/data-model.mock.ts +5 -5
- package/src/_constants/mocks/email-service-collection.mock.ts +2 -2
- package/src/_constants/mocks/email-service.mock.ts +2 -2
- package/src/_constants/mocks/endpoint.mock.ts +27 -27
- package/src/_constants/mocks/socket-client.mock.ts +9 -9
- package/src/_constants/mocks/socket-server.mock.ts +13 -13
- package/src/_enums/data-model-type.enum.ts +1 -1
- package/src/_enums/data-service-function.enum.ts +1 -1
- package/src/_enums/http/http-call-type.enum.ts +1 -1
- package/src/_enums/http/http-response-type.enum.ts +1 -1
- package/src/_enums/http/socket-event-type.enum.ts +1 -1
- package/src/_enums/route-security.enum.ts +1 -1
- package/src/_enums/socket-security.enum.ts +1 -1
- package/src/_models/control-models/api-call-params.control-model.ts +11 -11
- package/src/_models/control-models/app-ext-system-controls.control-model.ts +5 -5
- package/src/_models/control-models/app-params.control-model.ts +2 -3
- package/src/_models/control-models/app-system-controls.control-model.ts +6 -6
- package/src/_models/control-models/endpoint-params.control-model.ts +57 -57
- package/src/_models/control-models/http-settings.control-model.ts +2 -2
- package/src/_models/control-models/socket-client-service-params.control-model.ts +3 -2
- package/src/_models/control-models/socket-event.control-model.ts +29 -29
- package/src/_models/control-models/socket-presence.control-model.ts +18 -18
- package/src/_models/control-models/socket-server-service-params.control-model.ts +6 -6
- package/src/_models/control-models/system-control.control-model.ts +1 -1
- package/src/_models/interfaces/certification-settings.interface.ts +1 -1
- package/src/_models/interfaces/global-service-settings.interface.ts +15 -15
- package/src/_models/interfaces/global-settings.interface.ts +5 -5
- package/src/_models/interfaces/routing-module-settings.interface.ts +5 -5
- package/src/_models/types/db-filter.type.ts +11 -11
- package/src/_models/types/db-update.type.ts +3 -3
- package/src/_modules/custom-data/custom-data.controller.ts +16 -16
- package/src/_modules/custom-data/custom-data.data-service.ts +6 -6
- package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +12 -12
- package/src/_modules/test/get-test-routing-module.util.ts +12 -12
- package/src/_modules/test/test.controller.ts +28 -28
- package/src/_modules/usage/get-usage-routing-module.util.ts +12 -12
- package/src/_modules/usage/usage.controller.ts +31 -31
- package/src/_modules/usage/usage.data-service.ts +32 -32
- package/src/_services/base/data.service.ts +66 -66
- package/src/_services/base/db.service.spec.ts +1 -1
- package/src/_services/base/db.service.ts +60 -60
- package/src/_services/base/singleton.service.ts +1 -1
- package/src/_services/core/api.service.ts +70 -70
- package/src/_services/core/auth.service.ts +11 -11
- package/src/_services/core/email.service.ts +47 -47
- package/src/_services/core/global.service.ts +65 -65
- package/src/_services/core/service-collection.service.ts +2 -2
- package/src/_services/route/controller.service.ts +11 -11
- package/src/_services/route/routing-module.service.ts +51 -51
- package/src/_services/server/app-extended.server.spec.ts +12 -12
- package/src/_services/server/app-extended.server.ts +59 -59
- package/src/_services/server/app.server.spec.ts +12 -12
- package/src/_services/server/app.server.ts +187 -187
- package/src/_services/shared.service.spec.ts +6 -6
- package/src/_services/shared.static-service.ts +4 -4
- package/src/_services/socket/socket-client.service.ts +49 -49
- package/src/_services/socket/socket-server.service.spec.ts +3 -3
- package/src/_services/socket/socket-server.service.ts +129 -129
|
@@ -5,19 +5,19 @@ import * as NodeMailer from 'nodemailer';
|
|
|
5
5
|
|
|
6
6
|
import { Options as MailOptions, Attachment } from 'nodemailer/lib/mailer';
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { DyFM_AnyError, DyFM_Array, DyFM_Error, DyFM_Error_Settings, DyFM_Log } from '@futdevpro/fsm-dynamo';
|
|
9
9
|
|
|
10
|
-
export interface
|
|
10
|
+
export interface DyNTS_EmailService_Settings {
|
|
11
11
|
host: string,
|
|
12
12
|
port: number,
|
|
13
13
|
email: string,
|
|
14
14
|
pass: string,
|
|
15
15
|
senderName: string,
|
|
16
16
|
rootPath: string,
|
|
17
|
-
templateComponents?:
|
|
17
|
+
templateComponents?: DyNTS_EmailTemplateComponent[],
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export class
|
|
20
|
+
export class DyNTS_EmailTemplateComponent {
|
|
21
21
|
name: string;
|
|
22
22
|
selector: string;
|
|
23
23
|
|
|
@@ -33,7 +33,7 @@ export class DynamoNTS_EmailTemplateComponent {
|
|
|
33
33
|
subComponentSelectors?: string[] = [];
|
|
34
34
|
|
|
35
35
|
constructor(
|
|
36
|
-
set?:
|
|
36
|
+
set?: DyNTS_EmailTemplateComponent
|
|
37
37
|
) {
|
|
38
38
|
if (set) {
|
|
39
39
|
Object.assign(this, set);
|
|
@@ -41,7 +41,7 @@ export class DynamoNTS_EmailTemplateComponent {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
export interface
|
|
44
|
+
export interface DyNTS_SendEmail_Settings<T = { [propertyKey: string]: string; }> {
|
|
45
45
|
to: string;
|
|
46
46
|
subject: string;
|
|
47
47
|
/** direct email content, if provided, this will be used */
|
|
@@ -56,19 +56,19 @@ export interface DynamoNTS_SendEmail_Settings<T = { [propertyKey: string]: strin
|
|
|
56
56
|
/**
|
|
57
57
|
*
|
|
58
58
|
*/
|
|
59
|
-
export class
|
|
59
|
+
export class DyNTS_EmailService {
|
|
60
60
|
serviceName: string;
|
|
61
61
|
|
|
62
62
|
private nmTransporter: NodeMailer.Transporter;
|
|
63
63
|
private senderName: string;
|
|
64
64
|
private senderNEmail: string;
|
|
65
65
|
|
|
66
|
-
private components:
|
|
66
|
+
private components: DyNTS_EmailTemplateComponent[] = [];
|
|
67
67
|
private componentsBySelector: {
|
|
68
|
-
[selector: string]:
|
|
68
|
+
[selector: string]: DyNTS_EmailTemplateComponent
|
|
69
69
|
} = {};
|
|
70
70
|
private componentsByName: {
|
|
71
|
-
[componentName: string]:
|
|
71
|
+
[componentName: string]: DyNTS_EmailTemplateComponent
|
|
72
72
|
} = {};
|
|
73
73
|
|
|
74
74
|
private readonly styleLimitWarning: number = 16;
|
|
@@ -78,7 +78,7 @@ export class DynamoNTS_EmailService {
|
|
|
78
78
|
`\nplease contact the responsible development team.`;
|
|
79
79
|
|
|
80
80
|
constructor (
|
|
81
|
-
set:
|
|
81
|
+
set: DyNTS_EmailService_Settings
|
|
82
82
|
) {
|
|
83
83
|
this.serviceName = this.constructor?.name;
|
|
84
84
|
this.senderName = set.senderName;
|
|
@@ -98,9 +98,9 @@ export class DynamoNTS_EmailService {
|
|
|
98
98
|
async asyncPostConstruct(): Promise<void> {
|
|
99
99
|
try {
|
|
100
100
|
if (this.components) {
|
|
101
|
-
await
|
|
101
|
+
await DyFM_Array.asyncForEach(
|
|
102
102
|
this.components,
|
|
103
|
-
async (component:
|
|
103
|
+
async (component: DyNTS_EmailTemplateComponent): Promise<void> => {
|
|
104
104
|
await this.loadComponent(component);
|
|
105
105
|
}
|
|
106
106
|
);
|
|
@@ -108,9 +108,9 @@ export class DynamoNTS_EmailService {
|
|
|
108
108
|
this.connectComponents();
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
DyFM_Log.success(`\nEmailService construction (${this.senderName}) Finished!`);
|
|
112
112
|
} catch (error) {
|
|
113
|
-
throw new
|
|
113
|
+
throw new DyFM_Error({
|
|
114
114
|
...this._getDefaultErrorSettings('asyncPostConstruct', error, 'SYSTEM'),
|
|
115
115
|
|
|
116
116
|
errorCode: 'NTS-ES0-APC0',
|
|
@@ -126,7 +126,7 @@ export class DynamoNTS_EmailService {
|
|
|
126
126
|
* @param set
|
|
127
127
|
*/
|
|
128
128
|
public async sendEmail<T>(
|
|
129
|
-
set:
|
|
129
|
+
set: DyNTS_SendEmail_Settings<T>,
|
|
130
130
|
issuer: string
|
|
131
131
|
): Promise<void> {
|
|
132
132
|
try {
|
|
@@ -137,7 +137,7 @@ export class DynamoNTS_EmailService {
|
|
|
137
137
|
|
|
138
138
|
} else {
|
|
139
139
|
if (!set.templateComponentName) {
|
|
140
|
-
throw new
|
|
140
|
+
throw new DyFM_Error({
|
|
141
141
|
...this._getDefaultErrorSettings(
|
|
142
142
|
'sendEmail',
|
|
143
143
|
new Error(
|
|
@@ -151,7 +151,7 @@ export class DynamoNTS_EmailService {
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
if (!this.componentsByName[set.templateComponentName]) {
|
|
154
|
-
throw new
|
|
154
|
+
throw new DyFM_Error({
|
|
155
155
|
...this._getDefaultErrorSettings(
|
|
156
156
|
'sendEmail',
|
|
157
157
|
new Error(
|
|
@@ -193,7 +193,7 @@ export class DynamoNTS_EmailService {
|
|
|
193
193
|
});
|
|
194
194
|
} catch (error) {
|
|
195
195
|
if ((error as Error).message?.includes?.('all recipients were rejected')) {
|
|
196
|
-
throw new
|
|
196
|
+
throw new DyFM_Error({
|
|
197
197
|
...this._getDefaultErrorSettings('sendEmail', error, issuer),
|
|
198
198
|
|
|
199
199
|
addECToUserMsg: false,
|
|
@@ -203,7 +203,7 @@ export class DynamoNTS_EmailService {
|
|
|
203
203
|
});
|
|
204
204
|
|
|
205
205
|
} else {
|
|
206
|
-
throw new
|
|
206
|
+
throw new DyFM_Error({
|
|
207
207
|
...this._getDefaultErrorSettings('sendEmail', error, issuer),
|
|
208
208
|
|
|
209
209
|
errorCode: 'NTS-ES0-SE0',
|
|
@@ -220,7 +220,7 @@ export class DynamoNTS_EmailService {
|
|
|
220
220
|
): string {
|
|
221
221
|
try {
|
|
222
222
|
if (!this.componentsByName[componentName]) {
|
|
223
|
-
throw new
|
|
223
|
+
throw new DyFM_Error({
|
|
224
224
|
...this._getDefaultErrorSettings(
|
|
225
225
|
'setupComponent',
|
|
226
226
|
new Error(`No email component found with this name! (${componentName})`),
|
|
@@ -234,7 +234,7 @@ export class DynamoNTS_EmailService {
|
|
|
234
234
|
});
|
|
235
235
|
}
|
|
236
236
|
|
|
237
|
-
const component:
|
|
237
|
+
const component: DyNTS_EmailTemplateComponent = this.componentsByName[componentName];
|
|
238
238
|
let template: string = this.compileHTMLMainFrame(component);
|
|
239
239
|
|
|
240
240
|
template = template.replace('<nts-content>', '');
|
|
@@ -257,7 +257,7 @@ export class DynamoNTS_EmailService {
|
|
|
257
257
|
|
|
258
258
|
return template;
|
|
259
259
|
} catch (error) {
|
|
260
|
-
throw new
|
|
260
|
+
throw new DyFM_Error({
|
|
261
261
|
...this._getDefaultErrorSettings('setupComponent', error, issuer),
|
|
262
262
|
|
|
263
263
|
errorCode: 'NTS-ES0-SC0',
|
|
@@ -266,7 +266,7 @@ export class DynamoNTS_EmailService {
|
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
|
|
269
|
-
private compileHTMLMainFrame(component:
|
|
269
|
+
private compileHTMLMainFrame(component: DyNTS_EmailTemplateComponent): string {
|
|
270
270
|
const allLinks: string[] = [];
|
|
271
271
|
const allStyles: string[] = [];
|
|
272
272
|
|
|
@@ -279,7 +279,7 @@ export class DynamoNTS_EmailService {
|
|
|
279
279
|
}
|
|
280
280
|
|
|
281
281
|
component.subComponentSelectors.forEach((subComponentSelector: string): void => {
|
|
282
|
-
const subComponent:
|
|
282
|
+
const subComponent: DyNTS_EmailTemplateComponent =
|
|
283
283
|
this.componentsBySelector[subComponentSelector];
|
|
284
284
|
|
|
285
285
|
if (subComponent.headerLinks) {
|
|
@@ -295,7 +295,7 @@ export class DynamoNTS_EmailService {
|
|
|
295
295
|
const styleSize = this.getStringKBSize(styles);
|
|
296
296
|
|
|
297
297
|
if (this.styleLimitWarning < styleSize) {
|
|
298
|
-
|
|
298
|
+
DyFM_Log.warn(
|
|
299
299
|
`\nDynamoNTS EmailService WARNING (${this.serviceName}), ` +
|
|
300
300
|
`\nEmail template styles are too big! (${styleSize}KB)` +
|
|
301
301
|
`\ncomponent: ${component.name} (${component.selector})` +
|
|
@@ -355,14 +355,14 @@ export class DynamoNTS_EmailService {
|
|
|
355
355
|
}
|
|
356
356
|
|
|
357
357
|
private compileComponentProperties<T>(
|
|
358
|
-
component:
|
|
358
|
+
component: DyNTS_EmailTemplateComponent,
|
|
359
359
|
componentProperties: T,
|
|
360
360
|
template: string,
|
|
361
361
|
issuer: string
|
|
362
362
|
): string {
|
|
363
363
|
component.properties.forEach((propertyKey: string): void => {
|
|
364
364
|
if (!componentProperties[propertyKey]) {
|
|
365
|
-
throw new
|
|
365
|
+
throw new DyFM_Error({
|
|
366
366
|
...this._getDefaultErrorSettings(
|
|
367
367
|
'setupComponent',
|
|
368
368
|
new Error(
|
|
@@ -392,11 +392,11 @@ export class DynamoNTS_EmailService {
|
|
|
392
392
|
template: string,
|
|
393
393
|
issuer: string
|
|
394
394
|
): string {
|
|
395
|
-
const subComponent:
|
|
395
|
+
const subComponent: DyNTS_EmailTemplateComponent =
|
|
396
396
|
this.componentsBySelector[subComponentSelector];
|
|
397
397
|
|
|
398
398
|
if (!subComponent) {
|
|
399
|
-
throw new
|
|
399
|
+
throw new DyFM_Error({
|
|
400
400
|
...this._getDefaultErrorSettings(
|
|
401
401
|
'setupComponent',
|
|
402
402
|
new Error(`SubComponent missing from components! (${subComponentSelector})`),
|
|
@@ -451,10 +451,10 @@ export class DynamoNTS_EmailService {
|
|
|
451
451
|
return template;
|
|
452
452
|
}
|
|
453
453
|
|
|
454
|
-
private async loadComponent(component:
|
|
454
|
+
private async loadComponent(component: DyNTS_EmailTemplateComponent): Promise<void> {
|
|
455
455
|
try {
|
|
456
456
|
if (this.componentsBySelector[component.selector]) {
|
|
457
|
-
throw new
|
|
457
|
+
throw new DyFM_Error({
|
|
458
458
|
...this._getDefaultErrorSettings('loadComponent', new Error(), 'SYSTEM'),
|
|
459
459
|
|
|
460
460
|
errorCode: 'NTS-ES0-LC1',
|
|
@@ -463,7 +463,7 @@ export class DynamoNTS_EmailService {
|
|
|
463
463
|
}
|
|
464
464
|
|
|
465
465
|
if (!component.templatePath && !component.template) {
|
|
466
|
-
throw new
|
|
466
|
+
throw new DyFM_Error({
|
|
467
467
|
...this._getDefaultErrorSettings('loadComponent', new Error(), 'SYSTEM'),
|
|
468
468
|
|
|
469
469
|
errorCode: 'NTS-ES0-LC2',
|
|
@@ -483,7 +483,7 @@ export class DynamoNTS_EmailService {
|
|
|
483
483
|
}
|
|
484
484
|
|
|
485
485
|
reject(
|
|
486
|
-
new
|
|
486
|
+
new DyFM_Error({
|
|
487
487
|
...this._getDefaultErrorSettings('loadTemplate', err, 'SYSTEM'),
|
|
488
488
|
|
|
489
489
|
errorCode: 'NTS-ES0-LC3',
|
|
@@ -512,7 +512,7 @@ export class DynamoNTS_EmailService {
|
|
|
512
512
|
}
|
|
513
513
|
|
|
514
514
|
reject(
|
|
515
|
-
new
|
|
515
|
+
new DyFM_Error({
|
|
516
516
|
...this._getDefaultErrorSettings('loadTemplate', err, 'SYSTEM'),
|
|
517
517
|
|
|
518
518
|
errorCode: 'NTS-ES0-LC4',
|
|
@@ -535,7 +535,7 @@ export class DynamoNTS_EmailService {
|
|
|
535
535
|
|
|
536
536
|
component.properties.forEach((propertyKey: string): void => {
|
|
537
537
|
if (!component.template.includes(`{{${propertyKey}}}`)) {
|
|
538
|
-
throw new
|
|
538
|
+
throw new DyFM_Error({
|
|
539
539
|
...this._getDefaultErrorSettings(
|
|
540
540
|
'loadComponent',
|
|
541
541
|
new Error(
|
|
@@ -550,7 +550,7 @@ export class DynamoNTS_EmailService {
|
|
|
550
550
|
}
|
|
551
551
|
});
|
|
552
552
|
} catch (error) {
|
|
553
|
-
throw new
|
|
553
|
+
throw new DyFM_Error({
|
|
554
554
|
...this._getDefaultErrorSettings('loadComponent', error, 'SYSTEM'),
|
|
555
555
|
|
|
556
556
|
errorCode: 'NTS-ES0-LC0',
|
|
@@ -577,7 +577,7 @@ export class DynamoNTS_EmailService {
|
|
|
577
577
|
|
|
578
578
|
if (fullSelector) {
|
|
579
579
|
if (!this.componentsBySelector[subComponentSelector]) {
|
|
580
|
-
throw new
|
|
580
|
+
throw new DyFM_Error({
|
|
581
581
|
...this._getDefaultErrorSettings(
|
|
582
582
|
'connectComponents',
|
|
583
583
|
new Error(`SubComponent missing from components! (${fullSelector})`),
|
|
@@ -600,7 +600,7 @@ export class DynamoNTS_EmailService {
|
|
|
600
600
|
);
|
|
601
601
|
}
|
|
602
602
|
} catch (error) {
|
|
603
|
-
throw new
|
|
603
|
+
throw new DyFM_Error({
|
|
604
604
|
...this._getDefaultErrorSettings('connectComponents', error, 'SYSTEM'),
|
|
605
605
|
|
|
606
606
|
errorCode: 'NTS-ES0-CC0',
|
|
@@ -622,13 +622,13 @@ export class DynamoNTS_EmailService {
|
|
|
622
622
|
|
|
623
623
|
while (propertyOpenTagIndex >= 0) {
|
|
624
624
|
if (propertyCloseTagIndex === -1) {
|
|
625
|
-
|
|
625
|
+
DyFM_Log.error(
|
|
626
626
|
`\nDynamoBEEmailService ERROR, missing closing tag from email template! ` +
|
|
627
627
|
`(${propertyOpenTagIndex} -)`,
|
|
628
628
|
propertyKeys
|
|
629
629
|
);
|
|
630
630
|
|
|
631
|
-
throw new
|
|
631
|
+
throw new DyFM_Error({
|
|
632
632
|
errorCode: 'NTS-ES0-200',
|
|
633
633
|
addECToUserMsg: true,
|
|
634
634
|
message: `ERROR, missing closing tag from email template! (${propertyOpenTagIndex} -)`,
|
|
@@ -650,7 +650,7 @@ export class DynamoNTS_EmailService {
|
|
|
650
650
|
|
|
651
651
|
return propertyKeys;
|
|
652
652
|
} catch (error) {
|
|
653
|
-
throw new
|
|
653
|
+
throw new DyFM_Error({
|
|
654
654
|
...this._getDefaultErrorSettings('getTemplatePropertyKeys', error, 'SYSTEM'),
|
|
655
655
|
|
|
656
656
|
errorCode: 'NTS-ES0-GTPK0',
|
|
@@ -662,14 +662,14 @@ export class DynamoNTS_EmailService {
|
|
|
662
662
|
|
|
663
663
|
private _getDefaultErrorSettings(
|
|
664
664
|
fnName: string,
|
|
665
|
-
error:
|
|
665
|
+
error: DyFM_AnyError,
|
|
666
666
|
issuer: string
|
|
667
|
-
):
|
|
667
|
+
): DyFM_Error_Settings {
|
|
668
668
|
return {
|
|
669
|
-
status: (error as
|
|
669
|
+
status: (error as DyFM_Error)?.___status ?? 500,
|
|
670
670
|
message: (error as Error)?.message ?? `${fnName} was UNSUCCESFUL (NTS; ${this.serviceName})`,
|
|
671
|
-
addECToUserMsg: !(error as
|
|
672
|
-
userMessage: (error as
|
|
671
|
+
addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
|
|
672
|
+
userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
|
|
673
673
|
issuer: issuer,
|
|
674
674
|
issuerService: this.serviceName,
|
|
675
675
|
error: error,
|
|
@@ -3,36 +3,36 @@
|
|
|
3
3
|
import { Request, Response } from 'express';
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
|
-
|
|
6
|
+
DyFM_Metadata, DyFM_DataModel_Params, DyFM_Log, DyFM_Error, DyFM_Array
|
|
7
7
|
} from '@futdevpro/fsm-dynamo';
|
|
8
|
-
import {
|
|
8
|
+
import { DyNTS_App_Params } from '../../_models/control-models/app-params.control-model';
|
|
9
9
|
|
|
10
10
|
import {
|
|
11
|
-
|
|
11
|
+
DyNTS_GlobalService_Settings
|
|
12
12
|
} from '../../_models/interfaces/global-service-settings.interface';
|
|
13
13
|
|
|
14
|
-
import {
|
|
15
|
-
/* import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
/* import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
14
|
+
import { DyNTS_AuthService } from './auth.service';
|
|
15
|
+
/* import { DyNTS_DBServiceCollection } from './db-service-collection.service'; */
|
|
16
|
+
import { DyNTS_DBService } from '../base/db.service';
|
|
17
|
+
import { DyNTS_EmailService } from './email.service';
|
|
18
|
+
import { DyNTS_Service_Collection } from './service-collection.service';
|
|
19
|
+
/* import { DyNTS_EmailServiceCollection } from './email-service-collection.service'; */
|
|
20
|
+
import { DyNTS_SingletonService } from '../base/singleton.service';
|
|
21
|
+
import { DyNTS_globalSettings } from '../../_constants';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* This is the main Global/Core Service Collection used by DynamoBE,
|
|
25
25
|
* you also can use this to access main services as
|
|
26
26
|
* dbServices, emailServices, or authService
|
|
27
27
|
*/
|
|
28
|
-
export class
|
|
28
|
+
export class DyNTS_GlobalService extends DyNTS_SingletonService {
|
|
29
29
|
|
|
30
|
-
static getInstance():
|
|
31
|
-
return
|
|
30
|
+
static getInstance(): DyNTS_GlobalService {
|
|
31
|
+
return DyNTS_GlobalService.getSingletonInstance();
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
private static _params:
|
|
35
|
-
static get params():
|
|
34
|
+
private static _params: DyNTS_App_Params;
|
|
35
|
+
static get params(): DyNTS_App_Params {
|
|
36
36
|
return this._params;
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
44
44
|
return +new Date() - +this._upSince;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
authService:
|
|
48
|
-
dbServiceCollection:
|
|
49
|
-
emailServiceCollection:
|
|
47
|
+
authService: DyNTS_AuthService;
|
|
48
|
+
dbServiceCollection: DyNTS_Service_Collection<DyNTS_DBService<any>>;
|
|
49
|
+
emailServiceCollection: DyNTS_Service_Collection<DyNTS_EmailService>;
|
|
50
50
|
|
|
51
51
|
static globalErrorHandler?: (
|
|
52
52
|
err: any,
|
|
@@ -58,15 +58,15 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
58
58
|
/**
|
|
59
59
|
* You need to setup global Services through this function
|
|
60
60
|
*/
|
|
61
|
-
static async setServices(set:
|
|
61
|
+
static async setServices(set: DyNTS_GlobalService_Settings): Promise<void> {
|
|
62
62
|
this.getInstance();
|
|
63
63
|
|
|
64
64
|
try {
|
|
65
65
|
this.instance.dbServiceCollection = {};
|
|
66
|
-
set.dbModels?.forEach((dbModel:
|
|
66
|
+
set.dbModels?.forEach((dbModel: DyFM_DataModel_Params): void => {
|
|
67
67
|
if (!dbModel.constructed) {
|
|
68
|
-
throw new
|
|
69
|
-
message: `
|
|
68
|
+
throw new DyFM_Error({
|
|
69
|
+
message: `DyNTS_GlobalService.setServices failed, ` +
|
|
70
70
|
`ERROR: dbModel is not constructed!`,
|
|
71
71
|
errorCode: 'NTS-GS0-SS1',
|
|
72
72
|
additionalContent: {
|
|
@@ -76,13 +76,13 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
try {
|
|
79
|
-
this.instance.dbServiceCollection[dbModel.dataName] = new
|
|
79
|
+
this.instance.dbServiceCollection[dbModel.dataName] = new DyNTS_DBService(dbModel);
|
|
80
80
|
} catch (error) {
|
|
81
|
-
|
|
81
|
+
DyFM_Log.error(`Failed to create DyNTS_DBService (${dbModel.dataName}).`, error);
|
|
82
82
|
|
|
83
|
-
throw new
|
|
84
|
-
message: `Failed to create
|
|
85
|
-
issuerService: '
|
|
83
|
+
throw new DyFM_Error({
|
|
84
|
+
message: `Failed to create DyNTS_DBService (${dbModel.dataName}).`,
|
|
85
|
+
issuerService: 'DyNTS_GlobalService',
|
|
86
86
|
error: error,
|
|
87
87
|
additionalContent: {
|
|
88
88
|
dbModel: dbModel,
|
|
@@ -92,46 +92,46 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
92
92
|
});
|
|
93
93
|
|
|
94
94
|
if (!set.authService) {
|
|
95
|
-
|
|
95
|
+
DyFM_Log.warn(`Authentication Service missing!`);
|
|
96
96
|
} else {
|
|
97
97
|
this.instance.authService = set.authService;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
this.instance.emailServiceCollection = set.emailServiceCollection ?? {};
|
|
101
|
-
await
|
|
101
|
+
await DyFM_Array.asyncForEach(
|
|
102
102
|
Object.keys(this.instance.emailServiceCollection),
|
|
103
103
|
async (key: string): Promise<void> => {
|
|
104
104
|
await (
|
|
105
|
-
this.instance.emailServiceCollection[key] as
|
|
105
|
+
this.instance.emailServiceCollection[key] as DyNTS_EmailService
|
|
106
106
|
).asyncPostConstruct();
|
|
107
107
|
}
|
|
108
108
|
);
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
DyNTS_GlobalService.globalErrorHandler =
|
|
111
111
|
set.errorHandler ??
|
|
112
112
|
(async (error: any): Promise<void> => {
|
|
113
|
-
|
|
113
|
+
DyFM_Log.warn(`globalErrorHandler not set!`);
|
|
114
114
|
|
|
115
|
-
if (
|
|
116
|
-
|
|
115
|
+
if (DyNTS_globalSettings.logDetailedErrors) {
|
|
116
|
+
DyFM_Log.error(`ERROR:\n`, error);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
if (error?.flag?.includes?.('DYNAMO-ERROR-OBJECT')) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
DyFM_Log.error(`\nErrorMessage: ${(error as DyFM_Error)._message}`);
|
|
121
|
+
DyFM_Log.error(`ErrorCode: ${(error as DyFM_Error)._errorCode}`);
|
|
122
|
+
DyFM_Log.error(`UserMessage: ${(error as DyFM_Error).__userMessage}`);
|
|
123
123
|
}
|
|
124
124
|
});
|
|
125
125
|
} catch (error) {
|
|
126
|
-
throw new
|
|
127
|
-
message: `Failed to setServices on
|
|
126
|
+
throw new DyFM_Error({
|
|
127
|
+
message: `Failed to setServices on DyNTS_GlobalService.`,
|
|
128
128
|
error: error,
|
|
129
129
|
errorCode: 'NTS-GS0-SS0',
|
|
130
130
|
});
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
static setParams(params:
|
|
134
|
+
static setParams(params: DyNTS_App_Params): void {
|
|
135
135
|
this._params = params;
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -139,12 +139,12 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
139
139
|
*
|
|
140
140
|
* @returns
|
|
141
141
|
*/
|
|
142
|
-
static getAuthService():
|
|
143
|
-
/* if (!(this.instance?.authService as
|
|
142
|
+
static getAuthService(): DyNTS_AuthService {
|
|
143
|
+
/* if (!(this.instance?.authService as DyNTS_AuthService)?.authenticate_token) {
|
|
144
144
|
throw new Error(
|
|
145
145
|
`\n Unique Authentication Service missing!` +
|
|
146
|
-
`\n Please create a Unique Authentication Service extending
|
|
147
|
-
`\n and Setup with
|
|
146
|
+
`\n Please create a Unique Authentication Service extending DyNTS_AuthService, ` +
|
|
147
|
+
`\n and Setup with DyNTS_GlobalServiceC.setServices(...)\n`
|
|
148
148
|
);
|
|
149
149
|
} */
|
|
150
150
|
|
|
@@ -155,13 +155,13 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
155
155
|
*
|
|
156
156
|
* @returns
|
|
157
157
|
*/
|
|
158
|
-
static getDBServiceCollection():
|
|
158
|
+
static getDBServiceCollection(): DyNTS_Service_Collection<DyNTS_DBService<any>> {
|
|
159
159
|
if (!this.instance?.dbServiceCollection) {
|
|
160
160
|
throw new Error(
|
|
161
161
|
`\n Unique DataBase Service Collection missing!` +
|
|
162
162
|
`\n Please create a Unique DataBase Service Collection extending ` +
|
|
163
|
-
`
|
|
164
|
-
`\n and Setup with
|
|
163
|
+
`DyNTS_DBServiceCollection, ` +
|
|
164
|
+
`\n and Setup with DyNTS_GlobalServiceC.setServices(...)\n`
|
|
165
165
|
);
|
|
166
166
|
}
|
|
167
167
|
|
|
@@ -173,9 +173,9 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
173
173
|
* @param dataParams
|
|
174
174
|
* @returns
|
|
175
175
|
*/
|
|
176
|
-
static getDBService<T extends
|
|
177
|
-
dataParams:
|
|
178
|
-
):
|
|
176
|
+
static getDBService<T extends DyFM_Metadata>(
|
|
177
|
+
dataParams: DyFM_DataModel_Params
|
|
178
|
+
): DyNTS_DBService<T> {
|
|
179
179
|
return this.getDBServiceByKey<T>(dataParams.dataName);
|
|
180
180
|
}
|
|
181
181
|
|
|
@@ -184,18 +184,18 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
184
184
|
* @param key
|
|
185
185
|
* @returns
|
|
186
186
|
*/
|
|
187
|
-
static getDBServiceByKey<T extends
|
|
187
|
+
static getDBServiceByKey<T extends DyFM_Metadata>(key: string): DyNTS_DBService<T> {
|
|
188
188
|
const collection = this.getDBServiceCollection();
|
|
189
189
|
|
|
190
190
|
if (collection[key]) {
|
|
191
|
-
return collection[key] as
|
|
191
|
+
return collection[key] as DyNTS_DBService<T>;
|
|
192
192
|
} else {
|
|
193
193
|
let keys: string = `${Object.keys(collection)}`;
|
|
194
194
|
|
|
195
195
|
keys = keys.replace(/,/g, '\n ');
|
|
196
196
|
|
|
197
197
|
throw new Error(
|
|
198
|
-
`\n
|
|
198
|
+
`\n DyNTS_GlobalService.getDBService failed, ERROR: ` +
|
|
199
199
|
`\n no dbService on collection with this key: ${key}!` +
|
|
200
200
|
`\n The available dbServices on collection:` +
|
|
201
201
|
`\n ${keys}\n`
|
|
@@ -207,13 +207,13 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
207
207
|
*
|
|
208
208
|
* @returns
|
|
209
209
|
*/
|
|
210
|
-
static getEmailServiceCollection():
|
|
210
|
+
static getEmailServiceCollection(): DyNTS_Service_Collection<DyNTS_EmailService> {
|
|
211
211
|
if (!this.instance?.emailServiceCollection) {
|
|
212
212
|
throw new Error(
|
|
213
213
|
`\n Unique Email Service Collection missing!` +
|
|
214
214
|
`\n Please create a Unique Email Service Collection extending ` +
|
|
215
215
|
`DynamoBEEmailServiceCollection, ` +
|
|
216
|
-
`\n and Setup with
|
|
216
|
+
`\n and Setup with DyNTS_GlobalServiceC.setServices(...)\n`
|
|
217
217
|
);
|
|
218
218
|
}
|
|
219
219
|
|
|
@@ -224,13 +224,13 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
224
224
|
*
|
|
225
225
|
* @returns
|
|
226
226
|
*/
|
|
227
|
-
/* static getSocketServiceCollection():
|
|
227
|
+
/* static getSocketServiceCollection(): DyNTS_SocketServiceCollection {
|
|
228
228
|
if (!this.instance?.socketServiceCollection) {
|
|
229
229
|
throw new Error(
|
|
230
230
|
`\nUnique Socket Service Collection missing!` +
|
|
231
231
|
`\nSocket Service Collection will only be created if there are Socket Services properly setted up ` +
|
|
232
|
-
`in the setupModules in the App using
|
|
233
|
-
`and Setup with "
|
|
232
|
+
`in the setupModules in the App using DyNTS_AppExtended, ` +
|
|
233
|
+
`and Setup with "DyNTS_GlobalServiceC.setServices(...)"`);
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
return this.instance.socketServiceCollection;
|
|
@@ -241,8 +241,8 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
241
241
|
* @param name
|
|
242
242
|
* @returns
|
|
243
243
|
*/
|
|
244
|
-
/* static getSocketServiceByName(name: string):
|
|
245
|
-
const collection:
|
|
244
|
+
/* static getSocketServiceByName(name: string): DyNTS_SocketService<any> {
|
|
245
|
+
const collection: DyNTS_SocketServiceCollection = this.getSocketServiceCollection();
|
|
246
246
|
if (collection[name]) {
|
|
247
247
|
return collection[name];
|
|
248
248
|
} else {
|
|
@@ -250,15 +250,15 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
250
250
|
names = names.replace(/,/g, '\n ');
|
|
251
251
|
|
|
252
252
|
throw new Error(
|
|
253
|
-
`\
|
|
253
|
+
`\nDyNTS_GlobalService.getSocketServiceByName failed, ERROR:
|
|
254
254
|
no socketService on collection with this name: ${name}!
|
|
255
255
|
The available socketServices on collection:
|
|
256
256
|
${names}\n`);
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
259
|
|
|
260
|
-
static attachNewSocketService(service:
|
|
261
|
-
const collection:
|
|
260
|
+
static attachNewSocketService(service: DyNTS_SocketService<any>): void {
|
|
261
|
+
const collection: DyNTS_SocketServiceCollection = this.getSocketServiceCollection();
|
|
262
262
|
if (!collection[service.name]) {
|
|
263
263
|
collection[service.name] = service;
|
|
264
264
|
} else {
|
|
@@ -266,7 +266,7 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
|
|
|
266
266
|
names = names.replace(/,/g, '\n ');
|
|
267
267
|
|
|
268
268
|
throw new Error(
|
|
269
|
-
`\
|
|
269
|
+
`\nDyNTS_GlobalService.attachNewSocketService failed, ERROR:
|
|
270
270
|
socketService name is already taken on collection with this name: ${service.name}!
|
|
271
271
|
The available socketServices on collection:
|
|
272
272
|
${names}\n`);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DyNTS_SingletonService } from '../base/singleton.service';
|
|
2
2
|
|
|
3
|
-
export class
|
|
3
|
+
export class DyNTS_Service_Collection<T> extends DyNTS_SingletonService {
|
|
4
4
|
[service: string]: T;
|
|
5
5
|
}
|