@futdevpro/nts-dynamo 1.15.127 → 1.15.129
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/logs/cicd-pipeline/output.log +2852 -0
- package/.dynamo/logs/cicd-pipeline/status.json +74 -0
- package/.dynamo/pipeline.cicd.config.json +3 -1
- package/.vscode/settings.json +10 -10
- package/HOWTO.md +15 -15
- package/LICENSE +21 -21
- package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
- package/__documentations/plans/BEDROCK-HYPERPLAN.md +95 -95
- package/_specifications/BACKLOG.md +92 -92
- package/_specifications/TODO.md +15 -15
- package/_specifications/agent.md +138 -138
- package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/endpoint-params.control-model.js +9 -0
- package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
- package/build/_modules/server/errors/errors.data-service.d.ts +6 -0
- package/build/_modules/server/errors/errors.data-service.d.ts.map +1 -1
- package/build/_modules/server/errors/errors.data-service.js +29 -3
- package/build/_modules/server/errors/errors.data-service.js.map +1 -1
- package/build/_services/core/event-loop-diag.service.d.ts +6 -0
- package/build/_services/core/event-loop-diag.service.d.ts.map +1 -1
- package/build/_services/core/event-loop-diag.service.js +19 -1
- package/build/_services/core/event-loop-diag.service.js.map +1 -1
- package/build/_services/core/request-hunter.service.d.ts +74 -0
- package/build/_services/core/request-hunter.service.d.ts.map +1 -0
- package/build/_services/core/request-hunter.service.js +123 -0
- package/build/_services/core/request-hunter.service.js.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/eslint.config.js +3 -3
- package/nodemon.json +24 -24
- package/package.json +2 -2
- package/pnpm-workspace.yaml +5 -5
- 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/global-settings.const.ts +126 -126
- package/src/_collections/sample.env +21 -21
- package/src/_collections/signed-url.util.spec.ts +198 -198
- package/src/_collections/signed-url.util.ts +170 -170
- 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 +669 -669
- package/src/_models/control-models/endpoint-params.control-model.ts +664 -656
- 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 +171 -171
- package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
- package/src/_models/interfaces/global-settings.interface.ts +286 -286
- 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 +36 -36
- 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/ai-mock/_services/ai-embedding-mock.service.spec.ts +115 -115
- package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.ts +233 -233
- 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-code-chunking.util.spec.ts +295 -295
- package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +518 -518
- 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-code-chunk.interface.ts +68 -68
- 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 +30 -30
- 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 +332 -332
- 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 +634 -634
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +489 -489
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +173 -173
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +1085 -1085
- package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
- package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +110 -110
- package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +114 -114
- 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 +599 -599
- package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +158 -158
- package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
- package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +197 -197
- package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +371 -371
- package/src/_modules/ai/index.ts +33 -33
- 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/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +161 -161
- package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +203 -203
- package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +33 -33
- package/src/_modules/data-readers/index.ts +11 -11
- 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 +35 -35
- package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +59 -59
- 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 +480 -480
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +416 -416
- package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +214 -214
- package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +186 -186
- package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +167 -167
- package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +130 -130
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +509 -509
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +323 -323
- package/src/_modules/local-vector-search/index.ts +16 -16
- package/src/_modules/logs/index.ts +11 -11
- package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +111 -111
- package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +142 -142
- package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +120 -120
- package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +168 -168
- package/src/_modules/mcp/index.ts +13 -13
- 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/scheduler/_models/scheduler-job.interface.ts +35 -35
- package/src/_modules/scheduler/get-scheduler-routing-module.util.ts +33 -33
- package/src/_modules/scheduler/index.ts +8 -8
- package/src/_modules/scheduler/scheduler.controller.spec.ts +42 -42
- package/src/_modules/scheduler/scheduler.controller.ts +69 -69
- package/src/_modules/scheduler/scheduler.service.spec.ts +141 -141
- package/src/_modules/scheduler/scheduler.service.ts +176 -176
- package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +22 -22
- package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +81 -81
- package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +107 -107
- package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +306 -306
- package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +295 -295
- package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +118 -118
- package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +105 -105
- package/src/_modules/scoped-config/index.ts +17 -17
- package/src/_modules/server/errors/errors.control-service.spec.ts +238 -238
- package/src/_modules/server/errors/errors.control-service.ts +100 -100
- package/src/_modules/server/errors/errors.controller.spec.ts +268 -268
- package/src/_modules/server/errors/errors.controller.ts +515 -515
- package/src/_modules/server/errors/errors.data-service.spec.ts +480 -480
- package/src/_modules/server/errors/errors.data-service.ts +30 -3
- 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 +672 -672
- package/src/_modules/server/server-status/server-status.control-service.ts +490 -490
- package/src/_modules/server/server-status/server-status.controller.spec.ts +276 -276
- package/src/_modules/server/server-status/server-status.controller.ts +336 -336
- 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 +69 -69
- 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 +648 -648
- 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 +209 -209
- package/src/_services/base/archive-data.service.ts +223 -223
- package/src/_services/base/data.service.spec.ts +729 -729
- package/src/_services/base/data.service.ts +2758 -2758
- package/src/_services/base/db.service.spec.ts +160 -160
- package/src/_services/base/db.service.ts +1698 -1698
- 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 +757 -757
- package/src/_services/core/event-loop-diag.service.ts +23 -1
- package/src/_services/core/global.service.spec.ts +292 -292
- package/src/_services/core/global.service.ts +487 -487
- package/src/_services/core/memory-guard.service.spec.ts +245 -245
- package/src/_services/core/memory-guard.service.ts +481 -481
- package/src/_services/core/request-hunter.service.spec.ts +124 -0
- package/src/_services/core/request-hunter.service.ts +157 -0
- 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/server/app.server.ts +1985 -1985
- package/src/_services/shared.static-service.spec.ts +99 -99
- package/src/_services/shared.static-service.ts +78 -78
- package/src/index.ts +113 -112
- package/tsconfig.app.json +12 -12
- package/tsconfig.json +42 -42
|
@@ -27,6 +27,13 @@ export class DyNTS_Errors_DataService<
|
|
|
27
27
|
T_ErrorsRecord extends DyFM_Errors<T_Error>
|
|
28
28
|
> extends DyNTS_DataService<T_ErrorsRecord> implements DyNTS_Errors_ControlService<T_Error, T_ErrorsRecord> {
|
|
29
29
|
|
|
30
|
+
/**
|
|
31
|
+
* FR-279 — egy error-rekord max merete (byte), amely folott levagjuk az
|
|
32
|
+
* `additionalContent`-et. A korabbi kod ezt a szamot HAROM helyen ismetelte
|
|
33
|
+
* inline literalkent; nevesitve egy helyen all, es a szerializacio is egyszer fut.
|
|
34
|
+
*/
|
|
35
|
+
static readonly MAX_ERROR_RECORD_BYTES: number = 16793000;
|
|
36
|
+
|
|
30
37
|
debugLog: boolean = false;
|
|
31
38
|
readonly version: string = DyNTS_global_settings.systemVersion;
|
|
32
39
|
duplicationCounter: number;
|
|
@@ -104,15 +111,33 @@ export class DyNTS_Errors_DataService<
|
|
|
104
111
|
|
|
105
112
|
errorsRecord.d_error = this.checkErrorIsStringifyableOrResolvable(errorsRecord.d_error, this.issuer) as T_Error;
|
|
106
113
|
|
|
114
|
+
// ─── FR-279 (2026-08-06) — EGYSZER szerializalunk, nem haromszor ──────────
|
|
115
|
+
//
|
|
116
|
+
// ⚠️ MERT BUG: ez a blokk KORABBAN akar HAROM teljes `JSON.stringify(errorsRecord)`-ot
|
|
117
|
+
// futtatott EGYETLEN error-rekordra, SZINKRON, a fo szalon — es az ELSO eredmenyet
|
|
118
|
+
// (a "stringify-elheto-e" teszt) EL IS DOBTA. A meret-plafon 16.7 MB, tehat ezek a
|
|
119
|
+
// rekordok tobb-MB-osak lehetnek: haromszoros koltseg, teljesen feleslegesen.
|
|
120
|
+
//
|
|
121
|
+
// MIERT SZAMIT (mert incidens, overseer 2026-08-06): a status-sweep ~30 rendszert
|
|
122
|
+
// pingel; a nem elerhetok 3000 ms-os timeouttal bukanak, es MINDEN bukas egy error-
|
|
123
|
+
// rekordot general (teljes `DyNTS_ApiCall_Params` + stack + additionalContent). A
|
|
124
|
+
// fagyasok elotti log kizarolag ilyen sorokkal van tele:
|
|
125
|
+
// error: "timeout of 3000ms exceeded" / project-statuses.control-services.js:147
|
|
126
|
+
// Az event-loop kozben 10-11 masodpercre megall (elLag max 10469-11123 ms), a heap
|
|
127
|
+
// 2 GB-ra hizik, es a runnerek `next-job` hivasa timeoutol -> a CI megall.
|
|
128
|
+
//
|
|
129
|
+
// A szinkron, tobb-MB-os JSON-szerializacio a fo szalon PONTOSAN ilyen blokkot ad —
|
|
130
|
+
// es a harmadolasa ingyen van: ugyanaz a viselkedes, egy-ket szerializaciobol.
|
|
131
|
+
let serialized: string;
|
|
107
132
|
try {
|
|
108
|
-
JSON.stringify(errorsRecord);
|
|
133
|
+
serialized = JSON.stringify(errorsRecord);
|
|
109
134
|
} catch (err) {
|
|
110
135
|
DyFM_Log.error('error data is not stringifyable!');
|
|
111
136
|
|
|
112
137
|
return;
|
|
113
138
|
}
|
|
114
139
|
|
|
115
|
-
if (
|
|
140
|
+
if (serialized.length > DyNTS_Errors_DataService.MAX_ERROR_RECORD_BYTES) {
|
|
116
141
|
errorsRecord.additionalContent = {
|
|
117
142
|
message: 'error data was too big to save, removed additionalContent',
|
|
118
143
|
};
|
|
@@ -121,7 +146,9 @@ export class DyNTS_Errors_DataService<
|
|
|
121
146
|
message: 'error data was too big to save, removed additionalContent',
|
|
122
147
|
};
|
|
123
148
|
|
|
124
|
-
|
|
149
|
+
// Ujra-meres CSAK a levagas utan — es csak akkor, ha egyaltalan tullogtuk a plafont.
|
|
150
|
+
serialized = JSON.stringify(errorsRecord);
|
|
151
|
+
if (serialized.length > DyNTS_Errors_DataService.MAX_ERROR_RECORD_BYTES) {
|
|
125
152
|
errorsRecord.error.errors = [];
|
|
126
153
|
}
|
|
127
154
|
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
//
|
|
3
|
-
// Server module
|
|
4
|
-
//
|
|
5
|
-
// This module contains solutions for basic server endpoints such as:
|
|
6
|
-
//
|
|
7
|
-
// - Errors;
|
|
8
|
-
// saving and retrieving errors that are occuring on the server
|
|
9
|
-
//
|
|
10
|
-
// - Server Status;
|
|
11
|
-
// retrieving the status of the server
|
|
12
|
-
//
|
|
13
|
-
// - Server Status Snapshot;
|
|
14
|
-
// saving and retrieving the status of the server at a specific time
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
// ERRORS
|
|
19
|
-
export * from './errors/errors.controller';
|
|
20
|
-
export * from './errors/errors.control-service';
|
|
21
|
-
export * from './errors/errors.data-service';
|
|
22
|
-
|
|
23
|
-
// SERVER-STATUS
|
|
24
|
-
export * from './server-status/server-status-snapshot.data-service';
|
|
25
|
-
export * from './server-status/server-status-snapshot.control-service';
|
|
26
|
-
export * from './server-status/server-status.control-service';
|
|
27
|
-
export * from './server-status/server-status.controller';
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
|
|
2
|
+
//
|
|
3
|
+
// Server module
|
|
4
|
+
//
|
|
5
|
+
// This module contains solutions for basic server endpoints such as:
|
|
6
|
+
//
|
|
7
|
+
// - Errors;
|
|
8
|
+
// saving and retrieving errors that are occuring on the server
|
|
9
|
+
//
|
|
10
|
+
// - Server Status;
|
|
11
|
+
// retrieving the status of the server
|
|
12
|
+
//
|
|
13
|
+
// - Server Status Snapshot;
|
|
14
|
+
// saving and retrieving the status of the server at a specific time
|
|
15
|
+
//
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
// ERRORS
|
|
19
|
+
export * from './errors/errors.controller';
|
|
20
|
+
export * from './errors/errors.control-service';
|
|
21
|
+
export * from './errors/errors.data-service';
|
|
22
|
+
|
|
23
|
+
// SERVER-STATUS
|
|
24
|
+
export * from './server-status/server-status-snapshot.data-service';
|
|
25
|
+
export * from './server-status/server-status-snapshot.control-service';
|
|
26
|
+
export * from './server-status/server-status.control-service';
|
|
27
|
+
export * from './server-status/server-status.controller';
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
|
|
3
|
-
import { DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
|
|
4
|
-
|
|
5
|
-
class TestServerStatus extends DyFM_ServerStatus {
|
|
6
|
-
constructor(set?: Partial<TestServerStatus>) {
|
|
7
|
-
super();
|
|
8
|
-
Object.assign(this, set);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
class TestServerStatusSnapshotControlService extends DyNTS_ServerStatusSnapshot_ControlService<TestServerStatus> {
|
|
13
|
-
async saveSnapshot(snapshot: TestServerStatus, issuer: string): Promise<TestServerStatus> {
|
|
14
|
-
return snapshot;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
static getInstance(): TestServerStatusSnapshotControlService {
|
|
18
|
-
return (TestServerStatusSnapshotControlService as any).getSingletonInstance();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
describe('| DyNTS_ServerStatusSnapshot_ControlService', () => {
|
|
23
|
-
let service: TestServerStatusSnapshotControlService;
|
|
24
|
-
|
|
25
|
-
beforeEach(() => {
|
|
26
|
-
service = new TestServerStatusSnapshotControlService();
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
describe('| constructor', () => {
|
|
30
|
-
it('| should create instance', () => {
|
|
31
|
-
expect(service).toBeDefined();
|
|
32
|
-
expect(service).toBeInstanceOf(TestServerStatusSnapshotControlService);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
describe('| saveSnapshot', () => {
|
|
37
|
-
it('| should save snapshot', async () => {
|
|
38
|
-
const snapshot: TestServerStatus = new TestServerStatus({
|
|
39
|
-
status: 'ready',
|
|
40
|
-
systemName: 'Test System',
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
const result = await service.saveSnapshot(snapshot, 'test-issuer');
|
|
44
|
-
|
|
45
|
-
expect(result).toBeDefined();
|
|
46
|
-
expect(result.status).toBe('ready');
|
|
47
|
-
expect(result.systemName).toBe('Test System');
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it('| should handle snapshot with all properties', async () => {
|
|
51
|
-
const snapshot: TestServerStatus = new TestServerStatus({
|
|
52
|
-
status: 'ready',
|
|
53
|
-
systemName: 'Test System',
|
|
54
|
-
systemShortCode: 'TEST',
|
|
55
|
-
uptime: 1000,
|
|
56
|
-
memoryUsage: process.memoryUsage(),
|
|
57
|
-
cpuUsage: process.cpuUsage(),
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
const result = await service.saveSnapshot(snapshot, 'test-issuer');
|
|
61
|
-
|
|
62
|
-
expect(result).toBeDefined();
|
|
63
|
-
expect(result.status).toBe('ready');
|
|
64
|
-
expect(result.systemName).toBe('Test System');
|
|
65
|
-
expect(result.systemShortCode).toBe('TEST');
|
|
66
|
-
expect(result.uptime).toBe(1000);
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
|
|
1
|
+
|
|
2
|
+
import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
|
|
3
|
+
import { DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
|
|
4
|
+
|
|
5
|
+
class TestServerStatus extends DyFM_ServerStatus {
|
|
6
|
+
constructor(set?: Partial<TestServerStatus>) {
|
|
7
|
+
super();
|
|
8
|
+
Object.assign(this, set);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
class TestServerStatusSnapshotControlService extends DyNTS_ServerStatusSnapshot_ControlService<TestServerStatus> {
|
|
13
|
+
async saveSnapshot(snapshot: TestServerStatus, issuer: string): Promise<TestServerStatus> {
|
|
14
|
+
return snapshot;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static getInstance(): TestServerStatusSnapshotControlService {
|
|
18
|
+
return (TestServerStatusSnapshotControlService as any).getSingletonInstance();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
describe('| DyNTS_ServerStatusSnapshot_ControlService', () => {
|
|
23
|
+
let service: TestServerStatusSnapshotControlService;
|
|
24
|
+
|
|
25
|
+
beforeEach(() => {
|
|
26
|
+
service = new TestServerStatusSnapshotControlService();
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
describe('| constructor', () => {
|
|
30
|
+
it('| should create instance', () => {
|
|
31
|
+
expect(service).toBeDefined();
|
|
32
|
+
expect(service).toBeInstanceOf(TestServerStatusSnapshotControlService);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
describe('| saveSnapshot', () => {
|
|
37
|
+
it('| should save snapshot', async () => {
|
|
38
|
+
const snapshot: TestServerStatus = new TestServerStatus({
|
|
39
|
+
status: 'ready',
|
|
40
|
+
systemName: 'Test System',
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const result = await service.saveSnapshot(snapshot, 'test-issuer');
|
|
44
|
+
|
|
45
|
+
expect(result).toBeDefined();
|
|
46
|
+
expect(result.status).toBe('ready');
|
|
47
|
+
expect(result.systemName).toBe('Test System');
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it('| should handle snapshot with all properties', async () => {
|
|
51
|
+
const snapshot: TestServerStatus = new TestServerStatus({
|
|
52
|
+
status: 'ready',
|
|
53
|
+
systemName: 'Test System',
|
|
54
|
+
systemShortCode: 'TEST',
|
|
55
|
+
uptime: 1000,
|
|
56
|
+
memoryUsage: process.memoryUsage(),
|
|
57
|
+
cpuUsage: process.cpuUsage(),
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
const result = await service.saveSnapshot(snapshot, 'test-issuer');
|
|
61
|
+
|
|
62
|
+
expect(result).toBeDefined();
|
|
63
|
+
expect(result.status).toBe('ready');
|
|
64
|
+
expect(result.systemName).toBe('Test System');
|
|
65
|
+
expect(result.systemShortCode).toBe('TEST');
|
|
66
|
+
expect(result.uptime).toBe(1000);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/* import { ServerStatus_ControlService } from './server-status.control-service'; */
|
|
6
|
-
|
|
7
|
-
import { DyFM_Error, DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
|
|
8
|
-
import { DyNTS_SingletonService } from '../../../_services/base/singleton.service';
|
|
9
|
-
|
|
10
|
-
export abstract class DyNTS_ServerStatusSnapshot_ControlService<
|
|
11
|
-
T_ServerStatusSnapshot extends DyFM_ServerStatus
|
|
12
|
-
> {
|
|
13
|
-
abstract saveSnapshot(
|
|
14
|
-
snapshot: T_ServerStatusSnapshot,
|
|
15
|
-
issuer: string
|
|
16
|
-
): Promise<T_ServerStatusSnapshot>;
|
|
17
|
-
}
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
/* import { ServerStatus_ControlService } from './server-status.control-service'; */
|
|
6
|
+
|
|
7
|
+
import { DyFM_Error, DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
|
|
8
|
+
import { DyNTS_SingletonService } from '../../../_services/base/singleton.service';
|
|
9
|
+
|
|
10
|
+
export abstract class DyNTS_ServerStatusSnapshot_ControlService<
|
|
11
|
+
T_ServerStatusSnapshot extends DyFM_ServerStatus
|
|
12
|
+
> {
|
|
13
|
+
abstract saveSnapshot(
|
|
14
|
+
snapshot: T_ServerStatusSnapshot,
|
|
15
|
+
issuer: string
|
|
16
|
+
): Promise<T_ServerStatusSnapshot>;
|
|
17
|
+
}
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
|
|
2
|
-
import { DyNTS_ServerStatusSnapshot_DataService } from './server-status-snapshot.data-service';
|
|
3
|
-
import { DyFM_ServerStatus, DyFM_DataModel_Params } from '@futdevpro/fsm-dynamo';
|
|
4
|
-
import { DyNTS_GlobalService } from '../../../_services/core/global.service';
|
|
5
|
-
import { DyNTS_DBService } from '../../../_services/base/db.service';
|
|
6
|
-
|
|
7
|
-
class TestServerStatus extends DyFM_ServerStatus {
|
|
8
|
-
testProperty?: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const testDataParams = new DyFM_DataModel_Params<TestServerStatus>({
|
|
12
|
-
dataName: 'test_server_status',
|
|
13
|
-
properties: {},
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
describe('| DyNTS_ServerStatusSnapshot_DataService', () => {
|
|
17
|
-
let service: DyNTS_ServerStatusSnapshot_DataService<TestServerStatus>;
|
|
18
|
-
let mockDBService: jasmine.SpyObj<DyNTS_DBService<TestServerStatus>>;
|
|
19
|
-
|
|
20
|
-
beforeEach(() => {
|
|
21
|
-
mockDBService = jasmine.createSpyObj('DyNTS_DBService', [
|
|
22
|
-
'getAll',
|
|
23
|
-
'getDataById',
|
|
24
|
-
'createData',
|
|
25
|
-
'modifyData',
|
|
26
|
-
]);
|
|
27
|
-
|
|
28
|
-
spyOn(DyNTS_GlobalService, 'getDBService').and.returnValue(mockDBService);
|
|
29
|
-
|
|
30
|
-
const testData = new TestServerStatus({
|
|
31
|
-
status: 'ready',
|
|
32
|
-
systemName: 'test-system',
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
service = new DyNTS_ServerStatusSnapshot_DataService<TestServerStatus>(
|
|
36
|
-
testData,
|
|
37
|
-
testDataParams,
|
|
38
|
-
'test-issuer'
|
|
39
|
-
);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it('| should create service instance', () => {
|
|
43
|
-
expect(service).toBeDefined();
|
|
44
|
-
expect(service.data).toBeDefined();
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
describe('| saveSnapshot', () => {
|
|
48
|
-
it('| should save snapshot', async () => {
|
|
49
|
-
const snapshot = new TestServerStatus({
|
|
50
|
-
status: 'ready',
|
|
51
|
-
systemName: 'test-system',
|
|
52
|
-
uptime: 1000,
|
|
53
|
-
});
|
|
54
|
-
const savedSnapshot = { ...snapshot, _id: 'snapshot-id' };
|
|
55
|
-
spyOn(service, 'saveData').and.returnValue(Promise.resolve(savedSnapshot));
|
|
56
|
-
|
|
57
|
-
const result = await service.saveSnapshot(snapshot, 'test-issuer');
|
|
58
|
-
|
|
59
|
-
expect(result).toBe(savedSnapshot);
|
|
60
|
-
expect(service.issuer).toBe('test-issuer');
|
|
61
|
-
expect(service.saveData).toHaveBeenCalledWith(snapshot);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it('| should throw error when save fails', async () => {
|
|
65
|
-
const snapshot = new TestServerStatus({
|
|
66
|
-
status: 'ready',
|
|
67
|
-
systemName: 'test-system',
|
|
68
|
-
});
|
|
69
|
-
spyOn(service, 'saveData').and.returnValue(Promise.reject(new Error('Save failed')));
|
|
70
|
-
|
|
71
|
-
await expectAsync(
|
|
72
|
-
service.saveSnapshot(snapshot, 'test-issuer')
|
|
73
|
-
).toBeRejected();
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
|
|
1
|
+
|
|
2
|
+
import { DyNTS_ServerStatusSnapshot_DataService } from './server-status-snapshot.data-service';
|
|
3
|
+
import { DyFM_ServerStatus, DyFM_DataModel_Params } from '@futdevpro/fsm-dynamo';
|
|
4
|
+
import { DyNTS_GlobalService } from '../../../_services/core/global.service';
|
|
5
|
+
import { DyNTS_DBService } from '../../../_services/base/db.service';
|
|
6
|
+
|
|
7
|
+
class TestServerStatus extends DyFM_ServerStatus {
|
|
8
|
+
testProperty?: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const testDataParams = new DyFM_DataModel_Params<TestServerStatus>({
|
|
12
|
+
dataName: 'test_server_status',
|
|
13
|
+
properties: {},
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
describe('| DyNTS_ServerStatusSnapshot_DataService', () => {
|
|
17
|
+
let service: DyNTS_ServerStatusSnapshot_DataService<TestServerStatus>;
|
|
18
|
+
let mockDBService: jasmine.SpyObj<DyNTS_DBService<TestServerStatus>>;
|
|
19
|
+
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
mockDBService = jasmine.createSpyObj('DyNTS_DBService', [
|
|
22
|
+
'getAll',
|
|
23
|
+
'getDataById',
|
|
24
|
+
'createData',
|
|
25
|
+
'modifyData',
|
|
26
|
+
]);
|
|
27
|
+
|
|
28
|
+
spyOn(DyNTS_GlobalService, 'getDBService').and.returnValue(mockDBService);
|
|
29
|
+
|
|
30
|
+
const testData = new TestServerStatus({
|
|
31
|
+
status: 'ready',
|
|
32
|
+
systemName: 'test-system',
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
service = new DyNTS_ServerStatusSnapshot_DataService<TestServerStatus>(
|
|
36
|
+
testData,
|
|
37
|
+
testDataParams,
|
|
38
|
+
'test-issuer'
|
|
39
|
+
);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('| should create service instance', () => {
|
|
43
|
+
expect(service).toBeDefined();
|
|
44
|
+
expect(service.data).toBeDefined();
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
describe('| saveSnapshot', () => {
|
|
48
|
+
it('| should save snapshot', async () => {
|
|
49
|
+
const snapshot = new TestServerStatus({
|
|
50
|
+
status: 'ready',
|
|
51
|
+
systemName: 'test-system',
|
|
52
|
+
uptime: 1000,
|
|
53
|
+
});
|
|
54
|
+
const savedSnapshot = { ...snapshot, _id: 'snapshot-id' };
|
|
55
|
+
spyOn(service, 'saveData').and.returnValue(Promise.resolve(savedSnapshot));
|
|
56
|
+
|
|
57
|
+
const result = await service.saveSnapshot(snapshot, 'test-issuer');
|
|
58
|
+
|
|
59
|
+
expect(result).toBe(savedSnapshot);
|
|
60
|
+
expect(service.issuer).toBe('test-issuer');
|
|
61
|
+
expect(service.saveData).toHaveBeenCalledWith(snapshot);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it('| should throw error when save fails', async () => {
|
|
65
|
+
const snapshot = new TestServerStatus({
|
|
66
|
+
status: 'ready',
|
|
67
|
+
systemName: 'test-system',
|
|
68
|
+
});
|
|
69
|
+
spyOn(service, 'saveData').and.returnValue(Promise.reject(new Error('Save failed')));
|
|
70
|
+
|
|
71
|
+
await expectAsync(
|
|
72
|
+
service.saveSnapshot(snapshot, 'test-issuer')
|
|
73
|
+
).toBeRejected();
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/* import { ServerStatus_ControlService } from './server-status.control-service'; */
|
|
6
|
-
|
|
7
|
-
import { DyFM_Error, DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
|
|
8
|
-
import { DyNTS_DataService } from '../../../_services/base/data.service';
|
|
9
|
-
import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
|
|
10
|
-
import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
|
|
11
|
-
|
|
12
|
-
export class DyNTS_ServerStatusSnapshot_DataService<
|
|
13
|
-
T_ServerStatusSnapshot extends DyFM_ServerStatus
|
|
14
|
-
> extends DyNTS_DataService<
|
|
15
|
-
T_ServerStatusSnapshot
|
|
16
|
-
> implements DyNTS_ServerStatusSnapshot_ControlService<
|
|
17
|
-
T_ServerStatusSnapshot
|
|
18
|
-
> {
|
|
19
|
-
|
|
20
|
-
async saveSnapshot(
|
|
21
|
-
snapshot: T_ServerStatusSnapshot,
|
|
22
|
-
issuer: string
|
|
23
|
-
): Promise<T_ServerStatusSnapshot> {
|
|
24
|
-
try {
|
|
25
|
-
this.issuer = issuer;
|
|
26
|
-
|
|
27
|
-
return await this.saveData(snapshot);
|
|
28
|
-
} catch (error) {
|
|
29
|
-
throw new DyFM_Error({
|
|
30
|
-
...this.getDefaultErrorSettings('saveSnapshot', error),
|
|
31
|
-
|
|
32
|
-
errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-SSSDS-SS0`,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
}
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
/* import { ServerStatus_ControlService } from './server-status.control-service'; */
|
|
6
|
+
|
|
7
|
+
import { DyFM_Error, DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
|
|
8
|
+
import { DyNTS_DataService } from '../../../_services/base/data.service';
|
|
9
|
+
import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
|
|
10
|
+
import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
|
|
11
|
+
|
|
12
|
+
export class DyNTS_ServerStatusSnapshot_DataService<
|
|
13
|
+
T_ServerStatusSnapshot extends DyFM_ServerStatus
|
|
14
|
+
> extends DyNTS_DataService<
|
|
15
|
+
T_ServerStatusSnapshot
|
|
16
|
+
> implements DyNTS_ServerStatusSnapshot_ControlService<
|
|
17
|
+
T_ServerStatusSnapshot
|
|
18
|
+
> {
|
|
19
|
+
|
|
20
|
+
async saveSnapshot(
|
|
21
|
+
snapshot: T_ServerStatusSnapshot,
|
|
22
|
+
issuer: string
|
|
23
|
+
): Promise<T_ServerStatusSnapshot> {
|
|
24
|
+
try {
|
|
25
|
+
this.issuer = issuer;
|
|
26
|
+
|
|
27
|
+
return await this.saveData(snapshot);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
throw new DyFM_Error({
|
|
30
|
+
...this.getDefaultErrorSettings('saveSnapshot', error),
|
|
31
|
+
|
|
32
|
+
errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-SSSDS-SS0`,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
}
|