@futdevpro/nts-dynamo 1.15.156 → 1.15.160

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 (1395) hide show
  1. package/LICENSE +17 -17
  2. package/build/_collections/app-version-header.util.d.ts +41 -41
  3. package/build/_collections/app-version-header.util.js +66 -66
  4. package/build/_collections/archive-service-registry.const.d.ts +15 -15
  5. package/build/_collections/archive-service-registry.const.js +14 -14
  6. package/build/_collections/archive.util.d.ts +12 -12
  7. package/build/_collections/archive.util.js +18 -18
  8. package/build/_collections/atlas-default-db-options.const.d.ts +2 -2
  9. package/build/_collections/atlas-default-db-options.const.js +9 -9
  10. package/build/_collections/client-safe-error.util.d.ts +38 -38
  11. package/build/_collections/client-safe-error.util.js +96 -96
  12. package/build/_collections/default-fallback-cache-max-age.const.d.ts +2 -2
  13. package/build/_collections/default-fallback-cache-max-age.const.js +5 -5
  14. package/build/_collections/default-not-found-page.const.d.ts +5 -5
  15. package/build/_collections/default-not-found-page.const.js +24 -24
  16. package/build/_collections/default-socket-path.const.d.ts +2 -2
  17. package/build/_collections/default-socket-path.const.js +5 -5
  18. package/build/_collections/field-encryption.util.d.ts +85 -85
  19. package/build/_collections/field-encryption.util.js +192 -192
  20. package/build/_collections/get-environment-settings.util.d.ts +2 -2
  21. package/build/_collections/get-environment-settings.util.js +43 -43
  22. package/build/_collections/global-settings.const.d.ts +6 -6
  23. package/build/_collections/global-settings.const.js +104 -104
  24. package/build/_collections/load-shed.util.d.ts +15 -15
  25. package/build/_collections/load-shed.util.js +42 -42
  26. package/build/_collections/mongo-reconnect-guard.util.d.ts +73 -73
  27. package/build/_collections/mongo-reconnect-guard.util.js +110 -110
  28. package/build/_collections/npm-token-check.util.d.ts +138 -138
  29. package/build/_collections/npm-token-check.util.js +301 -301
  30. package/build/_collections/security-headers.util.d.ts +16 -16
  31. package/build/_collections/security-headers.util.js +77 -77
  32. package/build/_collections/signed-url.util.d.ts +84 -84
  33. package/build/_collections/signed-url.util.js +145 -145
  34. package/build/_collections/star.controller.d.ts +7 -7
  35. package/build/_collections/star.controller.js +97 -97
  36. package/build/_collections/static-cache-control.util.d.ts +17 -17
  37. package/build/_collections/static-cache-control.util.js +23 -23
  38. package/build/_enums/data-model-type.enum.d.ts +13 -13
  39. package/build/_enums/data-model-type.enum.js +17 -17
  40. package/build/_enums/data-service-function.enum.d.ts +18 -18
  41. package/build/_enums/data-service-function.enum.js +24 -24
  42. package/build/_enums/predefined-data-types.enum.d.ts +15 -15
  43. package/build/_enums/predefined-data-types.enum.js +19 -19
  44. package/build/_enums/route-security.enum.d.ts +11 -11
  45. package/build/_enums/route-security.enum.js +15 -15
  46. package/build/_models/control-models/api-call-params.control-model.d.ts +79 -79
  47. package/build/_models/control-models/api-call-params.control-model.js +101 -101
  48. package/build/_models/control-models/app-ext-system-controls.control-model.d.ts +6 -6
  49. package/build/_models/control-models/app-ext-system-controls.control-model.js +10 -10
  50. package/build/_models/control-models/app-params.control-model.d.ts +51 -51
  51. package/build/_models/control-models/app-params.control-model.js +118 -118
  52. package/build/_models/control-models/app-system-controls.control-model.d.ts +7 -7
  53. package/build/_models/control-models/app-system-controls.control-model.js +11 -11
  54. package/build/_models/control-models/endpoint-params.control-model.d.ts +125 -125
  55. package/build/_models/control-models/endpoint-params.control-model.js +409 -409
  56. package/build/_models/control-models/http-settings.control-model.d.ts +17 -17
  57. package/build/_models/control-models/http-settings.control-model.js +34 -34
  58. package/build/_models/control-models/system-control.control-model.d.ts +5 -5
  59. package/build/_models/control-models/system-control.control-model.js +11 -11
  60. package/build/_models/data-models/schema-migration.data-model.d.ts +28 -28
  61. package/build/_models/data-models/schema-migration.data-model.js +46 -46
  62. package/build/_models/interfaces/app-version-header-settings.interface.d.ts +16 -16
  63. package/build/_models/interfaces/app-version-header-settings.interface.js +2 -2
  64. package/build/_models/interfaces/certification-settings.interface.d.ts +5 -5
  65. package/build/_models/interfaces/certification-settings.interface.js +2 -2
  66. package/build/_models/interfaces/compare-data-options.interface.d.ts +26 -26
  67. package/build/_models/interfaces/compare-data-options.interface.js +2 -2
  68. package/build/_models/interfaces/compare-data-result.interface.d.ts +12 -12
  69. package/build/_models/interfaces/compare-data-result.interface.js +2 -2
  70. package/build/_models/interfaces/cors-settings.interface.d.ts +51 -51
  71. package/build/_models/interfaces/cors-settings.interface.js +2 -2
  72. package/build/_models/interfaces/db-query-options.interface.d.ts +32 -32
  73. package/build/_models/interfaces/db-query-options.interface.js +2 -2
  74. package/build/_models/interfaces/environment-settings.interface.d.ts +34 -34
  75. package/build/_models/interfaces/environment-settings.interface.js +2 -2
  76. package/build/_models/interfaces/global-log-settings.interface.d.ts +145 -145
  77. package/build/_models/interfaces/global-log-settings.interface.js +2 -2
  78. package/build/_models/interfaces/global-service-settings.interface.d.ts +30 -30
  79. package/build/_models/interfaces/global-service-settings.interface.js +2 -2
  80. package/build/_models/interfaces/global-settings.interface.d.ts +265 -265
  81. package/build/_models/interfaces/global-settings.interface.js +2 -2
  82. package/build/_models/interfaces/migration-entry.interface.d.ts +19 -19
  83. package/build/_models/interfaces/migration-entry.interface.js +2 -2
  84. package/build/_models/interfaces/mongo-transaction-settings.interface.d.ts +8 -8
  85. package/build/_models/interfaces/mongo-transaction-settings.interface.js +2 -2
  86. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts +10 -0
  87. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts.map +1 -0
  88. package/build/_models/interfaces/request-telemetry-settings.interface.js +3 -0
  89. package/build/_models/interfaces/request-telemetry-settings.interface.js.map +1 -0
  90. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts +29 -0
  91. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts.map +1 -0
  92. package/build/_models/interfaces/request-telemetry-snapshot.interface.js +3 -0
  93. package/build/_models/interfaces/request-telemetry-snapshot.interface.js.map +1 -0
  94. package/build/_models/interfaces/routing-module-settings.interface.d.ts +19 -19
  95. package/build/_models/interfaces/routing-module-settings.interface.js +2 -2
  96. package/build/_models/interfaces/security-headers-settings.interface.d.ts +41 -41
  97. package/build/_models/interfaces/security-headers-settings.interface.js +2 -2
  98. package/build/_models/interfaces/signed-url-verify-result.interface.d.ts +13 -13
  99. package/build/_models/interfaces/signed-url-verify-result.interface.js +2 -2
  100. package/build/_models/interfaces/static-client-settings.interface.d.ts +36 -36
  101. package/build/_models/interfaces/static-client-settings.interface.js +2 -2
  102. package/build/_models/types/db-update.type.d.ts +129 -129
  103. package/build/_models/types/db-update.type.js +2 -2
  104. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts +5 -5
  105. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js +9 -9
  106. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.d.ts +6 -6
  107. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.js +10 -10
  108. package/build/_modules/account-security/_enums/account-session-state.type-enum.d.ts +6 -6
  109. package/build/_modules/account-security/_enums/account-session-state.type-enum.js +10 -10
  110. package/build/_modules/account-security/_models/account-challenge-adapter.interface.d.ts +8 -8
  111. package/build/_modules/account-security/_models/account-challenge-adapter.interface.js +2 -2
  112. package/build/_modules/account-security/_models/account-challenge-issued.interface.d.ts +6 -6
  113. package/build/_modules/account-security/_models/account-challenge-issued.interface.js +2 -2
  114. package/build/_modules/account-security/_models/account-challenge-record.interface.d.ts +12 -12
  115. package/build/_modules/account-security/_models/account-challenge-record.interface.js +2 -2
  116. package/build/_modules/account-security/_models/account-challenge-result.interface.d.ts +7 -7
  117. package/build/_modules/account-security/_models/account-challenge-result.interface.js +2 -2
  118. package/build/_modules/account-security/_models/account-challenge-settings.interface.d.ts +8 -8
  119. package/build/_modules/account-security/_models/account-challenge-settings.interface.js +2 -2
  120. package/build/_modules/account-security/_models/account-password-policy.interface.d.ts +11 -11
  121. package/build/_modules/account-security/_models/account-password-policy.interface.js +2 -2
  122. package/build/_modules/account-security/_models/account-password-verification.interface.d.ts +5 -5
  123. package/build/_modules/account-security/_models/account-password-verification.interface.js +2 -2
  124. package/build/_modules/account-security/_models/account-refresh-token-record.interface.d.ts +12 -12
  125. package/build/_modules/account-security/_models/account-refresh-token-record.interface.js +2 -2
  126. package/build/_modules/account-security/_models/account-session-adapter.interface.d.ts +18 -18
  127. package/build/_modules/account-security/_models/account-session-adapter.interface.js +2 -2
  128. package/build/_modules/account-security/_models/account-session-claims.interface.d.ts +7 -7
  129. package/build/_modules/account-security/_models/account-session-claims.interface.js +2 -2
  130. package/build/_modules/account-security/_models/account-session-context.interface.d.ts +6 -6
  131. package/build/_modules/account-security/_models/account-session-context.interface.js +2 -2
  132. package/build/_modules/account-security/_models/account-session-create.interface.d.ts +7 -7
  133. package/build/_modules/account-security/_models/account-session-create.interface.js +2 -2
  134. package/build/_modules/account-security/_models/account-session-record.interface.d.ts +20 -20
  135. package/build/_modules/account-security/_models/account-session-record.interface.js +2 -2
  136. package/build/_modules/account-security/_models/account-session-rotate.interface.d.ts +10 -10
  137. package/build/_modules/account-security/_models/account-session-rotate.interface.js +2 -2
  138. package/build/_modules/account-security/_models/account-session-settings.interface.d.ts +10 -10
  139. package/build/_modules/account-security/_models/account-session-settings.interface.js +2 -2
  140. package/build/_modules/account-security/_models/account-session-token-pair.interface.d.ts +8 -8
  141. package/build/_modules/account-security/_models/account-session-token-pair.interface.js +2 -2
  142. package/build/_modules/account-security/_models/account-session-view.interface.d.ts +12 -12
  143. package/build/_modules/account-security/_models/account-session-view.interface.js +2 -2
  144. package/build/_modules/account-security/account-challenge.control-service.d.ts +23 -23
  145. package/build/_modules/account-security/account-challenge.control-service.js +116 -116
  146. package/build/_modules/account-security/account-password.control-service.d.ts +23 -23
  147. package/build/_modules/account-security/account-password.control-service.js +213 -213
  148. package/build/_modules/account-security/account-session.control-service.d.ts +38 -38
  149. package/build/_modules/account-security/account-session.control-service.js +276 -276
  150. package/build/_modules/account-security/index.d.ts +23 -23
  151. package/build/_modules/account-security/index.js +15 -15
  152. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.d.ts +31 -31
  153. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.js +2 -2
  154. package/build/_modules/admin-auth/admin-api-key.auth-service.d.ts +89 -89
  155. package/build/_modules/admin-auth/admin-api-key.auth-service.js +194 -194
  156. package/build/_modules/admin-auth/index.d.ts +2 -2
  157. package/build/_modules/admin-auth/index.js +5 -5
  158. package/build/_modules/ai/_collections/ai-model-config-validator.util.d.ts +31 -31
  159. package/build/_modules/ai/_collections/ai-model-config-validator.util.js +94 -94
  160. package/build/_modules/ai/_collections/ai-provider-error.util.d.ts +43 -43
  161. package/build/_modules/ai/_collections/ai-provider-error.util.js +120 -120
  162. package/build/_modules/ai/_models/ai-input-interfaces.d.ts +53 -53
  163. package/build/_modules/ai/_models/ai-input-interfaces.js +5 -5
  164. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts +16 -16
  165. package/build/_modules/ai/_models/ai-test-generation-result.interface.js +2 -2
  166. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +13 -13
  167. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +2 -2
  168. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +49 -49
  169. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +2 -2
  170. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.d.ts +16 -16
  171. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.js +2 -2
  172. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.d.ts +22 -22
  173. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.js +51 -51
  174. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.d.ts +33 -33
  175. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.js +55 -55
  176. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.d.ts +40 -40
  177. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.js +89 -89
  178. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.d.ts +27 -27
  179. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.js +28 -28
  180. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.d.ts +14 -14
  181. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.js +2 -2
  182. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.d.ts +10 -10
  183. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.js +2 -2
  184. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.d.ts +29 -29
  185. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.js +2 -2
  186. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.d.ts +18 -18
  187. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.js +2 -2
  188. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.d.ts +18 -18
  189. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.js +2 -2
  190. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.d.ts +80 -80
  191. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.js +166 -166
  192. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.d.ts +47 -47
  193. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.js +103 -103
  194. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.d.ts +34 -34
  195. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.js +59 -59
  196. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.d.ts +73 -73
  197. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.js +133 -133
  198. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.d.ts +8 -8
  199. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.js +650 -650
  200. package/build/_modules/ai/_modules/ai-mock/index.d.ts +14 -14
  201. package/build/_modules/ai/_modules/ai-mock/index.js +42 -42
  202. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts +35 -35
  203. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js +117 -117
  204. package/build/_modules/ai/_modules/anthropic/index.d.ts +2 -2
  205. package/build/_modules/ai/_modules/anthropic/index.js +7 -7
  206. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts +84 -84
  207. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js +467 -467
  208. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.d.ts +109 -109
  209. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.js +418 -418
  210. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.d.ts +28 -28
  211. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.js +73 -73
  212. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.d.ts +6 -6
  213. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.js +10 -10
  214. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.d.ts +51 -51
  215. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.js +132 -132
  216. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.d.ts +47 -47
  217. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.js +136 -136
  218. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.d.ts +17 -17
  219. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.js +76 -76
  220. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.d.ts +49 -49
  221. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.js +2 -2
  222. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.d.ts +8 -8
  223. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.js +2 -2
  224. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.d.ts +11 -11
  225. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.js +2 -2
  226. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.d.ts +12 -12
  227. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.js +2 -2
  228. package/build/_modules/ai/_modules/document-ai/index.d.ts +12 -12
  229. package/build/_modules/ai/_modules/document-ai/index.js +27 -27
  230. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts +34 -34
  231. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js +128 -128
  232. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +2 -2
  233. package/build/_modules/ai/_modules/fdp-ai/index.js +7 -7
  234. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.d.ts +2 -2
  235. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.js +8 -8
  236. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts +2 -2
  237. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js +74 -74
  238. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts +2 -2
  239. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js +67 -67
  240. package/build/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.js +42 -42
  241. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts +5 -5
  242. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js +2 -2
  243. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js +6 -6
  244. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts +51 -51
  245. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js +2 -2
  246. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts +21 -21
  247. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js +187 -187
  248. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts +26 -26
  249. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js +278 -278
  250. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts +22 -22
  251. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js +322 -322
  252. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts +119 -119
  253. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js +480 -480
  254. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts +25 -25
  255. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +103 -103
  256. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +169 -169
  257. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +479 -479
  258. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +229 -229
  259. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +617 -617
  260. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts +39 -39
  261. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js +110 -110
  262. package/build/_modules/ai/_modules/open-ai/index.d.ts +14 -14
  263. package/build/_modules/ai/_modules/open-ai/index.js +55 -55
  264. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts +51 -51
  265. package/build/_modules/ai/_services/ai-embedding-provider.registry.js +78 -78
  266. package/build/_modules/ai/_services/ai-embedding.service-base.d.ts +41 -41
  267. package/build/_modules/ai/_services/ai-embedding.service-base.js +11 -11
  268. package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts +39 -39
  269. package/build/_modules/ai/_services/ai-llm-chat.service-base.js +11 -11
  270. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +148 -148
  271. package/build/_modules/ai/_services/ai-llm.service-base.js +378 -378
  272. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +46 -46
  273. package/build/_modules/ai/_services/ai-provider.service-base.js +43 -43
  274. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts +44 -44
  275. package/build/_modules/ai/_services/ai-user-key.service-base.js +14 -14
  276. package/build/_modules/ai/_services/lmstudio-embedding.control-service.d.ts +110 -110
  277. package/build/_modules/ai/_services/lmstudio-embedding.control-service.js +297 -297
  278. package/build/_modules/ai/index.d.ts +16 -16
  279. package/build/_modules/ai/index.js +30 -30
  280. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.d.ts +5 -5
  281. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.js +9 -9
  282. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.d.ts +8 -8
  283. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.js +12 -12
  284. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.d.ts +6 -6
  285. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.js +10 -10
  286. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.d.ts +32 -32
  287. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.js +2 -2
  288. package/build/_modules/artifact-compiler/artifact-compiler.control-service.d.ts +36 -36
  289. package/build/_modules/artifact-compiler/artifact-compiler.control-service.js +273 -273
  290. package/build/_modules/artifact-compiler/index.d.ts +5 -5
  291. package/build/_modules/artifact-compiler/index.js +11 -11
  292. package/build/_modules/assistant/_collections/ass-global-settings.const.d.ts +2 -2
  293. package/build/_modules/assistant/_collections/ass-global-settings.const.js +14 -14
  294. package/build/_modules/assistant/_collections/ass.util.d.ts +15 -15
  295. package/build/_modules/assistant/_collections/ass.util.js +42 -42
  296. package/build/_modules/assistant/_models/ass-global-settings.interface.d.ts +13 -13
  297. package/build/_modules/assistant/_models/ass-global-settings.interface.js +2 -2
  298. package/build/_modules/assistant/_services/ass-io.control-service.d.ts +19 -19
  299. package/build/_modules/assistant/_services/ass-io.control-service.js +57 -57
  300. package/build/_modules/assistant/_services/ass-main.control-service.d.ts +32 -32
  301. package/build/_modules/assistant/_services/ass-main.control-service.js +65 -65
  302. package/build/_modules/assistant/index.d.ts +6 -6
  303. package/build/_modules/assistant/index.js +18 -18
  304. package/build/_modules/bot/_collections/bot-default-commands.const.d.ts +2 -2
  305. package/build/_modules/bot/_collections/bot-default-commands.const.js +13 -13
  306. package/build/_modules/bot/_collections/bot-global-settings.const.d.ts +2 -2
  307. package/build/_modules/bot/_collections/bot-global-settings.const.js +31 -31
  308. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +25 -25
  309. package/build/_modules/bot/_models/bot-channel-wrapper.interface.js +38 -38
  310. package/build/_modules/bot/_models/bot-command.interface.d.ts +7 -7
  311. package/build/_modules/bot/_models/bot-command.interface.js +2 -2
  312. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +85 -85
  313. package/build/_modules/bot/_models/bot-global-settings.interface.js +2 -2
  314. package/build/_modules/bot/_models/bot-last-mention-date.interface.d.ts +6 -6
  315. package/build/_modules/bot/_models/bot-last-mention-date.interface.js +2 -2
  316. package/build/_modules/bot/_models/bot-last-message-date.interface.d.ts +5 -5
  317. package/build/_modules/bot/_models/bot-last-message-date.interface.js +2 -2
  318. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +37 -37
  319. package/build/_modules/bot/_models/bot-message-wrapper.interface.js +54 -54
  320. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +23 -23
  321. package/build/_modules/bot/_models/bot-user-wrapper.interface.js +28 -28
  322. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js +10 -10
  323. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +69 -69
  324. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +497 -497
  325. package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -1
  326. package/build/_modules/bot/_modules/discord-bot/index.js +12 -12
  327. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +16 -16
  328. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js +42 -42
  329. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts +9 -9
  330. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.js +2 -2
  331. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +59 -59
  332. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +349 -349
  333. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +3 -3
  334. package/build/_modules/bot/_modules/dynamo-bot/index.js +15 -15
  335. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts +6 -6
  336. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.js +2 -2
  337. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +56 -56
  338. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +137 -137
  339. package/build/_modules/bot/_modules/slack-bot/index.d.ts +2 -2
  340. package/build/_modules/bot/_modules/slack-bot/index.js +12 -12
  341. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts +6 -6
  342. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.js +2 -2
  343. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +56 -56
  344. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +137 -137
  345. package/build/_modules/bot/_modules/teams-bot/index.d.ts +2 -2
  346. package/build/_modules/bot/_modules/teams-bot/index.js +12 -12
  347. package/build/_modules/bot/_services/bot-commands.control-service.d.ts +12 -12
  348. package/build/_modules/bot/_services/bot-commands.control-service.js +117 -117
  349. package/build/_modules/bot/_services/bot-io.control-service.d.ts +23 -23
  350. package/build/_modules/bot/_services/bot-io.control-service.js +226 -226
  351. package/build/_modules/bot/_services/bot-main.control-service.d.ts +35 -35
  352. package/build/_modules/bot/_services/bot-main.control-service.js +195 -195
  353. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +71 -71
  354. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js +15 -15
  355. package/build/_modules/bot/_services/bot-routines.control-service.d.ts +13 -13
  356. package/build/_modules/bot/_services/bot-routines.control-service.js +59 -59
  357. package/build/_modules/bot/index.d.ts +17 -17
  358. package/build/_modules/bot/index.js +36 -36
  359. package/build/_modules/custom-data/custom-data.controller.d.ts +5 -5
  360. package/build/_modules/custom-data/custom-data.controller.js +56 -56
  361. package/build/_modules/custom-data/custom-data.data-service.d.ts +5 -5
  362. package/build/_modules/custom-data/custom-data.data-service.js +11 -11
  363. package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts +3 -3
  364. package/build/_modules/custom-data/get-custom-data-routing-module.util.js +16 -16
  365. package/build/_modules/custom-data/index.d.ts +4 -4
  366. package/build/_modules/custom-data/index.js +9 -9
  367. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts +58 -58
  368. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js +168 -168
  369. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.d.ts +31 -31
  370. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.js +7 -7
  371. package/build/_modules/data-readers/index.d.ts +2 -2
  372. package/build/_modules/data-readers/index.js +10 -10
  373. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +248 -248
  374. package/build/_modules/defaults/_collections/default-endpoints.util.js +386 -386
  375. package/build/_modules/defaults/_models/default-user.data-model.d.ts +19 -19
  376. package/build/_modules/defaults/_models/default-user.data-model.js +72 -72
  377. package/build/_modules/defaults/_services/default-auth.service.d.ts +50 -50
  378. package/build/_modules/defaults/_services/default-auth.service.js +158 -158
  379. package/build/_modules/defaults/_services/default-socket-events.service.d.ts +23 -23
  380. package/build/_modules/defaults/_services/default-socket-events.service.js +60 -60
  381. package/build/_modules/defaults/_services/default-user.data-service.d.ts +24 -24
  382. package/build/_modules/defaults/_services/default-user.data-service.js +87 -87
  383. package/build/_modules/defaults/index.d.ts +5 -5
  384. package/build/_modules/defaults/index.js +17 -17
  385. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts +2 -2
  386. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js +16 -16
  387. package/build/_modules/discord-assistant/_collections/dias.util.d.ts +31 -31
  388. package/build/_modules/discord-assistant/_collections/dias.util.js +85 -85
  389. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts +17 -17
  390. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js +2 -2
  391. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts +8 -8
  392. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js +46 -46
  393. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +17 -17
  394. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +123 -123
  395. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts +10 -10
  396. package/build/_modules/discord-assistant/_services/dias-io.control-service.js +49 -49
  397. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts +3 -3
  398. package/build/_modules/discord-assistant/_services/dias-main.control-service.js +7 -7
  399. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +18 -18
  400. package/build/_modules/discord-assistant/_services/dias.service-base.js +46 -46
  401. package/build/_modules/discord-assistant/index.d.ts +11 -11
  402. package/build/_modules/discord-assistant/index.js +24 -24
  403. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts +3 -3
  404. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js +7 -7
  405. package/build/_modules/discord-assistant-voiced/index.d.ts +2 -2
  406. package/build/_modules/discord-assistant-voiced/index.js +28 -28
  407. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts +2 -2
  408. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js +12 -12
  409. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts +2 -2
  410. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +43 -43
  411. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +22 -22
  412. package/build/_modules/discord-bot/_collections/dibo-operations.util.js +275 -275
  413. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts +7 -7
  414. package/build/_modules/discord-bot/_models/dibo-command.interface.js +2 -2
  415. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.d.ts +87 -87
  416. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.js +2 -2
  417. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts +6 -6
  418. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js +2 -2
  419. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts +5 -5
  420. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js +2 -2
  421. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts +11 -11
  422. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js +109 -109
  423. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts +21 -21
  424. package/build/_modules/discord-bot/_services/dibo-io.control-service.js +218 -218
  425. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +89 -89
  426. package/build/_modules/discord-bot/_services/dibo-main.control-service.js +363 -363
  427. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts +13 -13
  428. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js +73 -73
  429. package/build/_modules/discord-bot/index.d.ts +11 -11
  430. package/build/_modules/discord-bot/index.js +30 -30
  431. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +34 -34
  432. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +38 -38
  433. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.d.ts +35 -35
  434. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.js +53 -53
  435. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.d.ts +16 -16
  436. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.js +2 -2
  437. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +88 -88
  438. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +189 -189
  439. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.d.ts +26 -26
  440. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.js +197 -197
  441. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +145 -145
  442. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +294 -294
  443. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts +74 -74
  444. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js +152 -152
  445. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.d.ts +51 -51
  446. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.js +83 -83
  447. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +99 -99
  448. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +276 -276
  449. package/build/_modules/local-vector-search/index.d.ts +8 -8
  450. package/build/_modules/local-vector-search/index.js +15 -15
  451. package/build/_modules/logs/_models/file-log-entry.interface.d.ts +13 -13
  452. package/build/_modules/logs/_models/file-log-entry.interface.js +2 -2
  453. package/build/_modules/logs/_models/file-log-read-result.interface.d.ts +35 -35
  454. package/build/_modules/logs/_models/file-log-read-result.interface.js +2 -2
  455. package/build/_modules/logs/file-log.service.d.ts +132 -132
  456. package/build/_modules/logs/file-log.service.js +444 -444
  457. package/build/_modules/logs/file-logs.controller.d.ts +40 -40
  458. package/build/_modules/logs/file-logs.controller.js +138 -138
  459. package/build/_modules/logs/get-file-logs-routing-module.util.d.ts +31 -31
  460. package/build/_modules/logs/get-file-logs-routing-module.util.js +37 -37
  461. package/build/_modules/logs/get-logs-routing-module.util.d.ts +18 -18
  462. package/build/_modules/logs/get-logs-routing-module.util.js +31 -31
  463. package/build/_modules/logs/index.d.ts +8 -8
  464. package/build/_modules/logs/index.js +15 -15
  465. package/build/_modules/logs/log-buffer.service.d.ts +37 -37
  466. package/build/_modules/logs/log-buffer.service.js +96 -96
  467. package/build/_modules/logs/logs.controller.d.ts +26 -26
  468. package/build/_modules/logs/logs.controller.js +89 -89
  469. package/build/_modules/logs/logs.service.d.ts +39 -39
  470. package/build/_modules/logs/logs.service.js +96 -96
  471. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.d.ts +108 -108
  472. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.js +13 -13
  473. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.d.ts +70 -70
  474. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.js +98 -98
  475. package/build/_modules/mcp/_services/dynts-mcp.adapter.d.ts +56 -56
  476. package/build/_modules/mcp/_services/dynts-mcp.adapter.js +138 -138
  477. package/build/_modules/mcp/index.d.ts +3 -3
  478. package/build/_modules/mcp/index.js +12 -12
  479. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.d.ts +7 -7
  480. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.js +20 -20
  481. package/build/_modules/messaging/_collections/msg-global-settings.const.d.ts +5 -5
  482. package/build/_modules/messaging/_collections/msg-global-settings.const.js +22 -22
  483. package/build/_modules/messaging/_collections/msg.util.d.ts +24 -24
  484. package/build/_modules/messaging/_collections/msg.util.js +62 -62
  485. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts +28 -28
  486. package/build/_modules/messaging/_models/msg-global-settings.interface.js +2 -2
  487. package/build/_modules/messaging/_services/msg-conversation.data-service.d.ts +28 -28
  488. package/build/_modules/messaging/_services/msg-conversation.data-service.js +109 -109
  489. package/build/_modules/messaging/_services/msg-events.service.d.ts +61 -61
  490. package/build/_modules/messaging/_services/msg-events.service.js +203 -203
  491. package/build/_modules/messaging/_services/msg-integration.control-service.js +180 -180
  492. package/build/_modules/messaging/_services/msg-main.control-service.d.ts +62 -62
  493. package/build/_modules/messaging/_services/msg-main.control-service.js +428 -428
  494. package/build/_modules/messaging/_services/msg-message.data-service.d.ts +28 -28
  495. package/build/_modules/messaging/_services/msg-message.data-service.js +103 -103
  496. package/build/_modules/messaging/_services/msg.controller.d.ts +12 -12
  497. package/build/_modules/messaging/_services/msg.controller.js +256 -256
  498. package/build/_modules/messaging/index.d.ts +10 -10
  499. package/build/_modules/messaging/index.js +27 -27
  500. package/build/_modules/mock/app-extended-server.mock.d.ts +41 -41
  501. package/build/_modules/mock/app-extended-server.mock.js +169 -169
  502. package/build/_modules/mock/app-integration-test.mock.d.ts +19 -19
  503. package/build/_modules/mock/app-integration-test.mock.js +45 -45
  504. package/build/_modules/mock/app-params.mock.d.ts +2 -2
  505. package/build/_modules/mock/app-params.mock.js +9 -9
  506. package/build/_modules/mock/app-server.mock.d.ts +41 -41
  507. package/build/_modules/mock/app-server.mock.js +148 -148
  508. package/build/_modules/mock/auth-service.mock.d.ts +10 -10
  509. package/build/_modules/mock/auth-service.mock.js +19 -19
  510. package/build/_modules/mock/controller.mock.d.ts +5 -5
  511. package/build/_modules/mock/controller.mock.js +14 -14
  512. package/build/_modules/mock/data-model.mock.d.ts +26 -26
  513. package/build/_modules/mock/data-model.mock.js +72 -72
  514. package/build/_modules/mock/email-service-collection.mock.d.ts +7 -7
  515. package/build/_modules/mock/email-service-collection.mock.js +12 -12
  516. package/build/_modules/mock/email-service.mock.d.ts +4 -4
  517. package/build/_modules/mock/email-service.mock.js +20 -20
  518. package/build/_modules/mock/endpoint.mock.d.ts +8 -8
  519. package/build/_modules/mock/endpoint.mock.js +79 -79
  520. package/build/_modules/mock/socket-client.mock.d.ts +9 -9
  521. package/build/_modules/mock/socket-client.mock.js +38 -38
  522. package/build/_modules/mock/socket-server.mock.d.ts +15 -15
  523. package/build/_modules/mock/socket-server.mock.js +32 -32
  524. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +16 -16
  525. package/build/_modules/oauth2/_routes/oauth2.controller.js +96 -96
  526. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +30 -30
  527. package/build/_modules/oauth2/_services/oauth2.auth-service.js +215 -215
  528. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +132 -132
  529. package/build/_modules/oauth2/_services/oauth2.control-service.js +576 -576
  530. package/build/_modules/oauth2/index.d.ts +3 -3
  531. package/build/_modules/oauth2/index.js +14 -14
  532. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.d.ts +5 -5
  533. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.js +9 -9
  534. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.d.ts +10 -10
  535. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.js +14 -14
  536. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.d.ts +7 -7
  537. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.js +11 -11
  538. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.d.ts +15 -15
  539. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.js +19 -19
  540. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.d.ts +9 -9
  541. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.js +13 -13
  542. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.d.ts +11 -11
  543. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.js +2 -2
  544. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.d.ts +6 -6
  545. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.js +2 -2
  546. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.d.ts +14 -14
  547. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.js +2 -2
  548. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.d.ts +6 -6
  549. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.js +2 -2
  550. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.d.ts +12 -12
  551. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.js +2 -2
  552. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.d.ts +8 -8
  553. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.js +2 -2
  554. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.d.ts +13 -13
  555. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.js +2 -2
  556. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.d.ts +7 -7
  557. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.js +2 -2
  558. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.d.ts +10 -10
  559. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.js +2 -2
  560. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.d.ts +71 -0
  561. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.d.ts.map +1 -0
  562. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.js +3 -0
  563. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.js.map +1 -0
  564. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.d.ts +12 -12
  565. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.js +2 -2
  566. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.d.ts +8 -8
  567. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.js +2 -2
  568. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.d.ts +6 -6
  569. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.js +2 -2
  570. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.d.ts +10 -10
  571. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.js +2 -2
  572. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.d.ts +6 -6
  573. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.js +2 -2
  574. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.d.ts +6 -6
  575. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.js +2 -2
  576. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.d.ts +11 -11
  577. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.js +2 -2
  578. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.d.ts +13 -13
  579. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.js +2 -2
  580. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.d.ts +14 -14
  581. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.js +2 -2
  582. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.d.ts +8 -8
  583. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.js +2 -2
  584. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.d.ts +6 -6
  585. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.js +2 -2
  586. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.d.ts +9 -9
  587. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.js +2 -2
  588. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.d.ts +6 -6
  589. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.js +2 -2
  590. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.d.ts +20 -20
  591. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.js +2 -2
  592. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.d.ts +7 -7
  593. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.js +2 -2
  594. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.d.ts +19 -19
  595. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.js +2 -2
  596. package/build/_modules/privacy-lifecycle/index.d.ts +35 -32
  597. package/build/_modules/privacy-lifecycle/index.d.ts.map +1 -1
  598. package/build/_modules/privacy-lifecycle/index.js +21 -17
  599. package/build/_modules/privacy-lifecycle/index.js.map +1 -1
  600. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.d.ts +48 -0
  601. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.d.ts.map +1 -0
  602. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.js +332 -0
  603. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.js.map +1 -0
  604. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.d.ts +25 -0
  605. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.d.ts.map +1 -0
  606. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.js +126 -0
  607. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.js.map +1 -0
  608. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.d.ts +27 -27
  609. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.js +167 -167
  610. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.d.ts +41 -41
  611. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.js +363 -363
  612. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.d.ts +5 -5
  613. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.js +9 -9
  614. package/build/_modules/rate-limit/_models/rate-limit-config.interface.d.ts +70 -70
  615. package/build/_modules/rate-limit/_models/rate-limit-config.interface.js +2 -2
  616. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.d.ts +8 -8
  617. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.js +2 -2
  618. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.d.ts +6 -6
  619. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.js +2 -2
  620. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.d.ts +15 -15
  621. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.js +2 -2
  622. package/build/_modules/rate-limit/_models/rate-limit-store.interface.d.ts +8 -8
  623. package/build/_modules/rate-limit/_models/rate-limit-store.interface.js +2 -2
  624. package/build/_modules/rate-limit/index.d.ts +8 -8
  625. package/build/_modules/rate-limit/index.js +9 -9
  626. package/build/_modules/rate-limit/rate-limit-in-memory.store.d.ts +18 -18
  627. package/build/_modules/rate-limit/rate-limit-in-memory.store.js +70 -70
  628. package/build/_modules/rate-limit/rate-limit.middleware.d.ts +68 -68
  629. package/build/_modules/rate-limit/rate-limit.middleware.js +378 -378
  630. package/build/_modules/scheduler/_models/scheduler-job.interface.d.ts +33 -33
  631. package/build/_modules/scheduler/_models/scheduler-job.interface.js +2 -2
  632. package/build/_modules/scheduler/get-scheduler-routing-module.util.d.ts +17 -17
  633. package/build/_modules/scheduler/get-scheduler-routing-module.util.js +30 -30
  634. package/build/_modules/scheduler/index.d.ts +4 -4
  635. package/build/_modules/scheduler/index.js +9 -9
  636. package/build/_modules/scheduler/scheduler.controller.d.ts +24 -24
  637. package/build/_modules/scheduler/scheduler.controller.js +53 -53
  638. package/build/_modules/scheduler/scheduler.service.d.ts +53 -53
  639. package/build/_modules/scheduler/scheduler.service.js +163 -163
  640. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.d.ts +18 -18
  641. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.js +22 -22
  642. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.d.ts +43 -43
  643. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.js +67 -67
  644. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.d.ts +88 -88
  645. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.js +11 -11
  646. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.d.ts +83 -83
  647. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.js +219 -219
  648. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.d.ts +53 -53
  649. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.js +75 -75
  650. package/build/_modules/scoped-config/index.d.ts +5 -5
  651. package/build/_modules/scoped-config/index.js +14 -14
  652. package/build/_modules/server/errors/errors.control-service.d.ts +21 -21
  653. package/build/_modules/server/errors/errors.control-service.js +10 -10
  654. package/build/_modules/server/errors/errors.controller.d.ts +144 -144
  655. package/build/_modules/server/errors/errors.controller.js +404 -404
  656. package/build/_modules/server/errors/errors.data-service.d.ts +70 -70
  657. package/build/_modules/server/errors/errors.data-service.js +677 -677
  658. package/build/_modules/server/index.d.ts +15 -15
  659. package/build/_modules/server/index.js +35 -35
  660. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.d.ts +8 -8
  661. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.js +12 -12
  662. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts +20 -20
  663. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js +24 -24
  664. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.d.ts +18 -18
  665. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.js +82 -82
  666. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.d.ts +18 -18
  667. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.js +2 -2
  668. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.d.ts +13 -13
  669. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.js +17 -17
  670. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.d.ts +7 -7
  671. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.js +11 -11
  672. package/build/_modules/server/server-status/db-readiness-probe.control-service.d.ts +13 -13
  673. package/build/_modules/server/server-status/db-readiness-probe.control-service.js +125 -125
  674. package/build/_modules/server/server-status/db-readiness-probe.interface.d.ts +17 -17
  675. package/build/_modules/server/server-status/db-readiness-probe.interface.js +2 -2
  676. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts +4 -4
  677. package/build/_modules/server/server-status/server-status-snapshot.control-service.js +7 -7
  678. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts +6 -6
  679. package/build/_modules/server/server-status/server-status-snapshot.data-service.js +22 -22
  680. package/build/_modules/server/server-status/server-status.control-service.d.ts +111 -111
  681. package/build/_modules/server/server-status/server-status.control-service.js +302 -302
  682. package/build/_modules/server/server-status/server-status.controller.d.ts +92 -92
  683. package/build/_modules/server/server-status/server-status.controller.js +253 -253
  684. package/build/_modules/socket/_enums/socket-security.enum.d.ts +10 -10
  685. package/build/_modules/socket/_enums/socket-security.enum.js +14 -14
  686. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +8 -8
  687. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +16 -16
  688. package/build/_modules/socket/_models/socket-presence.control-model.d.ts +25 -25
  689. package/build/_modules/socket/_models/socket-presence.control-model.js +140 -140
  690. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +22 -22
  691. package/build/_modules/socket/_models/socket-server-service-params.control-model.js +31 -31
  692. package/build/_modules/socket/_services/socket-client.service.d.ts +37 -37
  693. package/build/_modules/socket/_services/socket-client.service.js +196 -196
  694. package/build/_modules/socket/_services/socket-server.service.d.ts +98 -98
  695. package/build/_modules/socket/_services/socket-server.service.js +673 -673
  696. package/build/_modules/socket/app-extended.server.d.ts +145 -145
  697. package/build/_modules/socket/app-extended.server.js +521 -521
  698. package/build/_modules/socket/index.d.ts +8 -8
  699. package/build/_modules/socket/index.js +35 -35
  700. package/build/_modules/test/get-test-routing-module.util.d.ts +3 -3
  701. package/build/_modules/test/get-test-routing-module.util.js +16 -16
  702. package/build/_modules/test/index.d.ts +3 -3
  703. package/build/_modules/test/index.js +11 -11
  704. package/build/_modules/test/test.controller.d.ts +5 -5
  705. package/build/_modules/test/test.controller.js +103 -103
  706. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.d.ts +10 -10
  707. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.js +13 -13
  708. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.d.ts +21 -21
  709. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.js +38 -38
  710. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.d.ts +49 -49
  711. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.js +117 -117
  712. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.d.ts +14 -14
  713. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.js +26 -26
  714. package/build/_modules/test-email-sink/index.d.ts +11 -11
  715. package/build/_modules/test-email-sink/index.js +14 -14
  716. package/build/_modules/test-email-sink/test-email-sink.controller.d.ts +23 -23
  717. package/build/_modules/test-email-sink/test-email-sink.controller.js +66 -66
  718. package/build/_modules/usage/get-usage-routing-module.util.d.ts +3 -3
  719. package/build/_modules/usage/get-usage-routing-module.util.js +16 -16
  720. package/build/_modules/usage/index.d.ts +4 -4
  721. package/build/_modules/usage/index.js +13 -13
  722. package/build/_modules/usage/usage.controller.d.ts +6 -6
  723. package/build/_modules/usage/usage.controller.js +105 -105
  724. package/build/_modules/usage/usage.data-service.d.ts +17 -17
  725. package/build/_modules/usage/usage.data-service.js +135 -135
  726. package/build/_services/base/api.service-base.d.ts +9 -9
  727. package/build/_services/base/api.service-base.js +46 -46
  728. package/build/_services/base/archive-data.service.d.ts +25 -25
  729. package/build/_services/base/archive-data.service.js +151 -151
  730. package/build/_services/base/data.service.d.ts +402 -402
  731. package/build/_services/base/data.service.js +2131 -2131
  732. package/build/_services/base/db.service.d.ts +424 -424
  733. package/build/_services/base/db.service.js +1356 -1356
  734. package/build/_services/base/singleton.service-base.d.ts +8 -8
  735. package/build/_services/base/singleton.service-base.js +21 -21
  736. package/build/_services/base/singleton.service.d.ts +11 -11
  737. package/build/_services/base/singleton.service.js +31 -31
  738. package/build/_services/core/api.service.d.ts +45 -45
  739. package/build/_services/core/api.service.js +456 -456
  740. package/build/_services/core/auth.service.d.ts +129 -129
  741. package/build/_services/core/auth.service.js +59 -59
  742. package/build/_services/core/collection-growth-monitor.service.d.ts +76 -76
  743. package/build/_services/core/collection-growth-monitor.service.js +165 -165
  744. package/build/_services/core/db-stats.service.d.ts +33 -33
  745. package/build/_services/core/db-stats.service.js +64 -64
  746. package/build/_services/core/diagnostics.service.d.ts +42 -42
  747. package/build/_services/core/diagnostics.service.js +121 -121
  748. package/build/_services/core/email.service.d.ts +77 -77
  749. package/build/_services/core/email.service.js +503 -503
  750. package/build/_services/core/event-loop-diag.service.d.ts +49 -49
  751. package/build/_services/core/event-loop-diag.service.js +106 -106
  752. package/build/_services/core/global.service.d.ts +83 -83
  753. package/build/_services/core/global.service.js +386 -386
  754. package/build/_services/core/memory-guard.service.d.ts +166 -166
  755. package/build/_services/core/memory-guard.service.js +369 -369
  756. package/build/_services/core/migration-runner.service.d.ts +39 -39
  757. package/build/_services/core/migration-runner.service.js +74 -74
  758. package/build/_services/core/mongo-transaction.control-service.d.ts +18 -18
  759. package/build/_services/core/mongo-transaction.control-service.js +94 -94
  760. package/build/_services/core/request-hunter.service.d.ts +73 -73
  761. package/build/_services/core/request-hunter.service.js +122 -122
  762. package/build/_services/core/request-telemetry.control-service.d.ts +51 -0
  763. package/build/_services/core/request-telemetry.control-service.d.ts.map +1 -0
  764. package/build/_services/core/request-telemetry.control-service.js +286 -0
  765. package/build/_services/core/request-telemetry.control-service.js.map +1 -0
  766. package/build/_services/core/service-collection.service.d.ts +4 -4
  767. package/build/_services/core/service-collection.service.js +7 -7
  768. package/build/_services/route/controller.service.d.ts +124 -124
  769. package/build/_services/route/controller.service.js +95 -95
  770. package/build/_services/route/routing-module.service.d.ts +80 -80
  771. package/build/_services/route/routing-module.service.d.ts.map +1 -1
  772. package/build/_services/route/routing-module.service.js +253 -250
  773. package/build/_services/route/routing-module.service.js.map +1 -1
  774. package/build/_services/server/app.server.d.ts +434 -429
  775. package/build/_services/server/app.server.d.ts.map +1 -1
  776. package/build/_services/server/app.server.js +1239 -1226
  777. package/build/_services/server/app.server.js.map +1 -1
  778. package/build/_services/shared.static-service.d.ts +43 -43
  779. package/build/_services/shared.static-service.js +92 -92
  780. package/build/index.d.ts +66 -63
  781. package/build/index.d.ts.map +1 -1
  782. package/build/index.js +104 -101
  783. package/build/index.js.map +1 -1
  784. package/package.json +11 -4
  785. package/.c8rc.json +0 -26
  786. package/.copilot/patterns.json +0 -8
  787. package/.cursor/rules/__assistant_guide.mdc +0 -30
  788. package/.cursor/rules/__main.mdc +0 -64
  789. package/.cursor/rules/_ag_backend-structure.mdc +0 -86
  790. package/.cursor/rules/_ag_backend.mdc +0 -16
  791. package/.cursor/rules/_ag_debug.mdc +0 -8
  792. package/.cursor/rules/_ag_documentation_writing_rules.mdc +0 -372
  793. package/.cursor/rules/_ag_file-refactoring.mdc +0 -113
  794. package/.cursor/rules/_ag_fixes_rules.mdc +0 -6
  795. package/.cursor/rules/_ag_frontend-structure.mdc +0 -87
  796. package/.cursor/rules/_ag_frontend.mdc +0 -40
  797. package/.cursor/rules/_ag_import-rules.mdc +0 -45
  798. package/.cursor/rules/_ag_naming.mdc +0 -116
  799. package/.cursor/rules/_ag_running_commands.mdc +0 -5
  800. package/.cursor/rules/_ag_server-controller.mdc +0 -6
  801. package/.cursor/rules/_ag_should-be.mdc +0 -7
  802. package/.cursor/rules/_ag_swearing.mdc +0 -47
  803. package/.cursor/rules/ai_development_guide.md +0 -61
  804. package/.cursor/rules/ai_directives.md +0 -114
  805. package/.cursor/rules/cursor-rules.md +0 -160
  806. package/.cursor/rules/default-command.mdc +0 -465
  807. package/.cursor/rules/error_code_pattern.md +0 -40
  808. package/.cursor/rules/saved rule mcp server use.md +0 -16
  809. package/.dynamo/pipeline.cicd.config.json +0 -190
  810. package/.dynamo/version-bump.config.json +0 -5
  811. package/.github/workflows/main.yml +0 -438
  812. package/.husky/pre-commit +0 -3
  813. package/.vscode/settings.json +0 -11
  814. package/BuildPackage.bat +0 -1
  815. package/HOWTO.md +0 -15
  816. package/__documentations/2026-04-28-logs-module.md +0 -49
  817. package/__documentations/2026-05-17-oai-compatible-providers.md +0 -229
  818. package/__documentations/2026-05-17-static-client-serving-howto.md +0 -144
  819. package/__documentations/2026-06-01-fr041-cors-middleware.md +0 -96
  820. package/__documentations/2026-06-01-fr047-p2p3-function-calling.md +0 -81
  821. package/__documentations/2026-06-15-fr193-memory-guard.md +0 -73
  822. package/__documentations/2026-08-08-fr292-app-version-header.md +0 -38
  823. package/__documentations/2026-08-14-field-encryption-mongoose-document-spread.md +0 -124
  824. package/__documentations/2026-08-18-artifact-compiler.md +0 -46
  825. package/__documentations/2026-08-18-mongo-transaction-control-service.md +0 -82
  826. package/__documentations/2026-08-18-standalone-account-security-and-privacy-bedrock.md +0 -132
  827. package/__documentations/2026-08-21-distributed-rate-limit-bfr-ctm-010.md +0 -59
  828. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +0 -54
  829. package/__documentations/2026-08-22-content-free-process-error-boundary.md +0 -111
  830. package/__documentations/2026-08-22-npm-token-state-classifier.md +0 -92
  831. package/__documentations/nts-integration-tests-2026-03-17.md +0 -26
  832. package/__documentations/plans/BEDROCK-HYPERPLAN.md +0 -95
  833. package/_specifications/BACKLOG.md +0 -92
  834. package/_specifications/TODO.md +0 -15
  835. package/_specifications/agent.md +0 -138
  836. package/eslint.config.js +0 -3
  837. package/nodemon.json +0 -24
  838. package/pnpm-workspace.yaml +0 -6
  839. package/scripts/_seed-out/aim-seed.fixtures.ts +0 -161
  840. package/scripts/_seed-out/image-raw.json +0 -1
  841. package/scripts/_seed-out/llm-expand-raw.json +0 -60
  842. package/scripts/_seed-out/sample-image.png +0 -0
  843. package/scripts/_seed-out/seed-raw.json +0 -153
  844. package/scripts/ai-fixture-seed.js +0 -126
  845. package/scripts/run-coverage-tests.js +0 -28
  846. package/spec/support/helpers/spec-reporter-loader.js +0 -359
  847. package/spec/support/helpers/ts-node-helper.js +0 -93
  848. package/spec/support/jasmine.coverage.json +0 -24
  849. package/spec/support/jasmine.json +0 -24
  850. package/src/_assets/dynamo-nts-logo-128.png +0 -0
  851. package/src/_assets/dynamo-nts-logo-256.png +0 -0
  852. package/src/_assets/dynamo-nts-logo-512.png +0 -0
  853. package/src/_assets/dynamo-nts-logo-64.png +0 -0
  854. package/src/_collections/app-version-header.util.spec.ts +0 -108
  855. package/src/_collections/app-version-header.util.ts +0 -74
  856. package/src/_collections/archive-service-registry.const.ts +0 -21
  857. package/src/_collections/archive.util.spec.ts +0 -57
  858. package/src/_collections/archive.util.ts +0 -18
  859. package/src/_collections/atlas-default-db-options.const.ts +0 -10
  860. package/src/_collections/client-safe-error.util.spec.ts +0 -151
  861. package/src/_collections/client-safe-error.util.ts +0 -107
  862. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +0 -11
  863. package/src/_collections/default-fallback-cache-max-age.const.ts +0 -2
  864. package/src/_collections/default-not-found-page.const.spec.ts +0 -19
  865. package/src/_collections/default-not-found-page.const.ts +0 -22
  866. package/src/_collections/default-socket-path.const.spec.ts +0 -12
  867. package/src/_collections/default-socket-path.const.ts +0 -2
  868. package/src/_collections/field-encryption.util.spec.ts +0 -195
  869. package/src/_collections/field-encryption.util.ts +0 -222
  870. package/src/_collections/get-environment-settings.util.spec.ts +0 -210
  871. package/src/_collections/get-environment-settings.util.ts +0 -49
  872. package/src/_collections/global-settings.const.ts +0 -126
  873. package/src/_collections/load-shed.util.spec.ts +0 -62
  874. package/src/_collections/load-shed.util.ts +0 -51
  875. package/src/_collections/mongo-reconnect-guard.util.spec.ts +0 -52
  876. package/src/_collections/mongo-reconnect-guard.util.ts +0 -172
  877. package/src/_collections/npm-token-check.util.spec.ts +0 -218
  878. package/src/_collections/npm-token-check.util.ts +0 -327
  879. package/src/_collections/sample.env +0 -21
  880. package/src/_collections/security-headers.util.spec.ts +0 -98
  881. package/src/_collections/security-headers.util.ts +0 -96
  882. package/src/_collections/signed-url.util.spec.ts +0 -198
  883. package/src/_collections/signed-url.util.ts +0 -170
  884. package/src/_collections/star.controller.spec.ts +0 -224
  885. package/src/_collections/star.controller.ts +0 -130
  886. package/src/_collections/static-cache-control.util.spec.ts +0 -47
  887. package/src/_collections/static-cache-control.util.ts +0 -25
  888. package/src/_enums/data-model-type.enum.ts +0 -14
  889. package/src/_enums/data-service-function.enum.ts +0 -24
  890. package/src/_enums/predefined-data-types.enum.ts +0 -17
  891. package/src/_enums/route-security.enum.ts +0 -12
  892. package/src/_models/control-models/api-call-params.control-model.spec.ts +0 -152
  893. package/src/_models/control-models/api-call-params.control-model.ts +0 -142
  894. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +0 -52
  895. package/src/_models/control-models/app-ext-system-controls.control-model.ts +0 -9
  896. package/src/_models/control-models/app-params.control-model.spec.ts +0 -229
  897. package/src/_models/control-models/app-params.control-model.ts +0 -137
  898. package/src/_models/control-models/app-system-controls.control-model.spec.ts +0 -31
  899. package/src/_models/control-models/app-system-controls.control-model.ts +0 -9
  900. package/src/_models/control-models/endpoint-params.control-model.spec.ts +0 -754
  901. package/src/_models/control-models/endpoint-params.control-model.ts +0 -575
  902. package/src/_models/control-models/http-settings.control-model.spec.ts +0 -77
  903. package/src/_models/control-models/http-settings.control-model.ts +0 -37
  904. package/src/_models/control-models/system-control.control-model.spec.ts +0 -27
  905. package/src/_models/control-models/system-control.control-model.ts +0 -12
  906. package/src/_models/data-models/schema-migration.data-model.ts +0 -50
  907. package/src/_models/interfaces/app-version-header-settings.interface.ts +0 -17
  908. package/src/_models/interfaces/certification-settings.interface.ts +0 -7
  909. package/src/_models/interfaces/compare-data-options.interface.ts +0 -27
  910. package/src/_models/interfaces/compare-data-result.interface.ts +0 -12
  911. package/src/_models/interfaces/cors-settings.interface.spec.ts +0 -52
  912. package/src/_models/interfaces/cors-settings.interface.ts +0 -56
  913. package/src/_models/interfaces/db-query-options.interface.ts +0 -33
  914. package/src/_models/interfaces/environment-settings.interface.ts +0 -59
  915. package/src/_models/interfaces/global-log-settings.interface.ts +0 -171
  916. package/src/_models/interfaces/global-service-settings.interface.ts +0 -47
  917. package/src/_models/interfaces/global-settings.interface.ts +0 -294
  918. package/src/_models/interfaces/migration-entry.interface.ts +0 -19
  919. package/src/_models/interfaces/mongo-transaction-settings.interface.ts +0 -9
  920. package/src/_models/interfaces/routing-module-settings.interface.ts +0 -21
  921. package/src/_models/interfaces/security-headers-settings.interface.ts +0 -50
  922. package/src/_models/interfaces/signed-url-verify-result.interface.ts +0 -13
  923. package/src/_models/interfaces/static-client-settings.interface.spec.ts +0 -29
  924. package/src/_models/interfaces/static-client-settings.interface.ts +0 -36
  925. package/src/_models/types/db-update.type.ts +0 -100
  926. package/src/_modules/account-security/_enums/account-challenge-purpose.type-enum.ts +0 -5
  927. package/src/_modules/account-security/_enums/account-refresh-token-state.type-enum.ts +0 -6
  928. package/src/_modules/account-security/_enums/account-session-state.type-enum.ts +0 -6
  929. package/src/_modules/account-security/_models/account-challenge-adapter.interface.ts +0 -17
  930. package/src/_modules/account-security/_models/account-challenge-issued.interface.ts +0 -6
  931. package/src/_modules/account-security/_models/account-challenge-record.interface.ts +0 -13
  932. package/src/_modules/account-security/_models/account-challenge-result.interface.ts +0 -8
  933. package/src/_modules/account-security/_models/account-challenge-settings.interface.ts +0 -9
  934. package/src/_modules/account-security/_models/account-password-policy.interface.ts +0 -11
  935. package/src/_modules/account-security/_models/account-password-verification.interface.ts +0 -5
  936. package/src/_modules/account-security/_models/account-refresh-token-record.interface.ts +0 -13
  937. package/src/_modules/account-security/_models/account-session-adapter.interface.ts +0 -19
  938. package/src/_modules/account-security/_models/account-session-claims.interface.ts +0 -7
  939. package/src/_modules/account-security/_models/account-session-context.interface.ts +0 -6
  940. package/src/_modules/account-security/_models/account-session-create.interface.ts +0 -8
  941. package/src/_modules/account-security/_models/account-session-record.interface.ts +0 -21
  942. package/src/_modules/account-security/_models/account-session-rotate.interface.ts +0 -11
  943. package/src/_modules/account-security/_models/account-session-settings.interface.ts +0 -11
  944. package/src/_modules/account-security/_models/account-session-token-pair.interface.ts +0 -8
  945. package/src/_modules/account-security/_models/account-session-view.interface.ts +0 -13
  946. package/src/_modules/account-security/account-challenge.control-service.spec.ts +0 -195
  947. package/src/_modules/account-security/account-challenge.control-service.ts +0 -164
  948. package/src/_modules/account-security/account-password.control-service.spec.ts +0 -96
  949. package/src/_modules/account-security/account-password.control-service.ts +0 -288
  950. package/src/_modules/account-security/account-session.control-service.spec.ts +0 -294
  951. package/src/_modules/account-security/account-session.control-service.ts +0 -376
  952. package/src/_modules/account-security/index.ts +0 -31
  953. package/src/_modules/admin-auth/_models/admin-api-key-config.interface.ts +0 -33
  954. package/src/_modules/admin-auth/admin-api-key.auth-service.spec.ts +0 -200
  955. package/src/_modules/admin-auth/admin-api-key.auth-service.ts +0 -220
  956. package/src/_modules/admin-auth/index.ts +0 -2
  957. package/src/_modules/ai/_collections/ai-model-config-validator.util.spec.ts +0 -150
  958. package/src/_modules/ai/_collections/ai-model-config-validator.util.ts +0 -131
  959. package/src/_modules/ai/_collections/ai-provider-error.util.ts +0 -144
  960. package/src/_modules/ai/_models/ai-input-interfaces.ts +0 -117
  961. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +0 -16
  962. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts +0 -14
  963. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts +0 -56
  964. package/src/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.ts +0 -16
  965. package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.ts +0 -72
  966. package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.ts +0 -71
  967. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.ts +0 -57
  968. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.ts +0 -60
  969. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.ts +0 -56
  970. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.ts +0 -117
  971. package/src/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.ts +0 -28
  972. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.ts +0 -14
  973. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.ts +0 -11
  974. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.ts +0 -30
  975. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.ts +0 -19
  976. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.ts +0 -20
  977. package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.ts +0 -115
  978. package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.ts +0 -233
  979. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.ts +0 -134
  980. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.ts +0 -127
  981. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.ts +0 -105
  982. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.ts +0 -50
  983. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.ts +0 -65
  984. package/src/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.ts +0 -92
  985. package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.ts +0 -112
  986. package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.ts +0 -155
  987. package/src/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.ts +0 -649
  988. package/src/_modules/ai/_modules/ai-mock/index.ts +0 -47
  989. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +0 -138
  990. package/src/_modules/ai/_modules/anthropic/index.ts +0 -5
  991. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +0 -242
  992. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +0 -639
  993. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +0 -295
  994. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +0 -552
  995. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +0 -209
  996. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +0 -85
  997. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +0 -8
  998. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +0 -146
  999. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +0 -163
  1000. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +0 -100
  1001. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +0 -68
  1002. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +0 -18
  1003. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +0 -19
  1004. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +0 -25
  1005. package/src/_modules/ai/_modules/document-ai/index.ts +0 -30
  1006. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +0 -189
  1007. package/src/_modules/ai/_modules/fdp-ai/index.ts +0 -5
  1008. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +0 -9
  1009. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +0 -83
  1010. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +0 -76
  1011. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +0 -45
  1012. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +0 -8
  1013. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +0 -7
  1014. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +0 -57
  1015. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +0 -293
  1016. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts +0 -572
  1017. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +0 -342
  1018. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts +0 -435
  1019. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +0 -550
  1020. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +0 -631
  1021. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +0 -332
  1022. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +0 -132
  1023. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +0 -462
  1024. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +0 -635
  1025. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +0 -489
  1026. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +0 -173
  1027. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +0 -1085
  1028. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +0 -157
  1029. package/src/_modules/ai/_modules/open-ai/index.ts +0 -74
  1030. package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +0 -110
  1031. package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +0 -114
  1032. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +0 -98
  1033. package/src/_modules/ai/_services/ai-embedding.service-base.ts +0 -48
  1034. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +0 -229
  1035. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +0 -68
  1036. package/src/_modules/ai/_services/ai-llm.service-base.reconciler.spec.ts +0 -133
  1037. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +0 -250
  1038. package/src/_modules/ai/_services/ai-llm.service-base.ts +0 -599
  1039. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +0 -158
  1040. package/src/_modules/ai/_services/ai-provider.service-base.ts +0 -67
  1041. package/src/_modules/ai/_services/ai-user-key.service-base.ts +0 -59
  1042. package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +0 -197
  1043. package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +0 -399
  1044. package/src/_modules/ai/index.ts +0 -33
  1045. package/src/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.ts +0 -5
  1046. package/src/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.ts +0 -8
  1047. package/src/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.ts +0 -6
  1048. package/src/_modules/artifact-compiler/_models/artifact-compile.interface.ts +0 -35
  1049. package/src/_modules/artifact-compiler/artifact-compiler.control-service.spec.ts +0 -151
  1050. package/src/_modules/artifact-compiler/artifact-compiler.control-service.ts +0 -356
  1051. package/src/_modules/artifact-compiler/index.ts +0 -9
  1052. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +0 -13
  1053. package/src/_modules/assistant/_collections/ass.util.spec.ts +0 -176
  1054. package/src/_modules/assistant/_collections/ass.util.ts +0 -50
  1055. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +0 -15
  1056. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +0 -140
  1057. package/src/_modules/assistant/_services/ass-io.control-service.ts +0 -74
  1058. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +0 -192
  1059. package/src/_modules/assistant/_services/ass-main.control-service.ts +0 -107
  1060. package/src/_modules/assistant/index.ts +0 -19
  1061. package/src/_modules/bot/_collections/bot-default-commands.const.ts +0 -12
  1062. package/src/_modules/bot/_collections/bot-global-settings.const.ts +0 -39
  1063. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +0 -62
  1064. package/src/_modules/bot/_models/bot-command.interface.ts +0 -8
  1065. package/src/_modules/bot/_models/bot-global-settings.interface.ts +0 -96
  1066. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +0 -6
  1067. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +0 -5
  1068. package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +0 -90
  1069. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +0 -41
  1070. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +0 -10
  1071. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +0 -431
  1072. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +0 -641
  1073. package/src/_modules/bot/_modules/discord-bot/index.ts +0 -12
  1074. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +0 -160
  1075. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +0 -55
  1076. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +0 -15
  1077. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +0 -374
  1078. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +0 -447
  1079. package/src/_modules/bot/_modules/dynamo-bot/index.ts +0 -15
  1080. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +0 -9
  1081. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +0 -344
  1082. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +0 -197
  1083. package/src/_modules/bot/_modules/slack-bot/index.ts +0 -12
  1084. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +0 -9
  1085. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +0 -345
  1086. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +0 -197
  1087. package/src/_modules/bot/_modules/teams-bot/index.ts +0 -11
  1088. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +0 -116
  1089. package/src/_modules/bot/_services/bot-commands.control-service.ts +0 -158
  1090. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +0 -285
  1091. package/src/_modules/bot/_services/bot-io.control-service.ts +0 -329
  1092. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +0 -208
  1093. package/src/_modules/bot/_services/bot-main.control-service.ts +0 -489
  1094. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +0 -349
  1095. package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +0 -158
  1096. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +0 -111
  1097. package/src/_modules/bot/_services/bot-routines.control-service.ts +0 -78
  1098. package/src/_modules/bot/index.ts +0 -37
  1099. package/src/_modules/custom-data/custom-data.controller.spec.ts +0 -49
  1100. package/src/_modules/custom-data/custom-data.controller.ts +0 -67
  1101. package/src/_modules/custom-data/custom-data.data-service.spec.ts +0 -54
  1102. package/src/_modules/custom-data/custom-data.data-service.ts +0 -22
  1103. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +0 -28
  1104. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +0 -24
  1105. package/src/_modules/custom-data/index.ts +0 -9
  1106. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +0 -176
  1107. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +0 -203
  1108. package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +0 -33
  1109. package/src/_modules/data-readers/index.ts +0 -11
  1110. package/src/_modules/defaults/_collections/default-endpoints.util.ts +0 -487
  1111. package/src/_modules/defaults/_models/default-user.data-model.ts +0 -72
  1112. package/src/_modules/defaults/_services/default-auth.service.spec.ts +0 -269
  1113. package/src/_modules/defaults/_services/default-auth.service.ts +0 -177
  1114. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +0 -42
  1115. package/src/_modules/defaults/_services/default-socket-events.service.ts +0 -61
  1116. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +0 -187
  1117. package/src/_modules/defaults/_services/default-user.data-service.ts +0 -98
  1118. package/src/_modules/defaults/index.ts +0 -17
  1119. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +0 -19
  1120. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +0 -366
  1121. package/src/_modules/discord-assistant/_collections/dias.util.ts +0 -133
  1122. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +0 -20
  1123. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +0 -53
  1124. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +0 -177
  1125. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +0 -108
  1126. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +0 -69
  1127. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +0 -22
  1128. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +0 -27
  1129. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +0 -195
  1130. package/src/_modules/discord-assistant/_services/dias.service-base.ts +0 -77
  1131. package/src/_modules/discord-assistant/index.ts +0 -38
  1132. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +0 -34
  1133. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +0 -11
  1134. package/src/_modules/discord-assistant-voiced/index.ts +0 -36
  1135. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +0 -17
  1136. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +0 -56
  1137. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +0 -214
  1138. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +0 -387
  1139. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +0 -12
  1140. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +0 -98
  1141. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +0 -8
  1142. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +0 -6
  1143. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +0 -154
  1144. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +0 -153
  1145. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +0 -264
  1146. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +0 -306
  1147. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +0 -408
  1148. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +0 -488
  1149. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +0 -105
  1150. package/src/_modules/discord-bot/_services/dibo-routines.control-service.ts +0 -97
  1151. package/src/_modules/discord-bot/index.ts +0 -36
  1152. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +0 -35
  1153. package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +0 -60
  1154. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +0 -17
  1155. package/src/_modules/local-vector-search/_services/lvs-bm25.util.spec.ts +0 -159
  1156. package/src/_modules/local-vector-search/_services/lvs-bm25.util.ts +0 -206
  1157. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +0 -418
  1158. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +0 -276
  1159. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +0 -480
  1160. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +0 -416
  1161. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +0 -214
  1162. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +0 -186
  1163. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +0 -167
  1164. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +0 -130
  1165. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +0 -509
  1166. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +0 -323
  1167. package/src/_modules/local-vector-search/index.ts +0 -17
  1168. package/src/_modules/logs/_models/file-log-entry.interface.ts +0 -13
  1169. package/src/_modules/logs/_models/file-log-read-result.interface.ts +0 -37
  1170. package/src/_modules/logs/file-log.service.spec.ts +0 -341
  1171. package/src/_modules/logs/file-log.service.ts +0 -466
  1172. package/src/_modules/logs/file-logs.controller.spec.ts +0 -245
  1173. package/src/_modules/logs/file-logs.controller.ts +0 -165
  1174. package/src/_modules/logs/get-file-logs-routing-module.util.ts +0 -51
  1175. package/src/_modules/logs/get-logs-routing-module.util.ts +0 -36
  1176. package/src/_modules/logs/index.ts +0 -11
  1177. package/src/_modules/logs/log-buffer.service.ts +0 -101
  1178. package/src/_modules/logs/logs.controller.ts +0 -109
  1179. package/src/_modules/logs/logs.service.ts +0 -100
  1180. package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +0 -111
  1181. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +0 -151
  1182. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +0 -125
  1183. package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +0 -168
  1184. package/src/_modules/mcp/index.ts +0 -13
  1185. package/src/_modules/messaging/README.md +0 -354
  1186. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +0 -26
  1187. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +0 -22
  1188. package/src/_modules/messaging/_collections/msg.util.spec.ts +0 -226
  1189. package/src/_modules/messaging/_collections/msg.util.ts +0 -83
  1190. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +0 -37
  1191. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +0 -146
  1192. package/src/_modules/messaging/_services/msg-events.service.spec.ts +0 -219
  1193. package/src/_modules/messaging/_services/msg-events.service.ts +0 -267
  1194. package/src/_modules/messaging/_services/msg-integration.control-service.ts +0 -180
  1195. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +0 -147
  1196. package/src/_modules/messaging/_services/msg-main.control-service.ts +0 -572
  1197. package/src/_modules/messaging/_services/msg-message.data-service.ts +0 -129
  1198. package/src/_modules/messaging/_services/msg.controller.spec.ts +0 -201
  1199. package/src/_modules/messaging/_services/msg.controller.ts +0 -370
  1200. package/src/_modules/messaging/index.ts +0 -30
  1201. package/src/_modules/mock/app-extended-server.mock.ts +0 -201
  1202. package/src/_modules/mock/app-integration-test.mock.ts +0 -51
  1203. package/src/_modules/mock/app-params.mock.spec.ts +0 -21
  1204. package/src/_modules/mock/app-params.mock.ts +0 -9
  1205. package/src/_modules/mock/app-server.mock.ts +0 -188
  1206. package/src/_modules/mock/auth-service.mock.spec.ts +0 -47
  1207. package/src/_modules/mock/auth-service.mock.ts +0 -28
  1208. package/src/_modules/mock/controller.mock.spec.ts +0 -26
  1209. package/src/_modules/mock/controller.mock.ts +0 -16
  1210. package/src/_modules/mock/data-model.mock.spec.ts +0 -111
  1211. package/src/_modules/mock/data-model.mock.ts +0 -82
  1212. package/src/_modules/mock/email-service-collection.mock.spec.ts +0 -24
  1213. package/src/_modules/mock/email-service-collection.mock.ts +0 -15
  1214. package/src/_modules/mock/email-service.mock.spec.ts +0 -17
  1215. package/src/_modules/mock/email-service.mock.ts +0 -20
  1216. package/src/_modules/mock/email-template.mock.html +0 -15
  1217. package/src/_modules/mock/endpoint.mock.ts +0 -91
  1218. package/src/_modules/mock/socket-client.mock.spec.ts +0 -40
  1219. package/src/_modules/mock/socket-client.mock.ts +0 -45
  1220. package/src/_modules/mock/socket-server.mock.spec.ts +0 -44
  1221. package/src/_modules/mock/socket-server.mock.ts +0 -46
  1222. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +0 -107
  1223. package/src/_modules/oauth2/_routes/oauth2.controller.ts +0 -99
  1224. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +0 -254
  1225. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +0 -232
  1226. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +0 -585
  1227. package/src/_modules/oauth2/_services/oauth2.control-service.ts +0 -654
  1228. package/src/_modules/oauth2/index.ts +0 -17
  1229. package/src/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.ts +0 -5
  1230. package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.ts +0 -10
  1231. package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.ts +0 -7
  1232. package/src/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.ts +0 -15
  1233. package/src/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.ts +0 -9
  1234. package/src/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.ts +0 -12
  1235. package/src/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.ts +0 -7
  1236. package/src/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.ts +0 -15
  1237. package/src/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.ts +0 -7
  1238. package/src/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.ts +0 -13
  1239. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.ts +0 -9
  1240. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.ts +0 -14
  1241. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.ts +0 -8
  1242. package/src/_modules/privacy-lifecycle/_models/privacy-contributor.interface.ts +0 -17
  1243. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.ts +0 -21
  1244. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.ts +0 -9
  1245. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.ts +0 -7
  1246. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.ts +0 -10
  1247. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.ts +0 -7
  1248. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.ts +0 -7
  1249. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.ts +0 -11
  1250. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.ts +0 -13
  1251. package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.ts +0 -19
  1252. package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.ts +0 -9
  1253. package/src/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.ts +0 -7
  1254. package/src/_modules/privacy-lifecycle/_models/privacy-request-open.interface.ts +0 -10
  1255. package/src/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.ts +0 -7
  1256. package/src/_modules/privacy-lifecycle/_models/privacy-request-record.interface.ts +0 -21
  1257. package/src/_modules/privacy-lifecycle/_models/privacy-request-result.interface.ts +0 -8
  1258. package/src/_modules/privacy-lifecycle/_models/privacy-request-view.interface.ts +0 -20
  1259. package/src/_modules/privacy-lifecycle/index.ts +0 -40
  1260. package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.spec.ts +0 -206
  1261. package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.ts +0 -253
  1262. package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.spec.ts +0 -353
  1263. package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.ts +0 -586
  1264. package/src/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.ts +0 -5
  1265. package/src/_modules/rate-limit/_models/rate-limit-config.interface.ts +0 -82
  1266. package/src/_modules/rate-limit/_models/rate-limit-consume-request.interface.ts +0 -9
  1267. package/src/_modules/rate-limit/_models/rate-limit-consume-result.interface.ts +0 -6
  1268. package/src/_modules/rate-limit/_models/rate-limit-policy.interface.ts +0 -16
  1269. package/src/_modules/rate-limit/_models/rate-limit-store.interface.ts +0 -9
  1270. package/src/_modules/rate-limit/index.ts +0 -8
  1271. package/src/_modules/rate-limit/rate-limit-in-memory.store.ts +0 -91
  1272. package/src/_modules/rate-limit/rate-limit.middleware.spec.ts +0 -488
  1273. package/src/_modules/rate-limit/rate-limit.middleware.ts +0 -504
  1274. package/src/_modules/scheduler/_models/scheduler-job.interface.ts +0 -35
  1275. package/src/_modules/scheduler/get-scheduler-routing-module.util.ts +0 -33
  1276. package/src/_modules/scheduler/index.ts +0 -8
  1277. package/src/_modules/scheduler/scheduler.controller.spec.ts +0 -42
  1278. package/src/_modules/scheduler/scheduler.controller.ts +0 -69
  1279. package/src/_modules/scheduler/scheduler.service.spec.ts +0 -141
  1280. package/src/_modules/scheduler/scheduler.service.ts +0 -176
  1281. package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +0 -22
  1282. package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +0 -82
  1283. package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +0 -107
  1284. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +0 -312
  1285. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +0 -311
  1286. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +0 -123
  1287. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +0 -108
  1288. package/src/_modules/scoped-config/index.ts +0 -17
  1289. package/src/_modules/server/errors/errors.control-service.spec.ts +0 -246
  1290. package/src/_modules/server/errors/errors.control-service.ts +0 -100
  1291. package/src/_modules/server/errors/errors.controller.spec.ts +0 -340
  1292. package/src/_modules/server/errors/errors.controller.ts +0 -559
  1293. package/src/_modules/server/errors/errors.data-service.spec.ts +0 -480
  1294. package/src/_modules/server/errors/errors.data-service.ts +0 -867
  1295. package/src/_modules/server/index.ts +0 -40
  1296. package/src/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.ts +0 -8
  1297. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +0 -20
  1298. package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.spec.ts +0 -124
  1299. package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.ts +0 -99
  1300. package/src/_modules/server/safe-diagnostic/safe-diagnostic.interface.ts +0 -20
  1301. package/src/_modules/server/server-status/db-readiness-probe-code.type-enum.ts +0 -13
  1302. package/src/_modules/server/server-status/db-readiness-probe-stage.type-enum.ts +0 -7
  1303. package/src/_modules/server/server-status/db-readiness-probe.control-service.spec.ts +0 -235
  1304. package/src/_modules/server/server-status/db-readiness-probe.control-service.ts +0 -158
  1305. package/src/_modules/server/server-status/db-readiness-probe.interface.ts +0 -20
  1306. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +0 -70
  1307. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +0 -17
  1308. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +0 -77
  1309. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +0 -37
  1310. package/src/_modules/server/server-status/server-status.control-service.spec.ts +0 -672
  1311. package/src/_modules/server/server-status/server-status.control-service.ts +0 -491
  1312. package/src/_modules/server/server-status/server-status.controller.spec.ts +0 -276
  1313. package/src/_modules/server/server-status/server-status.controller.ts +0 -336
  1314. package/src/_modules/socket/_enums/socket-security.enum.ts +0 -11
  1315. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +0 -32
  1316. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +0 -22
  1317. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +0 -165
  1318. package/src/_modules/socket/_models/socket-presence.control-model.ts +0 -211
  1319. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +0 -69
  1320. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +0 -33
  1321. package/src/_modules/socket/_services/socket-client.service.spec.ts +0 -15
  1322. package/src/_modules/socket/_services/socket-client.service.ts +0 -260
  1323. package/src/_modules/socket/_services/socket-server.service.spec.ts +0 -272
  1324. package/src/_modules/socket/_services/socket-server.service.ts +0 -1037
  1325. package/src/_modules/socket/app-extended.integration.spec.ts +0 -85
  1326. package/src/_modules/socket/app-extended.server.ts +0 -648
  1327. package/src/_modules/socket/index.ts +0 -42
  1328. package/src/_modules/test/get-test-routing-module.util.spec.ts +0 -28
  1329. package/src/_modules/test/get-test-routing-module.util.ts +0 -23
  1330. package/src/_modules/test/index.ts +0 -12
  1331. package/src/_modules/test/test.controller.spec.ts +0 -72
  1332. package/src/_modules/test/test.controller.ts +0 -115
  1333. package/src/_modules/test-email-sink/_collections/test-email-pattern.const.ts +0 -10
  1334. package/src/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.ts +0 -41
  1335. package/src/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.ts +0 -112
  1336. package/src/_modules/test-email-sink/_services/dynts-test-email-sink.service.ts +0 -141
  1337. package/src/_modules/test-email-sink/get-sent-mail-routing-module.util.ts +0 -29
  1338. package/src/_modules/test-email-sink/index.ts +0 -11
  1339. package/src/_modules/test-email-sink/test-email-sink.controller.ts +0 -83
  1340. package/src/_modules/usage/get-usage-routing-module.util.ts +0 -23
  1341. package/src/_modules/usage/index.ts +0 -15
  1342. package/src/_modules/usage/usage.controller.spec.ts +0 -106
  1343. package/src/_modules/usage/usage.controller.ts +0 -140
  1344. package/src/_modules/usage/usage.data-service.spec.ts +0 -332
  1345. package/src/_modules/usage/usage.data-service.ts +0 -185
  1346. package/src/_services/base/api.service-base.spec.ts +0 -125
  1347. package/src/_services/base/api.service-base.ts +0 -75
  1348. package/src/_services/base/archive-data.service.spec.ts +0 -209
  1349. package/src/_services/base/archive-data.service.ts +0 -228
  1350. package/src/_services/base/data.service.spec.ts +0 -784
  1351. package/src/_services/base/data.service.ts +0 -2792
  1352. package/src/_services/base/db.service.encryption.spec.ts +0 -76
  1353. package/src/_services/base/db.service.spec.ts +0 -160
  1354. package/src/_services/base/db.service.ts +0 -1698
  1355. package/src/_services/base/singleton.service-base.spec.ts +0 -28
  1356. package/src/_services/base/singleton.service-base.ts +0 -24
  1357. package/src/_services/base/singleton.service.spec.ts +0 -114
  1358. package/src/_services/base/singleton.service.ts +0 -38
  1359. package/src/_services/core/api.service.spec.ts +0 -187
  1360. package/src/_services/core/api.service.ts +0 -627
  1361. package/src/_services/core/auth.service.spec.ts +0 -159
  1362. package/src/_services/core/auth.service.ts +0 -174
  1363. package/src/_services/core/collection-growth-monitor.service.spec.ts +0 -119
  1364. package/src/_services/core/collection-growth-monitor.service.ts +0 -234
  1365. package/src/_services/core/db-stats.service.ts +0 -104
  1366. package/src/_services/core/diagnostics.service.spec.ts +0 -44
  1367. package/src/_services/core/diagnostics.service.ts +0 -158
  1368. package/src/_services/core/email.service.spec.ts +0 -85
  1369. package/src/_services/core/email.service.ts +0 -757
  1370. package/src/_services/core/event-loop-diag.service.spec.ts +0 -22
  1371. package/src/_services/core/event-loop-diag.service.ts +0 -144
  1372. package/src/_services/core/global.service.spec.ts +0 -292
  1373. package/src/_services/core/global.service.ts +0 -488
  1374. package/src/_services/core/memory-guard.service.spec.ts +0 -245
  1375. package/src/_services/core/memory-guard.service.ts +0 -481
  1376. package/src/_services/core/migration-runner.service.spec.ts +0 -91
  1377. package/src/_services/core/migration-runner.service.ts +0 -106
  1378. package/src/_services/core/mongo-transaction.control-service.spec.ts +0 -165
  1379. package/src/_services/core/mongo-transaction.control-service.ts +0 -148
  1380. package/src/_services/core/request-hunter.service.spec.ts +0 -124
  1381. package/src/_services/core/request-hunter.service.ts +0 -157
  1382. package/src/_services/core/service-collection.service.spec.ts +0 -46
  1383. package/src/_services/core/service-collection.service.ts +0 -6
  1384. package/src/_services/route/controller.service.spec.ts +0 -53
  1385. package/src/_services/route/controller.service.ts +0 -148
  1386. package/src/_services/route/routing-module.service.spec.ts +0 -98
  1387. package/src/_services/route/routing-module.service.ts +0 -330
  1388. package/src/_services/server/app-safe-diagnostic.spec.ts +0 -124
  1389. package/src/_services/server/app.server-retention.spec.ts +0 -106
  1390. package/src/_services/server/app.server.ts +0 -1959
  1391. package/src/_services/shared.static-service.spec.ts +0 -133
  1392. package/src/_services/shared.static-service.ts +0 -107
  1393. package/src/index.ts +0 -117
  1394. package/tsconfig.app.json +0 -12
  1395. package/tsconfig.json +0 -42
