@futdevpro/nts-dynamo 1.15.68 → 1.15.70

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.
Files changed (928) hide show
  1. package/.c8rc.json +26 -26
  2. package/.copilot/patterns.json +7 -7
  3. package/.cursor/rules/__assistant_guide.mdc +30 -30
  4. package/.cursor/rules/__main.mdc +64 -64
  5. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  6. package/.cursor/rules/_ag_backend.mdc +16 -16
  7. package/.cursor/rules/_ag_debug.mdc +7 -7
  8. package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -372
  9. package/.cursor/rules/_ag_file-refactoring.mdc +113 -113
  10. package/.cursor/rules/_ag_fixes_rules.mdc +5 -5
  11. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  12. package/.cursor/rules/_ag_frontend.mdc +39 -39
  13. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  14. package/.cursor/rules/_ag_naming.mdc +115 -115
  15. package/.cursor/rules/_ag_running_commands.mdc +4 -4
  16. package/.cursor/rules/_ag_server-controller.mdc +5 -5
  17. package/.cursor/rules/_ag_should-be.mdc +6 -6
  18. package/.cursor/rules/_ag_swearing.mdc +47 -47
  19. package/.cursor/rules/ai_development_guide.md +60 -60
  20. package/.cursor/rules/ai_directives.md +114 -114
  21. package/.cursor/rules/cursor-rules.md +160 -160
  22. package/.cursor/rules/default-command.mdc +464 -464
  23. package/.cursor/rules/error_code_pattern.md +39 -39
  24. package/.cursor/rules/saved rule mcp server use.md +15 -15
  25. package/.dynamo/logs/cicd-pipeline/output.log +2805 -0
  26. package/.dynamo/logs/cicd-pipeline/status.json +94 -0
  27. package/.dynamo/pipeline.cicd.config.json +180 -180
  28. package/.dynamo/version-bump.config.json +5 -5
  29. package/.github/workflows/main.yml +438 -438
  30. package/.husky/pre-commit +3 -3
  31. package/.vscode/settings.json +10 -10
  32. package/HOWTO.md +15 -15
  33. package/LICENSE +21 -21
  34. package/README.md +678 -678
  35. package/__documentations/2026-04-28-logs-module.md +49 -49
  36. package/__documentations/2026-05-17-oai-compatible-providers.md +229 -229
  37. package/__documentations/2026-05-17-static-client-serving-howto.md +144 -144
  38. package/__documentations/2026-06-01-fr041-cors-middleware.md +96 -96
  39. package/__documentations/2026-06-01-fr047-p2p3-function-calling.md +81 -81
  40. package/__documentations/2026-06-15-fr193-memory-guard.md +73 -73
  41. package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
  42. package/_specifications/BACKLOG.md +92 -92
  43. package/_specifications/TODO.md +15 -15
  44. package/_specifications/agent.md +138 -138
  45. package/build/_collections/archive.util.d.ts +12 -12
  46. package/build/_collections/archive.util.js +18 -18
  47. package/build/_collections/atlas-default-db-options.const.d.ts +2 -2
  48. package/build/_collections/atlas-default-db-options.const.js +9 -9
  49. package/build/_collections/default-fallback-cache-max-age.const.d.ts +2 -2
  50. package/build/_collections/default-fallback-cache-max-age.const.js +5 -5
  51. package/build/_collections/default-not-found-page.const.d.ts +5 -5
  52. package/build/_collections/default-not-found-page.const.js +24 -24
  53. package/build/_collections/default-socket-path.const.d.ts +2 -2
  54. package/build/_collections/default-socket-path.const.js +5 -5
  55. package/build/_collections/get-environment-settings.util.d.ts +2 -2
  56. package/build/_collections/get-environment-settings.util.js +43 -43
  57. package/build/_collections/global-settings.const.d.ts +6 -6
  58. package/build/_collections/global-settings.const.js +69 -69
  59. package/build/_collections/mongo-reconnect-guard.util.d.ts +73 -73
  60. package/build/_collections/mongo-reconnect-guard.util.js +110 -110
  61. package/build/_collections/star.controller.d.ts +7 -7
  62. package/build/_collections/star.controller.js +97 -97
  63. package/build/_enums/data-model-type.enum.d.ts +13 -13
  64. package/build/_enums/data-model-type.enum.js +17 -17
  65. package/build/_enums/data-service-function.enum.d.ts +18 -18
  66. package/build/_enums/data-service-function.enum.js +24 -24
  67. package/build/_enums/predefined-data-types.enum.d.ts +15 -15
  68. package/build/_enums/predefined-data-types.enum.js +19 -19
  69. package/build/_enums/route-security.enum.d.ts +11 -11
  70. package/build/_enums/route-security.enum.js +15 -15
  71. package/build/_models/control-models/api-call-params.control-model.d.ts +79 -79
  72. package/build/_models/control-models/api-call-params.control-model.js +101 -101
  73. package/build/_models/control-models/app-ext-system-controls.control-model.d.ts +6 -6
  74. package/build/_models/control-models/app-ext-system-controls.control-model.js +10 -10
  75. package/build/_models/control-models/app-params.control-model.d.ts +51 -51
  76. package/build/_models/control-models/app-params.control-model.js +119 -119
  77. package/build/_models/control-models/app-system-controls.control-model.d.ts +7 -7
  78. package/build/_models/control-models/app-system-controls.control-model.js +11 -11
  79. package/build/_models/control-models/endpoint-params.control-model.d.ts +114 -114
  80. package/build/_models/control-models/endpoint-params.control-model.js +442 -442
  81. package/build/_models/control-models/http-settings.control-model.d.ts +17 -17
  82. package/build/_models/control-models/http-settings.control-model.js +34 -34
  83. package/build/_models/control-models/system-control.control-model.d.ts +5 -5
  84. package/build/_models/control-models/system-control.control-model.js +11 -11
  85. package/build/_models/interfaces/certification-settings.interface.d.ts +5 -5
  86. package/build/_models/interfaces/certification-settings.interface.js +2 -2
  87. package/build/_models/interfaces/compare-data-options.interface.d.ts +26 -26
  88. package/build/_models/interfaces/compare-data-options.interface.js +2 -2
  89. package/build/_models/interfaces/compare-data-result.interface.d.ts +12 -12
  90. package/build/_models/interfaces/compare-data-result.interface.js +2 -2
  91. package/build/_models/interfaces/cors-settings.interface.d.ts +51 -51
  92. package/build/_models/interfaces/cors-settings.interface.js +2 -2
  93. package/build/_models/interfaces/environment-settings.interface.d.ts +34 -34
  94. package/build/_models/interfaces/environment-settings.interface.js +2 -2
  95. package/build/_models/interfaces/global-log-settings.interface.d.ts +145 -145
  96. package/build/_models/interfaces/global-log-settings.interface.js +2 -2
  97. package/build/_models/interfaces/global-service-settings.interface.d.ts +30 -30
  98. package/build/_models/interfaces/global-service-settings.interface.js +2 -2
  99. package/build/_models/interfaces/global-settings.interface.d.ts +161 -161
  100. package/build/_models/interfaces/global-settings.interface.js +2 -2
  101. package/build/_models/interfaces/routing-module-settings.interface.d.ts +19 -19
  102. package/build/_models/interfaces/routing-module-settings.interface.js +2 -2
  103. package/build/_models/interfaces/static-client-settings.interface.d.ts +28 -28
  104. package/build/_models/interfaces/static-client-settings.interface.js +2 -2
  105. package/build/_models/types/db-update.type.d.ts +129 -129
  106. package/build/_models/types/db-update.type.js +2 -2
  107. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.d.ts +31 -31
  108. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.js +2 -2
  109. package/build/_modules/admin-auth/admin-api-key.auth-service.d.ts +89 -89
  110. package/build/_modules/admin-auth/admin-api-key.auth-service.js +194 -194
  111. package/build/_modules/admin-auth/index.d.ts +2 -2
  112. package/build/_modules/admin-auth/index.js +5 -5
  113. package/build/_modules/ai/_models/ai-input-interfaces.d.ts +53 -53
  114. package/build/_modules/ai/_models/ai-input-interfaces.js +5 -5
  115. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts +16 -16
  116. package/build/_modules/ai/_models/ai-test-generation-result.interface.js +2 -2
  117. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +13 -13
  118. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +2 -2
  119. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +49 -49
  120. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +2 -2
  121. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts +35 -35
  122. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js +117 -117
  123. package/build/_modules/ai/_modules/anthropic/index.d.ts +2 -2
  124. package/build/_modules/ai/_modules/anthropic/index.js +7 -7
  125. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts +84 -84
  126. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js +467 -467
  127. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.d.ts +109 -109
  128. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.js +418 -418
  129. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.d.ts +28 -28
  130. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.js +73 -73
  131. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.d.ts +6 -6
  132. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.js +10 -10
  133. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.d.ts +51 -51
  134. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.js +132 -132
  135. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.d.ts +47 -47
  136. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.js +136 -136
  137. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.d.ts +17 -17
  138. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.js +76 -76
  139. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.d.ts +49 -49
  140. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.js +2 -2
  141. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.d.ts +8 -8
  142. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.js +2 -2
  143. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.d.ts +11 -11
  144. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.js +2 -2
  145. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.d.ts +12 -12
  146. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.js +2 -2
  147. package/build/_modules/ai/_modules/document-ai/index.d.ts +12 -12
  148. package/build/_modules/ai/_modules/document-ai/index.js +27 -27
  149. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts +34 -34
  150. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js +128 -128
  151. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +2 -2
  152. package/build/_modules/ai/_modules/fdp-ai/index.js +7 -7
  153. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.d.ts +2 -2
  154. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.js +8 -8
  155. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts +2 -2
  156. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js +74 -74
  157. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts +2 -2
  158. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js +67 -67
  159. package/build/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.js +42 -42
  160. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts +5 -5
  161. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js +2 -2
  162. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js +6 -6
  163. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts +51 -51
  164. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js +2 -2
  165. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts +21 -21
  166. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js +187 -187
  167. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts +26 -26
  168. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js +278 -278
  169. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts +22 -22
  170. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js +322 -322
  171. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts +119 -119
  172. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js +480 -480
  173. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts +25 -25
  174. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +103 -103
  175. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +169 -169
  176. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +479 -479
  177. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +201 -201
  178. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +579 -579
  179. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts +39 -39
  180. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js +110 -110
  181. package/build/_modules/ai/_modules/open-ai/index.d.ts +14 -14
  182. package/build/_modules/ai/_modules/open-ai/index.js +55 -55
  183. package/build/_modules/ai/_services/ai-embedding-mock.service.d.ts +80 -80
  184. package/build/_modules/ai/_services/ai-embedding-mock.service.js +166 -166
  185. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts +51 -51
  186. package/build/_modules/ai/_services/ai-embedding-provider.registry.js +78 -78
  187. package/build/_modules/ai/_services/ai-embedding.service-base.d.ts +41 -41
  188. package/build/_modules/ai/_services/ai-embedding.service-base.js +11 -11
  189. package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts +39 -39
  190. package/build/_modules/ai/_services/ai-llm-chat.service-base.js +11 -11
  191. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +132 -132
  192. package/build/_modules/ai/_services/ai-llm.service-base.js +313 -313
  193. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +46 -46
  194. package/build/_modules/ai/_services/ai-provider.service-base.js +43 -43
  195. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts +44 -44
  196. package/build/_modules/ai/_services/ai-user-key.service-base.js +14 -14
  197. package/build/_modules/ai/_services/lmstudio-embedding.control-service.d.ts +110 -110
  198. package/build/_modules/ai/_services/lmstudio-embedding.control-service.js +297 -297
  199. package/build/_modules/ai/index.d.ts +13 -13
  200. package/build/_modules/ai/index.js +22 -22
  201. package/build/_modules/assistant/_collections/ass-global-settings.const.d.ts +2 -2
  202. package/build/_modules/assistant/_collections/ass-global-settings.const.js +14 -14
  203. package/build/_modules/assistant/_collections/ass.util.d.ts +15 -15
  204. package/build/_modules/assistant/_collections/ass.util.js +42 -42
  205. package/build/_modules/assistant/_models/ass-global-settings.interface.d.ts +13 -13
  206. package/build/_modules/assistant/_models/ass-global-settings.interface.js +2 -2
  207. package/build/_modules/assistant/_services/ass-io.control-service.d.ts +19 -19
  208. package/build/_modules/assistant/_services/ass-io.control-service.js +57 -57
  209. package/build/_modules/assistant/_services/ass-main.control-service.d.ts +32 -32
  210. package/build/_modules/assistant/_services/ass-main.control-service.js +65 -65
  211. package/build/_modules/assistant/index.d.ts +6 -6
  212. package/build/_modules/assistant/index.js +18 -18
  213. package/build/_modules/bot/_collections/bot-default-commands.const.d.ts +2 -2
  214. package/build/_modules/bot/_collections/bot-default-commands.const.js +13 -13
  215. package/build/_modules/bot/_collections/bot-global-settings.const.d.ts +2 -2
  216. package/build/_modules/bot/_collections/bot-global-settings.const.js +31 -31
  217. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +25 -25
  218. package/build/_modules/bot/_models/bot-channel-wrapper.interface.js +38 -38
  219. package/build/_modules/bot/_models/bot-command.interface.d.ts +7 -7
  220. package/build/_modules/bot/_models/bot-command.interface.js +2 -2
  221. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +85 -85
  222. package/build/_modules/bot/_models/bot-global-settings.interface.js +2 -2
  223. package/build/_modules/bot/_models/bot-last-mention-date.interface.d.ts +6 -6
  224. package/build/_modules/bot/_models/bot-last-mention-date.interface.js +2 -2
  225. package/build/_modules/bot/_models/bot-last-message-date.interface.d.ts +5 -5
  226. package/build/_modules/bot/_models/bot-last-message-date.interface.js +2 -2
  227. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +37 -37
  228. package/build/_modules/bot/_models/bot-message-wrapper.interface.js +54 -54
  229. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +23 -23
  230. package/build/_modules/bot/_models/bot-user-wrapper.interface.js +28 -28
  231. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js +10 -10
  232. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +69 -69
  233. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +497 -497
  234. package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -1
  235. package/build/_modules/bot/_modules/discord-bot/index.js +12 -12
  236. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +16 -16
  237. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js +42 -42
  238. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts +9 -9
  239. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.js +2 -2
  240. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +59 -59
  241. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +349 -349
  242. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +3 -3
  243. package/build/_modules/bot/_modules/dynamo-bot/index.js +15 -15
  244. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts +6 -6
  245. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.js +2 -2
  246. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +56 -56
  247. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +137 -137
  248. package/build/_modules/bot/_modules/slack-bot/index.d.ts +2 -2
  249. package/build/_modules/bot/_modules/slack-bot/index.js +12 -12
  250. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts +6 -6
  251. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.js +2 -2
  252. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +56 -56
  253. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +137 -137
  254. package/build/_modules/bot/_modules/teams-bot/index.d.ts +2 -2
  255. package/build/_modules/bot/_modules/teams-bot/index.js +12 -12
  256. package/build/_modules/bot/_services/bot-commands.control-service.d.ts +12 -12
  257. package/build/_modules/bot/_services/bot-commands.control-service.js +117 -117
  258. package/build/_modules/bot/_services/bot-io.control-service.d.ts +23 -23
  259. package/build/_modules/bot/_services/bot-io.control-service.js +226 -226
  260. package/build/_modules/bot/_services/bot-main.control-service.d.ts +35 -35
  261. package/build/_modules/bot/_services/bot-main.control-service.js +195 -195
  262. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +71 -71
  263. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js +15 -15
  264. package/build/_modules/bot/_services/bot-routines.control-service.d.ts +13 -13
  265. package/build/_modules/bot/_services/bot-routines.control-service.js +59 -59
  266. package/build/_modules/bot/index.d.ts +17 -17
  267. package/build/_modules/bot/index.js +36 -36
  268. package/build/_modules/custom-data/custom-data.controller.d.ts +5 -5
  269. package/build/_modules/custom-data/custom-data.controller.js +56 -56
  270. package/build/_modules/custom-data/custom-data.data-service.d.ts +5 -5
  271. package/build/_modules/custom-data/custom-data.data-service.js +11 -11
  272. package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts +3 -3
  273. package/build/_modules/custom-data/get-custom-data-routing-module.util.js +16 -16
  274. package/build/_modules/custom-data/index.d.ts +4 -4
  275. package/build/_modules/custom-data/index.js +9 -9
  276. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts +58 -58
  277. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js +168 -168
  278. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.d.ts +31 -31
  279. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.js +7 -7
  280. package/build/_modules/data-readers/index.d.ts +2 -2
  281. package/build/_modules/data-readers/index.js +10 -10
  282. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +248 -248
  283. package/build/_modules/defaults/_collections/default-endpoints.util.js +386 -386
  284. package/build/_modules/defaults/_models/default-user.data-model.d.ts +19 -19
  285. package/build/_modules/defaults/_models/default-user.data-model.js +72 -72
  286. package/build/_modules/defaults/_services/default-auth.service.d.ts +50 -50
  287. package/build/_modules/defaults/_services/default-auth.service.js +158 -158
  288. package/build/_modules/defaults/_services/default-socket-events.service.d.ts +23 -23
  289. package/build/_modules/defaults/_services/default-socket-events.service.js +60 -60
  290. package/build/_modules/defaults/_services/default-user.data-service.d.ts +24 -24
  291. package/build/_modules/defaults/_services/default-user.data-service.js +87 -87
  292. package/build/_modules/defaults/index.d.ts +5 -5
  293. package/build/_modules/defaults/index.js +17 -17
  294. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts +2 -2
  295. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js +16 -16
  296. package/build/_modules/discord-assistant/_collections/dias.util.d.ts +31 -31
  297. package/build/_modules/discord-assistant/_collections/dias.util.js +85 -85
  298. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts +17 -17
  299. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js +2 -2
  300. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts +8 -8
  301. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js +46 -46
  302. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +17 -17
  303. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +123 -123
  304. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts +10 -10
  305. package/build/_modules/discord-assistant/_services/dias-io.control-service.js +49 -49
  306. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts +3 -3
  307. package/build/_modules/discord-assistant/_services/dias-main.control-service.js +7 -7
  308. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +18 -18
  309. package/build/_modules/discord-assistant/_services/dias.service-base.js +46 -46
  310. package/build/_modules/discord-assistant/index.d.ts +11 -11
  311. package/build/_modules/discord-assistant/index.js +24 -24
  312. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts +3 -3
  313. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js +7 -7
  314. package/build/_modules/discord-assistant-voiced/index.d.ts +2 -2
  315. package/build/_modules/discord-assistant-voiced/index.js +28 -28
  316. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts +2 -2
  317. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js +12 -12
  318. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts +2 -2
  319. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +43 -43
  320. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +22 -22
  321. package/build/_modules/discord-bot/_collections/dibo-operations.util.js +275 -275
  322. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts +7 -7
  323. package/build/_modules/discord-bot/_models/dibo-command.interface.js +2 -2
  324. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.d.ts +87 -87
  325. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.js +2 -2
  326. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts +6 -6
  327. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js +2 -2
  328. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts +5 -5
  329. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js +2 -2
  330. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts +11 -11
  331. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js +109 -109
  332. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts +21 -21
  333. package/build/_modules/discord-bot/_services/dibo-io.control-service.js +218 -218
  334. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +89 -89
  335. package/build/_modules/discord-bot/_services/dibo-main.control-service.js +363 -363
  336. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts +13 -13
  337. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js +73 -73
  338. package/build/_modules/discord-bot/index.d.ts +11 -11
  339. package/build/_modules/discord-bot/index.js +30 -30
  340. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +34 -34
  341. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +38 -38
  342. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.d.ts +35 -35
  343. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.js +53 -53
  344. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.d.ts +16 -16
  345. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.js +2 -2
  346. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +88 -88
  347. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +189 -189
  348. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.d.ts +26 -26
  349. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.js +197 -197
  350. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +145 -145
  351. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +294 -294
  352. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts +69 -69
  353. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js +122 -122
  354. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.d.ts +42 -42
  355. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.js +71 -71
  356. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +70 -70
  357. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts.map +1 -1
  358. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +187 -181
  359. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js.map +1 -1
  360. package/build/_modules/local-vector-search/index.d.ts +8 -8
  361. package/build/_modules/local-vector-search/index.js +15 -15
  362. package/build/_modules/logs/_models/file-log-entry.interface.d.ts +13 -13
  363. package/build/_modules/logs/_models/file-log-entry.interface.js +2 -2
  364. package/build/_modules/logs/_models/file-log-read-result.interface.d.ts +35 -35
  365. package/build/_modules/logs/_models/file-log-read-result.interface.js +2 -2
  366. package/build/_modules/logs/file-log.service.d.ts +132 -132
  367. package/build/_modules/logs/file-log.service.js +444 -444
  368. package/build/_modules/logs/file-logs.controller.d.ts +40 -40
  369. package/build/_modules/logs/file-logs.controller.js +138 -138
  370. package/build/_modules/logs/get-file-logs-routing-module.util.d.ts +31 -31
  371. package/build/_modules/logs/get-file-logs-routing-module.util.js +37 -37
  372. package/build/_modules/logs/get-logs-routing-module.util.d.ts +18 -18
  373. package/build/_modules/logs/get-logs-routing-module.util.js +31 -31
  374. package/build/_modules/logs/index.d.ts +8 -8
  375. package/build/_modules/logs/index.js +15 -15
  376. package/build/_modules/logs/log-buffer.service.d.ts +37 -37
  377. package/build/_modules/logs/log-buffer.service.js +96 -96
  378. package/build/_modules/logs/logs.controller.d.ts +26 -26
  379. package/build/_modules/logs/logs.controller.js +89 -89
  380. package/build/_modules/logs/logs.service.d.ts +39 -39
  381. package/build/_modules/logs/logs.service.js +96 -96
  382. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.d.ts +108 -108
  383. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.js +13 -13
  384. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.d.ts +70 -70
  385. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.js +98 -98
  386. package/build/_modules/mcp/_services/dynts-mcp.adapter.d.ts +56 -56
  387. package/build/_modules/mcp/_services/dynts-mcp.adapter.js +138 -138
  388. package/build/_modules/mcp/index.d.ts +3 -3
  389. package/build/_modules/mcp/index.js +12 -12
  390. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.d.ts +7 -7
  391. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.js +20 -20
  392. package/build/_modules/messaging/_collections/msg-global-settings.const.d.ts +5 -5
  393. package/build/_modules/messaging/_collections/msg-global-settings.const.js +22 -22
  394. package/build/_modules/messaging/_collections/msg.util.d.ts +24 -24
  395. package/build/_modules/messaging/_collections/msg.util.js +62 -62
  396. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts +28 -28
  397. package/build/_modules/messaging/_models/msg-global-settings.interface.js +2 -2
  398. package/build/_modules/messaging/_services/msg-conversation.data-service.d.ts +28 -28
  399. package/build/_modules/messaging/_services/msg-conversation.data-service.js +109 -109
  400. package/build/_modules/messaging/_services/msg-events.service.d.ts +61 -61
  401. package/build/_modules/messaging/_services/msg-events.service.js +203 -203
  402. package/build/_modules/messaging/_services/msg-integration.control-service.js +180 -180
  403. package/build/_modules/messaging/_services/msg-main.control-service.d.ts +62 -62
  404. package/build/_modules/messaging/_services/msg-main.control-service.js +428 -428
  405. package/build/_modules/messaging/_services/msg-message.data-service.d.ts +28 -28
  406. package/build/_modules/messaging/_services/msg-message.data-service.js +103 -103
  407. package/build/_modules/messaging/_services/msg.controller.d.ts +12 -12
  408. package/build/_modules/messaging/_services/msg.controller.js +256 -256
  409. package/build/_modules/messaging/index.d.ts +10 -10
  410. package/build/_modules/messaging/index.js +27 -27
  411. package/build/_modules/mock/app-extended-server.mock.d.ts +41 -41
  412. package/build/_modules/mock/app-extended-server.mock.js +169 -169
  413. package/build/_modules/mock/app-integration-test.mock.d.ts +19 -19
  414. package/build/_modules/mock/app-integration-test.mock.js +45 -45
  415. package/build/_modules/mock/app-params.mock.d.ts +2 -2
  416. package/build/_modules/mock/app-params.mock.js +9 -9
  417. package/build/_modules/mock/app-server.mock.d.ts +41 -41
  418. package/build/_modules/mock/app-server.mock.js +148 -148
  419. package/build/_modules/mock/auth-service.mock.d.ts +10 -10
  420. package/build/_modules/mock/auth-service.mock.js +19 -19
  421. package/build/_modules/mock/controller.mock.d.ts +5 -5
  422. package/build/_modules/mock/controller.mock.js +14 -14
  423. package/build/_modules/mock/data-model.mock.d.ts +26 -26
  424. package/build/_modules/mock/data-model.mock.js +72 -72
  425. package/build/_modules/mock/email-service-collection.mock.d.ts +7 -7
  426. package/build/_modules/mock/email-service-collection.mock.js +12 -12
  427. package/build/_modules/mock/email-service.mock.d.ts +4 -4
  428. package/build/_modules/mock/email-service.mock.js +20 -20
  429. package/build/_modules/mock/endpoint.mock.d.ts +8 -8
  430. package/build/_modules/mock/endpoint.mock.js +79 -79
  431. package/build/_modules/mock/socket-client.mock.d.ts +9 -9
  432. package/build/_modules/mock/socket-client.mock.js +38 -38
  433. package/build/_modules/mock/socket-server.mock.d.ts +15 -15
  434. package/build/_modules/mock/socket-server.mock.js +32 -32
  435. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +16 -16
  436. package/build/_modules/oauth2/_routes/oauth2.controller.js +96 -96
  437. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +30 -30
  438. package/build/_modules/oauth2/_services/oauth2.auth-service.js +215 -215
  439. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +132 -132
  440. package/build/_modules/oauth2/_services/oauth2.control-service.js +576 -576
  441. package/build/_modules/oauth2/index.d.ts +3 -3
  442. package/build/_modules/oauth2/index.js +14 -14
  443. package/build/_modules/rate-limit/_models/rate-limit-config.interface.d.ts +61 -61
  444. package/build/_modules/rate-limit/_models/rate-limit-config.interface.js +2 -2
  445. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.d.ts +15 -15
  446. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.js +2 -2
  447. package/build/_modules/rate-limit/index.d.ts +3 -3
  448. package/build/_modules/rate-limit/index.js +5 -5
  449. package/build/_modules/rate-limit/rate-limit.middleware.d.ts +132 -132
  450. package/build/_modules/rate-limit/rate-limit.middleware.js +289 -289
  451. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.d.ts +18 -18
  452. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.js +22 -22
  453. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.d.ts +43 -43
  454. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.js +67 -67
  455. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.d.ts +88 -88
  456. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.js +11 -11
  457. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.d.ts +83 -83
  458. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.js +219 -219
  459. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.d.ts +53 -53
  460. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.js +75 -75
  461. package/build/_modules/scoped-config/index.d.ts +5 -5
  462. package/build/_modules/scoped-config/index.js +14 -14
  463. package/build/_modules/server/errors/errors.control-service.d.ts +21 -21
  464. package/build/_modules/server/errors/errors.control-service.js +10 -10
  465. package/build/_modules/server/errors/errors.controller.d.ts +100 -100
  466. package/build/_modules/server/errors/errors.controller.js +355 -355
  467. package/build/_modules/server/errors/errors.data-service.d.ts +64 -64
  468. package/build/_modules/server/errors/errors.data-service.js +628 -628
  469. package/build/_modules/server/index.d.ts +7 -7
  470. package/build/_modules/server/index.js +26 -26
  471. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts +4 -4
  472. package/build/_modules/server/server-status/server-status-snapshot.control-service.js +7 -7
  473. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts +6 -6
  474. package/build/_modules/server/server-status/server-status-snapshot.data-service.js +22 -22
  475. package/build/_modules/server/server-status/server-status.control-service.d.ts +74 -74
  476. package/build/_modules/server/server-status/server-status.control-service.js +234 -234
  477. package/build/_modules/server/server-status/server-status.controller.d.ts +84 -84
  478. package/build/_modules/server/server-status/server-status.controller.js +172 -172
  479. package/build/_modules/socket/_enums/socket-security.enum.d.ts +10 -10
  480. package/build/_modules/socket/_enums/socket-security.enum.js +14 -14
  481. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +8 -8
  482. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +16 -16
  483. package/build/_modules/socket/_models/socket-presence.control-model.d.ts +25 -25
  484. package/build/_modules/socket/_models/socket-presence.control-model.js +139 -139
  485. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +12 -12
  486. package/build/_modules/socket/_models/socket-server-service-params.control-model.js +20 -20
  487. package/build/_modules/socket/_services/socket-client.service.d.ts +37 -37
  488. package/build/_modules/socket/_services/socket-client.service.js +196 -196
  489. package/build/_modules/socket/_services/socket-server.service.d.ts +94 -94
  490. package/build/_modules/socket/_services/socket-server.service.js +689 -689
  491. package/build/_modules/socket/app-extended.server.d.ts +145 -145
  492. package/build/_modules/socket/app-extended.server.js +506 -506
  493. package/build/_modules/socket/index.d.ts +8 -8
  494. package/build/_modules/socket/index.js +35 -35
  495. package/build/_modules/test/get-test-routing-module.util.d.ts +3 -3
  496. package/build/_modules/test/get-test-routing-module.util.js +16 -16
  497. package/build/_modules/test/index.d.ts +3 -3
  498. package/build/_modules/test/index.js +11 -11
  499. package/build/_modules/test/test.controller.d.ts +5 -5
  500. package/build/_modules/test/test.controller.js +103 -103
  501. package/build/_modules/usage/get-usage-routing-module.util.d.ts +3 -3
  502. package/build/_modules/usage/get-usage-routing-module.util.js +16 -16
  503. package/build/_modules/usage/index.d.ts +4 -4
  504. package/build/_modules/usage/index.js +13 -13
  505. package/build/_modules/usage/usage.controller.d.ts +6 -6
  506. package/build/_modules/usage/usage.controller.js +95 -95
  507. package/build/_modules/usage/usage.data-service.d.ts +17 -17
  508. package/build/_modules/usage/usage.data-service.js +135 -135
  509. package/build/_services/base/api.service-base.d.ts +9 -9
  510. package/build/_services/base/api.service-base.js +46 -46
  511. package/build/_services/base/archive-data.service.d.ts +25 -25
  512. package/build/_services/base/archive-data.service.js +140 -140
  513. package/build/_services/base/data.service.d.ts +381 -381
  514. package/build/_services/base/data.service.js +2068 -2068
  515. package/build/_services/base/db.service.d.ts +393 -393
  516. package/build/_services/base/db.service.js +1256 -1256
  517. package/build/_services/base/singleton.service-base.d.ts +8 -8
  518. package/build/_services/base/singleton.service-base.js +21 -21
  519. package/build/_services/base/singleton.service.d.ts +11 -11
  520. package/build/_services/base/singleton.service.js +31 -31
  521. package/build/_services/core/api.service.d.ts +45 -45
  522. package/build/_services/core/api.service.js +436 -436
  523. package/build/_services/core/auth.service.d.ts +129 -129
  524. package/build/_services/core/auth.service.js +59 -59
  525. package/build/_services/core/email.service.d.ts +77 -77
  526. package/build/_services/core/email.service.js +489 -489
  527. package/build/_services/core/global.service.d.ts +76 -76
  528. package/build/_services/core/global.service.js +370 -370
  529. package/build/_services/core/memory-guard.service.d.ts +110 -110
  530. package/build/_services/core/memory-guard.service.js +197 -197
  531. package/build/_services/core/service-collection.service.d.ts +4 -4
  532. package/build/_services/core/service-collection.service.js +7 -7
  533. package/build/_services/route/controller.service.d.ts +124 -124
  534. package/build/_services/route/controller.service.js +95 -95
  535. package/build/_services/route/routing-module.service.d.ts +80 -80
  536. package/build/_services/route/routing-module.service.js +250 -250
  537. package/build/_services/server/app.server.d.ts +352 -352
  538. package/build/_services/server/app.server.js +1323 -1323
  539. package/build/_services/shared.static-service.d.ts +36 -36
  540. package/build/_services/shared.static-service.js +72 -72
  541. package/build/index.d.ts +43 -43
  542. package/build/index.js +80 -80
  543. package/eslint.config.js +3 -3
  544. package/nodemon.json +24 -24
  545. package/package.json +417 -416
  546. package/pnpm-workspace.yaml +5 -5
  547. package/scripts/run-coverage-tests.js +28 -28
  548. package/spec/support/helpers/spec-reporter-loader.js +359 -359
  549. package/spec/support/helpers/ts-node-helper.js +93 -93
  550. package/spec/support/jasmine.coverage.json +24 -24
  551. package/spec/support/jasmine.json +24 -24
  552. package/src/_collections/archive.util.spec.ts +57 -57
  553. package/src/_collections/archive.util.ts +18 -18
  554. package/src/_collections/atlas-default-db-options.const.ts +9 -9
  555. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
  556. package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
  557. package/src/_collections/default-not-found-page.const.spec.ts +19 -19
  558. package/src/_collections/default-not-found-page.const.ts +22 -22
  559. package/src/_collections/default-socket-path.const.spec.ts +12 -12
  560. package/src/_collections/default-socket-path.const.ts +2 -2
  561. package/src/_collections/get-environment-settings.util.spec.ts +210 -210
  562. package/src/_collections/get-environment-settings.util.ts +48 -48
  563. package/src/_collections/global-settings.const.ts +89 -89
  564. package/src/_collections/mongo-reconnect-guard.util.spec.ts +52 -52
  565. package/src/_collections/mongo-reconnect-guard.util.ts +172 -172
  566. package/src/_collections/sample.env +21 -21
  567. package/src/_collections/star.controller.spec.ts +224 -224
  568. package/src/_collections/star.controller.ts +129 -129
  569. package/src/_enums/data-model-type.enum.ts +14 -14
  570. package/src/_enums/data-service-function.enum.ts +24 -24
  571. package/src/_enums/predefined-data-types.enum.ts +16 -16
  572. package/src/_enums/route-security.enum.ts +12 -12
  573. package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
  574. package/src/_models/control-models/api-call-params.control-model.ts +142 -142
  575. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
  576. package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
  577. package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
  578. package/src/_models/control-models/app-params.control-model.ts +136 -136
  579. package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
  580. package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
  581. package/src/_models/control-models/endpoint-params.control-model.spec.ts +627 -627
  582. package/src/_models/control-models/endpoint-params.control-model.ts +627 -627
  583. package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
  584. package/src/_models/control-models/http-settings.control-model.ts +37 -37
  585. package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
  586. package/src/_models/control-models/system-control.control-model.ts +12 -12
  587. package/src/_models/interfaces/certification-settings.interface.ts +7 -7
  588. package/src/_models/interfaces/compare-data-options.interface.ts +27 -27
  589. package/src/_models/interfaces/compare-data-result.interface.ts +12 -12
  590. package/src/_models/interfaces/cors-settings.interface.spec.ts +52 -52
  591. package/src/_models/interfaces/cors-settings.interface.ts +56 -56
  592. package/src/_models/interfaces/environment-settings.interface.ts +59 -59
  593. package/src/_models/interfaces/global-log-settings.interface.ts +171 -171
  594. package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
  595. package/src/_models/interfaces/global-settings.interface.ts +185 -185
  596. package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
  597. package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
  598. package/src/_models/interfaces/static-client-settings.interface.ts +28 -28
  599. package/src/_models/types/db-update.type.ts +100 -100
  600. package/src/_modules/admin-auth/_models/admin-api-key-config.interface.ts +33 -33
  601. package/src/_modules/admin-auth/admin-api-key.auth-service.spec.ts +200 -200
  602. package/src/_modules/admin-auth/admin-api-key.auth-service.ts +220 -220
  603. package/src/_modules/admin-auth/index.ts +2 -2
  604. package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
  605. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
  606. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts +14 -14
  607. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts +56 -56
  608. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
  609. package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
  610. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
  611. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
  612. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +295 -295
  613. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +552 -552
  614. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
  615. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
  616. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
  617. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
  618. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
  619. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
  620. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +68 -68
  621. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
  622. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
  623. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
  624. package/src/_modules/ai/_modules/document-ai/index.ts +30 -30
  625. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
  626. package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
  627. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
  628. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
  629. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
  630. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
  631. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
  632. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
  633. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
  634. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
  635. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts +572 -572
  636. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
  637. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts +435 -435
  638. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
  639. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
  640. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +332 -332
  641. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +132 -132
  642. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
  643. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +634 -634
  644. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +489 -489
  645. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +173 -173
  646. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +1033 -1033
  647. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
  648. package/src/_modules/ai/_modules/open-ai/index.ts +74 -74
  649. package/src/_modules/ai/_services/ai-embedding-mock.service.spec.ts +115 -115
  650. package/src/_modules/ai/_services/ai-embedding-mock.service.ts +233 -233
  651. package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +110 -110
  652. package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +114 -114
  653. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
  654. package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
  655. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
  656. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
  657. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
  658. package/src/_modules/ai/_services/ai-llm.service-base.ts +519 -519
  659. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +158 -158
  660. package/src/_modules/ai/_services/ai-provider.service-base.ts +67 -67
  661. package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
  662. package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +197 -197
  663. package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +399 -399
  664. package/src/_modules/ai/index.ts +23 -23
  665. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
  666. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
  667. package/src/_modules/assistant/_collections/ass.util.ts +50 -50
  668. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
  669. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
  670. package/src/_modules/assistant/_services/ass-io.control-service.ts +74 -74
  671. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
  672. package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
  673. package/src/_modules/assistant/index.ts +19 -19
  674. package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
  675. package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
  676. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
  677. package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
  678. package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
  679. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
  680. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
  681. package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +90 -90
  682. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
  683. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
  684. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
  685. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +641 -641
  686. package/src/_modules/bot/_modules/discord-bot/index.ts +12 -12
  687. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
  688. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
  689. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
  690. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
  691. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
  692. package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
  693. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
  694. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
  695. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
  696. package/src/_modules/bot/_modules/slack-bot/index.ts +12 -12
  697. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
  698. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
  699. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
  700. package/src/_modules/bot/_modules/teams-bot/index.ts +11 -11
  701. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
  702. package/src/_modules/bot/_services/bot-commands.control-service.ts +158 -158
  703. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
  704. package/src/_modules/bot/_services/bot-io.control-service.ts +329 -329
  705. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
  706. package/src/_modules/bot/_services/bot-main.control-service.ts +489 -489
  707. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
  708. package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +158 -158
  709. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
  710. package/src/_modules/bot/_services/bot-routines.control-service.ts +78 -78
  711. package/src/_modules/bot/index.ts +37 -37
  712. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
  713. package/src/_modules/custom-data/custom-data.controller.ts +67 -67
  714. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
  715. package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
  716. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
  717. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
  718. package/src/_modules/custom-data/index.ts +9 -9
  719. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +176 -176
  720. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +203 -203
  721. package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +33 -33
  722. package/src/_modules/data-readers/index.ts +11 -11
  723. package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
  724. package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
  725. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
  726. package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
  727. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
  728. package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
  729. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
  730. package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
  731. package/src/_modules/defaults/index.ts +17 -17
  732. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
  733. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
  734. package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
  735. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
  736. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
  737. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
  738. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
  739. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
  740. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
  741. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
  742. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
  743. package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
  744. package/src/_modules/discord-assistant/index.ts +38 -38
  745. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
  746. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
  747. package/src/_modules/discord-assistant-voiced/index.ts +36 -36
  748. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
  749. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
  750. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
  751. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
  752. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
  753. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
  754. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
  755. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
  756. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
  757. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
  758. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
  759. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
  760. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
  761. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
  762. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
  763. package/src/_modules/discord-bot/_services/dibo-routines.control-service.ts +97 -97
  764. package/src/_modules/discord-bot/index.ts +36 -36
  765. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +35 -35
  766. package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +60 -60
  767. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
  768. package/src/_modules/local-vector-search/_services/lvs-bm25.util.spec.ts +159 -159
  769. package/src/_modules/local-vector-search/_services/lvs-bm25.util.ts +206 -206
  770. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
  771. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
  772. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +480 -480
  773. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +416 -416
  774. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +198 -198
  775. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +150 -150
  776. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +167 -167
  777. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +108 -108
  778. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +409 -393
  779. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +224 -220
  780. package/src/_modules/local-vector-search/index.ts +16 -16
  781. package/src/_modules/logs/_models/file-log-entry.interface.ts +13 -13
  782. package/src/_modules/logs/_models/file-log-read-result.interface.ts +37 -37
  783. package/src/_modules/logs/file-log.service.spec.ts +341 -341
  784. package/src/_modules/logs/file-log.service.ts +466 -466
  785. package/src/_modules/logs/file-logs.controller.spec.ts +245 -245
  786. package/src/_modules/logs/file-logs.controller.ts +165 -165
  787. package/src/_modules/logs/get-file-logs-routing-module.util.ts +51 -51
  788. package/src/_modules/logs/get-logs-routing-module.util.ts +36 -36
  789. package/src/_modules/logs/index.ts +11 -11
  790. package/src/_modules/logs/log-buffer.service.ts +101 -101
  791. package/src/_modules/logs/logs.controller.ts +109 -109
  792. package/src/_modules/logs/logs.service.ts +100 -100
  793. package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +111 -111
  794. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +151 -151
  795. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +125 -125
  796. package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +168 -168
  797. package/src/_modules/mcp/index.ts +13 -13
  798. package/src/_modules/messaging/README.md +354 -354
  799. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
  800. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
  801. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
  802. package/src/_modules/messaging/_collections/msg.util.ts +83 -83
  803. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
  804. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
  805. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
  806. package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
  807. package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
  808. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
  809. package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
  810. package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
  811. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
  812. package/src/_modules/messaging/_services/msg.controller.ts +370 -370
  813. package/src/_modules/messaging/index.ts +30 -30
  814. package/src/_modules/mock/app-extended-server.mock.ts +201 -201
  815. package/src/_modules/mock/app-integration-test.mock.ts +51 -51
  816. package/src/_modules/mock/app-params.mock.spec.ts +21 -21
  817. package/src/_modules/mock/app-params.mock.ts +9 -9
  818. package/src/_modules/mock/app-server.mock.ts +188 -188
  819. package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
  820. package/src/_modules/mock/auth-service.mock.ts +28 -28
  821. package/src/_modules/mock/controller.mock.spec.ts +26 -26
  822. package/src/_modules/mock/controller.mock.ts +16 -16
  823. package/src/_modules/mock/data-model.mock.spec.ts +111 -111
  824. package/src/_modules/mock/data-model.mock.ts +82 -82
  825. package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
  826. package/src/_modules/mock/email-service-collection.mock.ts +15 -15
  827. package/src/_modules/mock/email-service.mock.spec.ts +17 -17
  828. package/src/_modules/mock/email-service.mock.ts +20 -20
  829. package/src/_modules/mock/email-template.mock.html +14 -14
  830. package/src/_modules/mock/endpoint.mock.ts +91 -91
  831. package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
  832. package/src/_modules/mock/socket-client.mock.ts +45 -45
  833. package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
  834. package/src/_modules/mock/socket-server.mock.ts +46 -46
  835. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
  836. package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
  837. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
  838. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
  839. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
  840. package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
  841. package/src/_modules/oauth2/index.ts +17 -17
  842. package/src/_modules/rate-limit/_models/rate-limit-config.interface.ts +69 -69
  843. package/src/_modules/rate-limit/_models/rate-limit-policy.interface.ts +16 -16
  844. package/src/_modules/rate-limit/index.ts +3 -3
  845. package/src/_modules/rate-limit/rate-limit.middleware.spec.ts +264 -264
  846. package/src/_modules/rate-limit/rate-limit.middleware.ts +343 -343
  847. package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +22 -22
  848. package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +82 -82
  849. package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +107 -107
  850. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +312 -312
  851. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +311 -311
  852. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +123 -123
  853. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +108 -108
  854. package/src/_modules/scoped-config/index.ts +17 -17
  855. package/src/_modules/server/errors/errors.control-service.spec.ts +246 -246
  856. package/src/_modules/server/errors/errors.control-service.ts +100 -100
  857. package/src/_modules/server/errors/errors.controller.spec.ts +249 -249
  858. package/src/_modules/server/errors/errors.controller.ts +489 -489
  859. package/src/_modules/server/errors/errors.data-service.spec.ts +480 -480
  860. package/src/_modules/server/errors/errors.data-service.ts +816 -816
  861. package/src/_modules/server/index.ts +30 -30
  862. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
  863. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
  864. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
  865. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
  866. package/src/_modules/server/server-status/server-status.control-service.spec.ts +584 -584
  867. package/src/_modules/server/server-status/server-status.control-service.ts +396 -396
  868. package/src/_modules/server/server-status/server-status.controller.spec.ts +248 -248
  869. package/src/_modules/server/server-status/server-status.controller.ts +253 -253
  870. package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
  871. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
  872. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
  873. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -164
  874. package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -210
  875. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +46 -46
  876. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +22 -22
  877. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
  878. package/src/_modules/socket/_services/socket-client.service.ts +260 -260
  879. package/src/_modules/socket/_services/socket-server.service.spec.ts +11 -11
  880. package/src/_modules/socket/_services/socket-server.service.ts +1068 -1068
  881. package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
  882. package/src/_modules/socket/app-extended.server.ts +630 -630
  883. package/src/_modules/socket/index.ts +42 -42
  884. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
  885. package/src/_modules/test/get-test-routing-module.util.ts +23 -23
  886. package/src/_modules/test/index.ts +11 -11
  887. package/src/_modules/test/test.controller.spec.ts +72 -72
  888. package/src/_modules/test/test.controller.ts +115 -115
  889. package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
  890. package/src/_modules/usage/index.ts +15 -15
  891. package/src/_modules/usage/usage.controller.spec.ts +81 -81
  892. package/src/_modules/usage/usage.controller.ts +126 -126
  893. package/src/_modules/usage/usage.data-service.spec.ts +332 -332
  894. package/src/_modules/usage/usage.data-service.ts +185 -185
  895. package/src/_services/base/api.service-base.spec.ts +125 -125
  896. package/src/_services/base/api.service-base.ts +74 -74
  897. package/src/_services/base/archive-data.service.spec.ts +196 -196
  898. package/src/_services/base/archive-data.service.ts +216 -216
  899. package/src/_services/base/data.service.spec.ts +674 -674
  900. package/src/_services/base/data.service.ts +2719 -2719
  901. package/src/_services/base/db.service.spec.ts +73 -73
  902. package/src/_services/base/db.service.ts +1575 -1575
  903. package/src/_services/base/singleton.service-base.spec.ts +28 -28
  904. package/src/_services/base/singleton.service-base.ts +24 -24
  905. package/src/_services/base/singleton.service.spec.ts +114 -114
  906. package/src/_services/base/singleton.service.ts +38 -38
  907. package/src/_services/core/api.service.spec.ts +140 -140
  908. package/src/_services/core/api.service.ts +607 -607
  909. package/src/_services/core/auth.service.spec.ts +159 -159
  910. package/src/_services/core/auth.service.ts +174 -174
  911. package/src/_services/core/email.service.spec.ts +85 -85
  912. package/src/_services/core/email.service.ts +742 -742
  913. package/src/_services/core/global.service.spec.ts +292 -292
  914. package/src/_services/core/global.service.ts +475 -475
  915. package/src/_services/core/memory-guard.service.spec.ts +165 -165
  916. package/src/_services/core/memory-guard.service.ts +281 -281
  917. package/src/_services/core/service-collection.service.spec.ts +46 -46
  918. package/src/_services/core/service-collection.service.ts +6 -6
  919. package/src/_services/route/controller.service.spec.ts +53 -53
  920. package/src/_services/route/controller.service.ts +148 -148
  921. package/src/_services/route/routing-module.service.spec.ts +98 -98
  922. package/src/_services/route/routing-module.service.ts +330 -330
  923. package/src/_services/server/app.server.ts +1747 -1747
  924. package/src/_services/shared.static-service.spec.ts +99 -99
  925. package/src/_services/shared.static-service.ts +78 -78
  926. package/src/index.ts +96 -96
  927. package/tsconfig.app.json +12 -12
  928. package/tsconfig.json +42 -42
