http-request-manager 18.15.34 → 18.16.1

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 (300) hide show
  1. package/fesm2022/http-request-manager.mjs +13688 -0
  2. package/fesm2022/http-request-manager.mjs.map +1 -0
  3. package/http-request-manager-18.16.0.tgz +0 -0
  4. package/package.json +15 -6
  5. package/types/http-request-manager.d.ts +3968 -0
  6. package/TEST_COVERAGE_SUMMARY.md +0 -458
  7. package/ng-package.json +0 -8
  8. package/src/docs/ADVANCED_WEBSOCKET.md +0 -633
  9. package/src/docs/ARCHITECTURE.md +0 -633
  10. package/src/docs/BATCH_REQUEST_README.md +0 -467
  11. package/src/docs/COMPLETE_API_REFERENCE.md +0 -1037
  12. package/src/docs/DATABASE_README.md +0 -1195
  13. package/src/docs/ENCRYPTION_README.md +0 -403
  14. package/src/docs/HTTP_MANAGER_README.md +0 -628
  15. package/src/docs/HTTP_SINGNALS_MANAGER_README.md +0 -654
  16. package/src/docs/HTTP_STATE_MANAGER_README.md +0 -1391
  17. package/src/docs/INTERCEPTOR_README.md +0 -549
  18. package/src/docs/LOCAL_STORAGE_README.md +0 -1056
  19. package/src/docs/LOCAL_STORAGE_SIGNALS_README.md +0 -338
  20. package/src/docs/LOGGER_README.md +0 -310
  21. package/src/docs/MESSAGE_TRACKER_README.md +0 -518
  22. package/src/docs/MESSAGE_TRACKER_SIGNALS_README.md +0 -563
  23. package/src/docs/MODELS_README.md +0 -1264
  24. package/src/docs/SIGNAL_SERVICES_README.md +0 -238
  25. package/src/docs/SQL_DIXIE_README.md +0 -574
  26. package/src/docs/STORE_STATE_MANAGER_README.md +0 -556
  27. package/src/docs/STORE_STATE_SIGNALS_README.md +0 -600
  28. package/src/docs/UPLOAD_REQUEST_README.md +0 -324
  29. package/src/docs/UTILS_README.md +0 -1604
  30. package/src/docs/WEBSOCKET_MESSAGE_SERVICE.md +0 -799
  31. package/src/docs/WEBSOCKET_SIGNALS_README.md +0 -641
  32. package/src/docs/WEBSOCKET_SINGLETON_REFACTORING.md +0 -201
  33. package/src/docs/WS_MANAGER_README.md +0 -613
  34. package/src/lib/http-request-manager.module.ts +0 -147
  35. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +0 -116
  36. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
  37. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +0 -255
  38. package/src/lib/http-request-services-demo/http-request-services-demo.component.html +0 -123
  39. package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +0 -6
  40. package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +0 -53
  41. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +0 -195
  42. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +0 -17
  43. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +0 -208
  44. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.html +0 -200
  45. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.scss +0 -17
  46. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.ts +0 -214
  47. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.html +0 -53
  48. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.scss +0 -60
  49. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.ts +0 -72
  50. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-download.module.ts +0 -28
  51. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.html +0 -10
  52. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.scss +0 -29
  53. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.ts +0 -100
  54. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/models/download-labels-model.ts +0 -22
  55. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.html +0 -8
  56. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.scss +0 -19
  57. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.ts +0 -26
  58. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app-session.model.ts +0 -30
  59. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app.model.ts +0 -19
  60. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/get-sample.model.ts +0 -25
  61. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-ai-prompt.ts +0 -19
  62. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-details.ts +0 -24
  63. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-info.ts +0 -30
  64. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client.model.ts +0 -49
  65. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-mapper-client-info.ts +0 -33
  66. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.html +0 -279
  67. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.scss +0 -24
  68. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.ts +0 -461
  69. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
  70. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  71. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
  72. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +0 -28
  73. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +0 -10
  74. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  75. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +0 -100
  76. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  77. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  78. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  79. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
  80. package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +0 -30
  81. package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +0 -19
  82. package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +0 -25
  83. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +0 -19
  84. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +0 -24
  85. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +0 -30
  86. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +0 -49
  87. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +0 -33
  88. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +0 -622
  89. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +0 -106
  90. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +0 -687
  91. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +0 -418
  92. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +0 -24
  93. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +0 -576
  94. package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +0 -89
  95. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.ts +0 -119
  96. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.css +0 -0
  97. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.html +0 -3
  98. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.ts +0 -16
  99. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.css +0 -0
  100. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.html +0 -3
  101. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.ts +0 -16
  102. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.css +0 -31
  103. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.html +0 -94
  104. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.scss +0 -41
  105. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.spec.ts +0 -203
  106. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.ts +0 -144
  107. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.css +0 -11
  108. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.html +0 -102
  109. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.spec.ts +0 -40
  110. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.ts +0 -230
  111. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.css +0 -30
  112. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.html +0 -172
  113. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.spec.ts +0 -31
  114. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.ts +0 -239
  115. package/src/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.ts +0 -31
  116. package/src/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.ts +0 -32
  117. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.css +0 -0
  118. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.html +0 -84
  119. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.ts +0 -40
  120. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/index.ts +0 -3
  121. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/jwt-token.service.ts +0 -62
  122. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/message-service-demo.service.ts +0 -83
  123. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/notification-service-demo.service.ts +0 -147
  124. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/state-service-demo.service.ts +0 -168
  125. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
  126. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  127. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
  128. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-download.module.ts +0 -28
  129. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.html +0 -10
  130. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  131. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.ts +0 -100
  132. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  133. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  134. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  135. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
  136. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app-session.model.ts +0 -30
  137. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app.model.ts +0 -19
  138. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/get-sample.model.ts +0 -25
  139. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.ts +0 -19
  140. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-details.ts +0 -24
  141. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.ts +0 -30
  142. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client.model.ts +0 -49
  143. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.ts +0 -33
  144. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.html +0 -380
  145. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.scss +0 -24
  146. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.ts +0 -410
  147. package/src/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.ts +0 -28
  148. package/src/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.ts +0 -49
  149. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.css +0 -0
  150. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.html +0 -23
  151. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.ts +0 -36
  152. package/src/lib/http-request-services-demo/store-state-signals-demo/store-state-signals-demo.component.ts +0 -161
  153. package/src/lib/http-request-services-demo/upload-demo/models/index.ts +0 -1
  154. package/src/lib/http-request-services-demo/upload-demo/models/upload-state.model.ts +0 -30
  155. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.html +0 -89
  156. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.scss +0 -160
  157. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.spec.ts +0 -101
  158. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.ts +0 -136
  159. package/src/lib/index.ts +0 -3
  160. package/src/lib/interceptors/credentials.interceptor.ts +0 -16
  161. package/src/lib/interceptors/index.ts +0 -6
  162. package/src/lib/interceptors/models/error-settings.model.ts +0 -22
  163. package/src/lib/interceptors/models/index.ts +0 -2
  164. package/src/lib/interceptors/proxy-debugger.interceptor.ts +0 -46
  165. package/src/lib/interceptors/request-error.interceptor.ts +0 -65
  166. package/src/lib/interceptors/request-header.interceptor.ts +0 -56
  167. package/src/lib/message-display/README.md +0 -509
  168. package/src/lib/message-display/index.ts +0 -4
  169. package/src/lib/message-display/models/action.model.ts +0 -27
  170. package/src/lib/message-display/models/communication-message.model.ts +0 -77
  171. package/src/lib/message-display/models/display-config.model.ts +0 -35
  172. package/src/lib/message-display/models/display-rule.interface.ts +0 -28
  173. package/src/lib/message-display/models/display-strategy.interface.ts +0 -8
  174. package/src/lib/message-display/models/index.ts +0 -6
  175. package/src/lib/message-display/models/slide.model.ts +0 -24
  176. package/src/lib/message-display/rules/default-display-rules.ts +0 -35
  177. package/src/lib/message-display/services/message-display-router.service.ts +0 -63
  178. package/src/lib/message-display/strategies/snackbar.strategy.ts +0 -46
  179. package/src/lib/models/batch-options.model.ts +0 -33
  180. package/src/lib/models/batch-progress.model.ts +0 -19
  181. package/src/lib/models/batch-request-state.model.ts +0 -40
  182. package/src/lib/models/batch-result.model.ts +0 -30
  183. package/src/lib/models/config-http-options.model.ts +0 -45
  184. package/src/lib/models/config-local-storage-options.model.ts +0 -27
  185. package/src/lib/models/config-options.model.ts +0 -27
  186. package/src/lib/models/config-token.model.ts +0 -9
  187. package/src/lib/models/data-type.enum.ts +0 -5
  188. package/src/lib/models/database-storage.model.ts +0 -24
  189. package/src/lib/models/index.ts +0 -16
  190. package/src/lib/models/retry-options.model.ts +0 -22
  191. package/src/lib/models/upload-validation-error.model.ts +0 -46
  192. package/src/lib/services/SQL-DixieJS service/dexie-query-executor.ts +0 -246
  193. package/src/lib/services/SQL-DixieJS service/dexie-sql.service.ts +0 -31
  194. package/src/lib/services/SQL-DixieJS service/index.ts +0 -4
  195. package/src/lib/services/SQL-DixieJS service/models/execution-plan.model.ts +0 -52
  196. package/src/lib/services/SQL-DixieJS service/models/index.ts +0 -3
  197. package/src/lib/services/SQL-DixieJS service/models/sql-errors.model.ts +0 -13
  198. package/src/lib/services/SQL-DixieJS service/models/sql-options.model.ts +0 -3
  199. package/src/lib/services/SQL-DixieJS service/query-planner.ts +0 -284
  200. package/src/lib/services/SQL-DixieJS service/schema-validator.ts +0 -217
  201. package/src/lib/services/SQL-DixieJS service/sql-parser.ts +0 -35
  202. package/src/lib/services/database-manager-service/database.manager.service.ts +0 -384
  203. package/src/lib/services/database-manager-service/db.storage.service.ts +0 -240
  204. package/src/lib/services/database-manager-service/index.ts +0 -4
  205. package/src/lib/services/database-manager-service/models/index.ts +0 -2
  206. package/src/lib/services/database-manager-service/models/table-schema.ts +0 -33
  207. package/src/lib/services/index.ts +0 -20
  208. package/src/lib/services/local-storage-manager-service/index.ts +0 -4
  209. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +0 -71
  210. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +0 -567
  211. package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.spec.ts +0 -67
  212. package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.ts +0 -437
  213. package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +0 -30
  214. package/src/lib/services/local-storage-manager-service/models/index.ts +0 -6
  215. package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +0 -35
  216. package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +0 -24
  217. package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +0 -32
  218. package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +0 -5
  219. package/src/lib/services/request-manager-services/README.md +0 -282
  220. package/src/lib/services/request-manager-services/http-manager-signals.service.ts +0 -674
  221. package/src/lib/services/request-manager-services/http-manager.service.spec.ts +0 -353
  222. package/src/lib/services/request-manager-services/http-manager.service.ts +0 -727
  223. package/src/lib/services/request-manager-services/index.ts +0 -8
  224. package/src/lib/services/request-manager-services/request-signals.service.ts +0 -372
  225. package/src/lib/services/request-manager-services/request.service.ts +0 -435
  226. package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +0 -17
  227. package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +0 -16
  228. package/src/lib/services/request-manager-services/rxjs-operators/index.ts +0 -4
  229. package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +0 -35
  230. package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +0 -468
  231. package/src/lib/services/request-manager-state-service/http-manager-state.store.spec.ts +0 -665
  232. package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +0 -2395
  233. package/src/lib/services/request-manager-state-service/index.ts +0 -3
  234. package/src/lib/services/request-manager-state-service/models/api-request.model.ts +0 -86
  235. package/src/lib/services/request-manager-state-service/models/index.ts +0 -14
  236. package/src/lib/services/request-manager-state-service/models/operation-result.model.ts +0 -18
  237. package/src/lib/services/request-manager-state-service/models/parsing-result.model.ts +0 -21
  238. package/src/lib/services/request-manager-state-service/models/request-options.model.ts +0 -37
  239. package/src/lib/services/request-manager-state-service/models/stream-config.model.ts +0 -20
  240. package/src/lib/services/request-manager-state-service/models/stream-event-metadata.model.ts +0 -23
  241. package/src/lib/services/request-manager-state-service/models/stream-event.model.ts +0 -23
  242. package/src/lib/services/request-manager-state-service/models/stream-output.model.ts +0 -23
  243. package/src/lib/services/request-manager-state-service/models/stream-progress.model.ts +0 -24
  244. package/src/lib/services/request-manager-state-service/models/stream-type.enum.ts +0 -13
  245. package/src/lib/services/request-manager-state-service/models/ws-options.model.ts +0 -42
  246. package/src/lib/services/store-state-manager-service/index.ts +0 -4
  247. package/src/lib/services/store-state-manager-service/models/index.ts +0 -3
  248. package/src/lib/services/store-state-manager-service/models/state-operation-result.model.ts +0 -30
  249. package/src/lib/services/store-state-manager-service/models/state-storage-options.model.ts +0 -24
  250. package/src/lib/services/store-state-manager-service/store-state-manager-signals.service.ts +0 -169
  251. package/src/lib/services/store-state-manager-service/store-state-manager.service.ts +0 -153
  252. package/src/lib/services/utils/app.service.spec.ts +0 -25
  253. package/src/lib/services/utils/app.service.ts +0 -21
  254. package/src/lib/services/utils/encryption/README.md +0 -79
  255. package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +0 -282
  256. package/src/lib/services/utils/encryption/encryption-test.service.ts +0 -39
  257. package/src/lib/services/utils/encryption/index.ts +0 -5
  258. package/src/lib/services/utils/encryption/random.ts +0 -81
  259. package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +0 -106
  260. package/src/lib/services/utils/headers.service.spec.ts +0 -80
  261. package/src/lib/services/utils/headers.service.ts +0 -18
  262. package/src/lib/services/utils/index.ts +0 -9
  263. package/src/lib/services/utils/logger.service.ts +0 -90
  264. package/src/lib/services/utils/models/index.ts +0 -4
  265. package/src/lib/services/utils/models/normalized-request-options.model.ts +0 -24
  266. package/src/lib/services/utils/models/path-tracker-state.model.ts +0 -20
  267. package/src/lib/services/utils/models/query-params-tracker-options.model.ts +0 -24
  268. package/src/lib/services/utils/models/query-tracker-state.model.ts +0 -23
  269. package/src/lib/services/utils/object-merger.service.spec.ts +0 -18
  270. package/src/lib/services/utils/object-merger.service.ts +0 -78
  271. package/src/lib/services/utils/path-query.service.spec.ts +0 -117
  272. package/src/lib/services/utils/path-query.service.ts +0 -69
  273. package/src/lib/services/utils/query-params-tracker.service.ts +0 -442
  274. package/src/lib/services/utils/random-color.utils.ts +0 -83
  275. package/src/lib/services/utils/utils.service.spec.ts +0 -165
  276. package/src/lib/services/utils/utils.service.ts +0 -192
  277. package/src/lib/services/ws-manager-service/index.ts +0 -13
  278. package/src/lib/services/ws-manager-service/message-tracker-signals.service.ts +0 -147
  279. package/src/lib/services/ws-manager-service/message-tracker.service.ts +0 -477
  280. package/src/lib/services/ws-manager-service/models/channel-info.model.ts +0 -29
  281. package/src/lib/services/ws-manager-service/models/channel-message-data.model.ts +0 -24
  282. package/src/lib/services/ws-manager-service/models/channel-message.model.ts +0 -36
  283. package/src/lib/services/ws-manager-service/models/channel-type.enum.ts +0 -6
  284. package/src/lib/services/ws-manager-service/models/communication-type.enum.ts +0 -5
  285. package/src/lib/services/ws-manager-service/models/index.ts +0 -10
  286. package/src/lib/services/ws-manager-service/models/notification-message.model.ts +0 -29
  287. package/src/lib/services/ws-manager-service/models/public-message.model.ts +0 -18
  288. package/src/lib/services/ws-manager-service/models/state-message.model.ts +0 -18
  289. package/src/lib/services/ws-manager-service/models/ws-user.model.ts +0 -38
  290. package/src/lib/services/ws-manager-service/services/index.ts +0 -4
  291. package/src/lib/services/ws-manager-service/services/websocket-message.service.ts +0 -129
  292. package/src/lib/services/ws-manager-service/services/websocket.service.ts +0 -434
  293. package/src/lib/services/ws-manager-service/websocket-service/index.ts +0 -1
  294. package/src/lib/services/ws-manager-service/websocket-service/websocket-manager.service.ts +0 -716
  295. package/src/lib/services/ws-manager-service/websocket-services-complete.spec.ts +0 -596
  296. package/src/lib/services/ws-manager-service/websocket-signals-manager.service.ts +0 -141
  297. package/src/public-api.ts +0 -19
  298. package/tsconfig.lib.json +0 -34
  299. package/tsconfig.lib.prod.json +0 -10
  300. package/tsconfig.spec.json +0 -14