@@ -1,1357 +1,1357 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DyNTS_DBService = void 0;
4
- const tslib_1 = require("tslib");
5
- const mongoose = tslib_1.__importStar(require("mongoose"));
6
- const mongoose_1 = require("mongoose");
7
- const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
8
- const archive_util_1 = require("../../_collections/archive.util");
9
- const field_encryption_util_1 = require("../../_collections/field-encryption.util");
10
- const global_settings_const_1 = require("../../_collections/global-settings.const");
11
- /**
12
- * DB Service for MongoDB
13
- */
14
- class DyNTS_DBService {
15
- dataParams;
16
- serviceName;
17
- dataModel /* : mongoose.Model<T> */; // = mongoose.model(this.dataParams.dataName, this.getSchema());
18
- /* private depDataName: string; */
19
- depKeys = [];
20
- defaultErrorUserMsg = `We encountered an unhandled DB Error, ` +
21
- `\nplease contact the responsible development team.`;
22
- /**
23
- * @param dataName name the model
24
- * @param typeSample sample data for scheme creation (dont include DyFM_Metadata!)
25
- * @param schemaSettings additional settings for specific parameters as unique, required, minlength or maxlength
26
- * schemaSettings also MUST contain specific types that differs from the listed above (Array, Date)
27
- */
28
- constructor(dataParams) {
29
- this.dataParams = dataParams;
30
- try {
31
- this.serviceName = this.constructor?.name;
32
- if (!this.dataParams.dataName || typeof this.dataParams.dataName !== 'string') {
33
- throw new Error(`dbName not setted up for this db-service (${this.dataParams.dataName}) (NTS DB)`);
34
- }
35
- if (!this.dataParams.constructed?.()) {
36
- throw new fsm_dynamo_1.DyFM_Error({
37
- error: new Error(`DataModelParams is not constructed properly! (${this.dataParams.dataName}) ` +
38
- `Use the DyFM_DataModel_Params.constructor to construct it properly! (NTS DB)`),
39
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-C01`,
40
- additionalContent: { dataParams: this.dataParams },
41
- __localStack: this.dataParams.stackLocation,
42
- });
43
- }
44
- try {
45
- this.dataModel = mongoose.model(this.dataParams.dataName, this.getSchema());
46
- }
47
- catch (error) {
48
- if (mongoose.models[this.dataParams.dataName]) {
49
- this.dataModel = mongoose.models[this.dataParams.dataName];
50
- }
51
- else {
52
- throw error;
53
- }
54
- }
55
- this.lookForDependencyDataSettings();
56
- }
57
- catch (error) {
58
- throw new fsm_dynamo_1.DyFM_Error({
59
- message: `DyNTS_DBService construction failed! "${dataParams.dataName}" - "${this.serviceName}"`,
60
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-C00`,
61
- level: fsm_dynamo_1.DyFM_ErrorLevel.critical,
62
- additionalContent: { dataParams: this.dataParams },
63
- error,
64
- });
65
- }
66
- }
67
- /**
68
- * save new data
69
- * @param data data
70
- * @returns data
71
- */
72
- async createData(data, issuer) {
73
- data.__created = new Date();
74
- data.__lastModified = new Date();
75
- data.__createdBy = issuer;
76
- data.__lastModifiedBy = issuer;
77
- // AT-REST field-encryption (opt-in): az encrypt:true mezőket a persist ELŐTT titkosítjuk, egy
78
- // KLÓNON (a hívó `data`-ja plaintext marad). NO-OP, ha nincs encrypt:true mező.
79
- const encData = field_encryption_util_1.DyNTS_FieldEncryption_Util.encryptDoc(data, this.dataParams.properties);
80
- const dataModel = new this.dataModel(encData);
81
- const newData = await dataModel.save().then((res) => {
82
- if (res) {
83
- return res?.toObject();
84
- }
85
- else {
86
- throw new fsm_dynamo_1.DyFM_Error({
87
- ...this._getDefaultErrorSettings('createData', new Error(`createData failed, save "${this.dataParams.dataName}" result not found! (NTS DB)`), issuer),
88
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-CD1`,
89
- additionalContent: { data },
90
- issuer,
91
- });
92
- }
93
- }).catch((error) => {
94
- if (error?.flag?.includes('DYNAMO')) {
95
- throw error;
96
- }
97
- else {
98
- throw new fsm_dynamo_1.DyFM_Error({
99
- ...this._getDefaultErrorSettings('createData', error, issuer),
100
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-CD0`,
101
- additionalContent: {
102
- data: data,
103
- dataModel: this.dataModel,
104
- },
105
- message: `createData failed, Create new "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
106
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
107
- issuer,
108
- });
109
- }
110
- });
111
- return this.stringifyDataId(newData, 'createData');
112
- }
113
- /**
114
- * Find data by _id and update
115
- * @param data data
116
- * @returns data
117
- */
118
- async modifyData(data, issuer, dontUpdateModified) {
119
- if (this.dataParams.forbidModify) {
120
- await this.modifyThrowMethod(data, issuer);
121
- }
122
- if (!dontUpdateModified) {
123
- data.__lastModified = new Date();
124
- data.__lastModifiedBy = issuer;
125
- }
126
- // AT-REST field-encryption (opt-in): az encrypt:true mezőket a persist ELŐTT titkosítjuk, egy
127
- // KLÓNON. KRITIKUS: a `findByIdAndUpdate` MEGKERÜLI a mongoose settereket/pre-save-hookokat, ezért
128
- // a titkosítás itt, app-rétegben történik (nem mongoose-hookban). A hívó `data`-ja plaintext marad,
129
- // így a `stringifyDataId(data)` alant no-op decrypttel a plaintextet adja vissza. NO-OP enc-mező nélkül.
130
- const encData = field_encryption_util_1.DyNTS_FieldEncryption_Util.encryptDoc(data, this.dataParams.properties);
131
- /**
132
- * EZ A SZAR TELJESEN SZAR, nem friss, nem a db-be mentett adatokat ad vissza,
133
- * átír random value-kat össze vissza, WTF
134
- * */
135
- /* let newData: T = */
136
- await this.dataModel.findByIdAndUpdate(data._id, encData) /* .then((res) => {
137
- if (res) {
138
- //return res?.toObject() as T;
139
- } else {
140
- throw new DyFM_Error({
141
- ...this._getDefaultErrorSettings(
142
- 'modifyData',
143
- new Error(`modifyData failed, modify "${this.dataParams.dataName}" result not found! (NTS DB)`),
144
- issuer,
145
- ),
146
-
147
- status: 204,
148
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-FU1`,
149
- additionalContent: { data },
150
- issuer,
151
- });
152
- }
153
- }) */
154
- .catch((error) => {
155
- throw new fsm_dynamo_1.DyFM_Error({
156
- ...this._getDefaultErrorSettings('modifyData', error, issuer),
157
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-FU0`,
158
- additionalContent: { data },
159
- message: `modifyData "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
160
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
161
- issuer,
162
- });
163
- });
164
- return this.stringifyDataId(data, 'modifyData');
165
- }
166
- // TODO: Missing issuer
167
- /**
168
- * returns data by _id,
169
- * @param id id
170
- * @returns data
171
- */
172
- async getDataById(id) {
173
- if (!id) {
174
- throw new fsm_dynamo_1.DyFM_Error({
175
- ...this._getDefaultErrorSettings('getDataById', new Error(`No ID provided! (NTS DB)`)),
176
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GI1`,
177
- message: `get "${this.dataParams.dataName}" by ID was unsuccessful (NTS DB)`,
178
- });
179
- }
180
- const data = await this.dataModel
181
- .findById(id)
182
- .then((res) => res?.toObject() ?? null)
183
- .catch((error) => {
184
- throw new fsm_dynamo_1.DyFM_Error({
185
- ...this._getDefaultErrorSettings('getDataById', error),
186
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GI0`,
187
- additionalContent: { id },
188
- message: `get "${this.dataParams.dataName}" by ID was unsuccessful (NTS DB)` +
189
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
190
- });
191
- });
192
- return this.stringifyDataId(data, 'getDataById');
193
- }
194
- // TODO: Missing issuer
195
- /**
196
- * get data by dependency data id,
197
- * !!!: throws error if not found (errorCode on not found: NTS-DBS-GD2)
198
- *
199
- * @param dependencyIdsFilter id
200
- * @returns data
201
- */
202
- async getDataByDependencyId(dependencyIdsFilter) {
203
- if (!this.depKeys.length) {
204
- throw new fsm_dynamo_1.DyFM_Error({
205
- ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dataName}) (NTS DB)`)),
206
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GD0`,
207
- });
208
- }
209
- const data = await this.dataModel
210
- .findOne(dependencyIdsFilter)
211
- .then((res) => res?.toObject() ?? null)
212
- .catch((error) => {
213
- throw new fsm_dynamo_1.DyFM_Error({
214
- ...this._getDefaultErrorSettings('getDataByDependencyId', error),
215
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GD1`,
216
- additionalContent: { dependencyIdsFilter: dependencyIdsFilter },
217
- message: `get "${this.dataParams.dataName}" by ` +
218
- `"${Object.keys(dependencyIdsFilter).join(', ')}" was unsuccessful (NTS DB)` +
219
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
220
- });
221
- });
222
- return this.stringifyDataId(data, 'getDataByDependencyId');
223
- }
224
- // TODO: Missing issuer
225
- async getDataListByIds(ids, findDeleted) {
226
- const dataList = await this.dataModel
227
- .find({ _id: { $in: ids } })
228
- .then((res) => res ?? [])
229
- .catch((error) => {
230
- throw new fsm_dynamo_1.DyFM_Error({
231
- ...this._getDefaultErrorSettings('getDataListByIds', error),
232
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GDL0`,
233
- additionalContent: { ids },
234
- message: `get "${this.dataParams.dataName}" by IDs was unsuccessful (NTS DB)` +
235
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
236
- });
237
- });
238
- if (!findDeleted) {
239
- return dataList.filter((data) => !data._deleted).map((data) => this.stringifyDataId(data, 'getDataListByDependencyId'));
240
- }
241
- else {
242
- return dataList.map((data) => this.stringifyDataId(data, 'getDataListByDependencyId'));
243
- }
244
- }
245
- // TODO: Missing issuer
246
- /**
247
- * get data by dependency data id,
248
- * !!!: throws error if not found (errorCode on not found: NTS-DBS-GLD2)
249
- *
250
- * @param dependencyIdsFilter id
251
- * @returns dataList
252
- */
253
- async getDataListByDependencyId(dependencyIdsFilter, findDeleted) {
254
- if (!this.depKeys.length) {
255
- throw new fsm_dynamo_1.DyFM_Error({
256
- ...this._getDefaultErrorSettings('getDataListByDependencyId', new Error(`isDependencyHook not setted up for this dataModel (${this.dataParams.dataName}) (NTS DB)`)),
257
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GLD0`,
258
- additionalContent: {
259
- dataModel: this.dataModel,
260
- },
261
- });
262
- }
263
- const dataList = await this.dataModel
264
- .find(dependencyIdsFilter)
265
- .then((res) => res ?? [])
266
- .catch((error) => {
267
- throw new fsm_dynamo_1.DyFM_Error({
268
- ...this._getDefaultErrorSettings('getDataListByDependencyId', error),
269
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GLD1`,
270
- additionalContent: { dependencyIdsFilter: dependencyIdsFilter },
271
- message: `get "${this.dataParams.dataName}" by ` +
272
- `"${Object.keys(dependencyIdsFilter).join(', ')}" was unsuccessful (NTS DB)` +
273
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
274
- });
275
- });
276
- if (!findDeleted) {
277
- return dataList.filter((data) => !data._deleted).map((data) => this.stringifyDataId(data, 'getDataListByDependencyId'));
278
- }
279
- else {
280
- return dataList.map((data) => this.stringifyDataId(data, 'getDataListByDependencyId'));
281
- }
282
- }
283
- // TODO: Missing issuer
284
- /**
285
- * get multiple data objects by a list of DependencyIDs,
286
- * !!!: throws error if not found (errorCode on not found: NTS-DBS-GLDS2)
287
- *
288
- * @param ids ids
289
- * @returns dataList
290
- */
291
- async getDataListByDependencyIds(dependencyKey, dependencyIds, findDeleted) {
292
- if (!this.depKeys.length) {
293
- throw new fsm_dynamo_1.DyFM_Error({
294
- ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`getDataListByDependencyIds not setted up for this db-service ` +
295
- `(${this.dataParams.dataName}) (NTS DB)`)),
296
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GLDS0`,
297
- });
298
- }
299
- if (!dependencyIds?.length) {
300
- return [];
301
- }
302
- if (!dependencyKey) {
303
- throw new fsm_dynamo_1.DyFM_Error({
304
- ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`dependencyKey is missing! (${this.dataParams.dataName}) (NTS DB)`)),
305
- });
306
- }
307
- if (!this.depKeys.includes(dependencyKey)) {
308
- throw new fsm_dynamo_1.DyFM_Error({
309
- ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`dependencyKey is not valid! (${dependencyKey}) (NTS DB)`)),
310
- });
311
- }
312
- const dataList = await this.dataModel
313
- .find({
314
- [dependencyKey]: { $in: dependencyIds },
315
- })
316
- .then((res) => res ?? [])
317
- .catch((error) => {
318
- throw new fsm_dynamo_1.DyFM_Error({
319
- ...this._getDefaultErrorSettings('getDataListByDependencyIds', error),
320
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GLDS1`,
321
- additionalContent: { dependencyIds },
322
- message: `get "${this.dataParams.dataName}" by "${dependencyKey}" was unsuccessful (NTS DB)` +
323
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
324
- });
325
- });
326
- if (!findDeleted) {
327
- return dataList.filter((data) => !data._deleted).map((data) => this.stringifyDataId(data, 'getDataListByDependencyIds'));
328
- }
329
- else {
330
- return dataList.map((data) => this.stringifyDataId(data, 'getDataListByDependencyIds'));
331
- }
332
- }
333
- // TODO: Missing issuer
334
- /**
335
- * returns all data from database,
336
- * !!!: throws error if not found (errorCode on not found: NTS-DBS-GA1)
337
- *
338
- * @returns dataList
339
- */
340
- async getAll(findDeleted) {
341
- const dataList = await this.dataModel
342
- .find()
343
- .then((res) => res ?? [])
344
- .catch((error) => {
345
- throw new fsm_dynamo_1.DyFM_Error({
346
- ...this._getDefaultErrorSettings('getAll', error),
347
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GA0`,
348
- message: `get all "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
349
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
350
- });
351
- });
352
- if (!findDeleted) {
353
- return dataList.filter((data) => !data._deleted).map((data) => this.stringifyDataId(data, 'getAll'));
354
- }
355
- else {
356
- return dataList.map((data) => this.stringifyDataId(data, 'getAll'));
357
- }
358
- }
359
- async markDeletedById(id, issuer) {
360
- if (this.dataParams.forbidDelete) {
361
- await this.deleteThrowMethod(id, issuer);
362
- }
363
- await this.dataModel.findByIdAndUpdate(id, {
364
- _deleted: new Date(),
365
- _deletedBy: issuer,
366
- }).catch((error) => {
367
- throw new fsm_dynamo_1.DyFM_Error({
368
- ...this._getDefaultErrorSettings('markDeletedById', error, issuer),
369
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-MD0`,
370
- additionalContent: { id },
371
- message: `mark deleted "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
372
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
373
- issuer,
374
- });
375
- });
376
- }
377
- async markDeletedByDependencyId(dependencyIdsFilter, issuer) {
378
- if (this.dataParams.forbidDelete) {
379
- await this.deleteThrowMethod(dependencyIdsFilter, issuer);
380
- }
381
- await this.dataModel.updateMany(dependencyIdsFilter, {
382
- _deleted: new Date(),
383
- _deletedBy: issuer,
384
- }).catch((error) => {
385
- throw new fsm_dynamo_1.DyFM_Error({
386
- ...this._getDefaultErrorSettings('markDeletedByDependencyId', error, issuer),
387
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-MDD0`,
388
- additionalContent: { dependencyIdsFilter: dependencyIdsFilter },
389
- message: `markDeleted "${this.dataParams.dataName}" by ` +
390
- `"${Object.keys(dependencyIdsFilter).join(', ')}" was unsuccessful (NTS DB)` +
391
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
392
- issuer,
393
- });
394
- });
395
- }
396
- async restoreDeletedById(id, issuer) {
397
- await this.dataModel.findByIdAndUpdate(id, {
398
- _deleted: null,
399
- __lastModified: new Date(),
400
- __lastModifiedBy: issuer,
401
- }).catch((error) => {
402
- throw new fsm_dynamo_1.DyFM_Error({
403
- ...this._getDefaultErrorSettings('restoreDeletedById', error, issuer),
404
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-RD0`,
405
- additionalContent: { id },
406
- message: `restoreDeleted "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
407
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
408
- issuer,
409
- });
410
- });
411
- }
412
- async restoreDeletedByDependencyId(dependencyIdsFilter, issuer) {
413
- await this.dataModel.updateMany(dependencyIdsFilter, {
414
- _deleted: null,
415
- __lastModified: new Date(),
416
- __lastModifiedBy: issuer,
417
- }).catch((error) => {
418
- throw new fsm_dynamo_1.DyFM_Error({
419
- ...this._getDefaultErrorSettings('restoreDeletedByDependencyId', error, issuer),
420
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-RDD0`,
421
- additionalContent: { dependencyIdsFilter: dependencyIdsFilter },
422
- message: `restoreDeleted "${this.dataParams.dataName}" by ` +
423
- `"${Object.keys(dependencyIdsFilter).join(', ')}" was unsuccessful (NTS DB)` +
424
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
425
- issuer,
426
- });
427
- });
428
- }
429
- // TODO: Missing issuer
430
- async getDeletedDataList() {
431
- const dataList = await this.dataModel
432
- .getAll()
433
- .then((res) => res ?? [])
434
- .catch((error) => {
435
- throw new fsm_dynamo_1.DyFM_Error({
436
- ...this._getDefaultErrorSettings('getDeletedData', error),
437
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GDD0`,
438
- message: `get deleted "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
439
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
440
- });
441
- });
442
- return dataList.filter((data) => Boolean(data._deleted)).map((data) => this.stringifyDataId(data, 'getDeletedData'));
443
- }
444
- // TODO: Missing issuer
445
- /**
446
- * deleted data by id
447
- * @param id id
448
- */
449
- async trueDeleteDataById(id) {
450
- if (this.dataParams.forbidDelete) {
451
- await this.deleteThrowMethod(id /* , issuer */);
452
- }
453
- await this.dataModel
454
- .findByIdAndDelete(id)
455
- .catch((error) => {
456
- throw new fsm_dynamo_1.DyFM_Error({
457
- ...this._getDefaultErrorSettings('deleteDataById', error),
458
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-DD0`,
459
- additionalContent: { id },
460
- message: `delete "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
461
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
462
- });
463
- });
464
- }
465
- deleteDataById = this.trueDeleteDataById;
466
- // TODO: Missing issuer
467
- /**
468
- * deleted data by id
469
- * @param dependencyId id
470
- */
471
- async trueDeleteDataByDependencyId(dependencyIdsFilter) {
472
- if (this.dataParams.forbidDelete) {
473
- await this.deleteThrowMethod(dependencyIdsFilter /* , issuer */);
474
- }
475
- if (!this.depKeys.length) {
476
- throw new fsm_dynamo_1.DyFM_Error({
477
- ...this._getDefaultErrorSettings('deleteDataByDependencyId', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dataName}) (NTS DB)`)),
478
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-DDD0`,
479
- });
480
- }
481
- await this.dataModel
482
- .deleteMany(dependencyIdsFilter)
483
- .catch((error) => {
484
- throw new fsm_dynamo_1.DyFM_Error({
485
- ...this._getDefaultErrorSettings('deleteDataByDependencyId', error),
486
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-DDD1`,
487
- additionalContent: { dependencyIdsFilter: dependencyIdsFilter },
488
- message: `delete "${this.dataParams.dataName}" by ` +
489
- `"${Object.keys(dependencyIdsFilter).join(', ')}" was unsuccessful (NTS DB)` +
490
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
491
- });
492
- });
493
- }
494
- deleteDataByDependencyId = this.trueDeleteDataByDependencyId;
495
- // TODO: Missing issuer
496
- async trueDeleteAllData() {
497
- if (this.dataParams.forbidDelete) {
498
- await this.deleteThrowMethod(null /* , issuer */);
499
- }
500
- await this.dataModel.deleteMany().catch((error) => {
501
- throw new fsm_dynamo_1.DyFM_Error({
502
- ...this._getDefaultErrorSettings('deleteAllData', error),
503
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-DAD0`,
504
- message: `delete all "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
505
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
506
- });
507
- });
508
- }
509
- deleteAllData = this.trueDeleteAllData;
510
- // TODO: Missing issuer
511
- /**
512
- * returns search result for searchBy object params
513
- * can use lists or xRange values for searchBy obj properties
514
- *
515
- * @param filterBy filter
516
- * @param narrowByDependencyIds id
517
- * @returns dataList
518
- */
519
- /**
520
- * BFR-AM-013 — LEAN + projektált + BATCH-elt cursor-scan (OOM-safe nagy collection-ökhöz).
521
- *
522
- * A teljes result-set SOSEM él egyszerre a heapen: a Mongo-cursor batch-enként adagolja a
523
- * PLAIN (lean, nem-Mongoose-doc) objektumokat a `handler`-nek — a Mongoose-doc-boxing tranziens
524
- * (a 32k-vektoros LVS-hidratálás 93%-heap-spike-jának gyökere) kimarad. A `projection`-nel csak
525
- * a szükséges mezők jönnek (pl. `{ vectorId: 1, embedding: 1 }` a content-szöveg NÉLKÜL).
526
- * Visszaadja a feldolgozott dokumentumok számát.
527
- */
528
- async findLeanBatched(filterBy, set) {
529
- const batchSize = set.batchSize && set.batchSize > 0 ? set.batchSize : 500;
530
- const cursor = this.dataModel.find(filterBy, set.projection).lean().cursor();
531
- let batch = [];
532
- let total = 0;
533
- for await (const doc of cursor) {
534
- batch.push(doc);
535
- total++;
536
- if (batch.length >= batchSize) {
537
- await set.handler(batch);
538
- batch = [];
539
- }
540
- }
541
- if (batch.length) {
542
- await set.handler(batch);
543
- }
544
- return total;
545
- }
546
- async searchData(filterBy, narrowByDependencyIds, narrowByDependencyKey, findDeleted) {
547
- const filter = {};
548
- if (0 < narrowByDependencyIds.length) {
549
- if (!this.depKeys.length) {
550
- throw new fsm_dynamo_1.DyFM_Error({
551
- ...this._getDefaultErrorSettings('searchData', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dataName}) (NTS DB)`)),
552
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-SD0`,
553
- });
554
- }
555
- if (!narrowByDependencyKey) {
556
- if (this.depKeys.length === 1) {
557
- narrowByDependencyKey = this.depKeys[0];
558
- }
559
- else {
560
- throw new fsm_dynamo_1.DyFM_Error({
561
- ...this._getDefaultErrorSettings('searchData', new Error(`dependencyKey is missing! (${this.dataParams.dataName}) (NTS DB)`)),
562
- });
563
- }
564
- }
565
- filter[narrowByDependencyKey] = { $in: narrowByDependencyIds };
566
- }
567
- Object.values(this.dataParams.properties).forEach((modelParam) => {
568
- if ((filterBy[modelParam.key] !== null && filterBy[modelParam.key] !== undefined) ||
569
- filterBy[modelParam.key + 'Range']) {
570
- if (modelParam.key.includes('Range') || modelParam.type.includes('[]')) {
571
- // inverz search filter (for Range and Array functions)
572
- if (modelParam.key.includes('Range')) {
573
- const searchParamKeyWithoutRange = modelParam.key.split('Range')[0];
574
- if (filterBy[searchParamKeyWithoutRange] !== null &&
575
- filterBy[searchParamKeyWithoutRange] !== undefined) {
576
- filter[modelParam.key] = {
577
- from: { $lte: filterBy[searchParamKeyWithoutRange] },
578
- to: { $gte: filterBy[searchParamKeyWithoutRange] },
579
- };
580
- }
581
- }
582
- else {
583
- if (filterBy[modelParam.key] !== null &&
584
- filterBy[modelParam.key] !== undefined) {
585
- filter[modelParam.key] = { $in: filterBy[modelParam.key] };
586
- }
587
- }
588
- }
589
- else {
590
- // basic search filter
591
- if (filterBy[modelParam.key + 'Range']) {
592
- if (filterBy[modelParam.key + 'Range'].from ||
593
- filterBy[modelParam.key + 'Range'].to) {
594
- filter[modelParam.key] = {};
595
- if (filterBy[modelParam.key + 'Range'].from) {
596
- filter[modelParam.key].$gte = filterBy[modelParam.key + 'Range'].from;
597
- }
598
- if (filterBy[modelParam.key + 'Range'].to) {
599
- filter[modelParam.key].$lte = filterBy[modelParam.key + 'Range'].to;
600
- }
601
- }
602
- }
603
- else if (filterBy[modelParam.key] !== null &&
604
- filterBy[modelParam.key] !== undefined) {
605
- if (filterBy[modelParam.key].lenght > 0) {
606
- filter[modelParam.key] = { $in: filterBy[modelParam.key] };
607
- }
608
- }
609
- }
610
- }
611
- });
612
- let dataList = await this.dataModel
613
- .find(filter)
614
- .then((res) => res ?? [])
615
- .catch((error) => {
616
- throw new fsm_dynamo_1.DyFM_Error({
617
- ...this._getDefaultErrorSettings('searchData', error),
618
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-SD1`,
619
- additionalContent: { filterBy, narrowByDependencyIds },
620
- message: `search "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
621
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
622
- });
623
- });
624
- if (!findDeleted && filterBy._deleted === undefined) {
625
- dataList = dataList.filter((data) => !data._deleted);
626
- }
627
- return dataList.map((data) => this.stringifyDataId(data, 'searchData'));
628
- }
629
- // ----------------------------------------------------------------------------------
630
- // ----------------------------------------------------------------------------------
631
- // ----------------------------------------------------------------------------------
632
- // DIRECT Basic MONGOOSE FUNCTIONS (with error handlings)
633
- /**
634
- * Find the data first by any of its parameters,
635
- * !!!: throws error if not found (errorCode on not found: NTS-DBS-FO1)
636
- *
637
- * @param filterBy if you can, use unique parameters for find!
638
- *
639
- * @example
640
- * // by email:
641
- * { email: email }
642
- * //
643
- * @example
644
- * // or by id that is in list:
645
- * { userIds: { $in: this.userId } }
646
- * // or by userIds:
647
- * { userId: { $in: userIds } }
648
- * //
649
- * @example
650
- * // or by number or Date that is Greater Than AND Less Than:
651
- * { points: { $gt: 2, $lt: 14 } }
652
- * // further tools (syntax matches with $gt):
653
- * $eq: // Matches values that are EQual to a specified value.
654
- * $gte: // Matches values that are Greater Than OR Equal to a specified value.
655
- * $lte: // Matches values that are Less Than or Equal to a specified value.
656
- * $ne: // Matches all values that are Not Equal to a specified value.
657
- * $nin: // Matches None of the values specified IN an array.
658
- * //
659
- * @returns {T} data: T
660
- */
661
- async findOne(filterBy) {
662
- const data = await this.dataModel
663
- .findOne(filterBy)
664
- .then((res) => res ?? null)
665
- .catch((error) => {
666
- throw new fsm_dynamo_1.DyFM_Error({
667
- ...this._getDefaultErrorSettings('findOne', error),
668
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-FO0`,
669
- additionalContent: { filterBy },
670
- message: `findOne "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
671
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
672
- });
673
- });
674
- return this.stringifyDataId(data, 'findOne');
675
- }
676
- /**
677
- * #MONGOOSE FUNCTION
678
- * Find the data first by any of its parameters,
679
- * !!!: throws error if not found (errorCode on not found: NTS-DBS-F1)
680
- *
681
- * @param filterBy if you can, use unique parameters for find!
682
- *
683
- * @example
684
- * // by email:
685
- * { email: email }
686
- * //
687
- * @example
688
- * // or by id that is in list:
689
- * { userIds: { $in: this.userId } }
690
- * // or by userIds:
691
- * { userId: { $in: userIds } }
692
- * //
693
- * @example
694
- * // or by number or Date that is Greater Than AND Less Than:
695
- * { points: { $gt: 2, $lt: 14 } }
696
- * // further tools (syntax matches with $gt):
697
- * $eq: // Matches values that are EQual to a specified value.
698
- * $gte: // Matches values that are Greater Than OR Equal to a specified value.
699
- * $lte: // Matches values that are Less Than or Equal to a specified value.
700
- * $ne: // Matches all values that are Not Equal to a specified value.
701
- * $nin: // Matches None of the values specified IN an array.
702
- * //
703
- * @param options BFR-008: opcionalis projection/limit/sort — DB-szinten szukit (a nagy mezok be sem toltodnek)
704
- * @returns {T[]} dataList: T[]
705
- */
706
- async find(filterBy, findDeleted, options) {
707
- // BFR-OVERSEER-008 — options megadasakor a soft-delete szures QUERY-szintre kerul: limit mellett a
708
- // memoriabeli post-filter hibas darabszamot adna, projekcio mellett (kihagyott `_deleted` mezovel)
709
- // hibasan atengedne a torolt dokumentumokat. A `_deleted` soft-delete-kor `new Date()`, egyebkent
710
- // HIANYZIK → a Mongo `_deleted: null` (missing VAGY null) a post-filter `!data._deleted` ekvivalense.
711
- const deletedGuardInQuery = !!options && !findDeleted && filterBy._deleted === undefined;
712
- const effectiveFilter = deletedGuardInQuery
713
- ? { ...filterBy, _deleted: null }
714
- : filterBy;
715
- // A szukites (select/sort/limit) DB-szinten tortenik → a nagy mezok be sem toltodnek a heap-be.
716
- let query = this.dataModel.find(effectiveFilter);
717
- if (options?.projection) {
718
- query = query.select(options.projection);
719
- }
720
- if (options?.sort) {
721
- query = query.sort(options.sort);
722
- }
723
- if (options?.limit) {
724
- query = query.limit(options.limit);
725
- }
726
- let dataList = await query
727
- .then((res) => res ?? [])
728
- .catch((error) => {
729
- throw new fsm_dynamo_1.DyFM_Error({
730
- ...this._getDefaultErrorSettings('find', error),
731
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-F0`,
732
- additionalContent: { filterBy },
733
- message: `find "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
734
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
735
- });
736
- });
737
- if (!findDeleted && !deletedGuardInQuery && filterBy._deleted === undefined) {
738
- dataList = dataList.filter((data) => !data._deleted);
739
- }
740
- return dataList.map((data) => this.stringifyDataId(data, 'find'));
741
- }
742
- /**
743
- * #MONGOOSE FUNCTION
744
- * Find the data first by any of its parameters
745
- * WARNING: This function will not gives you back the total number of data in the database!
746
- *
747
- * @param filterBy if you can, use unique parameters for find!
748
- *
749
- * @example
750
- * // by email:
751
- * { email: email }
752
- * //
753
- * @example
754
- * // or by id that is in list:
755
- * { userIds: { $in: this.userId } }
756
- * // or by userIds:
757
- * { userId: { $in: userIds } }
758
- * //
759
- * @example
760
- * // or by number or Date that is Greater Than AND Less Than:
761
- * { points: { $gt: 2, $lt: 14 } }
762
- * // further tools (syntax matches with $gt):
763
- * $eq: // Matches values that are EQual to a specified value.
764
- * $gte: // Matches values that are Greater Than OR Equal to a specified value.
765
- * $lte: // Matches values that are Less Than or Equal to a specified value.
766
- * $ne: // Matches all values that are Not Equal to a specified value.
767
- * $nin: // Matches None of the values specified IN an array.
768
- * //
769
- * @param page page
770
- * @param pageSize pageSize
771
- * @param sort
772
- * @example
773
- * // by dateTime (this uses the basic sort function):
774
- * { dateTime: -1 }
775
- * //
776
- * @returns {T[]} dataList: T[]
777
- */
778
- async findWithPaging(filterBy, page, pageSize, sort) {
779
- /* if (filterBy['_deleted'] === undefined) {
780
- filterBy['_deleted'] = null;
781
- } */
782
- const dataList = await this.dataModel
783
- .find(filterBy)
784
- .sort(sort)
785
- .skip(page * pageSize)
786
- .limit(pageSize)
787
- .then((res) => res ?? [])
788
- .catch((error) => {
789
- throw new fsm_dynamo_1.DyFM_Error({
790
- ...this._getDefaultErrorSettings('findWithPaging', error),
791
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-WP0`,
792
- additionalContent: { filterBy, page, pageSize, sort },
793
- message: `findWithPaging "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
794
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
795
- });
796
- });
797
- /* if ((filterBy as DyFM_DBFilterSimple<T>)._deleted === undefined) {
798
- dataList = dataList.filter((data: T): boolean => !data._deleted);
799
- } */
800
- return dataList.map((data) => this.stringifyDataId(data, 'find'));
801
- }
802
- /**
803
- * #MONGOOSE FUNCTION
804
- * Find data by _id and update
805
- *
806
- * @param id id
807
- * @param update update
808
- * @returns data
809
- */
810
- async findByIdAndUpdate(id, update, issuer, dontUpdateModified) {
811
- if (this.dataParams.forbidModify) {
812
- await this.modifyThrowMethod(update, issuer);
813
- }
814
- if (!dontUpdateModified) {
815
- update.__lastModified = new Date();
816
- update.__lastModifiedBy = issuer;
817
- }
818
- const data = await this.dataModel
819
- .findByIdAndUpdate(id, update)
820
- .then((res) => res?.toObject() ?? null)
821
- .catch((error) => {
822
- throw new fsm_dynamo_1.DyFM_Error({
823
- ...this._getDefaultErrorSettings('findByIdAndUpdate', error, issuer),
824
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-FIU0`,
825
- additionalContent: { id, update },
826
- message: `findByIdAndUpdate "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
827
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
828
- issuer,
829
- });
830
- });
831
- return this.stringifyDataId(data, 'findByIdAndUpdate');
832
- }
833
- /**
834
- * #MONGOOSE FUNCTION
835
- * Atomi compare-and-set: filter-alapú find + update EGY műveletben, a MÓDOSÍTOTT dokumentum
836
- * visszaadásával (BFR-FDPTOKENSERVICE-006).
837
- *
838
- * A `findByIdAndUpdate` (id-only, nem filterezhető) és az `updateOne` (filterezhető, de void —
839
- * nem különíthető el a winner/loser konkurens state-átmenetnél) egyike sem elég CAS-hoz: egy
840
- * state-machine `transitionStatus`-jellegű átmenetnél a filter a FELTÉTEL (pl. `{_id, status:
841
- * 'locked'}`), és a visszatérő érték dönti el, hogy EZ a hívás nyerte-e az átmenetet.
842
- * `null` = nincs match (a feltétel már nem áll — a versenytárs nyert / state-collision).
843
- *
844
- * A `__lastModified`/`forbidModify` szemantika a `findByIdAndUpdate`-tel EGYEZŐ (egységes
845
- * update-viselkedés a base-ben); a `{ new: true }` a MÓDOSÍTOTT dokumentumot adja vissza.
846
- */
847
- async findOneAndUpdate(filterBy, update, issuer, dontUpdateModified) {
848
- if (this.dataParams.forbidModify) {
849
- await this.modifyThrowMethod(update, issuer);
850
- }
851
- if (!dontUpdateModified) {
852
- update.__lastModified = new Date();
853
- update.__lastModifiedBy = issuer;
854
- }
855
- const data = await this.dataModel
856
- .findOneAndUpdate(filterBy, update, { new: true })
857
- .then((res) => res?.toObject() ?? null)
858
- .catch((error) => {
859
- throw new fsm_dynamo_1.DyFM_Error({
860
- ...this._getDefaultErrorSettings('findOneAndUpdate', error, issuer),
861
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-FOU0`,
862
- additionalContent: { filterBy, update },
863
- message: `findOneAndUpdate "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
864
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
865
- issuer,
866
- });
867
- });
868
- // no-match (CAS lost / feltétel nem áll): a null ÉRVÉNYES eredmény, nem hiba
869
- if (!data) {
870
- return null;
871
- }
872
- return this.stringifyDataId(data, 'findOneAndUpdate');
873
- }
874
- /**
875
- * #MONGOOSE FUNCTION
876
- * Find the data first by any of its parameters
877
- *
878
- * @param filter This uses the basic Mongoose updateOne.
879
- * If you can, use unique parameters for find!
880
- * @example
881
- * // by email:
882
- * { email: email }
883
- * //
884
- * @example
885
- * // or by id that is in list:
886
- * { userIds: { $in: this.userId } }
887
- * // or by userIds:
888
- * { userId: { $in: userIds } }
889
- * //
890
- * @example
891
- * // or by number or Date that is Greater Than AND Less Than:
892
- * { points: { $gt: 2, $lt: 14 } }
893
- * // further tools (syntax matches with $gt):
894
- * $eq: // Matches values that are EQual to a specified value.
895
- * $gte: // Matches values that are Greater Than OR Equal to a specified value.
896
- * $lte: // Matches values that are Less Than or Equal to a specified value.
897
- * $ne: // Matches all values that are Not Equal to a specified value.
898
- * $nin: // Matches None of the values specified IN an array.
899
- * //
900
- *
901
- * @param update this uses the basic Mongoose updateOne
902
- * @example
903
- * // increase a specific value (here by 15):
904
- * { $inc: { popularity: 15 } }
905
- * //
906
- * @example
907
- * // or add element to a list:
908
- * { $push: { reactions: this.newReaction }
909
- * // or add multiple elements to a list
910
- * { $push: { schedule: {$each: [ monday, tuesday, wednesday ] } } }
911
- * //
912
- * @example
913
- * // or all at once
914
- * {
915
- * $inc: { popularity: this.newVote.amount },
916
- * emailVerified: true,
917
- * $push: { reactions: this.newReaction }
918
- * }
919
- * // further tools (syntax matches with $inc):
920
- * $currentDate: // Sets the value of a field to current date, either as a Date or a Timestamp.
921
- * $min: // Only updates the field if the specified value is less than the existing field value.
922
- * $max: // Only updates the field if the specified value is greater than the existing field value.
923
- * $mul: // Multiplies the value of the field by the specified amount.
924
- * $rename: // Renames a field.
925
- * $unset: // Removes the specified field from a document. (set: "" to value)
926
- * //
927
- */
928
- async updateOne(filterBy, update, issuer, dontUpdateModified) {
929
- if (this.dataParams.forbidModify) {
930
- await this.modifyThrowMethod(update, issuer);
931
- }
932
- if (!dontUpdateModified) {
933
- update.__lastModified = new Date();
934
- update.__lastModifiedBy = issuer;
935
- }
936
- await this.dataModel
937
- .updateOne(filterBy, update)
938
- .catch((error) => {
939
- throw new fsm_dynamo_1.DyFM_Error({
940
- ...this._getDefaultErrorSettings('updateOne', error, issuer),
941
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-UO0`,
942
- additionalContent: { filterBy, update },
943
- message: `updateOne "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
944
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
945
- issuer,
946
- });
947
- });
948
- }
949
- /**
950
- * #MONGOOSE FUNCTION
951
- * update one parameter by a specific
952
- *
953
- * @param filter This uses the basic Mongoose updateMany.
954
- * @example
955
- * // by email:
956
- * { email: email }
957
- * //
958
- * @example
959
- * // or by id that is in list:
960
- * { userIds: { $in: this.userId } }
961
- * // or by userIds:
962
- * { userId: { $in: userIds } }
963
- * //
964
- * @example
965
- * // or by number or Date that is Greater Than AND Less Than:
966
- * { points: { $gt: 2, $lt: 14 } }
967
- * // further tools (syntax matches with $gt):
968
- * $eq: // Matches values that are EQual to a specified value.
969
- * $gte: // Matches values that are Greater Than OR Equal to a specified value.
970
- * $lte: // Matches values that are Less Than or Equal to a specified value.
971
- * $ne: // Matches all values that are Not Equal to a specified value.
972
- * $nin: // Matches None of the values specified IN an array.
973
- * //
974
- *
975
- * @param update this uses the basic Mongoose updateOne
976
- * @example
977
- * // increase a specific value (here by 15):
978
- * { $inc: { popularity: 15 } }
979
- * //
980
- * @example
981
- * // or add element to a list:
982
- * { $push: { reactions: this.newReaction }
983
- * // or add multiple elements to a list
984
- * { $push: { schedule: {$each: [ monday, tuesday, wednesday ] } } }
985
- * //
986
- * @example
987
- * // or all at once
988
- * {
989
- * $inc: { popularity: this.newVote.amount },
990
- * emailVerified: true,
991
- * $push: { reactions: this.newReaction }
992
- * }
993
- * // further tools (syntax matches with $inc):
994
- * $currentDate: // Sets the value of a field to current date, either as a Date or a Timestamp.
995
- * $min: // Only updates the field if the specified value is less than the existing field value.
996
- * $max: // Only updates the field if the specified value is greater than the existing field value.
997
- * $mul: // Multiplies the value of the field by the specified amount.
998
- * $rename: // Renames a field.
999
- * $unset: // Removes the specified field from a document. (set: "" to value)
1000
- * //
1001
- */
1002
- async updateMany(filterBy, update, issuer, dontUpdateModified) {
1003
- if (this.dataParams.forbidModify) {
1004
- await this.modifyThrowMethod(update, issuer);
1005
- }
1006
- if (!dontUpdateModified) {
1007
- update.__lastModified = new Date();
1008
- update.__lastModifiedBy = issuer;
1009
- }
1010
- await this.dataModel
1011
- .updateMany(filterBy, update)
1012
- .catch((error) => {
1013
- throw new fsm_dynamo_1.DyFM_Error({
1014
- ...this._getDefaultErrorSettings('updateMany', error, issuer),
1015
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-UM0`,
1016
- additionalContent: { filterBy, update },
1017
- message: `updateMany "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
1018
- `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
1019
- issuer,
1020
- });
1021
- });
1022
- }
1023
- /**
1024
- * {
1025
- "mappings": {
1026
- "dynamic": true,
1027
- "fields": {
1028
- "embedding": {
1029
- "type": "knnVector",
1030
- "dimensions": 768
1031
- }
1032
- }
1033
- }
1034
- }
1035
- */
1036
- /**
1037
- *
1038
- * @param set db.collection.aggregate([
1039
- {
1040
- $vectorSearch: {
1041
- index: "index_neve",
1042
- queryVector: [a keresett embedding],
1043
- path: "title.embedding",
1044
- numCandidates: 100,
1045
- limit: 5
1046
- }
1047
- },
1048
- {
1049
- $vectorSearch: {
1050
- index: "index_neve",
1051
- queryVector: [a keresett embedding],
1052
- path: "description.embedding",
1053
- numCandidates: 100,
1054
- limit: 5
1055
- }
1056
- }
1057
- ]);
1058
- * @returns
1059
- */
1060
- async aggregate(set) {
1061
- return this.dataModel.aggregate(set);
1062
- }
1063
- // ----------------------------------------------------------------------------------
1064
- // ----------------------------------------------------------------------------------
1065
- // ----------------------------------------------------------------------------------
1066
- // PRIVATE FUNCTIONS
1067
- stringifyDataId(data, fnName) {
1068
- // AT-REST field-decryption (opt-in): ez a KÖZÖS read+write post-processor (minden read + a
1069
- // create/modify EREDMÉNYE is átmegy rajta), ezért itt fejtjük vissza az encrypt:true envelope-
1070
- // mezőket load után. NO-OP, ha nincs encrypt:true mező (ugyanaz a referencia — nulla változás).
1071
- data = field_encryption_util_1.DyNTS_FieldEncryption_Util.decryptDoc(data, this.dataParams.properties);
1072
- if (data?._id && (typeof data._id !== 'string' || typeof data._id === 'object')) {
1073
- data._id = `${data._id}`;
1074
- if (typeof data._id !== 'string' || typeof data._id === 'object') {
1075
- data = JSON.parse(JSON.stringify(data));
1076
- if (typeof data._id !== 'string' || typeof data._id === 'object') {
1077
- fsm_dynamo_1.DyFM_Log.error(`data._id stringifying failed! Please notfiy the DynamoNTS developers! (${fnName})`, new Error());
1078
- }
1079
- }
1080
- }
1081
- return data;
1082
- }
1083
- _getDefaultErrorSettings(fnName, error, issuer) {
1084
- return {
1085
- status: error?.___status ?? 500,
1086
- message: error?.message ??
1087
- error?._message ??
1088
- `${fnName} was UNSUCCESSFUL (NTS-DB)`,
1089
- addECToUserMsg: !error?.__userMessage,
1090
- userMessage: error?.__userMessage ?? this.defaultErrorUserMsg,
1091
- issuer: issuer,
1092
- issuerService: this.serviceName,
1093
- error: error,
1094
- };
1095
- }
1096
- // ----------------------------------------------------------------------------------
1097
- // PRIVATE BUILD FUNCTIONS
1098
- /**
1099
- * builds and returns mongoose schema
1100
- * @returns schema
1101
- */
1102
- getSchema() {
1103
- this.dataParams.properties = this.addMetadataToProperties(this.dataParams.properties);
1104
- if (this.dataParams.dataName.includes(archive_util_1.DyNTS_archiveSuffix)) {
1105
- this.dataParams.properties = this.addArchiveMetadataToProperties(this.dataParams.properties);
1106
- }
1107
- const schemaSettings = this.buildMongooseSchemaSettingsObjByModelParams(this.dataParams.properties);
1108
- /* schema = this.addMetadataToSchema(schema); */
1109
- /* if (this.dataParams.dataName.includes(DyNTS_archiveSuffix)) {
1110
- schema = this.addArchiveMetadataToSchema(schema);
1111
- } */
1112
- if (schemaSettings['_id']) {
1113
- delete schemaSettings['_id'];
1114
- }
1115
- return new mongoose_1.Schema(schemaSettings);
1116
- }
1117
- /**
1118
- * builds mongoose schema building settings object by dynamoDataModelParamsList
1119
- * @param properties DynamoNTSDataPropertyParams
1120
- * @returns mongoose schema object
1121
- */
1122
- buildMongooseSchemaSettingsObjByModelParams(properties) {
1123
- const schemaSettingsObj = {};
1124
- /* if (!properties) {
1125
- properties = this.dataParams.properties;
1126
- } */
1127
- Object.values(properties).forEach((property) => {
1128
- if (!property) {
1129
- fsm_dynamo_1.DyFM_Log.warn(`property is undefined on "${this.dataParams.dataName}" (NTS DB)`);
1130
- return;
1131
- }
1132
- if (!property.key) {
1133
- const missingKeys = Object.keys(properties).filter((key) => !properties[key].key);
1134
- throw new fsm_dynamo_1.DyFM_Error({
1135
- ...this._getDefaultErrorSettings('buildMongooseSchemaByModelParams', new Error(`property.key is undefined on "${this.dataParams.dataName}" (NTS DB) ` +
1136
- `(keys: ${Object.keys(properties).join(', ')}) ` +
1137
- `(missing keys: ${missingKeys.join(', ')})`)),
1138
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-BMSBP0`,
1139
- additionalContent: {
1140
- property: property,
1141
- dataParams: this.dataParams,
1142
- missingKeys: missingKeys,
1143
- },
1144
- });
1145
- }
1146
- if (property.forbidden) {
1147
- return;
1148
- }
1149
- const beType = this.getBEType(property.type);
1150
- /* TODO if (beType === Array && property.archiveable && !property.archiveListAfter) {
1151
- property.archiveListAfter = DyNTS_global_settings.archiveListAfter;
1152
- } */
1153
- if (beType !== Object ||
1154
- !property?.subObjectParams ||
1155
- (property?.subObjectParams &&
1156
- Object.keys(property.subObjectParams).length == 0)) {
1157
- schemaSettingsObj[property.key] = {
1158
- type: beType,
1159
- };
1160
- if (property.index) {
1161
- schemaSettingsObj[property.key].index = true;
1162
- }
1163
- if (property.unique) {
1164
- schemaSettingsObj[property.key].unique = true;
1165
- }
1166
- if (property.required) {
1167
- schemaSettingsObj[property.key].required = true;
1168
- }
1169
- if (property.minlength) {
1170
- schemaSettingsObj[property.key].minlength = property.minlength;
1171
- }
1172
- if (property.maxlength) {
1173
- schemaSettingsObj[property.key].maxlength = property.maxlength;
1174
- }
1175
- }
1176
- else {
1177
- schemaSettingsObj[property.key] = this.buildMongooseSchemaSettingsObjByModelParams(property.subObjectParams);
1178
- }
1179
- });
1180
- return schemaSettingsObj;
1181
- }
1182
- getBEType(type) {
1183
- switch (type) {
1184
- case fsm_dynamo_1.DyFM_BasicProperty_Type.string:
1185
- return String;
1186
- case fsm_dynamo_1.DyFM_BasicProperty_Type.number:
1187
- return Number;
1188
- case fsm_dynamo_1.DyFM_BasicProperty_Type.boolean:
1189
- return Boolean;
1190
- case fsm_dynamo_1.DyFM_BasicProperty_Type.date:
1191
- return Date;
1192
- case fsm_dynamo_1.DyFM_BasicProperty_Type.object:
1193
- return Object;
1194
- case fsm_dynamo_1.DyFM_BasicProperty_Type.array:
1195
- return Array;
1196
- case fsm_dynamo_1.DyFM_BasicProperty_Type.function:
1197
- return Function;
1198
- default:
1199
- fsm_dynamo_1.DyFM_Log.H_info('wtf', fsm_dynamo_1.DyFM_Object.cleanObject(this.dataParams));
1200
- throw new fsm_dynamo_1.DyFM_Error({
1201
- error: new Error(`Invalid property type: "${type}" (${this.dataParams.dataName})` +
1202
- (this.dataParams.constructed?.() ? '' : ('\nThe dataParams is not constructed properly! \n' +
1203
- 'Use the DyFM_DataModel_Params.constructor to construct it properly!'))),
1204
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GTP0`,
1205
- additionalContent: { type: type, dataParams: this.dataParams },
1206
- __localStack: this.dataParams.stackLocation,
1207
- });
1208
- }
1209
- /* switch (type.toLocaleLowerCase()) {
1210
- case DyFM_BasicProperty_Type.string:
1211
- case 'string':
1212
- return String;
1213
-
1214
- case DyFM_BasicProperty_Type.number:
1215
- case 'number':
1216
- return Number;
1217
-
1218
- case DyFM_BasicProperty_Type.boolean:
1219
- case 'boolean':
1220
- return Boolean;
1221
-
1222
- case DyFM_BasicProperty_Type.date:
1223
- case 'date':
1224
- return Date;
1225
-
1226
- case DyFM_BasicProperty_Type.object:
1227
- case 'object':
1228
- return Object;
1229
-
1230
- case DyFM_BasicProperty_Type.array:
1231
- case 'array':
1232
- return Array;
1233
-
1234
- default:
1235
- if (type.includes('[]') || type.includes('array')) {
1236
- return Array;
1237
- } else if (type.includes('=>') || type.includes('function')) {
1238
- return Function;
1239
- } else {
1240
- return Object;
1241
- }
1242
- } */
1243
- }
1244
- /**
1245
- * adds dynamo metadata settings to any mongoose schema building settings object
1246
- * @param schema schema to update
1247
- * @returns updated schema
1248
- */
1249
- /* private addMetadataToSchema(schema: any): any {
1250
- schema.__created = { type: Date };
1251
- schema.__createdBy = { type: String };
1252
- schema.__lastModified = { type: Date };
1253
- schema.__lastModifiedBy = { type: String };
1254
-
1255
- schema._deleted = { type: Date };
1256
- schema._deletedBy = { type: String };
1257
-
1258
- return schema;
1259
- } */
1260
- /**
1261
- * adds dynamo metadata settings to any mongoose schema building settings object
1262
- * @param properties properties to update
1263
- * @returns updated properties
1264
- */
1265
- addMetadataToProperties(properties) {
1266
- // TOD: ezek a kikommentelt "required: true"-k kellenek, csak félő, hogy gondokat okoznak a
1267
- // jelenlegi rendszerekben, ezért akkor kell majd visszarakni, ha lesz tesztelői ÉS fejlesztői kapacitás rá
1268
- if (!properties.__created) {
1269
- properties.__created = {
1270
- key: '__created', type: fsm_dynamo_1.DyFM_BasicProperty_Type.date /* , required: true */,
1271
- };
1272
- }
1273
- if (!properties.__createdBy) {
1274
- properties.__createdBy = {
1275
- key: '__createdBy', type: fsm_dynamo_1.DyFM_BasicProperty_Type.string /* , required: true */,
1276
- };
1277
- }
1278
- if (!properties.__lastModified) {
1279
- properties.__lastModified = {
1280
- key: '__lastModified', type: fsm_dynamo_1.DyFM_BasicProperty_Type.date /* , required: true */,
1281
- };
1282
- }
1283
- if (!properties.__lastModifiedBy) {
1284
- properties.__lastModifiedBy = {
1285
- key: '__lastModifiedBy', type: fsm_dynamo_1.DyFM_BasicProperty_Type.string /* , required: true */,
1286
- };
1287
- }
1288
- if (!properties._deleted) {
1289
- properties._deleted = {
1290
- key: '_deleted', type: fsm_dynamo_1.DyFM_BasicProperty_Type.date,
1291
- };
1292
- }
1293
- if (!properties._deletedBy) {
1294
- properties._deletedBy = {
1295
- key: '_deletedBy', type: fsm_dynamo_1.DyFM_BasicProperty_Type.string,
1296
- };
1297
- }
1298
- if (!properties._archived) {
1299
- properties._archived = {
1300
- key: '_archived', type: fsm_dynamo_1.DyFM_BasicProperty_Type.date,
1301
- };
1302
- }
1303
- return properties;
1304
- }
1305
- /* private addArchiveMetadataToSchema(schema: any): any {
1306
- schema._originalId = { type: String, required: true, index: true, unique: true };
1307
- schema._archived = { type: Date, required: true };
1308
-
1309
- return schema;
1310
- } */
1311
- addArchiveMetadataToProperties(properties) {
1312
- if (!properties._originalId) {
1313
- properties._originalId = {
1314
- key: '_originalId', type: fsm_dynamo_1.DyFM_BasicProperty_Type.string,
1315
- required: true, index: true, unique: true,
1316
- };
1317
- }
1318
- if (!properties._archived) {
1319
- properties._archived = {
1320
- key: '_archived', type: fsm_dynamo_1.DyFM_BasicProperty_Type.date,
1321
- required: true,
1322
- };
1323
- }
1324
- else if (properties._archived.required === undefined) {
1325
- properties._archived.required = true;
1326
- }
1327
- return properties;
1328
- }
1329
- /**
1330
- * sets depDataKey
1331
- */
1332
- lookForDependencyDataSettings() {
1333
- const dependencyParams = Object.values(this.dataParams.properties).filter((modelParams) => Boolean(modelParams.dependencyDataName));
1334
- if (dependencyParams) {
1335
- this.depKeys.push(...dependencyParams.map((dependencyParam) => dependencyParam.key));
1336
- }
1337
- }
1338
- async deleteThrowMethod(data, issuer) {
1339
- throw new fsm_dynamo_1.DyFM_Error({
1340
- error: new Error(`Forbidden to delete any data! (${this.dataParams.dataName})`),
1341
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-CDAD`,
1342
- additionalContent: { dataParams: this.dataParams, data: data },
1343
- issuer: issuer,
1344
- });
1345
- }
1346
- ;
1347
- async modifyThrowMethod(data, issuer) {
1348
- throw new fsm_dynamo_1.DyFM_Error({
1349
- error: new Error(`Forbidden to modify any data! (${this.dataParams.dataName})`),
1350
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-CDAD`,
1351
- additionalContent: { dataParams: this.dataParams, data: data },
1352
- issuer: issuer,
1353
- });
1354
- }
1355
- }
1356
- exports.DyNTS_DBService = DyNTS_DBService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_DBService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const mongoose = tslib_1.__importStar(require("mongoose"));
6
+ const mongoose_1 = require("mongoose");
7
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
8
+ const archive_util_1 = require("../../_collections/archive.util");
9
+ const field_encryption_util_1 = require("../../_collections/field-encryption.util");
10
+ const global_settings_const_1 = require("../../_collections/global-settings.const");
11
+ /**
12
+ * DB Service for MongoDB
13
+ */
14
+ class DyNTS_DBService {
15
+ dataParams;
16
+ serviceName;
17
+ dataModel /* : mongoose.Model<T> */; // = mongoose.model(this.dataParams.dataName, this.getSchema());
18
+ /* private depDataName: string; */
19
+ depKeys = [];
20
+ defaultErrorUserMsg = `We encountered an unhandled DB Error, ` +
21
+ `\nplease contact the responsible development team.`;
22
+ /**
23
+ * @param dataName name the model
24
+ * @param typeSample sample data for scheme creation (dont include DyFM_Metadata!)
25
+ * @param schemaSettings additional settings for specific parameters as unique, required, minlength or maxlength
26
+ * schemaSettings also MUST contain specific types that differs from the listed above (Array, Date)
27
+ */
28
+ constructor(dataParams) {
29
+ this.dataParams = dataParams;
30
+ try {
31
+ this.serviceName = this.constructor?.name;
32
+ if (!this.dataParams.dataName || typeof this.dataParams.dataName !== 'string') {
33
+ throw new Error(`dbName not setted up for this db-service (${this.dataParams.dataName}) (NTS DB)`);
34
+ }
35
+ if (!this.dataParams.constructed?.()) {
36
+ throw new fsm_dynamo_1.DyFM_Error({
37
+ error: new Error(`DataModelParams is not constructed properly! (${this.dataParams.dataName}) ` +
38
+ `Use the DyFM_DataModel_Params.constructor to construct it properly! (NTS DB)`),
39
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-C01`,
40
+ additionalContent: { dataParams: this.dataParams },
41
+ __localStack: this.dataParams.stackLocation,
42
+ });
43
+ }
44
+ try {
45
+ this.dataModel = mongoose.model(this.dataParams.dataName, this.getSchema());
46
+ }
47
+ catch (error) {
48
+ if (mongoose.models[this.dataParams.dataName]) {
49
+ this.dataModel = mongoose.models[this.dataParams.dataName];
50
+ }
51
+ else {
52
+ throw error;
53
+ }
54
+ }
55
+ this.lookForDependencyDataSettings();
56
+ }
57
+ catch (error) {
58
+ throw new fsm_dynamo_1.DyFM_Error({
59
+ message: `DyNTS_DBService construction failed! "${dataParams.dataName}" - "${this.serviceName}"`,
60
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-C00`,
61
+ level: fsm_dynamo_1.DyFM_ErrorLevel.critical,
62
+ additionalContent: { dataParams: this.dataParams },
63
+ error,
64
+ });
65
+ }
66
+ }
67
+ /**
68
+ * save new data
69
+ * @param data data
70
+ * @returns data
71
+ */
72
+ async createData(data, issuer) {
73
+ data.__created = new Date();
74
+ data.__lastModified = new Date();
75
+ data.__createdBy = issuer;
76
+ data.__lastModifiedBy = issuer;
77
+ // AT-REST field-encryption (opt-in): az encrypt:true mezőket a persist ELŐTT titkosítjuk, egy
78
+ // KLÓNON (a hívó `data`-ja plaintext marad). NO-OP, ha nincs encrypt:true mező.
79
+ const encData = field_encryption_util_1.DyNTS_FieldEncryption_Util.encryptDoc(data, this.dataParams.properties);
80
+ const dataModel = new this.dataModel(encData);
81
+ const newData = await dataModel.save().then((res) => {
82
+ if (res) {
83
+ return res?.toObject();
84
+ }
85
+ else {
86
+ throw new fsm_dynamo_1.DyFM_Error({
87
+ ...this._getDefaultErrorSettings('createData', new Error(`createData failed, save "${this.dataParams.dataName}" result not found! (NTS DB)`), issuer),
88
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-CD1`,
89
+ additionalContent: { data },
90
+ issuer,
91
+ });
92
+ }
93
+ }).catch((error) => {
94
+ if (error?.flag?.includes('DYNAMO')) {
95
+ throw error;
96
+ }
97
+ else {
98
+ throw new fsm_dynamo_1.DyFM_Error({
99
+ ...this._getDefaultErrorSettings('createData', error, issuer),
100
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-CD0`,
101
+ additionalContent: {
102
+ data: data,
103
+ dataModel: this.dataModel,
104
+ },
105
+ message: `createData failed, Create new "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
106
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
107
+ issuer,
108
+ });
109
+ }
110
+ });
111
+ return this.stringifyDataId(newData, 'createData');
112
+ }
113
+ /**
114
+ * Find data by _id and update
115
+ * @param data data
116
+ * @returns data
117
+ */
118
+ async modifyData(data, issuer, dontUpdateModified) {
119
+ if (this.dataParams.forbidModify) {
120
+ await this.modifyThrowMethod(data, issuer);
121
+ }
122
+ if (!dontUpdateModified) {
123
+ data.__lastModified = new Date();
124
+ data.__lastModifiedBy = issuer;
125
+ }
126
+ // AT-REST field-encryption (opt-in): az encrypt:true mezőket a persist ELŐTT titkosítjuk, egy
127
+ // KLÓNON. KRITIKUS: a `findByIdAndUpdate` MEGKERÜLI a mongoose settereket/pre-save-hookokat, ezért
128
+ // a titkosítás itt, app-rétegben történik (nem mongoose-hookban). A hívó `data`-ja plaintext marad,
129
+ // így a `stringifyDataId(data)` alant no-op decrypttel a plaintextet adja vissza. NO-OP enc-mező nélkül.
130
+ const encData = field_encryption_util_1.DyNTS_FieldEncryption_Util.encryptDoc(data, this.dataParams.properties);
131
+ /**
132
+ * EZ A SZAR TELJESEN SZAR, nem friss, nem a db-be mentett adatokat ad vissza,
133
+ * átír random value-kat össze vissza, WTF
134
+ * */
135
+ /* let newData: T = */
136
+ await this.dataModel.findByIdAndUpdate(data._id, encData) /* .then((res) => {
137
+ if (res) {
138
+ //return res?.toObject() as T;
139
+ } else {
140
+ throw new DyFM_Error({
141
+ ...this._getDefaultErrorSettings(
142
+ 'modifyData',
143
+ new Error(`modifyData failed, modify "${this.dataParams.dataName}" result not found! (NTS DB)`),
144
+ issuer,
145
+ ),
146
+
147
+ status: 204,
148
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-FU1`,
149
+ additionalContent: { data },
150
+ issuer,
151
+ });
152
+ }
153
+ }) */
154
+ .catch((error) => {
155
+ throw new fsm_dynamo_1.DyFM_Error({
156
+ ...this._getDefaultErrorSettings('modifyData', error, issuer),
157
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-FU0`,
158
+ additionalContent: { data },
159
+ message: `modifyData "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
160
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
161
+ issuer,
162
+ });
163
+ });
164
+ return this.stringifyDataId(data, 'modifyData');
165
+ }
166
+ // TODO: Missing issuer
167
+ /**
168
+ * returns data by _id,
169
+ * @param id id
170
+ * @returns data
171
+ */
172
+ async getDataById(id) {
173
+ if (!id) {
174
+ throw new fsm_dynamo_1.DyFM_Error({
175
+ ...this._getDefaultErrorSettings('getDataById', new Error(`No ID provided! (NTS DB)`)),
176
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GI1`,
177
+ message: `get "${this.dataParams.dataName}" by ID was unsuccessful (NTS DB)`,
178
+ });
179
+ }
180
+ const data = await this.dataModel
181
+ .findById(id)
182
+ .then((res) => res?.toObject() ?? null)
183
+ .catch((error) => {
184
+ throw new fsm_dynamo_1.DyFM_Error({
185
+ ...this._getDefaultErrorSettings('getDataById', error),
186
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GI0`,
187
+ additionalContent: { id },
188
+ message: `get "${this.dataParams.dataName}" by ID was unsuccessful (NTS DB)` +
189
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
190
+ });
191
+ });
192
+ return this.stringifyDataId(data, 'getDataById');
193
+ }
194
+ // TODO: Missing issuer
195
+ /**
196
+ * get data by dependency data id,
197
+ * !!!: throws error if not found (errorCode on not found: NTS-DBS-GD2)
198
+ *
199
+ * @param dependencyIdsFilter id
200
+ * @returns data
201
+ */
202
+ async getDataByDependencyId(dependencyIdsFilter) {
203
+ if (!this.depKeys.length) {
204
+ throw new fsm_dynamo_1.DyFM_Error({
205
+ ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dataName}) (NTS DB)`)),
206
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GD0`,
207
+ });
208
+ }
209
+ const data = await this.dataModel
210
+ .findOne(dependencyIdsFilter)
211
+ .then((res) => res?.toObject() ?? null)
212
+ .catch((error) => {
213
+ throw new fsm_dynamo_1.DyFM_Error({
214
+ ...this._getDefaultErrorSettings('getDataByDependencyId', error),
215
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GD1`,
216
+ additionalContent: { dependencyIdsFilter: dependencyIdsFilter },
217
+ message: `get "${this.dataParams.dataName}" by ` +
218
+ `"${Object.keys(dependencyIdsFilter).join(', ')}" was unsuccessful (NTS DB)` +
219
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
220
+ });
221
+ });
222
+ return this.stringifyDataId(data, 'getDataByDependencyId');
223
+ }
224
+ // TODO: Missing issuer
225
+ async getDataListByIds(ids, findDeleted) {
226
+ const dataList = await this.dataModel
227
+ .find({ _id: { $in: ids } })
228
+ .then((res) => res ?? [])
229
+ .catch((error) => {
230
+ throw new fsm_dynamo_1.DyFM_Error({
231
+ ...this._getDefaultErrorSettings('getDataListByIds', error),
232
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GDL0`,
233
+ additionalContent: { ids },
234
+ message: `get "${this.dataParams.dataName}" by IDs was unsuccessful (NTS DB)` +
235
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
236
+ });
237
+ });
238
+ if (!findDeleted) {
239
+ return dataList.filter((data) => !data._deleted).map((data) => this.stringifyDataId(data, 'getDataListByDependencyId'));
240
+ }
241
+ else {
242
+ return dataList.map((data) => this.stringifyDataId(data, 'getDataListByDependencyId'));
243
+ }
244
+ }
245
+ // TODO: Missing issuer
246
+ /**
247
+ * get data by dependency data id,
248
+ * !!!: throws error if not found (errorCode on not found: NTS-DBS-GLD2)
249
+ *
250
+ * @param dependencyIdsFilter id
251
+ * @returns dataList
252
+ */
253
+ async getDataListByDependencyId(dependencyIdsFilter, findDeleted) {
254
+ if (!this.depKeys.length) {
255
+ throw new fsm_dynamo_1.DyFM_Error({
256
+ ...this._getDefaultErrorSettings('getDataListByDependencyId', new Error(`isDependencyHook not setted up for this dataModel (${this.dataParams.dataName}) (NTS DB)`)),
257
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GLD0`,
258
+ additionalContent: {
259
+ dataModel: this.dataModel,
260
+ },
261
+ });
262
+ }
263
+ const dataList = await this.dataModel
264
+ .find(dependencyIdsFilter)
265
+ .then((res) => res ?? [])
266
+ .catch((error) => {
267
+ throw new fsm_dynamo_1.DyFM_Error({
268
+ ...this._getDefaultErrorSettings('getDataListByDependencyId', error),
269
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GLD1`,
270
+ additionalContent: { dependencyIdsFilter: dependencyIdsFilter },
271
+ message: `get "${this.dataParams.dataName}" by ` +
272
+ `"${Object.keys(dependencyIdsFilter).join(', ')}" was unsuccessful (NTS DB)` +
273
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
274
+ });
275
+ });
276
+ if (!findDeleted) {
277
+ return dataList.filter((data) => !data._deleted).map((data) => this.stringifyDataId(data, 'getDataListByDependencyId'));
278
+ }
279
+ else {
280
+ return dataList.map((data) => this.stringifyDataId(data, 'getDataListByDependencyId'));
281
+ }
282
+ }
283
+ // TODO: Missing issuer
284
+ /**
285
+ * get multiple data objects by a list of DependencyIDs,
286
+ * !!!: throws error if not found (errorCode on not found: NTS-DBS-GLDS2)
287
+ *
288
+ * @param ids ids
289
+ * @returns dataList
290
+ */
291
+ async getDataListByDependencyIds(dependencyKey, dependencyIds, findDeleted) {
292
+ if (!this.depKeys.length) {
293
+ throw new fsm_dynamo_1.DyFM_Error({
294
+ ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`getDataListByDependencyIds not setted up for this db-service ` +
295
+ `(${this.dataParams.dataName}) (NTS DB)`)),
296
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GLDS0`,
297
+ });
298
+ }
299
+ if (!dependencyIds?.length) {
300
+ return [];
301
+ }
302
+ if (!dependencyKey) {
303
+ throw new fsm_dynamo_1.DyFM_Error({
304
+ ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`dependencyKey is missing! (${this.dataParams.dataName}) (NTS DB)`)),
305
+ });
306
+ }
307
+ if (!this.depKeys.includes(dependencyKey)) {
308
+ throw new fsm_dynamo_1.DyFM_Error({
309
+ ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`dependencyKey is not valid! (${dependencyKey}) (NTS DB)`)),
310
+ });
311
+ }
312
+ const dataList = await this.dataModel
313
+ .find({
314
+ [dependencyKey]: { $in: dependencyIds },
315
+ })
316
+ .then((res) => res ?? [])
317
+ .catch((error) => {
318
+ throw new fsm_dynamo_1.DyFM_Error({
319
+ ...this._getDefaultErrorSettings('getDataListByDependencyIds', error),
320
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GLDS1`,
321
+ additionalContent: { dependencyIds },
322
+ message: `get "${this.dataParams.dataName}" by "${dependencyKey}" was unsuccessful (NTS DB)` +
323
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
324
+ });
325
+ });
326
+ if (!findDeleted) {
327
+ return dataList.filter((data) => !data._deleted).map((data) => this.stringifyDataId(data, 'getDataListByDependencyIds'));
328
+ }
329
+ else {
330
+ return dataList.map((data) => this.stringifyDataId(data, 'getDataListByDependencyIds'));
331
+ }
332
+ }
333
+ // TODO: Missing issuer
334
+ /**
335
+ * returns all data from database,
336
+ * !!!: throws error if not found (errorCode on not found: NTS-DBS-GA1)
337
+ *
338
+ * @returns dataList
339
+ */
340
+ async getAll(findDeleted) {
341
+ const dataList = await this.dataModel
342
+ .find()
343
+ .then((res) => res ?? [])
344
+ .catch((error) => {
345
+ throw new fsm_dynamo_1.DyFM_Error({
346
+ ...this._getDefaultErrorSettings('getAll', error),
347
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GA0`,
348
+ message: `get all "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
349
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
350
+ });
351
+ });
352
+ if (!findDeleted) {
353
+ return dataList.filter((data) => !data._deleted).map((data) => this.stringifyDataId(data, 'getAll'));
354
+ }
355
+ else {
356
+ return dataList.map((data) => this.stringifyDataId(data, 'getAll'));
357
+ }
358
+ }
359
+ async markDeletedById(id, issuer) {
360
+ if (this.dataParams.forbidDelete) {
361
+ await this.deleteThrowMethod(id, issuer);
362
+ }
363
+ await this.dataModel.findByIdAndUpdate(id, {
364
+ _deleted: new Date(),
365
+ _deletedBy: issuer,
366
+ }).catch((error) => {
367
+ throw new fsm_dynamo_1.DyFM_Error({
368
+ ...this._getDefaultErrorSettings('markDeletedById', error, issuer),
369
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-MD0`,
370
+ additionalContent: { id },
371
+ message: `mark deleted "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
372
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
373
+ issuer,
374
+ });
375
+ });
376
+ }
377
+ async markDeletedByDependencyId(dependencyIdsFilter, issuer) {
378
+ if (this.dataParams.forbidDelete) {
379
+ await this.deleteThrowMethod(dependencyIdsFilter, issuer);
380
+ }
381
+ await this.dataModel.updateMany(dependencyIdsFilter, {
382
+ _deleted: new Date(),
383
+ _deletedBy: issuer,
384
+ }).catch((error) => {
385
+ throw new fsm_dynamo_1.DyFM_Error({
386
+ ...this._getDefaultErrorSettings('markDeletedByDependencyId', error, issuer),
387
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-MDD0`,
388
+ additionalContent: { dependencyIdsFilter: dependencyIdsFilter },
389
+ message: `markDeleted "${this.dataParams.dataName}" by ` +
390
+ `"${Object.keys(dependencyIdsFilter).join(', ')}" was unsuccessful (NTS DB)` +
391
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
392
+ issuer,
393
+ });
394
+ });
395
+ }
396
+ async restoreDeletedById(id, issuer) {
397
+ await this.dataModel.findByIdAndUpdate(id, {
398
+ _deleted: null,
399
+ __lastModified: new Date(),
400
+ __lastModifiedBy: issuer,
401
+ }).catch((error) => {
402
+ throw new fsm_dynamo_1.DyFM_Error({
403
+ ...this._getDefaultErrorSettings('restoreDeletedById', error, issuer),
404
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-RD0`,
405
+ additionalContent: { id },
406
+ message: `restoreDeleted "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
407
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
408
+ issuer,
409
+ });
410
+ });
411
+ }
412
+ async restoreDeletedByDependencyId(dependencyIdsFilter, issuer) {
413
+ await this.dataModel.updateMany(dependencyIdsFilter, {
414
+ _deleted: null,
415
+ __lastModified: new Date(),
416
+ __lastModifiedBy: issuer,
417
+ }).catch((error) => {
418
+ throw new fsm_dynamo_1.DyFM_Error({
419
+ ...this._getDefaultErrorSettings('restoreDeletedByDependencyId', error, issuer),
420
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-RDD0`,
421
+ additionalContent: { dependencyIdsFilter: dependencyIdsFilter },
422
+ message: `restoreDeleted "${this.dataParams.dataName}" by ` +
423
+ `"${Object.keys(dependencyIdsFilter).join(', ')}" was unsuccessful (NTS DB)` +
424
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
425
+ issuer,
426
+ });
427
+ });
428
+ }
429
+ // TODO: Missing issuer
430
+ async getDeletedDataList() {
431
+ const dataList = await this.dataModel
432
+ .getAll()
433
+ .then((res) => res ?? [])
434
+ .catch((error) => {
435
+ throw new fsm_dynamo_1.DyFM_Error({
436
+ ...this._getDefaultErrorSettings('getDeletedData', error),
437
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GDD0`,
438
+ message: `get deleted "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
439
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
440
+ });
441
+ });
442
+ return dataList.filter((data) => Boolean(data._deleted)).map((data) => this.stringifyDataId(data, 'getDeletedData'));
443
+ }
444
+ // TODO: Missing issuer
445
+ /**
446
+ * deleted data by id
447
+ * @param id id
448
+ */
449
+ async trueDeleteDataById(id) {
450
+ if (this.dataParams.forbidDelete) {
451
+ await this.deleteThrowMethod(id /* , issuer */);
452
+ }
453
+ await this.dataModel
454
+ .findByIdAndDelete(id)
455
+ .catch((error) => {
456
+ throw new fsm_dynamo_1.DyFM_Error({
457
+ ...this._getDefaultErrorSettings('deleteDataById', error),
458
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-DD0`,
459
+ additionalContent: { id },
460
+ message: `delete "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
461
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
462
+ });
463
+ });
464
+ }
465
+ deleteDataById = this.trueDeleteDataById;
466
+ // TODO: Missing issuer
467
+ /**
468
+ * deleted data by id
469
+ * @param dependencyId id
470
+ */
471
+ async trueDeleteDataByDependencyId(dependencyIdsFilter) {
472
+ if (this.dataParams.forbidDelete) {
473
+ await this.deleteThrowMethod(dependencyIdsFilter /* , issuer */);
474
+ }
475
+ if (!this.depKeys.length) {
476
+ throw new fsm_dynamo_1.DyFM_Error({
477
+ ...this._getDefaultErrorSettings('deleteDataByDependencyId', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dataName}) (NTS DB)`)),
478
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-DDD0`,
479
+ });
480
+ }
481
+ await this.dataModel
482
+ .deleteMany(dependencyIdsFilter)
483
+ .catch((error) => {
484
+ throw new fsm_dynamo_1.DyFM_Error({
485
+ ...this._getDefaultErrorSettings('deleteDataByDependencyId', error),
486
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-DDD1`,
487
+ additionalContent: { dependencyIdsFilter: dependencyIdsFilter },
488
+ message: `delete "${this.dataParams.dataName}" by ` +
489
+ `"${Object.keys(dependencyIdsFilter).join(', ')}" was unsuccessful (NTS DB)` +
490
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
491
+ });
492
+ });
493
+ }
494
+ deleteDataByDependencyId = this.trueDeleteDataByDependencyId;
495
+ // TODO: Missing issuer
496
+ async trueDeleteAllData() {
497
+ if (this.dataParams.forbidDelete) {
498
+ await this.deleteThrowMethod(null /* , issuer */);
499
+ }
500
+ await this.dataModel.deleteMany().catch((error) => {
501
+ throw new fsm_dynamo_1.DyFM_Error({
502
+ ...this._getDefaultErrorSettings('deleteAllData', error),
503
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-DAD0`,
504
+ message: `delete all "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
505
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
506
+ });
507
+ });
508
+ }
509
+ deleteAllData = this.trueDeleteAllData;
510
+ // TODO: Missing issuer
511
+ /**
512
+ * returns search result for searchBy object params
513
+ * can use lists or xRange values for searchBy obj properties
514
+ *
515
+ * @param filterBy filter
516
+ * @param narrowByDependencyIds id
517
+ * @returns dataList
518
+ */
519
+ /**
520
+ * BFR-AM-013 — LEAN + projektált + BATCH-elt cursor-scan (OOM-safe nagy collection-ökhöz).
521
+ *
522
+ * A teljes result-set SOSEM él egyszerre a heapen: a Mongo-cursor batch-enként adagolja a
523
+ * PLAIN (lean, nem-Mongoose-doc) objektumokat a `handler`-nek — a Mongoose-doc-boxing tranziens
524
+ * (a 32k-vektoros LVS-hidratálás 93%-heap-spike-jának gyökere) kimarad. A `projection`-nel csak
525
+ * a szükséges mezők jönnek (pl. `{ vectorId: 1, embedding: 1 }` a content-szöveg NÉLKÜL).
526
+ * Visszaadja a feldolgozott dokumentumok számát.
527
+ */
528
+ async findLeanBatched(filterBy, set) {
529
+ const batchSize = set.batchSize && set.batchSize > 0 ? set.batchSize : 500;
530
+ const cursor = this.dataModel.find(filterBy, set.projection).lean().cursor();
531
+ let batch = [];
532
+ let total = 0;
533
+ for await (const doc of cursor) {
534
+ batch.push(doc);
535
+ total++;
536
+ if (batch.length >= batchSize) {
537
+ await set.handler(batch);
538
+ batch = [];
539
+ }
540
+ }
541
+ if (batch.length) {
542
+ await set.handler(batch);
543
+ }
544
+ return total;
545
+ }
546
+ async searchData(filterBy, narrowByDependencyIds, narrowByDependencyKey, findDeleted) {
547
+ const filter = {};
548
+ if (0 < narrowByDependencyIds.length) {
549
+ if (!this.depKeys.length) {
550
+ throw new fsm_dynamo_1.DyFM_Error({
551
+ ...this._getDefaultErrorSettings('searchData', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dataName}) (NTS DB)`)),
552
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-SD0`,
553
+ });
554
+ }
555
+ if (!narrowByDependencyKey) {
556
+ if (this.depKeys.length === 1) {
557
+ narrowByDependencyKey = this.depKeys[0];
558
+ }
559
+ else {
560
+ throw new fsm_dynamo_1.DyFM_Error({
561
+ ...this._getDefaultErrorSettings('searchData', new Error(`dependencyKey is missing! (${this.dataParams.dataName}) (NTS DB)`)),
562
+ });
563
+ }
564
+ }
565
+ filter[narrowByDependencyKey] = { $in: narrowByDependencyIds };
566
+ }
567
+ Object.values(this.dataParams.properties).forEach((modelParam) => {
568
+ if ((filterBy[modelParam.key] !== null && filterBy[modelParam.key] !== undefined) ||
569
+ filterBy[modelParam.key + 'Range']) {
570
+ if (modelParam.key.includes('Range') || modelParam.type.includes('[]')) {
571
+ // inverz search filter (for Range and Array functions)
572
+ if (modelParam.key.includes('Range')) {
573
+ const searchParamKeyWithoutRange = modelParam.key.split('Range')[0];
574
+ if (filterBy[searchParamKeyWithoutRange] !== null &&
575
+ filterBy[searchParamKeyWithoutRange] !== undefined) {
576
+ filter[modelParam.key] = {
577
+ from: { $lte: filterBy[searchParamKeyWithoutRange] },
578
+ to: { $gte: filterBy[searchParamKeyWithoutRange] },
579
+ };
580
+ }
581
+ }
582
+ else {
583
+ if (filterBy[modelParam.key] !== null &&
584
+ filterBy[modelParam.key] !== undefined) {
585
+ filter[modelParam.key] = { $in: filterBy[modelParam.key] };
586
+ }
587
+ }
588
+ }
589
+ else {
590
+ // basic search filter
591
+ if (filterBy[modelParam.key + 'Range']) {
592
+ if (filterBy[modelParam.key + 'Range'].from ||
593
+ filterBy[modelParam.key + 'Range'].to) {
594
+ filter[modelParam.key] = {};
595
+ if (filterBy[modelParam.key + 'Range'].from) {
596
+ filter[modelParam.key].$gte = filterBy[modelParam.key + 'Range'].from;
597
+ }
598
+ if (filterBy[modelParam.key + 'Range'].to) {
599
+ filter[modelParam.key].$lte = filterBy[modelParam.key + 'Range'].to;
600
+ }
601
+ }
602
+ }
603
+ else if (filterBy[modelParam.key] !== null &&
604
+ filterBy[modelParam.key] !== undefined) {
605
+ if (filterBy[modelParam.key].lenght > 0) {
606
+ filter[modelParam.key] = { $in: filterBy[modelParam.key] };
607
+ }
608
+ }
609
+ }
610
+ }
611
+ });
612
+ let dataList = await this.dataModel
613
+ .find(filter)
614
+ .then((res) => res ?? [])
615
+ .catch((error) => {
616
+ throw new fsm_dynamo_1.DyFM_Error({
617
+ ...this._getDefaultErrorSettings('searchData', error),
618
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-SD1`,
619
+ additionalContent: { filterBy, narrowByDependencyIds },
620
+ message: `search "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
621
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
622
+ });
623
+ });
624
+ if (!findDeleted && filterBy._deleted === undefined) {
625
+ dataList = dataList.filter((data) => !data._deleted);
626
+ }
627
+ return dataList.map((data) => this.stringifyDataId(data, 'searchData'));
628
+ }
629
+ // ----------------------------------------------------------------------------------
630
+ // ----------------------------------------------------------------------------------
631
+ // ----------------------------------------------------------------------------------
632
+ // DIRECT Basic MONGOOSE FUNCTIONS (with error handlings)
633
+ /**
634
+ * Find the data first by any of its parameters,
635
+ * !!!: throws error if not found (errorCode on not found: NTS-DBS-FO1)
636
+ *
637
+ * @param filterBy if you can, use unique parameters for find!
638
+ *
639
+ * @example
640
+ * // by email:
641
+ * { email: email }
642
+ * //
643
+ * @example
644
+ * // or by id that is in list:
645
+ * { userIds: { $in: this.userId } }
646
+ * // or by userIds:
647
+ * { userId: { $in: userIds } }
648
+ * //
649
+ * @example
650
+ * // or by number or Date that is Greater Than AND Less Than:
651
+ * { points: { $gt: 2, $lt: 14 } }
652
+ * // further tools (syntax matches with $gt):
653
+ * $eq: // Matches values that are EQual to a specified value.
654
+ * $gte: // Matches values that are Greater Than OR Equal to a specified value.
655
+ * $lte: // Matches values that are Less Than or Equal to a specified value.
656
+ * $ne: // Matches all values that are Not Equal to a specified value.
657
+ * $nin: // Matches None of the values specified IN an array.
658
+ * //
659
+ * @returns {T} data: T
660
+ */
661
+ async findOne(filterBy) {
662
+ const data = await this.dataModel
663
+ .findOne(filterBy)
664
+ .then((res) => res ?? null)
665
+ .catch((error) => {
666
+ throw new fsm_dynamo_1.DyFM_Error({
667
+ ...this._getDefaultErrorSettings('findOne', error),
668
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-FO0`,
669
+ additionalContent: { filterBy },
670
+ message: `findOne "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
671
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
672
+ });
673
+ });
674
+ return this.stringifyDataId(data, 'findOne');
675
+ }
676
+ /**
677
+ * #MONGOOSE FUNCTION
678
+ * Find the data first by any of its parameters,
679
+ * !!!: throws error if not found (errorCode on not found: NTS-DBS-F1)
680
+ *
681
+ * @param filterBy if you can, use unique parameters for find!
682
+ *
683
+ * @example
684
+ * // by email:
685
+ * { email: email }
686
+ * //
687
+ * @example
688
+ * // or by id that is in list:
689
+ * { userIds: { $in: this.userId } }
690
+ * // or by userIds:
691
+ * { userId: { $in: userIds } }
692
+ * //
693
+ * @example
694
+ * // or by number or Date that is Greater Than AND Less Than:
695
+ * { points: { $gt: 2, $lt: 14 } }
696
+ * // further tools (syntax matches with $gt):
697
+ * $eq: // Matches values that are EQual to a specified value.
698
+ * $gte: // Matches values that are Greater Than OR Equal to a specified value.
699
+ * $lte: // Matches values that are Less Than or Equal to a specified value.
700
+ * $ne: // Matches all values that are Not Equal to a specified value.
701
+ * $nin: // Matches None of the values specified IN an array.
702
+ * //
703
+ * @param options BFR-008: opcionalis projection/limit/sort — DB-szinten szukit (a nagy mezok be sem toltodnek)
704
+ * @returns {T[]} dataList: T[]
705
+ */
706
+ async find(filterBy, findDeleted, options) {
707
+ // BFR-OVERSEER-008 — options megadasakor a soft-delete szures QUERY-szintre kerul: limit mellett a
708
+ // memoriabeli post-filter hibas darabszamot adna, projekcio mellett (kihagyott `_deleted` mezovel)
709
+ // hibasan atengedne a torolt dokumentumokat. A `_deleted` soft-delete-kor `new Date()`, egyebkent
710
+ // HIANYZIK → a Mongo `_deleted: null` (missing VAGY null) a post-filter `!data._deleted` ekvivalense.
711
+ const deletedGuardInQuery = !!options && !findDeleted && filterBy._deleted === undefined;
712
+ const effectiveFilter = deletedGuardInQuery
713
+ ? { ...filterBy, _deleted: null }
714
+ : filterBy;
715
+ // A szukites (select/sort/limit) DB-szinten tortenik → a nagy mezok be sem toltodnek a heap-be.
716
+ let query = this.dataModel.find(effectiveFilter);
717
+ if (options?.projection) {
718
+ query = query.select(options.projection);
719
+ }
720
+ if (options?.sort) {
721
+ query = query.sort(options.sort);
722
+ }
723
+ if (options?.limit) {
724
+ query = query.limit(options.limit);
725
+ }
726
+ let dataList = await query
727
+ .then((res) => res ?? [])
728
+ .catch((error) => {
729
+ throw new fsm_dynamo_1.DyFM_Error({
730
+ ...this._getDefaultErrorSettings('find', error),
731
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-F0`,
732
+ additionalContent: { filterBy },
733
+ message: `find "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
734
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
735
+ });
736
+ });
737
+ if (!findDeleted && !deletedGuardInQuery && filterBy._deleted === undefined) {
738
+ dataList = dataList.filter((data) => !data._deleted);
739
+ }
740
+ return dataList.map((data) => this.stringifyDataId(data, 'find'));
741
+ }
742
+ /**
743
+ * #MONGOOSE FUNCTION
744
+ * Find the data first by any of its parameters
745
+ * WARNING: This function will not gives you back the total number of data in the database!
746
+ *
747
+ * @param filterBy if you can, use unique parameters for find!
748
+ *
749
+ * @example
750
+ * // by email:
751
+ * { email: email }
752
+ * //
753
+ * @example
754
+ * // or by id that is in list:
755
+ * { userIds: { $in: this.userId } }
756
+ * // or by userIds:
757
+ * { userId: { $in: userIds } }
758
+ * //
759
+ * @example
760
+ * // or by number or Date that is Greater Than AND Less Than:
761
+ * { points: { $gt: 2, $lt: 14 } }
762
+ * // further tools (syntax matches with $gt):
763
+ * $eq: // Matches values that are EQual to a specified value.
764
+ * $gte: // Matches values that are Greater Than OR Equal to a specified value.
765
+ * $lte: // Matches values that are Less Than or Equal to a specified value.
766
+ * $ne: // Matches all values that are Not Equal to a specified value.
767
+ * $nin: // Matches None of the values specified IN an array.
768
+ * //
769
+ * @param page page
770
+ * @param pageSize pageSize
771
+ * @param sort
772
+ * @example
773
+ * // by dateTime (this uses the basic sort function):
774
+ * { dateTime: -1 }
775
+ * //
776
+ * @returns {T[]} dataList: T[]
777
+ */
778
+ async findWithPaging(filterBy, page, pageSize, sort) {
779
+ /* if (filterBy['_deleted'] === undefined) {
780
+ filterBy['_deleted'] = null;
781
+ } */
782
+ const dataList = await this.dataModel
783
+ .find(filterBy)
784
+ .sort(sort)
785
+ .skip(page * pageSize)
786
+ .limit(pageSize)
787
+ .then((res) => res ?? [])
788
+ .catch((error) => {
789
+ throw new fsm_dynamo_1.DyFM_Error({
790
+ ...this._getDefaultErrorSettings('findWithPaging', error),
791
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-WP0`,
792
+ additionalContent: { filterBy, page, pageSize, sort },
793
+ message: `findWithPaging "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
794
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
795
+ });
796
+ });
797
+ /* if ((filterBy as DyFM_DBFilterSimple<T>)._deleted === undefined) {
798
+ dataList = dataList.filter((data: T): boolean => !data._deleted);
799
+ } */
800
+ return dataList.map((data) => this.stringifyDataId(data, 'find'));
801
+ }
802
+ /**
803
+ * #MONGOOSE FUNCTION
804
+ * Find data by _id and update
805
+ *
806
+ * @param id id
807
+ * @param update update
808
+ * @returns data
809
+ */
810
+ async findByIdAndUpdate(id, update, issuer, dontUpdateModified) {
811
+ if (this.dataParams.forbidModify) {
812
+ await this.modifyThrowMethod(update, issuer);
813
+ }
814
+ if (!dontUpdateModified) {
815
+ update.__lastModified = new Date();
816
+ update.__lastModifiedBy = issuer;
817
+ }
818
+ const data = await this.dataModel
819
+ .findByIdAndUpdate(id, update)
820
+ .then((res) => res?.toObject() ?? null)
821
+ .catch((error) => {
822
+ throw new fsm_dynamo_1.DyFM_Error({
823
+ ...this._getDefaultErrorSettings('findByIdAndUpdate', error, issuer),
824
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-FIU0`,
825
+ additionalContent: { id, update },
826
+ message: `findByIdAndUpdate "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
827
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
828
+ issuer,
829
+ });
830
+ });
831
+ return this.stringifyDataId(data, 'findByIdAndUpdate');
832
+ }
833
+ /**
834
+ * #MONGOOSE FUNCTION
835
+ * Atomi compare-and-set: filter-alapú find + update EGY műveletben, a MÓDOSÍTOTT dokumentum
836
+ * visszaadásával (BFR-FDPTOKENSERVICE-006).
837
+ *
838
+ * A `findByIdAndUpdate` (id-only, nem filterezhető) és az `updateOne` (filterezhető, de void —
839
+ * nem különíthető el a winner/loser konkurens state-átmenetnél) egyike sem elég CAS-hoz: egy
840
+ * state-machine `transitionStatus`-jellegű átmenetnél a filter a FELTÉTEL (pl. `{_id, status:
841
+ * 'locked'}`), és a visszatérő érték dönti el, hogy EZ a hívás nyerte-e az átmenetet.
842
+ * `null` = nincs match (a feltétel már nem áll — a versenytárs nyert / state-collision).
843
+ *
844
+ * A `__lastModified`/`forbidModify` szemantika a `findByIdAndUpdate`-tel EGYEZŐ (egységes
845
+ * update-viselkedés a base-ben); a `{ new: true }` a MÓDOSÍTOTT dokumentumot adja vissza.
846
+ */
847
+ async findOneAndUpdate(filterBy, update, issuer, dontUpdateModified) {
848
+ if (this.dataParams.forbidModify) {
849
+ await this.modifyThrowMethod(update, issuer);
850
+ }
851
+ if (!dontUpdateModified) {
852
+ update.__lastModified = new Date();
853
+ update.__lastModifiedBy = issuer;
854
+ }
855
+ const data = await this.dataModel
856
+ .findOneAndUpdate(filterBy, update, { new: true })
857
+ .then((res) => res?.toObject() ?? null)
858
+ .catch((error) => {
859
+ throw new fsm_dynamo_1.DyFM_Error({
860
+ ...this._getDefaultErrorSettings('findOneAndUpdate', error, issuer),
861
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-FOU0`,
862
+ additionalContent: { filterBy, update },
863
+ message: `findOneAndUpdate "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
864
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
865
+ issuer,
866
+ });
867
+ });
868
+ // no-match (CAS lost / feltétel nem áll): a null ÉRVÉNYES eredmény, nem hiba
869
+ if (!data) {
870
+ return null;
871
+ }
872
+ return this.stringifyDataId(data, 'findOneAndUpdate');
873
+ }
874
+ /**
875
+ * #MONGOOSE FUNCTION
876
+ * Find the data first by any of its parameters
877
+ *
878
+ * @param filter This uses the basic Mongoose updateOne.
879
+ * If you can, use unique parameters for find!
880
+ * @example
881
+ * // by email:
882
+ * { email: email }
883
+ * //
884
+ * @example
885
+ * // or by id that is in list:
886
+ * { userIds: { $in: this.userId } }
887
+ * // or by userIds:
888
+ * { userId: { $in: userIds } }
889
+ * //
890
+ * @example
891
+ * // or by number or Date that is Greater Than AND Less Than:
892
+ * { points: { $gt: 2, $lt: 14 } }
893
+ * // further tools (syntax matches with $gt):
894
+ * $eq: // Matches values that are EQual to a specified value.
895
+ * $gte: // Matches values that are Greater Than OR Equal to a specified value.
896
+ * $lte: // Matches values that are Less Than or Equal to a specified value.
897
+ * $ne: // Matches all values that are Not Equal to a specified value.
898
+ * $nin: // Matches None of the values specified IN an array.
899
+ * //
900
+ *
901
+ * @param update this uses the basic Mongoose updateOne
902
+ * @example
903
+ * // increase a specific value (here by 15):
904
+ * { $inc: { popularity: 15 } }
905
+ * //
906
+ * @example
907
+ * // or add element to a list:
908
+ * { $push: { reactions: this.newReaction }
909
+ * // or add multiple elements to a list
910
+ * { $push: { schedule: {$each: [ monday, tuesday, wednesday ] } } }
911
+ * //
912
+ * @example
913
+ * // or all at once
914
+ * {
915
+ * $inc: { popularity: this.newVote.amount },
916
+ * emailVerified: true,
917
+ * $push: { reactions: this.newReaction }
918
+ * }
919
+ * // further tools (syntax matches with $inc):
920
+ * $currentDate: // Sets the value of a field to current date, either as a Date or a Timestamp.
921
+ * $min: // Only updates the field if the specified value is less than the existing field value.
922
+ * $max: // Only updates the field if the specified value is greater than the existing field value.
923
+ * $mul: // Multiplies the value of the field by the specified amount.
924
+ * $rename: // Renames a field.
925
+ * $unset: // Removes the specified field from a document. (set: "" to value)
926
+ * //
927
+ */
928
+ async updateOne(filterBy, update, issuer, dontUpdateModified) {
929
+ if (this.dataParams.forbidModify) {
930
+ await this.modifyThrowMethod(update, issuer);
931
+ }
932
+ if (!dontUpdateModified) {
933
+ update.__lastModified = new Date();
934
+ update.__lastModifiedBy = issuer;
935
+ }
936
+ await this.dataModel
937
+ .updateOne(filterBy, update)
938
+ .catch((error) => {
939
+ throw new fsm_dynamo_1.DyFM_Error({
940
+ ...this._getDefaultErrorSettings('updateOne', error, issuer),
941
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-UO0`,
942
+ additionalContent: { filterBy, update },
943
+ message: `updateOne "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
944
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
945
+ issuer,
946
+ });
947
+ });
948
+ }
949
+ /**
950
+ * #MONGOOSE FUNCTION
951
+ * update one parameter by a specific
952
+ *
953
+ * @param filter This uses the basic Mongoose updateMany.
954
+ * @example
955
+ * // by email:
956
+ * { email: email }
957
+ * //
958
+ * @example
959
+ * // or by id that is in list:
960
+ * { userIds: { $in: this.userId } }
961
+ * // or by userIds:
962
+ * { userId: { $in: userIds } }
963
+ * //
964
+ * @example
965
+ * // or by number or Date that is Greater Than AND Less Than:
966
+ * { points: { $gt: 2, $lt: 14 } }
967
+ * // further tools (syntax matches with $gt):
968
+ * $eq: // Matches values that are EQual to a specified value.
969
+ * $gte: // Matches values that are Greater Than OR Equal to a specified value.
970
+ * $lte: // Matches values that are Less Than or Equal to a specified value.
971
+ * $ne: // Matches all values that are Not Equal to a specified value.
972
+ * $nin: // Matches None of the values specified IN an array.
973
+ * //
974
+ *
975
+ * @param update this uses the basic Mongoose updateOne
976
+ * @example
977
+ * // increase a specific value (here by 15):
978
+ * { $inc: { popularity: 15 } }
979
+ * //
980
+ * @example
981
+ * // or add element to a list:
982
+ * { $push: { reactions: this.newReaction }
983
+ * // or add multiple elements to a list
984
+ * { $push: { schedule: {$each: [ monday, tuesday, wednesday ] } } }
985
+ * //
986
+ * @example
987
+ * // or all at once
988
+ * {
989
+ * $inc: { popularity: this.newVote.amount },
990
+ * emailVerified: true,
991
+ * $push: { reactions: this.newReaction }
992
+ * }
993
+ * // further tools (syntax matches with $inc):
994
+ * $currentDate: // Sets the value of a field to current date, either as a Date or a Timestamp.
995
+ * $min: // Only updates the field if the specified value is less than the existing field value.
996
+ * $max: // Only updates the field if the specified value is greater than the existing field value.
997
+ * $mul: // Multiplies the value of the field by the specified amount.
998
+ * $rename: // Renames a field.
999
+ * $unset: // Removes the specified field from a document. (set: "" to value)
1000
+ * //
1001
+ */
1002
+ async updateMany(filterBy, update, issuer, dontUpdateModified) {
1003
+ if (this.dataParams.forbidModify) {
1004
+ await this.modifyThrowMethod(update, issuer);
1005
+ }
1006
+ if (!dontUpdateModified) {
1007
+ update.__lastModified = new Date();
1008
+ update.__lastModifiedBy = issuer;
1009
+ }
1010
+ await this.dataModel
1011
+ .updateMany(filterBy, update)
1012
+ .catch((error) => {
1013
+ throw new fsm_dynamo_1.DyFM_Error({
1014
+ ...this._getDefaultErrorSettings('updateMany', error, issuer),
1015
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-UM0`,
1016
+ additionalContent: { filterBy, update },
1017
+ message: `updateMany "${this.dataParams.dataName}" was unsuccessful (NTS DB)` +
1018
+ `\n error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(error)}`,
1019
+ issuer,
1020
+ });
1021
+ });
1022
+ }
1023
+ /**
1024
+ * {
1025
+ "mappings": {
1026
+ "dynamic": true,
1027
+ "fields": {
1028
+ "embedding": {
1029
+ "type": "knnVector",
1030
+ "dimensions": 768
1031
+ }
1032
+ }
1033
+ }
1034
+ }
1035
+ */
1036
+ /**
1037
+ *
1038
+ * @param set db.collection.aggregate([
1039
+ {
1040
+ $vectorSearch: {
1041
+ index: "index_neve",
1042
+ queryVector: [a keresett embedding],
1043
+ path: "title.embedding",
1044
+ numCandidates: 100,
1045
+ limit: 5
1046
+ }
1047
+ },
1048
+ {
1049
+ $vectorSearch: {
1050
+ index: "index_neve",
1051
+ queryVector: [a keresett embedding],
1052
+ path: "description.embedding",
1053
+ numCandidates: 100,
1054
+ limit: 5
1055
+ }
1056
+ }
1057
+ ]);
1058
+ * @returns
1059
+ */
1060
+ async aggregate(set) {
1061
+ return this.dataModel.aggregate(set);
1062
+ }
1063
+ // ----------------------------------------------------------------------------------
1064
+ // ----------------------------------------------------------------------------------
1065
+ // ----------------------------------------------------------------------------------
1066
+ // PRIVATE FUNCTIONS
1067
+ stringifyDataId(data, fnName) {
1068
+ // AT-REST field-decryption (opt-in): ez a KÖZÖS read+write post-processor (minden read + a
1069
+ // create/modify EREDMÉNYE is átmegy rajta), ezért itt fejtjük vissza az encrypt:true envelope-
1070
+ // mezőket load után. NO-OP, ha nincs encrypt:true mező (ugyanaz a referencia — nulla változás).
1071
+ data = field_encryption_util_1.DyNTS_FieldEncryption_Util.decryptDoc(data, this.dataParams.properties);
1072
+ if (data?._id && (typeof data._id !== 'string' || typeof data._id === 'object')) {
1073
+ data._id = `${data._id}`;
1074
+ if (typeof data._id !== 'string' || typeof data._id === 'object') {
1075
+ data = JSON.parse(JSON.stringify(data));
1076
+ if (typeof data._id !== 'string' || typeof data._id === 'object') {
1077
+ fsm_dynamo_1.DyFM_Log.error(`data._id stringifying failed! Please notfiy the DynamoNTS developers! (${fnName})`, new Error());
1078
+ }
1079
+ }
1080
+ }
1081
+ return data;
1082
+ }
1083
+ _getDefaultErrorSettings(fnName, error, issuer) {
1084
+ return {
1085
+ status: error?.___status ?? 500,
1086
+ message: error?.message ??
1087
+ error?._message ??
1088
+ `${fnName} was UNSUCCESSFUL (NTS-DB)`,
1089
+ addECToUserMsg: !error?.__userMessage,
1090
+ userMessage: error?.__userMessage ?? this.defaultErrorUserMsg,
1091
+ issuer: issuer,
1092
+ issuerService: this.serviceName,
1093
+ error: error,
1094
+ };
1095
+ }
1096
+ // ----------------------------------------------------------------------------------
1097
+ // PRIVATE BUILD FUNCTIONS
1098
+ /**
1099
+ * builds and returns mongoose schema
1100
+ * @returns schema
1101
+ */
1102
+ getSchema() {
1103
+ this.dataParams.properties = this.addMetadataToProperties(this.dataParams.properties);
1104
+ if (this.dataParams.dataName.includes(archive_util_1.DyNTS_archiveSuffix)) {
1105
+ this.dataParams.properties = this.addArchiveMetadataToProperties(this.dataParams.properties);
1106
+ }
1107
+ const schemaSettings = this.buildMongooseSchemaSettingsObjByModelParams(this.dataParams.properties);
1108
+ /* schema = this.addMetadataToSchema(schema); */
1109
+ /* if (this.dataParams.dataName.includes(DyNTS_archiveSuffix)) {
1110
+ schema = this.addArchiveMetadataToSchema(schema);
1111
+ } */
1112
+ if (schemaSettings['_id']) {
1113
+ delete schemaSettings['_id'];
1114
+ }
1115
+ return new mongoose_1.Schema(schemaSettings);
1116
+ }
1117
+ /**
1118
+ * builds mongoose schema building settings object by dynamoDataModelParamsList
1119
+ * @param properties DynamoNTSDataPropertyParams
1120
+ * @returns mongoose schema object
1121
+ */
1122
+ buildMongooseSchemaSettingsObjByModelParams(properties) {
1123
+ const schemaSettingsObj = {};
1124
+ /* if (!properties) {
1125
+ properties = this.dataParams.properties;
1126
+ } */
1127
+ Object.values(properties).forEach((property) => {
1128
+ if (!property) {
1129
+ fsm_dynamo_1.DyFM_Log.warn(`property is undefined on "${this.dataParams.dataName}" (NTS DB)`);
1130
+ return;
1131
+ }
1132
+ if (!property.key) {
1133
+ const missingKeys = Object.keys(properties).filter((key) => !properties[key].key);
1134
+ throw new fsm_dynamo_1.DyFM_Error({
1135
+ ...this._getDefaultErrorSettings('buildMongooseSchemaByModelParams', new Error(`property.key is undefined on "${this.dataParams.dataName}" (NTS DB) ` +
1136
+ `(keys: ${Object.keys(properties).join(', ')}) ` +
1137
+ `(missing keys: ${missingKeys.join(', ')})`)),
1138
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-BMSBP0`,
1139
+ additionalContent: {
1140
+ property: property,
1141
+ dataParams: this.dataParams,
1142
+ missingKeys: missingKeys,
1143
+ },
1144
+ });
1145
+ }
1146
+ if (property.forbidden) {
1147
+ return;
1148
+ }
1149
+ const beType = this.getBEType(property.type);
1150
+ /* TODO if (beType === Array && property.archiveable && !property.archiveListAfter) {
1151
+ property.archiveListAfter = DyNTS_global_settings.archiveListAfter;
1152
+ } */
1153
+ if (beType !== Object ||
1154
+ !property?.subObjectParams ||
1155
+ (property?.subObjectParams &&
1156
+ Object.keys(property.subObjectParams).length == 0)) {
1157
+ schemaSettingsObj[property.key] = {
1158
+ type: beType,
1159
+ };
1160
+ if (property.index) {
1161
+ schemaSettingsObj[property.key].index = true;
1162
+ }
1163
+ if (property.unique) {
1164
+ schemaSettingsObj[property.key].unique = true;
1165
+ }
1166
+ if (property.required) {
1167
+ schemaSettingsObj[property.key].required = true;
1168
+ }
1169
+ if (property.minlength) {
1170
+ schemaSettingsObj[property.key].minlength = property.minlength;
1171
+ }
1172
+ if (property.maxlength) {
1173
+ schemaSettingsObj[property.key].maxlength = property.maxlength;
1174
+ }
1175
+ }
1176
+ else {
1177
+ schemaSettingsObj[property.key] = this.buildMongooseSchemaSettingsObjByModelParams(property.subObjectParams);
1178
+ }
1179
+ });
1180
+ return schemaSettingsObj;
1181
+ }
1182
+ getBEType(type) {
1183
+ switch (type) {
1184
+ case fsm_dynamo_1.DyFM_BasicProperty_Type.string:
1185
+ return String;
1186
+ case fsm_dynamo_1.DyFM_BasicProperty_Type.number:
1187
+ return Number;
1188
+ case fsm_dynamo_1.DyFM_BasicProperty_Type.boolean:
1189
+ return Boolean;
1190
+ case fsm_dynamo_1.DyFM_BasicProperty_Type.date:
1191
+ return Date;
1192
+ case fsm_dynamo_1.DyFM_BasicProperty_Type.object:
1193
+ return Object;
1194
+ case fsm_dynamo_1.DyFM_BasicProperty_Type.array:
1195
+ return Array;
1196
+ case fsm_dynamo_1.DyFM_BasicProperty_Type.function:
1197
+ return Function;
1198
+ default:
1199
+ fsm_dynamo_1.DyFM_Log.H_info('wtf', fsm_dynamo_1.DyFM_Object.cleanObject(this.dataParams));
1200
+ throw new fsm_dynamo_1.DyFM_Error({
1201
+ error: new Error(`Invalid property type: "${type}" (${this.dataParams.dataName})` +
1202
+ (this.dataParams.constructed?.() ? '' : ('\nThe dataParams is not constructed properly! \n' +
1203
+ 'Use the DyFM_DataModel_Params.constructor to construct it properly!'))),
1204
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-GTP0`,
1205
+ additionalContent: { type: type, dataParams: this.dataParams },
1206
+ __localStack: this.dataParams.stackLocation,
1207
+ });
1208
+ }
1209
+ /* switch (type.toLocaleLowerCase()) {
1210
+ case DyFM_BasicProperty_Type.string:
1211
+ case 'string':
1212
+ return String;
1213
+
1214
+ case DyFM_BasicProperty_Type.number:
1215
+ case 'number':
1216
+ return Number;
1217
+
1218
+ case DyFM_BasicProperty_Type.boolean:
1219
+ case 'boolean':
1220
+ return Boolean;
1221
+
1222
+ case DyFM_BasicProperty_Type.date:
1223
+ case 'date':
1224
+ return Date;
1225
+
1226
+ case DyFM_BasicProperty_Type.object:
1227
+ case 'object':
1228
+ return Object;
1229
+
1230
+ case DyFM_BasicProperty_Type.array:
1231
+ case 'array':
1232
+ return Array;
1233
+
1234
+ default:
1235
+ if (type.includes('[]') || type.includes('array')) {
1236
+ return Array;
1237
+ } else if (type.includes('=>') || type.includes('function')) {
1238
+ return Function;
1239
+ } else {
1240
+ return Object;
1241
+ }
1242
+ } */
1243
+ }
1244
+ /**
1245
+ * adds dynamo metadata settings to any mongoose schema building settings object
1246
+ * @param schema schema to update
1247
+ * @returns updated schema
1248
+ */
1249
+ /* private addMetadataToSchema(schema: any): any {
1250
+ schema.__created = { type: Date };
1251
+ schema.__createdBy = { type: String };
1252
+ schema.__lastModified = { type: Date };
1253
+ schema.__lastModifiedBy = { type: String };
1254
+
1255
+ schema._deleted = { type: Date };
1256
+ schema._deletedBy = { type: String };
1257
+
1258
+ return schema;
1259
+ } */
1260
+ /**
1261
+ * adds dynamo metadata settings to any mongoose schema building settings object
1262
+ * @param properties properties to update
1263
+ * @returns updated properties
1264
+ */
1265
+ addMetadataToProperties(properties) {
1266
+ // TOD: ezek a kikommentelt "required: true"-k kellenek, csak félő, hogy gondokat okoznak a
1267
+ // jelenlegi rendszerekben, ezért akkor kell majd visszarakni, ha lesz tesztelői ÉS fejlesztői kapacitás rá
1268
+ if (!properties.__created) {
1269
+ properties.__created = {
1270
+ key: '__created', type: fsm_dynamo_1.DyFM_BasicProperty_Type.date /* , required: true */,
1271
+ };
1272
+ }
1273
+ if (!properties.__createdBy) {
1274
+ properties.__createdBy = {
1275
+ key: '__createdBy', type: fsm_dynamo_1.DyFM_BasicProperty_Type.string /* , required: true */,
1276
+ };
1277
+ }
1278
+ if (!properties.__lastModified) {
1279
+ properties.__lastModified = {
1280
+ key: '__lastModified', type: fsm_dynamo_1.DyFM_BasicProperty_Type.date /* , required: true */,
1281
+ };
1282
+ }
1283
+ if (!properties.__lastModifiedBy) {
1284
+ properties.__lastModifiedBy = {
1285
+ key: '__lastModifiedBy', type: fsm_dynamo_1.DyFM_BasicProperty_Type.string /* , required: true */,
1286
+ };
1287
+ }
1288
+ if (!properties._deleted) {
1289
+ properties._deleted = {
1290
+ key: '_deleted', type: fsm_dynamo_1.DyFM_BasicProperty_Type.date,
1291
+ };
1292
+ }
1293
+ if (!properties._deletedBy) {
1294
+ properties._deletedBy = {
1295
+ key: '_deletedBy', type: fsm_dynamo_1.DyFM_BasicProperty_Type.string,
1296
+ };
1297
+ }
1298
+ if (!properties._archived) {
1299
+ properties._archived = {
1300
+ key: '_archived', type: fsm_dynamo_1.DyFM_BasicProperty_Type.date,
1301
+ };
1302
+ }
1303
+ return properties;
1304
+ }
1305
+ /* private addArchiveMetadataToSchema(schema: any): any {
1306
+ schema._originalId = { type: String, required: true, index: true, unique: true };
1307
+ schema._archived = { type: Date, required: true };
1308
+
1309
+ return schema;
1310
+ } */
1311
+ addArchiveMetadataToProperties(properties) {
1312
+ if (!properties._originalId) {
1313
+ properties._originalId = {
1314
+ key: '_originalId', type: fsm_dynamo_1.DyFM_BasicProperty_Type.string,
1315
+ required: true, index: true, unique: true,
1316
+ };
1317
+ }
1318
+ if (!properties._archived) {
1319
+ properties._archived = {
1320
+ key: '_archived', type: fsm_dynamo_1.DyFM_BasicProperty_Type.date,
1321
+ required: true,
1322
+ };
1323
+ }
1324
+ else if (properties._archived.required === undefined) {
1325
+ properties._archived.required = true;
1326
+ }
1327
+ return properties;
1328
+ }
1329
+ /**
1330
+ * sets depDataKey
1331
+ */
1332
+ lookForDependencyDataSettings() {
1333
+ const dependencyParams = Object.values(this.dataParams.properties).filter((modelParams) => Boolean(modelParams.dependencyDataName));
1334
+ if (dependencyParams) {
1335
+ this.depKeys.push(...dependencyParams.map((dependencyParam) => dependencyParam.key));
1336
+ }
1337
+ }
1338
+ async deleteThrowMethod(data, issuer) {
1339
+ throw new fsm_dynamo_1.DyFM_Error({
1340
+ error: new Error(`Forbidden to delete any data! (${this.dataParams.dataName})`),
1341
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-CDAD`,
1342
+ additionalContent: { dataParams: this.dataParams, data: data },
1343
+ issuer: issuer,
1344
+ });
1345
+ }
1346
+ ;
1347
+ async modifyThrowMethod(data, issuer) {
1348
+ throw new fsm_dynamo_1.DyFM_Error({
1349
+ error: new Error(`Forbidden to modify any data! (${this.dataParams.dataName})`),
1350
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DBS-CDAD`,
1351
+ additionalContent: { dataParams: this.dataParams, data: data },
1352
+ issuer: issuer,
1353
+ });
1354
+ }
1355
+ }
1356
+ exports.DyNTS_DBService = DyNTS_DBService;
1357
1357
  //# sourceMappingURL=db.service.js.map