@futdevpro/nts-dynamo 1.15.15 → 1.15.16
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/.c8rc.json +26 -26
- package/.copilot/patterns.json +7 -7
- package/.cursor/rules/__assistant_guide.mdc +30 -30
- package/.cursor/rules/_ag_backend-structure.mdc +85 -85
- package/.cursor/rules/_ag_backend.mdc +16 -16
- package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
- package/.cursor/rules/_ag_frontend.mdc +39 -39
- package/.cursor/rules/_ag_import-rules.mdc +44 -44
- package/.cursor/rules/_ag_naming.mdc +115 -115
- package/.cursor/rules/_ag_should-be.mdc +6 -6
- package/.cursor/rules/ai_development_guide.md +60 -60
- package/.cursor/rules/cursor-rules.md +160 -160
- package/.cursor/rules/default-command.mdc +464 -464
- package/.cursor/rules/error_code_pattern.md +39 -39
- package/.cursor/rules/saved rule mcp server use.md +15 -15
- package/.dynamo/version-bump.config.json +5 -0
- package/.github/workflows/main.yml +426 -393
- package/.husky/pre-commit +1 -0
- package/.vscode/settings.json +10 -10
- package/HOWTO.md +15 -15
- package/LICENSE +21 -21
- package/__documentations/2026-04-28-logs-module.md +49 -0
- package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
- package/_specifications/BACKLOG.md +50 -50
- package/_specifications/TODO.md +15 -15
- package/_specifications/agent.md +138 -138
- package/eslint.config.js +3 -3
- package/nodemon.json +24 -24
- package/package.json +343 -362
- package/pipeline.cicd.config.json +152 -0
- package/scripts/run-coverage-tests.js +28 -28
- package/spec/support/helpers/spec-reporter-loader.js +359 -359
- package/spec/support/helpers/ts-node-helper.js +93 -93
- package/spec/support/jasmine.coverage.json +24 -24
- package/spec/support/jasmine.json +24 -24
- package/src/_collections/archive.util.spec.ts +57 -57
- package/src/_collections/archive.util.ts +18 -18
- package/src/_collections/atlas-default-db-options.const.ts +9 -9
- package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
- package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
- package/src/_collections/default-not-found-page.const.spec.ts +19 -19
- package/src/_collections/default-not-found-page.const.ts +22 -22
- package/src/_collections/default-socket-path.const.spec.ts +12 -12
- package/src/_collections/default-socket-path.const.ts +2 -2
- package/src/_collections/get-environment-settings.util.spec.ts +210 -210
- package/src/_collections/get-environment-settings.util.ts +48 -48
- package/src/_collections/sample.env +21 -21
- package/src/_collections/star.controller.spec.ts +224 -224
- package/src/_collections/star.controller.ts +129 -129
- package/src/_enums/data-model-type.enum.ts +14 -14
- package/src/_enums/data-service-function.enum.ts +24 -24
- package/src/_enums/predefined-data-types.enum.ts +16 -16
- package/src/_enums/route-security.enum.ts +12 -12
- package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
- package/src/_models/control-models/api-call-params.control-model.ts +142 -142
- package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
- package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
- package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
- package/src/_models/control-models/app-params.control-model.ts +136 -136
- package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
- package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
- package/src/_models/control-models/endpoint-params.control-model.spec.ts +578 -578
- package/src/_models/control-models/endpoint-params.control-model.ts +526 -526
- package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
- package/src/_models/control-models/http-settings.control-model.ts +37 -37
- package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
- package/src/_models/control-models/system-control.control-model.ts +12 -12
- package/src/_models/interfaces/certification-settings.interface.ts +7 -7
- package/src/_models/interfaces/environment-settings.interface.ts +59 -59
- package/src/_models/interfaces/global-log-settings.interface.ts +108 -108
- package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
- package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
- package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
- package/src/_models/interfaces/static-client-settings.interface.ts +28 -28
- package/src/_models/types/db-update.type.ts +100 -100
- package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
- package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
- package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
- package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
- package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
- package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
- package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
- package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
- package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
- package/src/_modules/ai/_modules/document-ai/index.ts +28 -28
- package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
- package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
- package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
- package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
- package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
- package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
- package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +240 -240
- package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +98 -98
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +615 -615
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +437 -437
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +833 -833
- package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
- package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
- package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
- package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
- package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
- package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
- package/src/_modules/ai/_services/ai-llm.service-base.ts +332 -332
- package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +79 -79
- package/src/_modules/ai/_services/ai-provider.service-base.ts +29 -29
- package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
- package/src/_modules/ai/index.ts +13 -13
- package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
- package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
- package/src/_modules/assistant/_collections/ass.util.ts +50 -50
- package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
- package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
- package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
- package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
- package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
- package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
- package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
- package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
- package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
- package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
- package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
- package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
- package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
- package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
- package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
- package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
- package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
- package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
- package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
- package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
- package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
- package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
- package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
- package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
- package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
- package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
- package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
- package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
- package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
- package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
- package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
- package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
- package/src/_modules/custom-data/custom-data.controller.ts +67 -67
- package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
- package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
- package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
- package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
- package/src/_modules/custom-data/index.ts +9 -9
- package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
- package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
- package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
- package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
- package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
- package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
- package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
- package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
- package/src/_modules/defaults/index.ts +17 -17
- package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
- package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
- package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
- package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
- package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
- package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
- package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
- package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
- package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
- package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
- package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
- package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
- package/src/_modules/discord-assistant/index.ts +38 -38
- package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
- package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
- package/src/_modules/discord-assistant-voiced/index.ts +36 -36
- package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
- package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
- package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
- package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
- package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
- package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
- package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
- package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
- package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
- package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
- package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
- package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
- package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
- package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
- package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
- package/src/_modules/discord-bot/index.ts +36 -36
- package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +19 -19
- package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
- package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
- package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +345 -345
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +330 -330
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +393 -393
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +220 -220
- package/src/_modules/local-vector-search/index.ts +11 -11
- package/src/_modules/messaging/README.md +354 -354
- package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
- package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
- package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
- package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
- package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
- package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
- package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
- package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
- package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
- package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
- package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
- package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
- package/src/_modules/messaging/index.ts +30 -30
- package/src/_modules/mock/app-extended-server.mock.ts +201 -201
- package/src/_modules/mock/app-integration-test.mock.ts +51 -51
- package/src/_modules/mock/app-params.mock.spec.ts +21 -21
- package/src/_modules/mock/app-params.mock.ts +9 -9
- package/src/_modules/mock/app-server.mock.ts +188 -188
- package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
- package/src/_modules/mock/auth-service.mock.ts +28 -28
- package/src/_modules/mock/controller.mock.spec.ts +26 -26
- package/src/_modules/mock/controller.mock.ts +16 -16
- package/src/_modules/mock/data-model.mock.spec.ts +111 -111
- package/src/_modules/mock/data-model.mock.ts +82 -82
- package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
- package/src/_modules/mock/email-service-collection.mock.ts +15 -15
- package/src/_modules/mock/email-service.mock.spec.ts +17 -17
- package/src/_modules/mock/email-service.mock.ts +20 -20
- package/src/_modules/mock/email-template.mock.html +14 -14
- package/src/_modules/mock/endpoint.mock.ts +91 -91
- package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
- package/src/_modules/mock/socket-client.mock.ts +45 -45
- package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
- package/src/_modules/mock/socket-server.mock.ts +46 -46
- package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
- package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
- package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
- package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
- package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
- package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
- package/src/_modules/oauth2/index.ts +17 -17
- package/src/_modules/server/errors/errors.control-service.spec.ts +230 -230
- package/src/_modules/server/errors/errors.control-service.ts +69 -69
- package/src/_modules/server/errors/errors.controller.spec.ts +165 -165
- package/src/_modules/server/errors/errors.controller.ts +270 -270
- package/src/_modules/server/errors/errors.data-service.spec.ts +355 -355
- package/src/_modules/server/index.ts +30 -30
- package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
- package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
- package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
- package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
- package/src/_modules/server/server-status/server-status.control-service.spec.ts +516 -516
- package/src/_modules/server/server-status/server-status.control-service.ts +336 -336
- package/src/_modules/server/server-status/server-status.controller.spec.ts +156 -156
- package/src/_modules/server/server-status/server-status.controller.ts +131 -131
- package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
- package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
- package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
- package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -164
- package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -210
- package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +46 -46
- package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +22 -22
- package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
- package/src/_modules/socket/_services/socket-client.service.ts +260 -260
- package/src/_modules/socket/_services/socket-server.service.spec.ts +11 -11
- package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
- package/src/_modules/socket/app-extended.server.ts +630 -630
- package/src/_modules/socket/index.ts +42 -42
- package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
- package/src/_modules/test/get-test-routing-module.util.ts +23 -23
- package/src/_modules/test/index.ts +11 -11
- package/src/_modules/test/test.controller.spec.ts +72 -72
- package/src/_modules/test/test.controller.ts +115 -115
- package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
- package/src/_modules/usage/index.ts +15 -15
- package/src/_modules/usage/usage.controller.spec.ts +81 -81
- package/src/_modules/usage/usage.controller.ts +126 -126
- package/src/_modules/usage/usage.data-service.spec.ts +332 -332
- package/src/_modules/usage/usage.data-service.ts +185 -185
- package/src/_services/base/api.service-base.spec.ts +125 -125
- package/src/_services/base/api.service-base.ts +74 -74
- package/src/_services/base/archive-data.service.spec.ts +196 -196
- package/src/_services/base/archive-data.service.ts +216 -216
- package/src/_services/base/data.service.spec.ts +493 -493
- package/src/_services/base/data.service.ts +2525 -2525
- package/src/_services/base/db.service.spec.ts +73 -73
- package/src/_services/base/db.service.ts +1575 -1575
- package/src/_services/base/singleton.service-base.spec.ts +28 -28
- package/src/_services/base/singleton.service-base.ts +24 -24
- package/src/_services/base/singleton.service.spec.ts +114 -114
- package/src/_services/base/singleton.service.ts +38 -38
- package/src/_services/core/api.service.spec.ts +140 -140
- package/src/_services/core/auth.service.spec.ts +159 -159
- package/src/_services/core/auth.service.ts +174 -174
- package/src/_services/core/email.service.spec.ts +85 -85
- package/src/_services/core/email.service.ts +742 -742
- package/src/_services/core/global.service.spec.ts +275 -275
- package/src/_services/core/global.service.ts +461 -461
- package/src/_services/core/service-collection.service.spec.ts +46 -46
- package/src/_services/core/service-collection.service.ts +6 -6
- package/src/_services/route/controller.service.spec.ts +53 -53
- package/src/_services/route/controller.service.ts +148 -148
- package/src/_services/route/routing-module.service.spec.ts +98 -98
- package/src/_services/route/routing-module.service.ts +330 -330
- package/src/_services/shared.static-service.spec.ts +99 -99
- package/src/_services/shared.static-service.ts +78 -78
- package/src/index.ts +94 -94
- package/tsconfig.app.json +12 -12
- package/tsconfig.json +42 -42
- package/build/_modules/logs/get-logs-routing-module.util.d.ts +0 -19
- package/build/_modules/logs/get-logs-routing-module.util.d.ts.map +0 -1
- package/build/_modules/logs/get-logs-routing-module.util.js +0 -32
- package/build/_modules/logs/get-logs-routing-module.util.js.map +0 -1
- package/build/_modules/logs/index.d.ts +0 -4
- package/build/_modules/logs/index.d.ts.map +0 -1
- package/build/_modules/logs/index.js +0 -10
- package/build/_modules/logs/index.js.map +0 -1
- package/build/_modules/logs/log-buffer.service.d.ts +0 -38
- package/build/_modules/logs/log-buffer.service.d.ts.map +0 -1
- package/build/_modules/logs/log-buffer.service.js +0 -97
- package/build/_modules/logs/log-buffer.service.js.map +0 -1
- package/build/_modules/logs/logs.controller.d.ts +0 -27
- package/build/_modules/logs/logs.controller.d.ts.map +0 -1
- package/build/_modules/logs/logs.controller.js +0 -90
- package/build/_modules/logs/logs.controller.js.map +0 -1
- package/build/_modules/logs/logs.service.d.ts +0 -40
- package/build/_modules/logs/logs.service.d.ts.map +0 -1
- package/build/_modules/logs/logs.service.js +0 -97
- package/build/_modules/logs/logs.service.js.map +0 -1
- package/src/_modules/logs/get-logs-routing-module.util.ts +0 -36
- package/src/_modules/logs/index.ts +0 -3
- package/src/_modules/logs/log-buffer.service.ts +0 -101
- package/src/_modules/logs/logs.controller.ts +0 -109
- package/src/_modules/logs/logs.service.ts +0 -100
|
@@ -1,156 +1,156 @@
|
|
|
1
|
-
|
|
2
|
-
import { DyNTS_ServerStatus_Controller } from './server-status.controller';
|
|
3
|
-
import { DyFM_ServerStatus, DyFM_Error, DyFM_Errors, DyFM_HttpCallType, DyFM_RelativeDate } from '@futdevpro/fsm-dynamo';
|
|
4
|
-
import { DyNTS_Errors_ControlService } from '../errors/errors.control-service';
|
|
5
|
-
import { DyNTS_ServerStatus_ControlService } from './server-status.control-service';
|
|
6
|
-
import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
|
|
7
|
-
import { DyNTS_Endpoint_Params } from '../../../_models/control-models/endpoint-params.control-model';
|
|
8
|
-
|
|
9
|
-
class TestServerStatus extends DyFM_ServerStatus {
|
|
10
|
-
testProperty?: string;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
class TestError extends DyFM_Error {
|
|
14
|
-
testProperty?: string;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
class TestErrors extends DyFM_Errors<TestError> {
|
|
18
|
-
testProperty?: string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
class TestErrorsControlService extends DyNTS_Errors_ControlService<TestError, TestErrors> {
|
|
22
|
-
async recordError(data: TestErrors, issuer: string, alwaysRecord?: boolean): Promise<void> {}
|
|
23
|
-
async handleInternalError(error: any, issuer: string, alwaysRecord?: boolean): Promise<void> {}
|
|
24
|
-
checkErrorIsStringifyableOrResolvable(error: TestError, issuer: string): TestError | 'UNRESOLVABLE' { return error; }
|
|
25
|
-
getPriorityMultiplierByLevel(level: any, issuer: string): number { return 0; }
|
|
26
|
-
async getErrorsFromDate(date: Date, issuer: string): Promise<any> { return { results: [] }; }
|
|
27
|
-
async deleteError(errorId: string, issuer: string, alwaysDelete?: boolean): Promise<void> {}
|
|
28
|
-
async deleteAllErrors(issuer: string, alwaysDelete?: boolean): Promise<void> {}
|
|
29
|
-
async getErrorsInRange(range: DyFM_RelativeDate, issuer: string): Promise<any> { return { results: [] }; }
|
|
30
|
-
async getErrorsPaged(range: DyFM_RelativeDate, pageSize: number, pageIndex: number, issuer: string): Promise<any> { return { results: [] }; }
|
|
31
|
-
async getLastErrors(range: DyFM_RelativeDate, pageSize: number, pageIndex: number, issuer: string): Promise<any> { return { results: [] }; }
|
|
32
|
-
async searchErrors(searchQuery: any, issuer: string): Promise<any> { return { results: [] }; }
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
class TestServerStatusSnapshotControlService extends DyNTS_ServerStatusSnapshot_ControlService<TestServerStatus> {
|
|
36
|
-
async saveSnapshot(snapshot: TestServerStatus, issuer: string): Promise<TestServerStatus> {
|
|
37
|
-
return snapshot;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
class TestServerStatusControlService extends DyNTS_ServerStatus_ControlService<
|
|
42
|
-
TestServerStatus,
|
|
43
|
-
TestError,
|
|
44
|
-
TestErrors,
|
|
45
|
-
TestErrorsControlService,
|
|
46
|
-
TestServerStatus,
|
|
47
|
-
TestServerStatusSnapshotControlService
|
|
48
|
-
> {
|
|
49
|
-
protected getErrorControlService?(set?: { data?: TestErrors, issuer?: string }): TestErrorsControlService {
|
|
50
|
-
return new TestErrorsControlService();
|
|
51
|
-
}
|
|
52
|
-
protected getServerStatusSnapshotControlService?(set?: { data?: TestServerStatus, issuer?: string }): TestServerStatusSnapshotControlService {
|
|
53
|
-
return new TestServerStatusSnapshotControlService();
|
|
54
|
-
}
|
|
55
|
-
protected requiredServerConnections: any[] = [];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
class TestServerStatusController extends DyNTS_ServerStatus_Controller<
|
|
59
|
-
TestServerStatus,
|
|
60
|
-
TestError,
|
|
61
|
-
TestErrors,
|
|
62
|
-
TestErrorsControlService,
|
|
63
|
-
TestServerStatus,
|
|
64
|
-
TestServerStatusSnapshotControlService,
|
|
65
|
-
TestServerStatusControlService
|
|
66
|
-
> {
|
|
67
|
-
protected readonly server_CS: TestServerStatusControlService = (TestServerStatusControlService as any).getInstance ? (TestServerStatusControlService as any).getInstance() : new (TestServerStatusControlService as any)();
|
|
68
|
-
protected override readonly additionalEndpoints: DyNTS_Endpoint_Params[] = [];
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
describe('| DyNTS_ServerStatus_Controller', () => {
|
|
72
|
-
let controller: TestServerStatusController;
|
|
73
|
-
|
|
74
|
-
beforeEach(() => {
|
|
75
|
-
controller = new (TestServerStatusController as any)();
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
describe('| setupEndpoints', () => {
|
|
79
|
-
it('| should setup all server status endpoints', () => {
|
|
80
|
-
controller.setupEndpoints();
|
|
81
|
-
|
|
82
|
-
expect(controller.endpoints).toBeDefined();
|
|
83
|
-
expect(controller.endpoints.length).toBeGreaterThanOrEqual(4);
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
it('| should setup getServerStatus endpoint', () => {
|
|
87
|
-
controller.setupEndpoints();
|
|
88
|
-
|
|
89
|
-
const getServerStatusEndpoint = controller.endpoints.find(ep => ep.name === 'getServerStatus');
|
|
90
|
-
expect(getServerStatusEndpoint).toBeDefined();
|
|
91
|
-
expect(getServerStatusEndpoint?.type).toBe(DyFM_HttpCallType.get);
|
|
92
|
-
expect(getServerStatusEndpoint?.endpoint).toBe('/status');
|
|
93
|
-
expect((getServerStatusEndpoint as any)?.tasks).toBeDefined();
|
|
94
|
-
expect((getServerStatusEndpoint as any)?.tasks?.length).toBe(1);
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
it('| should setup getServerHealth endpoint', () => {
|
|
98
|
-
controller.setupEndpoints();
|
|
99
|
-
|
|
100
|
-
const getServerHealthEndpoint = controller.endpoints.find(ep => ep.name === 'getServerHealth');
|
|
101
|
-
expect(getServerHealthEndpoint).toBeDefined();
|
|
102
|
-
expect(getServerHealthEndpoint?.type).toBe(DyFM_HttpCallType.get);
|
|
103
|
-
expect(getServerHealthEndpoint?.endpoint).toBe('/health');
|
|
104
|
-
expect((getServerHealthEndpoint as any)?.tasks).toBeDefined();
|
|
105
|
-
expect((getServerHealthEndpoint as any)?.tasks?.length).toBe(1);
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
it('| should setup getServerStatusForClient endpoint', () => {
|
|
109
|
-
controller.setupEndpoints();
|
|
110
|
-
|
|
111
|
-
const getServerStatusForClientEndpoint = controller.endpoints.find(ep => ep.name === 'getServerStatusForClient');
|
|
112
|
-
expect(getServerStatusForClientEndpoint).toBeDefined();
|
|
113
|
-
expect(getServerStatusForClientEndpoint?.type).toBe(DyFM_HttpCallType.get);
|
|
114
|
-
expect(getServerStatusForClientEndpoint?.endpoint).toBe('/status/:version');
|
|
115
|
-
expect((getServerStatusForClientEndpoint as any)?.tasks).toBeDefined();
|
|
116
|
-
expect((getServerStatusForClientEndpoint as any)?.tasks?.length).toBe(1);
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
it('| should setup getErrorStatistics endpoint', () => {
|
|
120
|
-
controller.setupEndpoints();
|
|
121
|
-
|
|
122
|
-
const getErrorStatisticsEndpoint = controller.endpoints.find(ep => ep.name === 'getErrorStatistics');
|
|
123
|
-
expect(getErrorStatisticsEndpoint).toBeDefined();
|
|
124
|
-
expect(getErrorStatisticsEndpoint?.type).toBe(DyFM_HttpCallType.get);
|
|
125
|
-
expect(getErrorStatisticsEndpoint?.endpoint).toBe('/statistics/error/:range');
|
|
126
|
-
expect((getErrorStatisticsEndpoint as any)?.tasks).toBeDefined();
|
|
127
|
-
expect((getErrorStatisticsEndpoint as any)?.tasks?.length).toBe(1);
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
it('| should include additionalEndpoints', () => {
|
|
131
|
-
const additionalEndpoint = new DyNTS_Endpoint_Params({
|
|
132
|
-
name: 'customEndpoint',
|
|
133
|
-
type: DyFM_HttpCallType.get,
|
|
134
|
-
endpoint: '/status/custom',
|
|
135
|
-
tasks: [],
|
|
136
|
-
});
|
|
137
|
-
(controller as any).additionalEndpoints.push(additionalEndpoint);
|
|
138
|
-
|
|
139
|
-
controller.setupEndpoints();
|
|
140
|
-
|
|
141
|
-
const customEndpoint = controller.endpoints.find(ep => ep.name === 'customEndpoint');
|
|
142
|
-
expect(customEndpoint).toBeDefined();
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
it('| should throw error when additionalEndpoints is not defined', () => {
|
|
146
|
-
const controllerWithoutEndpoints = new (class extends TestServerStatusController {
|
|
147
|
-
protected override readonly additionalEndpoints: DyNTS_Endpoint_Params[] = undefined as any;
|
|
148
|
-
} as any)();
|
|
149
|
-
|
|
150
|
-
expect(() => {
|
|
151
|
-
controllerWithoutEndpoints.setupEndpoints();
|
|
152
|
-
}).toThrow();
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
|
|
1
|
+
|
|
2
|
+
import { DyNTS_ServerStatus_Controller } from './server-status.controller';
|
|
3
|
+
import { DyFM_ServerStatus, DyFM_Error, DyFM_Errors, DyFM_HttpCallType, DyFM_RelativeDate } from '@futdevpro/fsm-dynamo';
|
|
4
|
+
import { DyNTS_Errors_ControlService } from '../errors/errors.control-service';
|
|
5
|
+
import { DyNTS_ServerStatus_ControlService } from './server-status.control-service';
|
|
6
|
+
import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
|
|
7
|
+
import { DyNTS_Endpoint_Params } from '../../../_models/control-models/endpoint-params.control-model';
|
|
8
|
+
|
|
9
|
+
class TestServerStatus extends DyFM_ServerStatus {
|
|
10
|
+
testProperty?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class TestError extends DyFM_Error {
|
|
14
|
+
testProperty?: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
class TestErrors extends DyFM_Errors<TestError> {
|
|
18
|
+
testProperty?: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
class TestErrorsControlService extends DyNTS_Errors_ControlService<TestError, TestErrors> {
|
|
22
|
+
async recordError(data: TestErrors, issuer: string, alwaysRecord?: boolean): Promise<void> {}
|
|
23
|
+
async handleInternalError(error: any, issuer: string, alwaysRecord?: boolean): Promise<void> {}
|
|
24
|
+
checkErrorIsStringifyableOrResolvable(error: TestError, issuer: string): TestError | 'UNRESOLVABLE' { return error; }
|
|
25
|
+
getPriorityMultiplierByLevel(level: any, issuer: string): number { return 0; }
|
|
26
|
+
async getErrorsFromDate(date: Date, issuer: string): Promise<any> { return { results: [] }; }
|
|
27
|
+
async deleteError(errorId: string, issuer: string, alwaysDelete?: boolean): Promise<void> {}
|
|
28
|
+
async deleteAllErrors(issuer: string, alwaysDelete?: boolean): Promise<void> {}
|
|
29
|
+
async getErrorsInRange(range: DyFM_RelativeDate, issuer: string): Promise<any> { return { results: [] }; }
|
|
30
|
+
async getErrorsPaged(range: DyFM_RelativeDate, pageSize: number, pageIndex: number, issuer: string): Promise<any> { return { results: [] }; }
|
|
31
|
+
async getLastErrors(range: DyFM_RelativeDate, pageSize: number, pageIndex: number, issuer: string): Promise<any> { return { results: [] }; }
|
|
32
|
+
async searchErrors(searchQuery: any, issuer: string): Promise<any> { return { results: [] }; }
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
class TestServerStatusSnapshotControlService extends DyNTS_ServerStatusSnapshot_ControlService<TestServerStatus> {
|
|
36
|
+
async saveSnapshot(snapshot: TestServerStatus, issuer: string): Promise<TestServerStatus> {
|
|
37
|
+
return snapshot;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
class TestServerStatusControlService extends DyNTS_ServerStatus_ControlService<
|
|
42
|
+
TestServerStatus,
|
|
43
|
+
TestError,
|
|
44
|
+
TestErrors,
|
|
45
|
+
TestErrorsControlService,
|
|
46
|
+
TestServerStatus,
|
|
47
|
+
TestServerStatusSnapshotControlService
|
|
48
|
+
> {
|
|
49
|
+
protected getErrorControlService?(set?: { data?: TestErrors, issuer?: string }): TestErrorsControlService {
|
|
50
|
+
return new TestErrorsControlService();
|
|
51
|
+
}
|
|
52
|
+
protected getServerStatusSnapshotControlService?(set?: { data?: TestServerStatus, issuer?: string }): TestServerStatusSnapshotControlService {
|
|
53
|
+
return new TestServerStatusSnapshotControlService();
|
|
54
|
+
}
|
|
55
|
+
protected requiredServerConnections: any[] = [];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
class TestServerStatusController extends DyNTS_ServerStatus_Controller<
|
|
59
|
+
TestServerStatus,
|
|
60
|
+
TestError,
|
|
61
|
+
TestErrors,
|
|
62
|
+
TestErrorsControlService,
|
|
63
|
+
TestServerStatus,
|
|
64
|
+
TestServerStatusSnapshotControlService,
|
|
65
|
+
TestServerStatusControlService
|
|
66
|
+
> {
|
|
67
|
+
protected readonly server_CS: TestServerStatusControlService = (TestServerStatusControlService as any).getInstance ? (TestServerStatusControlService as any).getInstance() : new (TestServerStatusControlService as any)();
|
|
68
|
+
protected override readonly additionalEndpoints: DyNTS_Endpoint_Params[] = [];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
describe('| DyNTS_ServerStatus_Controller', () => {
|
|
72
|
+
let controller: TestServerStatusController;
|
|
73
|
+
|
|
74
|
+
beforeEach(() => {
|
|
75
|
+
controller = new (TestServerStatusController as any)();
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
describe('| setupEndpoints', () => {
|
|
79
|
+
it('| should setup all server status endpoints', () => {
|
|
80
|
+
controller.setupEndpoints();
|
|
81
|
+
|
|
82
|
+
expect(controller.endpoints).toBeDefined();
|
|
83
|
+
expect(controller.endpoints.length).toBeGreaterThanOrEqual(4);
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it('| should setup getServerStatus endpoint', () => {
|
|
87
|
+
controller.setupEndpoints();
|
|
88
|
+
|
|
89
|
+
const getServerStatusEndpoint = controller.endpoints.find(ep => ep.name === 'getServerStatus');
|
|
90
|
+
expect(getServerStatusEndpoint).toBeDefined();
|
|
91
|
+
expect(getServerStatusEndpoint?.type).toBe(DyFM_HttpCallType.get);
|
|
92
|
+
expect(getServerStatusEndpoint?.endpoint).toBe('/status');
|
|
93
|
+
expect((getServerStatusEndpoint as any)?.tasks).toBeDefined();
|
|
94
|
+
expect((getServerStatusEndpoint as any)?.tasks?.length).toBe(1);
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
it('| should setup getServerHealth endpoint', () => {
|
|
98
|
+
controller.setupEndpoints();
|
|
99
|
+
|
|
100
|
+
const getServerHealthEndpoint = controller.endpoints.find(ep => ep.name === 'getServerHealth');
|
|
101
|
+
expect(getServerHealthEndpoint).toBeDefined();
|
|
102
|
+
expect(getServerHealthEndpoint?.type).toBe(DyFM_HttpCallType.get);
|
|
103
|
+
expect(getServerHealthEndpoint?.endpoint).toBe('/health');
|
|
104
|
+
expect((getServerHealthEndpoint as any)?.tasks).toBeDefined();
|
|
105
|
+
expect((getServerHealthEndpoint as any)?.tasks?.length).toBe(1);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
it('| should setup getServerStatusForClient endpoint', () => {
|
|
109
|
+
controller.setupEndpoints();
|
|
110
|
+
|
|
111
|
+
const getServerStatusForClientEndpoint = controller.endpoints.find(ep => ep.name === 'getServerStatusForClient');
|
|
112
|
+
expect(getServerStatusForClientEndpoint).toBeDefined();
|
|
113
|
+
expect(getServerStatusForClientEndpoint?.type).toBe(DyFM_HttpCallType.get);
|
|
114
|
+
expect(getServerStatusForClientEndpoint?.endpoint).toBe('/status/:version');
|
|
115
|
+
expect((getServerStatusForClientEndpoint as any)?.tasks).toBeDefined();
|
|
116
|
+
expect((getServerStatusForClientEndpoint as any)?.tasks?.length).toBe(1);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
it('| should setup getErrorStatistics endpoint', () => {
|
|
120
|
+
controller.setupEndpoints();
|
|
121
|
+
|
|
122
|
+
const getErrorStatisticsEndpoint = controller.endpoints.find(ep => ep.name === 'getErrorStatistics');
|
|
123
|
+
expect(getErrorStatisticsEndpoint).toBeDefined();
|
|
124
|
+
expect(getErrorStatisticsEndpoint?.type).toBe(DyFM_HttpCallType.get);
|
|
125
|
+
expect(getErrorStatisticsEndpoint?.endpoint).toBe('/statistics/error/:range');
|
|
126
|
+
expect((getErrorStatisticsEndpoint as any)?.tasks).toBeDefined();
|
|
127
|
+
expect((getErrorStatisticsEndpoint as any)?.tasks?.length).toBe(1);
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
it('| should include additionalEndpoints', () => {
|
|
131
|
+
const additionalEndpoint = new DyNTS_Endpoint_Params({
|
|
132
|
+
name: 'customEndpoint',
|
|
133
|
+
type: DyFM_HttpCallType.get,
|
|
134
|
+
endpoint: '/status/custom',
|
|
135
|
+
tasks: [],
|
|
136
|
+
});
|
|
137
|
+
(controller as any).additionalEndpoints.push(additionalEndpoint);
|
|
138
|
+
|
|
139
|
+
controller.setupEndpoints();
|
|
140
|
+
|
|
141
|
+
const customEndpoint = controller.endpoints.find(ep => ep.name === 'customEndpoint');
|
|
142
|
+
expect(customEndpoint).toBeDefined();
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
it('| should throw error when additionalEndpoints is not defined', () => {
|
|
146
|
+
const controllerWithoutEndpoints = new (class extends TestServerStatusController {
|
|
147
|
+
protected override readonly additionalEndpoints: DyNTS_Endpoint_Params[] = undefined as any;
|
|
148
|
+
} as any)();
|
|
149
|
+
|
|
150
|
+
expect(() => {
|
|
151
|
+
controllerWithoutEndpoints.setupEndpoints();
|
|
152
|
+
}).toThrow();
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
|
|
@@ -1,131 +1,131 @@
|
|
|
1
|
-
|
|
2
|
-
import { Request, Response } from 'express';
|
|
3
|
-
|
|
4
|
-
import { DyFM_Error, DyFM_Errors, DyFM_HttpCallType, DyFM_RelativeDate, DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
|
|
5
|
-
import { DyNTS_Errors_ControlService } from '../errors/errors.control-service';
|
|
6
|
-
import { DyNTS_Controller } from '../../../_services/route/controller.service';
|
|
7
|
-
import { DyNTS_Endpoint_Params } from '../../../_models/control-models/endpoint-params.control-model';
|
|
8
|
-
import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
|
|
9
|
-
import { DyNTS_ServerStatus_ControlService } from './server-status.control-service';
|
|
10
|
-
import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Endpoints:
|
|
15
|
-
*
|
|
16
|
-
* getServerStatus
|
|
17
|
-
* GET /status
|
|
18
|
-
*
|
|
19
|
-
* getServerStatusForClient
|
|
20
|
-
* GET /status/:version
|
|
21
|
-
*
|
|
22
|
-
* getErrorStatistics
|
|
23
|
-
* GET /statistics/error/:range
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
export abstract class DyNTS_ServerStatus_Controller<
|
|
27
|
-
T_ServerStatus extends DyFM_ServerStatus,
|
|
28
|
-
T_Error extends DyFM_Error,
|
|
29
|
-
T_Errors extends DyFM_Errors<T_Error>,
|
|
30
|
-
T_Errors_ControlService extends DyNTS_Errors_ControlService<T_Error, T_Errors>,
|
|
31
|
-
T_ServerStatusSnapshot extends DyFM_ServerStatus,
|
|
32
|
-
T_ServerStatusSnapshot_ControlService extends DyNTS_ServerStatusSnapshot_ControlService<T_ServerStatusSnapshot>,
|
|
33
|
-
T_ServerStatus_ControlService extends DyNTS_ServerStatus_ControlService<
|
|
34
|
-
T_ServerStatus,
|
|
35
|
-
T_Error,
|
|
36
|
-
T_Errors,
|
|
37
|
-
T_Errors_ControlService,
|
|
38
|
-
T_ServerStatusSnapshot,
|
|
39
|
-
T_ServerStatusSnapshot_ControlService
|
|
40
|
-
>
|
|
41
|
-
> extends DyNTS_Controller {
|
|
42
|
-
|
|
43
|
-
/* static getInstance(): DyNTS_ServerStatus_Controller {
|
|
44
|
-
return DyNTS_ServerStatus_Controller.getSingletonInstance();
|
|
45
|
-
} */
|
|
46
|
-
|
|
47
|
-
protected abstract readonly server_CS: T_ServerStatus_ControlService;
|
|
48
|
-
|
|
49
|
-
/* protected abstract getServerService(): T_ServerStatusService; */
|
|
50
|
-
protected readonly additionalEndpoints: DyNTS_Endpoint_Params[] = [];
|
|
51
|
-
|
|
52
|
-
setupEndpoints(): void {
|
|
53
|
-
/* if (!this.getServerService) {
|
|
54
|
-
throw new DyFM_Error({
|
|
55
|
-
message: 'getServerService() method not implemented in ServerStatus_Controller.',
|
|
56
|
-
errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-SSC-001`,
|
|
57
|
-
});
|
|
58
|
-
} */
|
|
59
|
-
|
|
60
|
-
if (!this.additionalEndpoints) {
|
|
61
|
-
throw new DyFM_Error({
|
|
62
|
-
message: 'additionalEndpoints must be defined in ServerStatus_Controller.',
|
|
63
|
-
errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-SSC-002`,
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/* this.serverService = this.getServerService(); */
|
|
68
|
-
|
|
69
|
-
this.endpoints = [
|
|
70
|
-
new DyNTS_Endpoint_Params({
|
|
71
|
-
name: 'getServerStatus',
|
|
72
|
-
type: DyFM_HttpCallType.get,
|
|
73
|
-
endpoint: '/status',
|
|
74
|
-
tasks: [
|
|
75
|
-
async (req: Request, res: Response, issuer: string): Promise<void> => {
|
|
76
|
-
res.send(
|
|
77
|
-
await this.server_CS.getServerStatus(issuer)
|
|
78
|
-
);
|
|
79
|
-
},
|
|
80
|
-
],
|
|
81
|
-
}),
|
|
82
|
-
|
|
83
|
-
new DyNTS_Endpoint_Params({
|
|
84
|
-
name: 'getServerHealth',
|
|
85
|
-
type: DyFM_HttpCallType.get,
|
|
86
|
-
endpoint: '/health',
|
|
87
|
-
tasks: [
|
|
88
|
-
async (req: Request, res: Response, issuer: string): Promise<void> => {
|
|
89
|
-
res.send(
|
|
90
|
-
await this.server_CS.getServerStatus(issuer)
|
|
91
|
-
);
|
|
92
|
-
},
|
|
93
|
-
],
|
|
94
|
-
}),
|
|
95
|
-
|
|
96
|
-
new DyNTS_Endpoint_Params({
|
|
97
|
-
name: 'getServerStatusForClient',
|
|
98
|
-
type: DyFM_HttpCallType.get,
|
|
99
|
-
endpoint: '/status/:version',
|
|
100
|
-
tasks: [
|
|
101
|
-
async (req: Request, res: Response, issuer: string): Promise<void> => {
|
|
102
|
-
|
|
103
|
-
res.send(
|
|
104
|
-
await this.server_CS.getServerStatus(issuer, req.params.version)
|
|
105
|
-
);
|
|
106
|
-
},
|
|
107
|
-
],
|
|
108
|
-
}),
|
|
109
|
-
|
|
110
|
-
new DyNTS_Endpoint_Params({
|
|
111
|
-
name: 'getErrorStatistics',
|
|
112
|
-
type: DyFM_HttpCallType.get,
|
|
113
|
-
endpoint: '/statistics/error/:range',
|
|
114
|
-
tasks: [
|
|
115
|
-
async (req: Request, res: Response, issuer: string) : Promise<void> => {
|
|
116
|
-
|
|
117
|
-
res.send(
|
|
118
|
-
await this.server_CS.getErrorStatistics(
|
|
119
|
-
req.params.range as DyFM_RelativeDate,
|
|
120
|
-
issuer
|
|
121
|
-
)
|
|
122
|
-
);
|
|
123
|
-
},
|
|
124
|
-
],
|
|
125
|
-
}),
|
|
126
|
-
|
|
127
|
-
...this.additionalEndpoints,
|
|
128
|
-
];
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
1
|
+
|
|
2
|
+
import { Request, Response } from 'express';
|
|
3
|
+
|
|
4
|
+
import { DyFM_Error, DyFM_Errors, DyFM_HttpCallType, DyFM_RelativeDate, DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
|
|
5
|
+
import { DyNTS_Errors_ControlService } from '../errors/errors.control-service';
|
|
6
|
+
import { DyNTS_Controller } from '../../../_services/route/controller.service';
|
|
7
|
+
import { DyNTS_Endpoint_Params } from '../../../_models/control-models/endpoint-params.control-model';
|
|
8
|
+
import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
|
|
9
|
+
import { DyNTS_ServerStatus_ControlService } from './server-status.control-service';
|
|
10
|
+
import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Endpoints:
|
|
15
|
+
*
|
|
16
|
+
* getServerStatus
|
|
17
|
+
* GET /status
|
|
18
|
+
*
|
|
19
|
+
* getServerStatusForClient
|
|
20
|
+
* GET /status/:version
|
|
21
|
+
*
|
|
22
|
+
* getErrorStatistics
|
|
23
|
+
* GET /statistics/error/:range
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
export abstract class DyNTS_ServerStatus_Controller<
|
|
27
|
+
T_ServerStatus extends DyFM_ServerStatus,
|
|
28
|
+
T_Error extends DyFM_Error,
|
|
29
|
+
T_Errors extends DyFM_Errors<T_Error>,
|
|
30
|
+
T_Errors_ControlService extends DyNTS_Errors_ControlService<T_Error, T_Errors>,
|
|
31
|
+
T_ServerStatusSnapshot extends DyFM_ServerStatus,
|
|
32
|
+
T_ServerStatusSnapshot_ControlService extends DyNTS_ServerStatusSnapshot_ControlService<T_ServerStatusSnapshot>,
|
|
33
|
+
T_ServerStatus_ControlService extends DyNTS_ServerStatus_ControlService<
|
|
34
|
+
T_ServerStatus,
|
|
35
|
+
T_Error,
|
|
36
|
+
T_Errors,
|
|
37
|
+
T_Errors_ControlService,
|
|
38
|
+
T_ServerStatusSnapshot,
|
|
39
|
+
T_ServerStatusSnapshot_ControlService
|
|
40
|
+
>
|
|
41
|
+
> extends DyNTS_Controller {
|
|
42
|
+
|
|
43
|
+
/* static getInstance(): DyNTS_ServerStatus_Controller {
|
|
44
|
+
return DyNTS_ServerStatus_Controller.getSingletonInstance();
|
|
45
|
+
} */
|
|
46
|
+
|
|
47
|
+
protected abstract readonly server_CS: T_ServerStatus_ControlService;
|
|
48
|
+
|
|
49
|
+
/* protected abstract getServerService(): T_ServerStatusService; */
|
|
50
|
+
protected readonly additionalEndpoints: DyNTS_Endpoint_Params[] = [];
|
|
51
|
+
|
|
52
|
+
setupEndpoints(): void {
|
|
53
|
+
/* if (!this.getServerService) {
|
|
54
|
+
throw new DyFM_Error({
|
|
55
|
+
message: 'getServerService() method not implemented in ServerStatus_Controller.',
|
|
56
|
+
errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-SSC-001`,
|
|
57
|
+
});
|
|
58
|
+
} */
|
|
59
|
+
|
|
60
|
+
if (!this.additionalEndpoints) {
|
|
61
|
+
throw new DyFM_Error({
|
|
62
|
+
message: 'additionalEndpoints must be defined in ServerStatus_Controller.',
|
|
63
|
+
errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-SSC-002`,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* this.serverService = this.getServerService(); */
|
|
68
|
+
|
|
69
|
+
this.endpoints = [
|
|
70
|
+
new DyNTS_Endpoint_Params({
|
|
71
|
+
name: 'getServerStatus',
|
|
72
|
+
type: DyFM_HttpCallType.get,
|
|
73
|
+
endpoint: '/status',
|
|
74
|
+
tasks: [
|
|
75
|
+
async (req: Request, res: Response, issuer: string): Promise<void> => {
|
|
76
|
+
res.send(
|
|
77
|
+
await this.server_CS.getServerStatus(issuer)
|
|
78
|
+
);
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
}),
|
|
82
|
+
|
|
83
|
+
new DyNTS_Endpoint_Params({
|
|
84
|
+
name: 'getServerHealth',
|
|
85
|
+
type: DyFM_HttpCallType.get,
|
|
86
|
+
endpoint: '/health',
|
|
87
|
+
tasks: [
|
|
88
|
+
async (req: Request, res: Response, issuer: string): Promise<void> => {
|
|
89
|
+
res.send(
|
|
90
|
+
await this.server_CS.getServerStatus(issuer)
|
|
91
|
+
);
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
}),
|
|
95
|
+
|
|
96
|
+
new DyNTS_Endpoint_Params({
|
|
97
|
+
name: 'getServerStatusForClient',
|
|
98
|
+
type: DyFM_HttpCallType.get,
|
|
99
|
+
endpoint: '/status/:version',
|
|
100
|
+
tasks: [
|
|
101
|
+
async (req: Request, res: Response, issuer: string): Promise<void> => {
|
|
102
|
+
|
|
103
|
+
res.send(
|
|
104
|
+
await this.server_CS.getServerStatus(issuer, req.params.version)
|
|
105
|
+
);
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
}),
|
|
109
|
+
|
|
110
|
+
new DyNTS_Endpoint_Params({
|
|
111
|
+
name: 'getErrorStatistics',
|
|
112
|
+
type: DyFM_HttpCallType.get,
|
|
113
|
+
endpoint: '/statistics/error/:range',
|
|
114
|
+
tasks: [
|
|
115
|
+
async (req: Request, res: Response, issuer: string) : Promise<void> => {
|
|
116
|
+
|
|
117
|
+
res.send(
|
|
118
|
+
await this.server_CS.getErrorStatistics(
|
|
119
|
+
req.params.range as DyFM_RelativeDate,
|
|
120
|
+
issuer
|
|
121
|
+
)
|
|
122
|
+
);
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
}),
|
|
126
|
+
|
|
127
|
+
...this.additionalEndpoints,
|
|
128
|
+
];
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* security settings for API,
|
|
4
|
-
* different security paths will need different handlers
|
|
5
|
-
*
|
|
6
|
-
* open; http or secure; https
|
|
7
|
-
*/
|
|
8
|
-
export enum DyNTS_SocketSecurity {
|
|
9
|
-
open = 'open',
|
|
10
|
-
secure = 'secure',
|
|
11
|
-
}
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* security settings for API,
|
|
4
|
+
* different security paths will need different handlers
|
|
5
|
+
*
|
|
6
|
+
* open; http or secure; https
|
|
7
|
+
*/
|
|
8
|
+
export enum DyNTS_SocketSecurity {
|
|
9
|
+
open = 'open',
|
|
10
|
+
secure = 'secure',
|
|
11
|
+
}
|