@@ -1,607 +1,607 @@
1
-
2
- import * as Axios from 'axios';
3
-
4
- import {
5
- DyFM_AnyError, DyFM_Error, DyFM_Error_Settings,
6
- DyFM_errorFlag,
7
- DyFM_ErrorLevel,
8
- DyFM_HttpCallType, DyFM_HttpResponseType,
9
- DyFM_Log,
10
- DyFM_HttpErrorResponse,
11
- DyFM_Object,
12
- DyFM_getLocalStackLocation
13
- } from '@futdevpro/fsm-dynamo';
14
-
15
- import { DyNTS_global_settings } from '../../_collections/global-settings.const';
16
- import {
17
- DyNTS_ApiCall_Params
18
- } from '../../_models/control-models/api-call-params.control-model';
19
-
20
- export interface DyNTS_ApiCallInput_Params<T_Body = any> {
21
- pathParams?: {
22
- /**
23
- * path params setted in endpoint
24
- */
25
- [param: string]: string;
26
- };
27
- /**
28
- * api call's body
29
- */
30
- body?: T_Body;
31
- }
32
-
33
- /**
34
- * This predefined Api service contains the basic API call function which can be used in various ways
35
- */
36
- export class DyNTS_ApiService {
37
-
38
- static readonly defaultErrorUserMsg =
39
- `We encountered a BackEnd API Error, ` +
40
- `\nplease contact the responsible development team.\n` +
41
- `\n(Internal BE to BE error)`;
42
-
43
- /**
44
- * if the callParams.getFullResponse is set to true,
45
- * use the Axios.AxiosResponse type as T_Response
46
- *
47
- * @param callParams
48
- * @param inputParams
49
- * @returns
50
- */
51
- public static async startApiCall<T_Response, T_Body = any>(
52
- /**
53
- * you must setup the basic api call params with this.
54
- * follow the instructions in the constructor: new DyNTS_ApiCall_Params({ ... })
55
- */
56
- callParams: DyNTS_ApiCall_Params,
57
- /**
58
- * you can pass data and other inputs in this section
59
- */
60
- inputParams?: DyNTS_ApiCallInput_Params<T_Body>
61
- ): Promise<T_Response /* | Axios.AxiosResponse */> {
62
- let url: string;
63
-
64
- try {
65
- let a: T_Response;
66
- url = callParams.baseUrl + callParams.endpoint;
67
- const axios = Axios.default.create();
68
-
69
- if (!callParams.baseUrl) {
70
- DyFM_Log.warn(`WARNING: missing baseUrl in api call (${callParams.name})`);
71
- }
72
-
73
- if (!callParams.endpoint) {
74
- DyFM_Log.warn(`WARNING: missing endpoint in api call (${callParams.name})`);
75
- }
76
-
77
- if (callParams.pathParamKeys.length) {
78
- callParams.pathParamKeys.forEach(key => {
79
- if (!inputParams?.pathParams?.[key]) {
80
- throw new DyFM_Error({
81
- ...this._getDefaultErrorSettings(
82
- 'startApiCall',
83
- new Error(`missing pathParam: "${key}" (${callParams.name})`)
84
- ),
85
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-SAC1`,
86
- });
87
- }
88
- });
89
- }
90
-
91
- if (callParams?.httpOptions) {
92
- this.setupAxiosConfig(callParams, axios);
93
- }
94
-
95
- if (inputParams?.pathParams) {
96
- url = this.setupPathParams(inputParams.pathParams, url, callParams);
97
- }
98
-
99
- /* if (inputParams?.queryParams) {
100
- this.setupQueryParams<T_Body>(inputParams, callParams);
101
- } */
102
-
103
- if (DyNTS_global_settings.log_settings.api_events) {
104
- this.logEvent(url, inputParams, callParams);
105
- }
106
-
107
- switch (callParams.type) {
108
- case DyFM_HttpCallType.get:
109
- if (inputParams?.body) {
110
- DyFM_Log.warn(`WARNING you cant send body in get calls (${callParams.name})`);
111
- }
112
-
113
- a = await this.get<T_Response>(axios, url, callParams);
114
- break;
115
-
116
- case DyFM_HttpCallType.delete:
117
- if (inputParams?.body) {
118
- DyFM_Log.warn('WARNING you cant send body in delete calls');
119
- }
120
-
121
- a = await this.delete<T_Response>(axios, url, callParams);
122
- break;
123
-
124
- case DyFM_HttpCallType.post:
125
- case DyFM_HttpCallType.put:
126
- case DyFM_HttpCallType.patch:
127
- if (!inputParams?.body) {
128
- if (!inputParams) {
129
- inputParams = {};
130
- }
131
-
132
- inputParams.body = {} as T_Body;
133
- }
134
-
135
- a = await this.postPutPatch<T_Response, T_Body>(axios, callParams, url, inputParams);
136
- break;
137
-
138
- default:
139
- throw new DyFM_Error({
140
- ...this._getDefaultErrorSettings(
141
- 'startApiCall',
142
- new Error(`unknown api call type: ${callParams.type}`)
143
- ),
144
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-SAC0`,
145
- additionalContent: {
146
- callParams,
147
- inputParams,
148
- },
149
- });
150
- }
151
-
152
- if ((a as DyFM_Error)?.flag?.includes(DyFM_errorFlag)) {
153
- throw a;
154
- }
155
-
156
- return a;
157
- /* if (callParams.getFullResponse) {
158
- return a as T_Response Axios.AxiosResponse;
159
-
160
- } else {
161
- return a as T_Response;
162
- } */
163
- } catch (error) {
164
- if ((error as DyFM_Error)?.flag?.includes(DyFM_errorFlag)) {
165
- throw error;
166
- /* } else if ((error?.response?.data as DyFM_Error)?.flag?.includes(DyFM_errorFlag) &&
167
- [
168
- DyFM_ErrorLevel.user,
169
- DyFM_ErrorLevel.debug,
170
- DyFM_ErrorLevel.info,
171
- DyFM_ErrorLevel.known,
172
- DyFM_ErrorLevel.warning,
173
- ].includes((error?.response?.data as DyFM_Error)?.level)
174
- ) {
175
- return error; */
176
- } else {
177
- this.handleError<T_Body>(callParams, error, inputParams, url);
178
- }
179
- }
180
- }
181
-
182
- /* private static setupQueryParams<T_Body = any>(
183
- inputParams: DyNTS_ApiCallInputParams<T_Body>, callParams: DyNTS_ApiCall_Params) {
184
- const httpParams = new HttpParams();
185
-
186
- for (const queryParamKey in inputParams.queryParams) {
187
- if (inputParams.queryParams[queryParamKey]) {
188
- switch (typeof inputParams.queryParams[queryParamKey]) {
189
- case 'number':
190
- httpParams.set(queryParamKey, inputParams.queryParams[queryParamKey].toString());
191
- break;
192
-
193
- case 'string':
194
- httpParams.set(queryParamKey, inputParams.queryParams[queryParamKey]);
195
- break;
196
-
197
- default:
198
- console.error('DYNAMO-NTS ERROR: \n wrong query param type', '\n\n', new Error());
199
- break;
200
- }
201
- }
202
- }
203
- callParams.httpOptions.params = httpParams;
204
- } */
205
-
206
- private static handleError<T_Body>(
207
- callParams: DyNTS_ApiCall_Params,
208
- error: DyFM_AnyError | Axios.AxiosError,
209
- inputParams: {
210
- pathParams?: { [param: string]: string; };
211
- /**
212
- * api call's body
213
- */
214
- body?: T_Body;
215
- },
216
- url: string
217
- ): void {
218
- const errorMsg: string = DyFM_Error.isDyFMError((error as Axios.AxiosError)?.response?.data) ?
219
- DyFM_Error.getAnyMessage((error as Axios.AxiosError)?.response?.data as DyFM_AnyError) :
220
- DyFM_Error.getAnyMessage(error);
221
-
222
- let msg: string =
223
- `\n---> API ERROR: "${callParams?.name}" failed (${DyFM_Error.getErrorStatus(error)})...` +
224
- `\n endpoint: ${callParams?.type} "${callParams?.baseUrl}${callParams?.endpoint}"` +
225
- `\n BE-BE requestStackLocation: "${callParams?.stack}"` +
226
- `\n error: "${DyFM_Error.getAnyMessage(error)}"` +
227
- ((error as DyFM_Error)?.__localStack ? `\n error localStack: "${(error as DyFM_Error)?.__localStack}"` : '') +
228
- `\n localStack: "${DyFM_getLocalStackLocation(1)}"`;
229
-
230
- if (DyNTS_global_settings.log_settings.detailedErrors) {
231
- DyFM_Log.S_error(`${msg}\ncallParams:`, callParams);
232
- } else {
233
- DyFM_Log.S_error(msg);
234
- }
235
-
236
- try {
237
- const strError = JSON.stringify(error);
238
- if (strError.length < 1000) {
239
- msg += `\nerrorObject: ${JSON.stringify(strError, null, 2)}`;
240
- }
241
- } catch {
242
- DyFM_Log.error(`error is not parsable`);
243
- }
244
-
245
- if (
246
- error &&
247
- typeof (error as DyFM_Error)?.error === 'string' &&
248
- callParams?.httpOptions?.responseType === DyFM_HttpResponseType.text
249
- ) {
250
- (error as DyFM_Error).error = DyFM_Object.failableSafeParseJSON(
251
- (error as DyFM_Error)?.error as any as string
252
- );
253
- }
254
-
255
- if (DyFM_Error.isDyFMError((error as Axios.AxiosError)?.response?.data)) {
256
- DyFM_Log.error(`\n'${callParams.name}' was UNSUCCESSFUL` /* , new Error() */);
257
-
258
- const dyfmErrorInAxiosResponse = (error as Axios.AxiosError)?.response?.data as DyFM_AnyError;
259
-
260
- throw new DyFM_Error({
261
- ...this._getDefaultErrorSettings(
262
- callParams.name + ' startApiCall',
263
- dyfmErrorInAxiosResponse
264
- ),
265
-
266
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-HE1`,
267
- message:
268
- `API call "${callParams.name}" failed on the other end!`+
269
- `\nurl: ${url}` +
270
- `\nerror response found: ${errorMsg}`,
271
- error: dyfmErrorInAxiosResponse,
272
- additionalContent: {
273
- callParams: callParams,
274
- inputParams: inputParams,
275
- response: (error as Axios.AxiosError)?.response,
276
- },
277
- });
278
-
279
- } else if ((error as Axios.AxiosError)?.code === 'ENOTFOUND') {
280
- DyFM_Log.error(`\n'${callParams.name}' was UNSUCCESSFUL` /* , new Error() */);
281
-
282
- throw new DyFM_Error({
283
- ...this._getDefaultErrorSettings(
284
- callParams.name + ' startApiCall',
285
- error
286
- ),
287
-
288
- status: 404,
289
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-HE2`,
290
- message: 'DNS error; address cannot be resolved!',
291
- additionalContent: {
292
- callParams: callParams,
293
- inputParams: inputParams,
294
- response: (error as Axios.AxiosError)?.response,
295
- },
296
- });
297
-
298
- } else if ((error as Axios.AxiosError)?.code === 'ECONNREFUSED') {
299
- DyFM_Log.error(`\n'${callParams.name}' was UNSUCCESSFUL` /* , new Error() */);
300
-
301
- throw new DyFM_Error({
302
- ...this._getDefaultErrorSettings(
303
- callParams.name + ' startApiCall',
304
- error
305
- ),
306
-
307
- status: 404,
308
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-HE3`,
309
- message: `Can't connect to the endpoint! \n(${callParams.type} "${url}")`,
310
- additionalContent: {
311
- callParams: callParams,
312
- inputParams: inputParams,
313
- url: url,
314
- response: (error as Axios.AxiosError)?.response,
315
- },
316
- });
317
-
318
- } else if ((error as Axios.AxiosError)?.config && (error as Axios.AxiosError)?.message) {
319
-
320
- let msg: string = (error as Axios.AxiosError)?.message;
321
- let status: number = (error as Axios.AxiosError)?.response?.status ||
322
- (error as Axios.AxiosError)?.status ||
323
- /* get status from "status code {3 digits}" that might be in the middle of the message */
324
- +(error as Axios.AxiosError)?.message?.match?.(/status code (\d{3})/)?.[1] ||
325
- 500;
326
-
327
- if ((error as Axios.AxiosError)?.message?.includes('status code')) {
328
- msg += `"${callParams.name}"` +
329
- `\nendpoint: ${callParams.type} "${callParams.baseUrl}${callParams.endpoint}"` +
330
- `\nurl: ${url}` +
331
- `\npathParams: ${
332
- inputParams?.pathParams ?
333
- Object.keys(inputParams.pathParams).join(', ') :
334
- '-no path params-'
335
- }` +
336
- `\nenpointStackLocation: ${callParams.stack}`;
337
- }
338
-
339
- throw new DyFM_Error({
340
- ...this._getDefaultErrorSettings(
341
- callParams.name + ' startApiCall',
342
- error
343
- ),
344
-
345
- status: status,
346
- message: msg,
347
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-HE4`,
348
- additionalContent: {
349
- callParams: callParams,
350
- inputParams: inputParams,
351
- response: (error as Axios.AxiosError)?.response,
352
- },
353
- });
354
- } else {
355
- DyFM_Error.logSimple(`"${callParams.name}" api call was UNSUCCESSFUL`, error);
356
- /* if (
357
- DyNTS_global_settings.log_settings.detailedErrors ||
358
- !(error instanceof DyFM_Error)
359
- ) {
360
- DyFM_Log.error(
361
- `"${callParams.name}" api call was UNSUCCESSFUL`,
362
- '\nERROR:', error
363
- );
364
- } else {
365
- error.logSimple(`"${callParams.name}" api call was UNSUCCESSFUL`);
366
- } */
367
-
368
- throw error;
369
- }
370
- }
371
-
372
- private static async postPutPatch<T_Response, T_Body>(
373
- axios: Axios.AxiosInstance,
374
- callParams: DyNTS_ApiCall_Params,
375
- url: string,
376
- inputParams: DyNTS_ApiCallInput_Params<T_Body>
377
- ): Promise<T_Response> {
378
- return await axios[callParams.type]<T_Response>(
379
- url,
380
- inputParams.body,
381
- callParams.httpOptions
382
- ).then((res: Axios.AxiosResponse): T_Response => {
383
- if (DyNTS_global_settings.log_settings.api_events) {
384
- if (DyNTS_global_settings.log_settings.api_responseContents) {
385
- DyFM_Log.success(`---> "${callParams.name}" api call was successful`, res.data);
386
-
387
- } else {
388
- DyFM_Log.success(`---> "${callParams.name}" api call was successful`);
389
- }
390
- }
391
-
392
- if (callParams.getFullResponse) {
393
- return res as T_Response;
394
- } else {
395
- return res.data;
396
- }
397
- });
398
- }
399
-
400
- private static async delete<T_Response>(
401
- axios: Axios.AxiosInstance,
402
- url: string,
403
- callParams: DyNTS_ApiCall_Params
404
- ): Promise<T_Response> {
405
- return await axios.delete<T_Response>(url, callParams.httpOptions).then(
406
- (res: Axios.AxiosResponse): T_Response => {
407
- if (DyNTS_global_settings.log_settings.api_events) {
408
- if (DyNTS_global_settings.log_settings.api_responseContents) {
409
- DyFM_Log.success(`"${callParams.name}" api call was successful`, res.data);
410
- } else {
411
- DyFM_Log.success(`"${callParams.name}" api call was successful`);
412
- }
413
- }
414
-
415
- if (callParams.getFullResponse) {
416
- return res as T_Response;
417
- } else {
418
- return res.data;
419
- }
420
- }
421
- );
422
- }
423
-
424
- private static async get<T_Response>(
425
- axios: Axios.AxiosInstance,
426
- url: string,
427
- callParams: DyNTS_ApiCall_Params
428
- ): Promise<T_Response> {
429
- return await axios.get<T_Response>(url, callParams.httpOptions).then(
430
- (res: Axios.AxiosResponse): T_Response => {
431
- if (DyNTS_global_settings.log_settings.api_events) {
432
- if (DyNTS_global_settings.log_settings.api_responseContents) {
433
- DyFM_Log.success(`"${callParams.name}" api call was successful`, res.data);
434
- } else {
435
- DyFM_Log.success(`"${callParams.name}" api call was successful`);
436
- }
437
- }
438
-
439
- if (callParams.getFullResponse) {
440
- return res as T_Response;
441
- } else {
442
- return res.data;
443
- }
444
- }
445
- );
446
- }
447
-
448
- private static logEvent<T_Body>(
449
- url: string,
450
- inputParams: DyNTS_ApiCallInput_Params<T_Body>,
451
- callParams: DyNTS_ApiCall_Params
452
- ): void {
453
- if (DyNTS_global_settings.log_settings.api_requestContents) {
454
- DyFM_Log.log(
455
- `<--- outgoing API call: "${callParams?.name}" ` +
456
- `\n(${url})` +
457
- `\nbody:`, inputParams?.body
458
- );
459
-
460
- } else {
461
- DyFM_Log.log(`<--- outgoing API call: "${callParams?.name}"`);
462
- }
463
-
464
- if (DyNTS_global_settings.log_settings.api_requestSettings) {
465
- DyFM_Log.log(`callParams:`, callParams);
466
- DyFM_Log.log('inputParams:', {
467
- pathParams: inputParams.pathParams ?? {},
468
- body: inputParams.body ?? null,
469
- });
470
- }
471
- }
472
-
473
- private static setupAxiosConfig(
474
- callParams: DyNTS_ApiCall_Params,
475
- axios: Axios.AxiosInstance
476
- ): void {
477
- // Ensure axios.defaults exists
478
- if (!axios.defaults) {
479
- DyFM_Log.error(
480
- `ERROR: axios.defaults is undefined in setupAxiosConfig for call (cant set headers and other options): "${callParams.name}"`,
481
- '\n stack:', callParams.stack
482
- );
483
-
484
- return;
485
- }
486
-
487
- // Set headers
488
- if (callParams.httpOptions?.headers) {
489
- axios.defaults.headers.common ??= {};
490
-
491
- for (const headerKey in callParams.httpOptions.headers) {
492
- if (!callParams.httpOptions.headers[headerKey]) {
493
- throw new DyFM_Error({
494
- ...this._getDefaultErrorSettings(
495
- 'setupHeaders',
496
- new Error(`missing header: ${headerKey}`)
497
- ),
498
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-SH0`,
499
- });
500
- }
501
-
502
- axios.defaults.headers.common[headerKey] = callParams.httpOptions.headers[headerKey];
503
- }
504
- }
505
-
506
- // Set other Axios configuration options
507
- if (callParams.httpOptions?.httpsAgent) {
508
- axios.defaults.httpsAgent = callParams.httpOptions.httpsAgent;
509
- }
510
-
511
- if (callParams.httpOptions?.httpAgent) {
512
- axios.defaults.httpAgent = callParams.httpOptions.httpAgent;
513
- }
514
-
515
- if (callParams.httpOptions?.timeout !== undefined) {
516
- axios.defaults.timeout = callParams.httpOptions.timeout;
517
- }
518
-
519
- if (callParams.httpOptions?.maxRedirects !== undefined) {
520
- axios.defaults.maxRedirects = callParams.httpOptions.maxRedirects;
521
- }
522
-
523
- if (callParams.httpOptions?.withCredentials !== undefined) {
524
- axios.defaults.withCredentials = callParams.httpOptions.withCredentials;
525
- }
526
-
527
- if (callParams.httpOptions?.responseType !== undefined) {
528
- axios.defaults.responseType = callParams.httpOptions.responseType;
529
- }
530
- }
531
-
532
- private static setupPathParams(
533
- pathParams: { [param: string]: string; },
534
- url: string,
535
- callParams: DyNTS_ApiCall_Params
536
- ): string {
537
- for (const pathParamKey in pathParams) {
538
- if (pathParams[pathParamKey]) {
539
- const paramType = typeof pathParams[pathParamKey];
540
-
541
- switch (paramType) {
542
- case 'number':
543
- url = url.replace(
544
- `:${pathParamKey}`,
545
- pathParams[pathParamKey].toString()
546
- );
547
- break;
548
-
549
- case 'string':
550
- url = url.replace(`:${pathParamKey}`, pathParams[pathParamKey]);
551
- break;
552
-
553
- default:
554
- /* DyFM_Log.error(
555
- `DYNAMO-NTS ERROR:`+
556
- `\nwrong path param type: (${pathParamKey}): ${paramType} ` +
557
- `\n${pathParams[pathParamKey]}` +
558
- `\nMUST BE string or number` +
559
- `\n\n`,
560
- new Error()
561
- ); */
562
- throw new DyFM_Error({
563
- ...this._getDefaultErrorSettings(
564
- 'setupPathParams',
565
- new Error(
566
- `wrong path param type: (${pathParamKey}): "${paramType}" (${callParams.name})` +
567
- `\n${pathParams[pathParamKey]}`
568
- )
569
- ),
570
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-SP1`,
571
- additionalContent: {
572
- pathParams: pathParams,
573
- url: url,
574
- },
575
- });
576
- }
577
- } else {
578
- throw new DyFM_Error({
579
- ...this._getDefaultErrorSettings(
580
- 'setupPathParams',
581
- new Error(`missing pathParam: "${pathParamKey}" (${callParams.name})`)
582
- ),
583
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-SP0`,
584
- });
585
- }
586
- }
587
-
588
- return url;
589
- }
590
-
591
- private static _getDefaultErrorSettings(
592
- fnName: string,
593
- error: DyFM_AnyError
594
- ): DyFM_Error_Settings {
595
- return {
596
- status: (error as DyFM_Error)?.___status ?? 500,
597
- message: (error as Error)?.message ??
598
- (error as DyFM_Error)?._message ??
599
- `${fnName} was UNSUCCESSFUL (NTS)`,
600
- addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
601
- userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
602
- issuerService: `${this?.constructor?.name}-${this?.name}-DyNTS_ApiService`,
603
- error: error,
604
- };
605
- }
606
- }
607
-
1
+
2
+ import * as Axios from 'axios';
3
+
4
+ import {
5
+ DyFM_AnyError, DyFM_Error, DyFM_Error_Settings,
6
+ DyFM_errorFlag,
7
+ DyFM_ErrorLevel,
8
+ DyFM_HttpCallType, DyFM_HttpResponseType,
9
+ DyFM_Log,
10
+ DyFM_HttpErrorResponse,
11
+ DyFM_Object,
12
+ DyFM_getLocalStackLocation
13
+ } from '@futdevpro/fsm-dynamo';
14
+
15
+ import { DyNTS_global_settings } from '../../_collections/global-settings.const';
16
+ import {
17
+ DyNTS_ApiCall_Params
18
+ } from '../../_models/control-models/api-call-params.control-model';
19
+
20
+ export interface DyNTS_ApiCallInput_Params<T_Body = any> {
21
+ pathParams?: {
22
+ /**
23
+ * path params setted in endpoint
24
+ */
25
+ [param: string]: string;
26
+ };
27
+ /**
28
+ * api call's body
29
+ */
30
+ body?: T_Body;
31
+ }
32
+
33
+ /**
34
+ * This predefined Api service contains the basic API call function which can be used in various ways
35
+ */
36
+ export class DyNTS_ApiService {
37
+
38
+ static readonly defaultErrorUserMsg =
39
+ `We encountered a BackEnd API Error, ` +
40
+ `\nplease contact the responsible development team.\n` +
41
+ `\n(Internal BE to BE error)`;
42
+
43
+ /**
44
+ * if the callParams.getFullResponse is set to true,
45
+ * use the Axios.AxiosResponse type as T_Response
46
+ *
47
+ * @param callParams
48
+ * @param inputParams
49
+ * @returns
50
+ */
51
+ public static async startApiCall<T_Response, T_Body = any>(
52
+ /**
53
+ * you must setup the basic api call params with this.
54
+ * follow the instructions in the constructor: new DyNTS_ApiCall_Params({ ... })
55
+ */
56
+ callParams: DyNTS_ApiCall_Params,
57
+ /**
58
+ * you can pass data and other inputs in this section
59
+ */
60
+ inputParams?: DyNTS_ApiCallInput_Params<T_Body>
61
+ ): Promise<T_Response /* | Axios.AxiosResponse */> {
62
+ let url: string;
63
+
64
+ try {
65
+ let a: T_Response;
66
+ url = callParams.baseUrl + callParams.endpoint;
67
+ const axios = Axios.default.create();
68
+
69
+ if (!callParams.baseUrl) {
70
+ DyFM_Log.warn(`WARNING: missing baseUrl in api call (${callParams.name})`);
71
+ }
72
+
73
+ if (!callParams.endpoint) {
74
+ DyFM_Log.warn(`WARNING: missing endpoint in api call (${callParams.name})`);
75
+ }
76
+
77
+ if (callParams.pathParamKeys.length) {
78
+ callParams.pathParamKeys.forEach(key => {
79
+ if (!inputParams?.pathParams?.[key]) {
80
+ throw new DyFM_Error({
81
+ ...this._getDefaultErrorSettings(
82
+ 'startApiCall',
83
+ new Error(`missing pathParam: "${key}" (${callParams.name})`)
84
+ ),
85
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-SAC1`,
86
+ });
87
+ }
88
+ });
89
+ }
90
+
91
+ if (callParams?.httpOptions) {
92
+ this.setupAxiosConfig(callParams, axios);
93
+ }
94
+
95
+ if (inputParams?.pathParams) {
96
+ url = this.setupPathParams(inputParams.pathParams, url, callParams);
97
+ }
98
+
99
+ /* if (inputParams?.queryParams) {
100
+ this.setupQueryParams<T_Body>(inputParams, callParams);
101
+ } */
102
+
103
+ if (DyNTS_global_settings.log_settings.api_events) {
104
+ this.logEvent(url, inputParams, callParams);
105
+ }
106
+
107
+ switch (callParams.type) {
108
+ case DyFM_HttpCallType.get:
109
+ if (inputParams?.body) {
110
+ DyFM_Log.warn(`WARNING you cant send body in get calls (${callParams.name})`);
111
+ }
112
+
113
+ a = await this.get<T_Response>(axios, url, callParams);
114
+ break;
115
+
116
+ case DyFM_HttpCallType.delete:
117
+ if (inputParams?.body) {
118
+ DyFM_Log.warn('WARNING you cant send body in delete calls');
119
+ }
120
+
121
+ a = await this.delete<T_Response>(axios, url, callParams);
122
+ break;
123
+
124
+ case DyFM_HttpCallType.post:
125
+ case DyFM_HttpCallType.put:
126
+ case DyFM_HttpCallType.patch:
127
+ if (!inputParams?.body) {
128
+ if (!inputParams) {
129
+ inputParams = {};
130
+ }
131
+
132
+ inputParams.body = {} as T_Body;
133
+ }
134
+
135
+ a = await this.postPutPatch<T_Response, T_Body>(axios, callParams, url, inputParams);
136
+ break;
137
+
138
+ default:
139
+ throw new DyFM_Error({
140
+ ...this._getDefaultErrorSettings(
141
+ 'startApiCall',
142
+ new Error(`unknown api call type: ${callParams.type}`)
143
+ ),
144
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-SAC0`,
145
+ additionalContent: {
146
+ callParams,
147
+ inputParams,
148
+ },
149
+ });
150
+ }
151
+
152
+ if ((a as DyFM_Error)?.flag?.includes(DyFM_errorFlag)) {
153
+ throw a;
154
+ }
155
+
156
+ return a;
157
+ /* if (callParams.getFullResponse) {
158
+ return a as T_Response Axios.AxiosResponse;
159
+
160
+ } else {
161
+ return a as T_Response;
162
+ } */
163
+ } catch (error) {
164
+ if ((error as DyFM_Error)?.flag?.includes(DyFM_errorFlag)) {
165
+ throw error;
166
+ /* } else if ((error?.response?.data as DyFM_Error)?.flag?.includes(DyFM_errorFlag) &&
167
+ [
168
+ DyFM_ErrorLevel.user,
169
+ DyFM_ErrorLevel.debug,
170
+ DyFM_ErrorLevel.info,
171
+ DyFM_ErrorLevel.known,
172
+ DyFM_ErrorLevel.warning,
173
+ ].includes((error?.response?.data as DyFM_Error)?.level)
174
+ ) {
175
+ return error; */
176
+ } else {
177
+ this.handleError<T_Body>(callParams, error, inputParams, url);
178
+ }
179
+ }
180
+ }
181
+
182
+ /* private static setupQueryParams<T_Body = any>(
183
+ inputParams: DyNTS_ApiCallInputParams<T_Body>, callParams: DyNTS_ApiCall_Params) {
184
+ const httpParams = new HttpParams();
185
+
186
+ for (const queryParamKey in inputParams.queryParams) {
187
+ if (inputParams.queryParams[queryParamKey]) {
188
+ switch (typeof inputParams.queryParams[queryParamKey]) {
189
+ case 'number':
190
+ httpParams.set(queryParamKey, inputParams.queryParams[queryParamKey].toString());
191
+ break;
192
+
193
+ case 'string':
194
+ httpParams.set(queryParamKey, inputParams.queryParams[queryParamKey]);
195
+ break;
196
+
197
+ default:
198
+ console.error('DYNAMO-NTS ERROR: \n wrong query param type', '\n\n', new Error());
199
+ break;
200
+ }
201
+ }
202
+ }
203
+ callParams.httpOptions.params = httpParams;
204
+ } */
205
+
206
+ private static handleError<T_Body>(
207
+ callParams: DyNTS_ApiCall_Params,
208
+ error: DyFM_AnyError | Axios.AxiosError,
209
+ inputParams: {
210
+ pathParams?: { [param: string]: string; };
211
+ /**
212
+ * api call's body
213
+ */
214
+ body?: T_Body;
215
+ },
216
+ url: string
217
+ ): void {
218
+ const errorMsg: string = DyFM_Error.isDyFMError((error as Axios.AxiosError)?.response?.data) ?
219
+ DyFM_Error.getAnyMessage((error as Axios.AxiosError)?.response?.data as DyFM_AnyError) :
220
+ DyFM_Error.getAnyMessage(error);
221
+
222
+ let msg: string =
223
+ `\n---> API ERROR: "${callParams?.name}" failed (${DyFM_Error.getErrorStatus(error)})...` +
224
+ `\n endpoint: ${callParams?.type} "${callParams?.baseUrl}${callParams?.endpoint}"` +
225
+ `\n BE-BE requestStackLocation: "${callParams?.stack}"` +
226
+ `\n error: "${DyFM_Error.getAnyMessage(error)}"` +
227
+ ((error as DyFM_Error)?.__localStack ? `\n error localStack: "${(error as DyFM_Error)?.__localStack}"` : '') +
228
+ `\n localStack: "${DyFM_getLocalStackLocation(1)}"`;
229
+
230
+ if (DyNTS_global_settings.log_settings.detailedErrors) {
231
+ DyFM_Log.S_error(`${msg}\ncallParams:`, callParams);
232
+ } else {
233
+ DyFM_Log.S_error(msg);
234
+ }
235
+
236
+ try {
237
+ const strError = JSON.stringify(error);
238
+ if (strError.length < 1000) {
239
+ msg += `\nerrorObject: ${JSON.stringify(strError, null, 2)}`;
240
+ }
241
+ } catch {
242
+ DyFM_Log.error(`error is not parsable`);
243
+ }
244
+
245
+ if (
246
+ error &&
247
+ typeof (error as DyFM_Error)?.error === 'string' &&
248
+ callParams?.httpOptions?.responseType === DyFM_HttpResponseType.text
249
+ ) {
250
+ (error as DyFM_Error).error = DyFM_Object.failableSafeParseJSON(
251
+ (error as DyFM_Error)?.error as any as string
252
+ );
253
+ }
254
+
255
+ if (DyFM_Error.isDyFMError((error as Axios.AxiosError)?.response?.data)) {
256
+ DyFM_Log.error(`\n'${callParams.name}' was UNSUCCESSFUL` /* , new Error() */);
257
+
258
+ const dyfmErrorInAxiosResponse = (error as Axios.AxiosError)?.response?.data as DyFM_AnyError;
259
+
260
+ throw new DyFM_Error({
261
+ ...this._getDefaultErrorSettings(
262
+ callParams.name + ' startApiCall',
263
+ dyfmErrorInAxiosResponse
264
+ ),
265
+
266
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-HE1`,
267
+ message:
268
+ `API call "${callParams.name}" failed on the other end!`+
269
+ `\nurl: ${url}` +
270
+ `\nerror response found: ${errorMsg}`,
271
+ error: dyfmErrorInAxiosResponse,
272
+ additionalContent: {
273
+ callParams: callParams,
274
+ inputParams: inputParams,
275
+ response: (error as Axios.AxiosError)?.response,
276
+ },
277
+ });
278
+
279
+ } else if ((error as Axios.AxiosError)?.code === 'ENOTFOUND') {
280
+ DyFM_Log.error(`\n'${callParams.name}' was UNSUCCESSFUL` /* , new Error() */);
281
+
282
+ throw new DyFM_Error({
283
+ ...this._getDefaultErrorSettings(
284
+ callParams.name + ' startApiCall',
285
+ error
286
+ ),
287
+
288
+ status: 404,
289
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-HE2`,
290
+ message: 'DNS error; address cannot be resolved!',
291
+ additionalContent: {
292
+ callParams: callParams,
293
+ inputParams: inputParams,
294
+ response: (error as Axios.AxiosError)?.response,
295
+ },
296
+ });
297
+
298
+ } else if ((error as Axios.AxiosError)?.code === 'ECONNREFUSED') {
299
+ DyFM_Log.error(`\n'${callParams.name}' was UNSUCCESSFUL` /* , new Error() */);
300
+
301
+ throw new DyFM_Error({
302
+ ...this._getDefaultErrorSettings(
303
+ callParams.name + ' startApiCall',
304
+ error
305
+ ),
306
+
307
+ status: 404,
308
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-HE3`,
309
+ message: `Can't connect to the endpoint! \n(${callParams.type} "${url}")`,
310
+ additionalContent: {
311
+ callParams: callParams,
312
+ inputParams: inputParams,
313
+ url: url,
314
+ response: (error as Axios.AxiosError)?.response,
315
+ },
316
+ });
317
+
318
+ } else if ((error as Axios.AxiosError)?.config && (error as Axios.AxiosError)?.message) {
319
+
320
+ let msg: string = (error as Axios.AxiosError)?.message;
321
+ let status: number = (error as Axios.AxiosError)?.response?.status ||
322
+ (error as Axios.AxiosError)?.status ||
323
+ /* get status from "status code {3 digits}" that might be in the middle of the message */
324
+ +(error as Axios.AxiosError)?.message?.match?.(/status code (\d{3})/)?.[1] ||
325
+ 500;
326
+
327
+ if ((error as Axios.AxiosError)?.message?.includes('status code')) {
328
+ msg += `"${callParams.name}"` +
329
+ `\nendpoint: ${callParams.type} "${callParams.baseUrl}${callParams.endpoint}"` +
330
+ `\nurl: ${url}` +
331
+ `\npathParams: ${
332
+ inputParams?.pathParams ?
333
+ Object.keys(inputParams.pathParams).join(', ') :
334
+ '-no path params-'
335
+ }` +
336
+ `\nenpointStackLocation: ${callParams.stack}`;
337
+ }
338
+
339
+ throw new DyFM_Error({
340
+ ...this._getDefaultErrorSettings(
341
+ callParams.name + ' startApiCall',
342
+ error
343
+ ),
344
+
345
+ status: status,
346
+ message: msg,
347
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-HE4`,
348
+ additionalContent: {
349
+ callParams: callParams,
350
+ inputParams: inputParams,
351
+ response: (error as Axios.AxiosError)?.response,
352
+ },
353
+ });
354
+ } else {
355
+ DyFM_Error.logSimple(`"${callParams.name}" api call was UNSUCCESSFUL`, error);
356
+ /* if (
357
+ DyNTS_global_settings.log_settings.detailedErrors ||
358
+ !(error instanceof DyFM_Error)
359
+ ) {
360
+ DyFM_Log.error(
361
+ `"${callParams.name}" api call was UNSUCCESSFUL`,
362
+ '\nERROR:', error
363
+ );
364
+ } else {
365
+ error.logSimple(`"${callParams.name}" api call was UNSUCCESSFUL`);
366
+ } */
367
+
368
+ throw error;
369
+ }
370
+ }
371
+
372
+ private static async postPutPatch<T_Response, T_Body>(
373
+ axios: Axios.AxiosInstance,
374
+ callParams: DyNTS_ApiCall_Params,
375
+ url: string,
376
+ inputParams: DyNTS_ApiCallInput_Params<T_Body>
377
+ ): Promise<T_Response> {
378
+ return await axios[callParams.type]<T_Response>(
379
+ url,
380
+ inputParams.body,
381
+ callParams.httpOptions
382
+ ).then((res: Axios.AxiosResponse): T_Response => {
383
+ if (DyNTS_global_settings.log_settings.api_events) {
384
+ if (DyNTS_global_settings.log_settings.api_responseContents) {
385
+ DyFM_Log.success(`---> "${callParams.name}" api call was successful`, res.data);
386
+
387
+ } else {
388
+ DyFM_Log.success(`---> "${callParams.name}" api call was successful`);
389
+ }
390
+ }
391
+
392
+ if (callParams.getFullResponse) {
393
+ return res as T_Response;
394
+ } else {
395
+ return res.data;
396
+ }
397
+ });
398
+ }
399
+
400
+ private static async delete<T_Response>(
401
+ axios: Axios.AxiosInstance,
402
+ url: string,
403
+ callParams: DyNTS_ApiCall_Params
404
+ ): Promise<T_Response> {
405
+ return await axios.delete<T_Response>(url, callParams.httpOptions).then(
406
+ (res: Axios.AxiosResponse): T_Response => {
407
+ if (DyNTS_global_settings.log_settings.api_events) {
408
+ if (DyNTS_global_settings.log_settings.api_responseContents) {
409
+ DyFM_Log.success(`"${callParams.name}" api call was successful`, res.data);
410
+ } else {
411
+ DyFM_Log.success(`"${callParams.name}" api call was successful`);
412
+ }
413
+ }
414
+
415
+ if (callParams.getFullResponse) {
416
+ return res as T_Response;
417
+ } else {
418
+ return res.data;
419
+ }
420
+ }
421
+ );
422
+ }
423
+
424
+ private static async get<T_Response>(
425
+ axios: Axios.AxiosInstance,
426
+ url: string,
427
+ callParams: DyNTS_ApiCall_Params
428
+ ): Promise<T_Response> {
429
+ return await axios.get<T_Response>(url, callParams.httpOptions).then(
430
+ (res: Axios.AxiosResponse): T_Response => {
431
+ if (DyNTS_global_settings.log_settings.api_events) {
432
+ if (DyNTS_global_settings.log_settings.api_responseContents) {
433
+ DyFM_Log.success(`"${callParams.name}" api call was successful`, res.data);
434
+ } else {
435
+ DyFM_Log.success(`"${callParams.name}" api call was successful`);
436
+ }
437
+ }
438
+
439
+ if (callParams.getFullResponse) {
440
+ return res as T_Response;
441
+ } else {
442
+ return res.data;
443
+ }
444
+ }
445
+ );
446
+ }
447
+
448
+ private static logEvent<T_Body>(
449
+ url: string,
450
+ inputParams: DyNTS_ApiCallInput_Params<T_Body>,
451
+ callParams: DyNTS_ApiCall_Params
452
+ ): void {
453
+ if (DyNTS_global_settings.log_settings.api_requestContents) {
454
+ DyFM_Log.log(
455
+ `<--- outgoing API call: "${callParams?.name}" ` +
456
+ `\n(${url})` +
457
+ `\nbody:`, inputParams?.body
458
+ );
459
+
460
+ } else {
461
+ DyFM_Log.log(`<--- outgoing API call: "${callParams?.name}"`);
462
+ }
463
+
464
+ if (DyNTS_global_settings.log_settings.api_requestSettings) {
465
+ DyFM_Log.log(`callParams:`, callParams);
466
+ DyFM_Log.log('inputParams:', {
467
+ pathParams: inputParams.pathParams ?? {},
468
+ body: inputParams.body ?? null,
469
+ });
470
+ }
471
+ }
472
+
473
+ private static setupAxiosConfig(
474
+ callParams: DyNTS_ApiCall_Params,
475
+ axios: Axios.AxiosInstance
476
+ ): void {
477
+ // Ensure axios.defaults exists
478
+ if (!axios.defaults) {
479
+ DyFM_Log.error(
480
+ `ERROR: axios.defaults is undefined in setupAxiosConfig for call (cant set headers and other options): "${callParams.name}"`,
481
+ '\n stack:', callParams.stack
482
+ );
483
+
484
+ return;
485
+ }
486
+
487
+ // Set headers
488
+ if (callParams.httpOptions?.headers) {
489
+ axios.defaults.headers.common ??= {};
490
+
491
+ for (const headerKey in callParams.httpOptions.headers) {
492
+ if (!callParams.httpOptions.headers[headerKey]) {
493
+ throw new DyFM_Error({
494
+ ...this._getDefaultErrorSettings(
495
+ 'setupHeaders',
496
+ new Error(`missing header: ${headerKey}`)
497
+ ),
498
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-SH0`,
499
+ });
500
+ }
501
+
502
+ axios.defaults.headers.common[headerKey] = callParams.httpOptions.headers[headerKey];
503
+ }
504
+ }
505
+
506
+ // Set other Axios configuration options
507
+ if (callParams.httpOptions?.httpsAgent) {
508
+ axios.defaults.httpsAgent = callParams.httpOptions.httpsAgent;
509
+ }
510
+
511
+ if (callParams.httpOptions?.httpAgent) {
512
+ axios.defaults.httpAgent = callParams.httpOptions.httpAgent;
513
+ }
514
+
515
+ if (callParams.httpOptions?.timeout !== undefined) {
516
+ axios.defaults.timeout = callParams.httpOptions.timeout;
517
+ }
518
+
519
+ if (callParams.httpOptions?.maxRedirects !== undefined) {
520
+ axios.defaults.maxRedirects = callParams.httpOptions.maxRedirects;
521
+ }
522
+
523
+ if (callParams.httpOptions?.withCredentials !== undefined) {
524
+ axios.defaults.withCredentials = callParams.httpOptions.withCredentials;
525
+ }
526
+
527
+ if (callParams.httpOptions?.responseType !== undefined) {
528
+ axios.defaults.responseType = callParams.httpOptions.responseType;
529
+ }
530
+ }
531
+
532
+ private static setupPathParams(
533
+ pathParams: { [param: string]: string; },
534
+ url: string,
535
+ callParams: DyNTS_ApiCall_Params
536
+ ): string {
537
+ for (const pathParamKey in pathParams) {
538
+ if (pathParams[pathParamKey]) {
539
+ const paramType = typeof pathParams[pathParamKey];
540
+
541
+ switch (paramType) {
542
+ case 'number':
543
+ url = url.replace(
544
+ `:${pathParamKey}`,
545
+ pathParams[pathParamKey].toString()
546
+ );
547
+ break;
548
+
549
+ case 'string':
550
+ url = url.replace(`:${pathParamKey}`, pathParams[pathParamKey]);
551
+ break;
552
+
553
+ default:
554
+ /* DyFM_Log.error(
555
+ `DYNAMO-NTS ERROR:`+
556
+ `\nwrong path param type: (${pathParamKey}): ${paramType} ` +
557
+ `\n${pathParams[pathParamKey]}` +
558
+ `\nMUST BE string or number` +
559
+ `\n\n`,
560
+ new Error()
561
+ ); */
562
+ throw new DyFM_Error({
563
+ ...this._getDefaultErrorSettings(
564
+ 'setupPathParams',
565
+ new Error(
566
+ `wrong path param type: (${pathParamKey}): "${paramType}" (${callParams.name})` +
567
+ `\n${pathParams[pathParamKey]}`
568
+ )
569
+ ),
570
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-SP1`,
571
+ additionalContent: {
572
+ pathParams: pathParams,
573
+ url: url,
574
+ },
575
+ });
576
+ }
577
+ } else {
578
+ throw new DyFM_Error({
579
+ ...this._getDefaultErrorSettings(
580
+ 'setupPathParams',
581
+ new Error(`missing pathParam: "${pathParamKey}" (${callParams.name})`)
582
+ ),
583
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-API-SP0`,
584
+ });
585
+ }
586
+ }
587
+
588
+ return url;
589
+ }
590
+
591
+ private static _getDefaultErrorSettings(
592
+ fnName: string,
593
+ error: DyFM_AnyError
594
+ ): DyFM_Error_Settings {
595
+ return {
596
+ status: (error as DyFM_Error)?.___status ?? 500,
597
+ message: (error as Error)?.message ??
598
+ (error as DyFM_Error)?._message ??
599
+ `${fnName} was UNSUCCESSFUL (NTS)`,
600
+ addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
601
+ userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
602
+ issuerService: `${this?.constructor?.name}-${this?.name}-DyNTS_ApiService`,
603
+ error: error,
604
+ };
605
+ }
606
+ }
607
+