@@ -1,239 +0,0 @@
1
- import { Component, inject, Input, OnInit, OnDestroy } from '@angular/core';
2
- import { NotificationServiceDemo } from '../../services/notification-service-demo.service';
3
- import { StateServiceDemo } from '../../services/state-service-demo.service';
4
- import { FormBuilder, FormControl, Validators } from '@angular/forms';
5
- import { Subject, takeUntil, filter, startWith, distinctUntilChanged, map, tap, combineLatest } from 'rxjs';
6
-
7
- @Component({
8
- selector: 'app-ws-notifications',
9
- templateUrl: './ws-notifications.component.html',
10
- styleUrls: ['./ws-notifications.component.css'],
11
- standalone: false
12
- })
13
- export class WsNotificationsComponent implements OnInit, OnDestroy {
14
-
15
- @Input() server!: string;
16
- @Input() wsServer!: string;
17
- @Input() jwtToken!: string;
18
- @Input() user!: any;
19
-
20
- private destroy$ = new Subject<void>();
21
-
22
- fb = inject(FormBuilder);
23
- notificationService = inject(NotificationServiceDemo);
24
- stateService = inject(StateServiceDemo);
25
-
26
- // Combine in-memory channels and today's DB channels, dedupe and strip prefix for display
27
- todaysNotificationChannels$ = combineLatest([
28
- this.notificationService.notificationChannels$.pipe(startWith([] as string[])),
29
- this.notificationService.todaysNotificationChannels$.pipe(startWith([] as string[]))
30
- ]).pipe(
31
- tap(([inMemory, fromDb]) => console.log('📢 In-memory channels:', inMemory, 'DB channels:', fromDb)),
32
- map(([inMemory, fromDb]) => {
33
- // Merge both sources and dedupe
34
- const allChannels = [...(inMemory || []), ...(fromDb || [])];
35
- const uniqueChannels = [...new Set(allChannels)]
36
- .filter(channel => channel.startsWith('MES-'))
37
- .map(channel => channel.replace('MES-', ''));
38
- return uniqueChannels.sort();
39
- }),
40
- tap(channels => console.log('📢 Combined channels for display:', channels)),
41
- distinctUntilChanged((prev, curr) => prev.length === curr.length && prev.every((v, i) => v === curr[i]))
42
- );
43
-
44
- // Track subscribed notification channels, strip prefix for display
45
- subscribedNotificationChannels$ = this.notificationService.subscribedNotificationChannels$.pipe(
46
- map(set => Array.from(set)
47
- .filter(channel => channel.startsWith('MES-'))
48
- .map(channel => channel.replace('MES-', ''))
49
- ),
50
- startWith([] as string[]),
51
- distinctUntilChanged((prev, curr) => prev.length === curr.length && prev.every((v, i) => v === curr[i]))
52
- );
53
-
54
- // Notification messages
55
- notificationMessages$ = this.notificationService.notificationMessages$;
56
-
57
- connectionStatus$ = this.stateService.connectionStatus$;
58
-
59
- /**
60
- * Helper to ensure channel has MES- prefix for outgoing communication
61
- */
62
- private toNotificationChannel(channel: string): string {
63
- return channel.startsWith('MES-') ? channel : `MES-${channel}`;
64
- }
65
-
66
- // Form for creating new notification channels
67
- newChannelName = this.fb.control<string>('', [Validators.required, Validators.minLength(2)]);
68
-
69
- // Channel connection selection
70
- selectedConnectionChannel = this.fb.control<string | null>(null);
71
- connectedChannel: string | null = null;
72
-
73
- // Table columns for notifications display
74
- displayedColumns: string[] = ['date', 'user', 'message'];
75
-
76
- // Form for date filter when subscribing
77
- dateFilter = this.fb.group({
78
- startDate: this.fb.control<Date | null>(null),
79
- endDate: this.fb.control<Date | null>(null),
80
- });
81
-
82
- // Form for sending notifications
83
- notificationForm = this.fb.group({
84
- content: this.fb.control<string | null>(null, Validators.required),
85
- });
86
-
87
- get content() {
88
- return this.notificationForm.get('content') as FormControl;
89
- }
90
-
91
- /**
92
- * Check if currently connected to a channel
93
- */
94
- isChannelConnected(subscribedChannels: string[]): boolean {
95
- return this.connectedChannel !== null && subscribedChannels.includes(this.connectedChannel);
96
- }
97
-
98
- /**
99
- * Connect to the selected channel
100
- */
101
- onConnectToChannel() {
102
- const channel = this.selectedConnectionChannel.value;
103
- if (!channel) return;
104
-
105
- this.connectedChannel = channel;
106
- this.onSubscribeToChannel(channel);
107
- }
108
-
109
- /**
110
- * Disconnect from the current channel
111
- */
112
- onDisconnectFromChannel() {
113
- if (this.connectedChannel) {
114
- this.onUnsubscribeFromChannel(this.connectedChannel);
115
- this.connectedChannel = null;
116
- }
117
- }
118
-
119
- ngOnInit() {
120
- // Request today's notification channels when connection is established
121
- this.connectionStatus$.pipe(
122
- filter(isConnected => isConnected),
123
- takeUntil(this.destroy$)
124
- ).subscribe(() => {
125
- // Request the list of today's notification channels from database
126
- this.notificationService.getTodaysNotificationChannels();
127
- });
128
- }
129
-
130
- ngOnDestroy() {
131
- this.destroy$.next();
132
- this.destroy$.complete();
133
- }
134
-
135
- /**
136
- * Create a new notification channel
137
- */
138
- onCreateChannel() {
139
- if (this.newChannelName.invalid) return;
140
-
141
- const channelName = this.newChannelName.value?.trim();
142
- if (channelName) {
143
- this.notificationService.createNotificationChannel(channelName);
144
- this.newChannelName.reset();
145
- }
146
- }
147
-
148
- /**
149
- * Define and load previous channels
150
- */
151
- onDefinePreviousChannels() {
152
- this.notificationService.definePreviousNotificationChannels();
153
- }
154
-
155
- /**
156
- * Subscribe to a notification channel with optional date filter
157
- */
158
- onSubscribeToChannel(channel: string) {
159
- const startDate = this.dateFilter.get('startDate')?.value as Date | null;
160
- const endDate = this.dateFilter.get('endDate')?.value as Date | null;
161
-
162
- const options: { startEpoch?: number; endEpoch?: number } = {};
163
-
164
- if (startDate) {
165
- // Set to start of day
166
- const startOfDay = new Date(startDate);
167
- startOfDay.setHours(0, 0, 0, 0);
168
- options.startEpoch = Math.floor(startOfDay.getTime() / 1000);
169
- }
170
- if (endDate) {
171
- // Set to end of day
172
- const endOfDay = new Date(endDate);
173
- endOfDay.setHours(23, 59, 59, 999);
174
- options.endEpoch = Math.floor(endOfDay.getTime() / 1000);
175
- }
176
-
177
- this.notificationService.subscribeToNotificationChannel(channel, options, this.user);
178
- }
179
-
180
- /**
181
- * Unsubscribe from a notification channel
182
- */
183
- onUnsubscribeFromChannel(channel: string) {
184
- this.notificationService.unsubscribeFromNotificationChannel(channel);
185
- }
186
-
187
- /**
188
- * Check if currently subscribed to a channel
189
- */
190
- isSubscribed(channel: string, subscribedChannels: string[]): boolean {
191
- return subscribedChannels.includes(channel);
192
- }
193
-
194
- /**
195
- * Handle chip click - toggle subscription state
196
- */
197
- onChipClick(channel: string, subscribedChannels: string[]) {
198
- const isCurrentlySubscribed = this.isSubscribed(channel, subscribedChannels);
199
- if (isCurrentlySubscribed) {
200
- this.onUnsubscribeFromChannel(channel);
201
- } else {
202
- this.onSubscribeToChannel(channel);
203
- }
204
- }
205
-
206
- /**
207
- * Send a notification
208
- */
209
- onSendNotification() {
210
- this.notificationForm.markAllAsTouched();
211
-
212
- if (this.notificationForm.invalid) return;
213
-
214
- const channel = this.connectedChannel;
215
- if (!channel) return;
216
-
217
- const messageContent = {
218
- message: this.content.value
219
- };
220
-
221
- this.notificationService.sendNotification(channel, messageContent, this.user);
222
- this.content.reset();
223
- }
224
-
225
- /**
226
- * Format epoch timestamp to readable date/time
227
- */
228
- formatTimestamp(epoch: number): string {
229
- return new Date(epoch * 1000).toLocaleString();
230
- }
231
-
232
- /**
233
- * Get today's date in YYYY-MM-DD format for date input default
234
- */
235
- getTodayDate(): string {
236
- return new Date().toISOString().split('T')[0];
237
- }
238
-
239
- }
@@ -1,31 +0,0 @@
1
- export interface OIDCClientInterface {
2
- spiffe: string
3
- id: number
4
- first_name: string
5
- last_name: string
6
- email: string
7
- }
8
-
9
- export class OIDCClient implements OIDCClientInterface {
10
-
11
- constructor(
12
- public spiffe: string = '',
13
- public id: number = 0,
14
- public first_name: string = '',
15
- public last_name: string = '',
16
- public email: string = '',
17
- ) {}
18
-
19
- static adapt(item?: any): OIDCClient {
20
-
21
- return new OIDCClient(
22
- item?.spiffe,
23
- item?.id,
24
- item?.first_name,
25
- item?.last_name,
26
- item?.email,
27
- )
28
-
29
- }
30
-
31
- }
@@ -1,32 +0,0 @@
1
- import { RandomPaletteColor } from "../../../services/utils/random-color.utils"
2
-
3
- export interface UserDataInterface {
4
- ldap: string
5
- name: string
6
- email: string
7
- color: string
8
- }
9
-
10
- export class UserData implements UserDataInterface {
11
-
12
- constructor(
13
- public ldap = '',
14
- public name = '',
15
- public email = '',
16
- public color = RandomPaletteColor(),
17
- ) {}
18
-
19
- static adapt(item?: any): UserData {
20
-
21
- const userName = `${item?.first_name} ${item?.last_name}`
22
-
23
- return new UserData(
24
- item?.ldap,
25
- userName,
26
- item?.email,
27
- item?.color,
28
- )
29
-
30
- }
31
-
32
- }
@@ -1,84 +0,0 @@
1
- <div style="margin: 2rem;">
2
-
3
- <h2 style="display: flex;">
4
- <span style="flex:1">HTTP Request State Manager - Websockets</span>
5
- @if ((connectionStatus$ | async); as connected) {
6
- <span>
7
- WS -
8
- <span style="color: green;">Connected</span>
9
- </span>
10
- } @else {
11
- <span style="color: red;">Disconnected {{ retryCount$ | async }} / {{ maxRetries$ | async }}</span>
12
- }
13
- </h2>
14
-
15
- <div>
16
-
17
- @if ((user$ | async); as userInfo) {
18
- <div>
19
- <mat-toolbar>
20
- <div style="display: flex; flex:1">
21
- <div style="flex:1">{{ userInfo.name }}</div>
22
- <div>({{ userInfo.ldap }})</div>
23
- </div>
24
- </mat-toolbar>
25
- </div>
26
- }
27
-
28
- @if (!(connectionStatus$ | async) && ((retryCount$ | async) ?? 0) < ((maxRetries$ | async) ?? 0)) {
29
- <div>
30
- <mat-progress-bar mode="indeterminate"></mat-progress-bar>
31
- </div>
32
- }
33
-
34
- <mat-tab-group animationDuration="0ms" [selectedIndex]="1">
35
-
36
- <mat-tab label="WS - Data Control" [disabled]="!(connectionStatus$ | async)">
37
- <!-- DATA CONTROL -->
38
- <app-ws-data-control
39
- [server]="server"
40
- [wsServer]="wsServer"
41
- [jwtToken]="jwtToken"
42
- [user]="user"
43
- [path]="path"
44
- ></app-ws-data-control>
45
-
46
- </mat-tab>
47
-
48
- <mat-tab label="WS - Messaging" [disabled]="!(connectionStatus$ | async)">
49
- <!-- MESSAGING -->
50
- <app-ws-messaging
51
- [server]="server"
52
- [wsServer]="wsServer"
53
- [jwtToken]="jwtToken"
54
- [user]="user"
55
- [path]="path"
56
- ></app-ws-messaging>
57
-
58
- </mat-tab>
59
-
60
- <mat-tab label="WS - Notifications" [disabled]="!(connectionStatus$ | async)">
61
- <!-- WS - Notifications -->
62
- <app-ws-notifications
63
- [server]="server"
64
- [wsServer]="wsServer"
65
- [jwtToken]="jwtToken"
66
- [user]="user"
67
- ></app-ws-notifications>
68
- </mat-tab>
69
-
70
- <mat-tab label="WS - Chats" [disabled]="true">
71
- <!-- WS - Chats -->
72
- <app-ws-chats></app-ws-chats>
73
- </mat-tab>
74
-
75
- <mat-tab label="WS - AI Messaging" [disabled]="true">
76
- <!-- WS - AI Messaging -->
77
- <app-ws-ai-messaging></app-ws-ai-messaging>
78
- </mat-tab>
79
-
80
- </mat-tab-group>
81
- </div>
82
-
83
- </div>
84
-
@@ -1,40 +0,0 @@
1
- import { Component, inject, OnInit, Input } from '@angular/core';
2
- import { FormBuilder } from '@angular/forms';
3
-
4
- import { HTTPManagerService } from '../../services/request-manager-services/http-manager.service';
5
- import { StateServiceDemo } from './services';
6
-
7
- @Component({
8
- selector: 'app-request-manager-ws-demo',
9
- templateUrl: './request-manager-ws-demo.component.html',
10
- styleUrls: ['./request-manager-ws-demo.component.css'],
11
- standalone: false
12
- })
13
- export class RequestManagerWsDemoComponent implements OnInit {
14
-
15
- httpManagerService = inject(HTTPManagerService)
16
- stateService = inject(StateServiceDemo)
17
-
18
- fb = inject(FormBuilder)
19
-
20
- @Input() server!: string;
21
- @Input() wsServer!: string;
22
- @Input() jwtToken!: string;
23
- @Input() user!: any;
24
- @Input() path: string[] = ['ai','tests'];
25
-
26
- user$ = this.stateService.user$
27
-
28
- retryCount$ = this.stateService.wsRetryCount$
29
- maxRetries$ = this.stateService.wsMaxRetries$
30
-
31
- connectionStatus$ = this.stateService.connectionStatus$
32
-
33
- data$ = this.stateService.data$;
34
- isPending$ = this.stateService.isPending$;
35
-
36
- ngOnInit() {
37
- this.stateService.updateConnection(this.server, this.wsServer, this.jwtToken, this.user, this.path);
38
- }
39
-
40
- }
@@ -1,3 +0,0 @@
1
- export { StateServiceDemo } from './state-service-demo.service';
2
- export { MessageServiceDemo } from './message-service-demo.service';
3
- export { NotificationServiceDemo, NotificationMessage } from './notification-service-demo.service';
@@ -1,62 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { HTTPManagerService, ApiRequest } from '../../../services';
4
- import { environment } from 'src/environments/environment';
5
- import { BehaviorSubject, filter, take } from 'rxjs';
6
-
7
- @Injectable({
8
- providedIn: 'root'
9
- })
10
- export class JwtTokenService extends HTTPManagerService<any> {
11
-
12
- options = ApiRequest.adapt({
13
- server: environment.baseUrl,
14
- path: ['jwt'],
15
- });
16
-
17
- private _token = ''
18
- private _tokenSubject = new BehaviorSubject<string>('');
19
- public token$ = this._tokenSubject.asObservable();
20
-
21
- get token() {
22
- return this._tokenSubject.getValue();
23
- }
24
-
25
- constructor() {
26
- super();
27
- this.fetchToken();
28
- }
29
-
30
- isTokenExpired(): boolean {
31
- // Check if token is empty or expired
32
- // You may want to add actual JWT expiry checking here
33
- const currentToken = this._tokenSubject.getValue();
34
- return !currentToken || currentToken === '';
35
- }
36
-
37
- getToken(): Observable<string> {
38
- this.fetchToken(); // Trigger HTTP request
39
- // Returns Observable that emits when token arrives (non-empty)
40
- // Completes after first emission via take(1) in consumer
41
- return this.token$.pipe(
42
- filter(token => !!token), // Wait until we have a non-empty token
43
- take(1) // Only take first valid token
44
- );
45
- }
46
-
47
- fetchToken(): void {
48
- this.getRequest(this.options)
49
- .subscribe((response: any) => {
50
- if (response && response.token) {
51
- this._token = response.token;
52
- this._tokenSubject.next(response.token);
53
- }
54
- });
55
- }
56
-
57
- forceRefresh(): void {
58
- this.fetchToken();
59
- }
60
-
61
-
62
- }
@@ -1,83 +0,0 @@
1
- import { Injectable, inject } from '@angular/core';
2
- import { ChannelMessage } from '../../../services/ws-manager-service/models/channel-message.model';
3
- import { StateServiceDemo } from './state-service-demo.service';
4
-
5
- /**
6
- * MessageServiceDemo - Channel messaging service (PUB- prefix channels)
7
- *
8
- * Handles:
9
- * - Sending messages to channels
10
- * - Channel subscription for messaging
11
- * - Real-time message broadcast
12
- */
13
- @Injectable({
14
- providedIn: 'root'
15
- })
16
- export class MessageServiceDemo {
17
-
18
- private stateService = inject(StateServiceDemo);
19
-
20
- // Expose observables from state service
21
- channels$ = this.stateService.channels$;
22
- subscribedChannels$ = this.stateService.subscribedChannels$;
23
- communicationMessages$ = this.stateService.communicationMessages$;
24
- latestCommunicationMessages$ = this.stateService.latestCommunicationMessages$;
25
- connectionStatus$ = this.stateService.connectionStatus$;
26
- user$ = this.stateService.user$;
27
- data$ = this.stateService.data$;
28
-
29
- /**
30
- * Helper to ensure channel has PUB- prefix
31
- */
32
- private toPublicChannel(channel: string): string {
33
- return channel.startsWith('PUB-') ? channel : `PUB-${channel}`;
34
- }
35
-
36
- /**
37
- * Helper to strip PUB- prefix for display
38
- */
39
- private fromPublicChannel(channel: string): string {
40
- return channel.startsWith('PUB-') ? channel.replace('PUB-', '') : channel;
41
- }
42
-
43
- /**
44
- * Create a new public channel
45
- */
46
- createChannel(channel: string) {
47
- const publicChannel = this.toPublicChannel(channel);
48
- this.stateService.createChannel(publicChannel);
49
- }
50
-
51
- /**
52
- * Get all available channels
53
- */
54
- getAllChannels() {
55
- this.stateService.getAllChannels();
56
- }
57
-
58
- /**
59
- * Subscribe to a channel to receive messages
60
- */
61
- subscribeToChannel(channel: string) {
62
- const publicChannel = this.toPublicChannel(channel);
63
- this.stateService.subscribeToChannel(publicChannel);
64
- }
65
-
66
- /**
67
- * Unsubscribe from a channel
68
- */
69
- unsubscribeFromChannel(channel: string) {
70
- const publicChannel = this.toPublicChannel(channel);
71
- this.stateService.unsubscribeFromChannel(publicChannel);
72
- }
73
-
74
- /**
75
- * Send a message to one or more channels
76
- */
77
- sendMessage(data: ChannelMessage, channels?: string[]) {
78
- const publicChannels = channels?.map(ch => this.toPublicChannel(ch));
79
- console.log('sendMessage', data, 'to channels:', publicChannels);
80
- this.stateService.wsMessaging(data, publicChannels);
81
- }
82
-
83
- }