http-request-manager 15.0.26 → 18.0.2

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 (232) hide show
  1. package/esm2022/http-request-manager.mjs +5 -0
  2. package/esm2022/lib/http-request-manager.module.mjs +146 -0
  3. package/esm2022/lib/http-request-services-demo/database-data-demo/database-data-demo.component.mjs +71 -0
  4. package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +41 -0
  5. package/esm2022/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.mjs +173 -0
  6. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.mjs +80 -0
  7. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.mjs +42 -0
  8. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.mjs +88 -0
  9. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.mjs +11 -0
  10. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.mjs +29 -0
  11. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.mjs +9 -0
  12. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.mjs +12 -0
  13. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.mjs +14 -0
  14. package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +315 -0
  15. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +270 -0
  16. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +67 -0
  17. package/esm2022/lib/index.mjs +4 -0
  18. package/esm2022/lib/interceptors/credentials.interceptor.mjs +14 -0
  19. package/esm2022/lib/interceptors/index.mjs +5 -0
  20. package/esm2022/lib/interceptors/models/error-settings.model.mjs +10 -0
  21. package/esm2022/lib/interceptors/proxy-debugger.interceptor.mjs +47 -0
  22. package/esm2022/lib/interceptors/request-error.interceptor.mjs +49 -0
  23. package/esm2022/lib/interceptors/request-header.interceptor.mjs +41 -0
  24. package/esm2022/lib/models/config-http-options.model.mjs +18 -0
  25. package/esm2022/lib/models/config-local-storage-options.model.mjs +12 -0
  26. package/esm2022/lib/models/config-options.model.mjs +12 -0
  27. package/esm2022/lib/models/config-token.model.mjs +8 -0
  28. package/esm2022/lib/models/data-type.enum.mjs +7 -0
  29. package/esm2022/lib/models/database-storage.model.mjs +10 -0
  30. package/esm2022/lib/models/index.mjs +7 -0
  31. package/esm2022/lib/models/retry-options.model.mjs +10 -0
  32. package/esm2022/lib/services/database-manager-services/database.manager.service.mjs +119 -0
  33. package/esm2022/lib/services/database-manager-services/db.storage.service.mjs +143 -0
  34. package/esm2022/lib/services/database-manager-services/index.mjs +4 -0
  35. package/esm2022/lib/services/database-manager-services/models/table-schema.mjs +20 -0
  36. package/esm2022/lib/services/index.mjs +6 -0
  37. package/esm2022/lib/services/local-storage-manager-service/index.mjs +3 -0
  38. package/esm2022/lib/services/local-storage-manager-service/local-storage-manager.service.mjs +302 -0
  39. package/esm2022/lib/services/local-storage-manager-service/models/global-store-options.model.mjs +13 -0
  40. package/esm2022/lib/services/local-storage-manager-service/models/index.mjs +6 -0
  41. package/esm2022/lib/services/local-storage-manager-service/models/setting-options.model.mjs +13 -0
  42. package/esm2022/lib/services/local-storage-manager-service/models/storage-data.model.mjs +10 -0
  43. package/esm2022/lib/services/local-storage-manager-service/models/storage-option.model.mjs +12 -0
  44. package/esm2022/lib/services/local-storage-manager-service/models/storage-type.enum.mjs +7 -0
  45. package/esm2022/lib/services/request-manager-services/http-manager.service.mjs +207 -0
  46. package/esm2022/lib/services/request-manager-services/index.mjs +5 -0
  47. package/esm2022/lib/services/request-manager-services/request.service.mjs +189 -0
  48. package/esm2022/lib/services/request-manager-services/rxjs-operators/countdown.mjs +9 -0
  49. package/esm2022/lib/services/request-manager-services/rxjs-operators/delay-retry.mjs +10 -0
  50. package/esm2022/lib/services/request-manager-services/rxjs-operators/index.mjs +5 -0
  51. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-polling.mjs +14 -0
  52. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-streaming.mjs +19 -0
  53. package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +267 -0
  54. package/esm2022/lib/services/request-manager-state-service/index.mjs +3 -0
  55. package/esm2022/lib/services/request-manager-state-service/models/api-request.model.mjs +20 -0
  56. package/esm2022/lib/services/request-manager-state-service/models/index.mjs +3 -0
  57. package/esm2022/lib/services/request-manager-state-service/models/request-options.model.mjs +10 -0
  58. package/esm2022/lib/services/utils/app.service.mjs +26 -0
  59. package/esm2022/lib/services/utils/encryption/asymmetrical-encryption.service.mjs +186 -0
  60. package/esm2022/lib/services/utils/encryption/encryption-test.service.mjs +35 -0
  61. package/esm2022/lib/services/utils/encryption/index.mjs +4 -0
  62. package/esm2022/lib/services/utils/encryption/random.mjs +52 -0
  63. package/esm2022/lib/services/utils/encryption/symmetrical-encryption.service.mjs +77 -0
  64. package/esm2022/lib/services/utils/headers.service.mjs +21 -0
  65. package/esm2022/lib/services/utils/index.mjs +6 -0
  66. package/esm2022/lib/services/utils/object-merger.service.mjs +50 -0
  67. package/esm2022/lib/services/utils/path-query.service.mjs +54 -0
  68. package/esm2022/lib/services/utils/utils.service.mjs +155 -0
  69. package/esm2022/public-api.mjs +11 -0
  70. package/fesm2022/http-request-manager.mjs +3444 -0
  71. package/fesm2022/http-request-manager.mjs.map +1 -0
  72. package/http-request-manager-18.0.2.tgz +0 -0
  73. package/index.d.ts +5 -0
  74. package/lib/http-request-manager.module.d.ts +33 -0
  75. package/lib/http-request-services-demo/database-data-demo/database-data-demo.component.d.ts +19 -0
  76. package/lib/http-request-services-demo/http-request-services-demo.component.d.ts +24 -0
  77. package/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.d.ts +56 -0
  78. package/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.d.ts +26 -0
  79. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.d.ts +13 -0
  80. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.d.ts +27 -0
  81. package/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.d.ts +12 -0
  82. package/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.d.ts +16 -0
  83. package/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.d.ts +8 -0
  84. package/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.d.ts +14 -0
  85. package/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.d.ts +14 -0
  86. package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts +107 -0
  87. package/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.d.ts +122 -0
  88. package/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.d.ts +15 -0
  89. package/lib/index.d.ts +3 -0
  90. package/lib/interceptors/credentials.interceptor.d.ts +8 -0
  91. package/{src/lib/interceptors/index.ts → lib/interceptors/index.d.ts} +0 -2
  92. package/lib/interceptors/models/error-settings.model.d.ts +10 -0
  93. package/lib/interceptors/proxy-debugger.interceptor.d.ts +12 -0
  94. package/lib/interceptors/request-error.interceptor.d.ts +10 -0
  95. package/lib/interceptors/request-header.interceptor.d.ts +15 -0
  96. package/lib/models/config-http-options.model.d.ts +21 -0
  97. package/lib/models/config-local-storage-options.model.d.ts +13 -0
  98. package/lib/models/config-options.model.d.ts +12 -0
  99. package/{src/lib/models/config-token.model.ts → lib/models/config-token.model.d.ts} +1 -2
  100. package/lib/models/data-type.enum.d.ts +5 -0
  101. package/lib/models/database-storage.model.d.ts +10 -0
  102. package/lib/models/index.d.ts +6 -0
  103. package/lib/models/retry-options.model.d.ts +10 -0
  104. package/lib/services/database-manager-services/database.manager.service.d.ts +31 -0
  105. package/lib/services/database-manager-services/db.storage.service.d.ts +26 -0
  106. package/{src/lib/services/database-manager-services/index.ts → lib/services/database-manager-services/index.d.ts} +0 -1
  107. package/lib/services/database-manager-services/models/table-schema.d.ts +11 -0
  108. package/{src/lib/services/index.ts → lib/services/index.d.ts} +0 -4
  109. package/lib/services/local-storage-manager-service/index.d.ts +2 -0
  110. package/lib/services/local-storage-manager-service/local-storage-manager.service.d.ts +86 -0
  111. package/lib/services/local-storage-manager-service/models/global-store-options.model.d.ts +15 -0
  112. package/{src/lib/services/local-storage-manager-service/models/index.ts → lib/services/local-storage-manager-service/models/index.d.ts} +1 -2
  113. package/lib/services/local-storage-manager-service/models/setting-options.model.d.ts +15 -0
  114. package/lib/services/local-storage-manager-service/models/storage-data.model.d.ts +10 -0
  115. package/lib/services/local-storage-manager-service/models/storage-option.model.d.ts +13 -0
  116. package/lib/services/local-storage-manager-service/models/storage-type.enum.d.ts +5 -0
  117. package/lib/services/request-manager-services/http-manager.service.d.ts +41 -0
  118. package/{src/lib/services/request-manager-services/index.ts → lib/services/request-manager-services/index.d.ts} +0 -2
  119. package/lib/services/request-manager-services/request.service.d.ts +27 -0
  120. package/lib/services/request-manager-services/rxjs-operators/countdown.d.ts +2 -0
  121. package/lib/services/request-manager-services/rxjs-operators/delay-retry.d.ts +2 -0
  122. package/lib/services/request-manager-services/rxjs-operators/request-polling.d.ts +7 -0
  123. package/lib/services/request-manager-services/rxjs-operators/request-streaming.d.ts +2 -0
  124. package/lib/services/request-manager-state-service/http-manager-state.store.d.ts +51 -0
  125. package/{src/lib/services/request-manager-state-service/index.ts → lib/services/request-manager-state-service/index.d.ts} +0 -1
  126. package/lib/services/request-manager-state-service/models/api-request.model.d.ts +27 -0
  127. package/{src/lib/services/request-manager-state-service/models/index.ts → lib/services/request-manager-state-service/models/index.d.ts} +0 -1
  128. package/lib/services/request-manager-state-service/models/request-options.model.d.ts +10 -0
  129. package/lib/services/utils/app.service.d.ts +8 -0
  130. package/lib/services/utils/encryption/asymmetrical-encryption.service.d.ts +17 -0
  131. package/lib/services/utils/encryption/encryption-test.service.d.ts +10 -0
  132. package/{src/lib/services/utils/encryption/index.ts → lib/services/utils/encryption/index.d.ts} +0 -2
  133. package/lib/services/utils/encryption/random.d.ts +7 -0
  134. package/lib/services/utils/encryption/symmetrical-encryption.service.d.ts +14 -0
  135. package/lib/services/utils/headers.service.d.ts +10 -0
  136. package/{src/lib/services/utils/index.ts → lib/services/utils/index.d.ts} +0 -2
  137. package/lib/services/utils/object-merger.service.d.ts +12 -0
  138. package/lib/services/utils/path-query.service.d.ts +11 -0
  139. package/lib/services/utils/utils.service.d.ts +24 -0
  140. package/package.json +14 -1
  141. package/{src/public-api.ts → public-api.d.ts} +0 -7
  142. package/ng-package.json +0 -8
  143. package/src/lib/http-request-manager.module.ts +0 -101
  144. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +0 -3
  145. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
  146. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +0 -105
  147. package/src/lib/http-request-services-demo/http-request-services-demo.component.html +0 -64
  148. package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +0 -6
  149. package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +0 -34
  150. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +0 -195
  151. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +0 -17
  152. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +0 -205
  153. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +0 -59
  154. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  155. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +0 -71
  156. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +0 -28
  157. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +0 -10
  158. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  159. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +0 -99
  160. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  161. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  162. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  163. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +0 -25
  164. package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +0 -30
  165. package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +0 -19
  166. package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +0 -25
  167. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +0 -19
  168. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +0 -24
  169. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +0 -30
  170. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +0 -49
  171. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +0 -33
  172. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +0 -336
  173. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +0 -24
  174. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +0 -403
  175. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +0 -328
  176. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +0 -24
  177. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +0 -347
  178. package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +0 -88
  179. package/src/lib/index.ts +0 -3
  180. package/src/lib/interceptors/credentials.interceptor.ts +0 -18
  181. package/src/lib/interceptors/models/error-settings.model.ts +0 -22
  182. package/src/lib/interceptors/proxy-debugger.interceptor.ts +0 -46
  183. package/src/lib/interceptors/request-error.interceptor.ts +0 -65
  184. package/src/lib/interceptors/request-header.interceptor.ts +0 -58
  185. package/src/lib/models/config-http-options.model.ts +0 -42
  186. package/src/lib/models/config-local-storage-options.model.ts +0 -27
  187. package/src/lib/models/config-options.model.ts +0 -27
  188. package/src/lib/models/data-type.enum.ts +0 -5
  189. package/src/lib/models/database-storage.model.ts +0 -24
  190. package/src/lib/models/index.ts +0 -9
  191. package/src/lib/models/retry-options.model.ts +0 -22
  192. package/src/lib/services/database-manager-services/database.manager.service.ts +0 -193
  193. package/src/lib/services/database-manager-services/db.storage.service.ts +0 -191
  194. package/src/lib/services/database-manager-services/models/table-schema.ts +0 -35
  195. package/src/lib/services/local-storage-manager-service/index.ts +0 -2
  196. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +0 -71
  197. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +0 -421
  198. package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +0 -30
  199. package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +0 -30
  200. package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +0 -24
  201. package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +0 -29
  202. package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +0 -5
  203. package/src/lib/services/request-manager-services/README.md +0 -268
  204. package/src/lib/services/request-manager-services/http-manager.service.spec.ts +0 -230
  205. package/src/lib/services/request-manager-services/http-manager.service.ts +0 -274
  206. package/src/lib/services/request-manager-services/request.service.ts +0 -261
  207. package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +0 -17
  208. package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +0 -16
  209. package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +0 -21
  210. package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +0 -32
  211. package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +0 -402
  212. package/src/lib/services/request-manager-state-service/models/api-request.model.ts +0 -50
  213. package/src/lib/services/request-manager-state-service/models/request-options.model.ts +0 -22
  214. package/src/lib/services/utils/app.service.spec.ts +0 -25
  215. package/src/lib/services/utils/app.service.ts +0 -21
  216. package/src/lib/services/utils/encryption/README.md +0 -79
  217. package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +0 -282
  218. package/src/lib/services/utils/encryption/encryption-test.service.ts +0 -39
  219. package/src/lib/services/utils/encryption/random.ts +0 -69
  220. package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +0 -93
  221. package/src/lib/services/utils/headers.service.spec.ts +0 -80
  222. package/src/lib/services/utils/headers.service.ts +0 -18
  223. package/src/lib/services/utils/object-merger.service.spec.ts +0 -16
  224. package/src/lib/services/utils/object-merger.service.ts +0 -60
  225. package/src/lib/services/utils/path-query.service.spec.ts +0 -117
  226. package/src/lib/services/utils/path-query.service.ts +0 -69
  227. package/src/lib/services/utils/utils.service.spec.ts +0 -164
  228. package/src/lib/services/utils/utils.service.ts +0 -192
  229. package/tsconfig.lib.json +0 -32
  230. package/tsconfig.lib.prod.json +0 -10
  231. package/tsconfig.spec.json +0 -14
  232. /package/{src/lib/services/request-manager-services/rxjs-operators/index.ts → lib/services/request-manager-services/rxjs-operators/index.d.ts} +0 -0
@@ -1,88 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
-
3
- import { DataType, DatabaseStorage } from '../../../models';
4
- import { HTTPManagerStateService, ApiRequest, RequestOptions } from '../../../services';
5
-
6
- import { ClientInfo } from '../../request-manager-demo/models/sample-client-info';
7
- import { ClientInfoMapper } from '../../request-manager-demo/models/sample-mapper-client-info';
8
-
9
- @Injectable({
10
- providedIn: 'root'
11
- })
12
- export class StateManagerDemoService extends HTTPManagerStateService<any> {
13
-
14
- constructor() {
15
- super(
16
- ApiRequest.adapt({
17
- server: "",
18
- path: [],
19
- headers: {},
20
- adapter: ClientInfo.adapt,
21
- mapper: ClientInfoMapper.adapt,
22
- stream: false,
23
- }),
24
- DataType.ARRAY,
25
- DatabaseStorage.adapt()
26
- )
27
- }
28
-
29
- setAPIOptions(apiOptions: ApiRequest, dataType: DataType, database?: DatabaseStorage) {
30
- this.setApiRequestOptions(apiOptions, dataType, database)
31
- }
32
-
33
- getClients() {
34
-
35
- // const headers = {
36
- // auth: "sample-auth-token"
37
- // }
38
- // const sampleOptions = RequestOptions.adapt({ path: ["id", 12], headers, sample: true })
39
- this.fetchRecords()
40
-
41
- }
42
-
43
- createClient(data: any) {
44
-
45
- // const headers = {
46
- // auth: "sample-auth-token"
47
- // }
48
-
49
- // const sampleOptions = RequestOptions.adapt({ path: ["id", 12], headers, sample: true })
50
- this.createRecord(data)
51
-
52
- }
53
-
54
- updateClient(data: ClientInfo) {
55
-
56
- // const headers = {
57
- // auth: "sample-auth-token"
58
- // }
59
- data.id = 1031
60
- const sampleOptions = RequestOptions.adapt({ path: [data.id] })
61
- this.updateRecord(data, sampleOptions)
62
-
63
- }
64
-
65
- deleteClient(data: ClientInfo) {
66
-
67
- // const headers = {
68
- // auth: "sample-auth-token"
69
- // }
70
-
71
- data.id = 1031
72
- const sampleOptions = RequestOptions.adapt({ path: [data.id] })
73
- this.deleteRecord(sampleOptions)
74
-
75
- }
76
-
77
- streamRequest() {
78
-
79
- const headers = {
80
- auth: "sample-auth-token"
81
- }
82
-
83
- // const sampleOptions = RequestOptions.adapt({ path: [1], headers })
84
- this.fetchStream()
85
-
86
- }
87
-
88
- }
package/src/lib/index.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from "./services/index"
2
- export * from "./interceptors/index"
3
- export * from "./models/index"
@@ -1,18 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import {
3
- HttpEvent, HttpInterceptor, HttpHandler, HttpRequest
4
- } from '@angular/common/http';
5
-
6
- import { Observable } from 'rxjs';
7
-
8
- @Injectable()
9
- export class WithCredentialsInterceptor implements HttpInterceptor {
10
-
11
- intercept(req: HttpRequest<any>, next: HttpHandler):
12
- Observable<HttpEvent<any>> {
13
-
14
- req = req.clone({ withCredentials: true })
15
-
16
- return next.handle(req);
17
- }
18
- }
@@ -1,22 +0,0 @@
1
- export interface ErrorDisplaySettingsInterface {
2
- displayTime: number
3
- position: string
4
- }
5
-
6
- export class ErrorDisplaySettings implements ErrorDisplaySettingsInterface {
7
-
8
- constructor(
9
- public displayTime = 3 * 1000,
10
- public position = 'top'
11
- ) {}
12
-
13
- static adapt(item?: any): ErrorDisplaySettings {
14
-
15
- return new ErrorDisplaySettings(
16
- (item?.displayTime) ? item.displayTime * 1000 : 3 * 1000,
17
- item?.position,
18
- )
19
-
20
- }
21
-
22
- }
@@ -1,46 +0,0 @@
1
- import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
2
- import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
3
- import { Observable } from 'rxjs';
4
-
5
- export const PROXY_CONFIG = new InjectionToken<Record<string, any>>('PROXY_CONFIG');
6
-
7
- @Injectable()
8
- export class ProxyDebuggerInterceptor implements HttpInterceptor {
9
-
10
- constructor(@Optional() @Inject(PROXY_CONFIG) private proxyConfig: Record<string, any>) {}
11
-
12
- intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
13
-
14
- if (!this.proxyConfig) {
15
- return next.handle(req);
16
- }
17
-
18
- const headers = req.headers.keys().reduce((acc, key) => {
19
- acc[key] = req.headers.get(key) || '';
20
- return acc;
21
- }, {} as Record<string, string>);
22
-
23
- for (const proxyPath in this.proxyConfig) {
24
- if (this.proxyConfig.hasOwnProperty(proxyPath)) {
25
- const proxyDetails = this.proxyConfig[proxyPath];
26
- const regex = new RegExp('^' + proxyPath.replace('/', '').replace('*', '(.*)'));
27
-
28
- if (regex.test(req.url)) {
29
- const target = proxyDetails.target;
30
- const endpoint = req.url.replace(regex, '$1');
31
- const actualPath = target + '/' + endpoint;
32
-
33
- console.log('Request Proxied:', {
34
- requestUrl: req.url,
35
- requestPayload: req.body,
36
- headers: headers,
37
- proxyPath: proxyPath,
38
- actualPath: actualPath,
39
- });
40
- }
41
- }
42
- }
43
-
44
- return next.handle(req);
45
- }
46
- }
@@ -1,65 +0,0 @@
1
- import { inject, Injectable } from '@angular/core'
2
- import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpErrorResponse } from '@angular/common/http'
3
- import { Observable, catchError, throwError } from 'rxjs'
4
-
5
- import { ToastMessageDisplayService, ToastDisplay, ToastColors } from 'toast-message-display'
6
-
7
- @Injectable()
8
- export class RequestErrorInterceptor implements HttpInterceptor {
9
-
10
- toastMessage = inject(ToastMessageDisplayService)
11
-
12
- intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
13
-
14
- return next.handle(req).pipe(
15
-
16
- catchError((error: HttpErrorResponse) => {
17
-
18
- const displayError = ToastDisplay.adapt({
19
- message: 'This is a toast message. This is an Error!!',
20
- action: 'OK',
21
- color: ToastColors.SUCCESS,
22
- icon: 'info',
23
- duration: 5 * 1000, //5 seconds
24
- })
25
-
26
- if (error.status >= 400 && error.status < 500) {
27
-
28
- displayError.color = ToastColors.WARN
29
- displayError.message = error.error || `${error.status}: ${error.statusText}`
30
-
31
- console.error('Client Error:', {
32
- status: error.status,
33
- message: error.message,
34
- error: error.error,
35
- text: error.statusText,
36
- })
37
-
38
- this.toastMessage.toastMessage(displayError)
39
-
40
- } else if (error.status >= 500) {
41
-
42
- displayError.color = ToastColors.ERROR
43
- displayError.message = error.error || `${error.status}: ${error.statusText}`
44
-
45
- console.error('Server Error:', {
46
- status: error.status,
47
- message: error.message,
48
- error: error.error,
49
- text: error.statusText,
50
- })
51
-
52
- this.toastMessage.toastMessage(displayError)
53
-
54
- }
55
-
56
- return throwError(() => error)
57
-
58
- })
59
-
60
- )
61
- }
62
-
63
- }
64
-
65
-
@@ -1,58 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import {
3
- HttpRequest,
4
- HttpHandler,
5
- HttpEvent,
6
- HttpInterceptor,
7
- } from '@angular/common/http';
8
- import { Observable, Subscription } from 'rxjs';
9
- import { LangChangeEvent, TranslateService } from '@ngx-translate/core';
10
-
11
- @Injectable()
12
- export class RequestHeadersInterceptor implements HttpInterceptor {
13
-
14
- subscriptions = new Subscription()
15
- language = 'en-CA'
16
-
17
- get currentDate() {
18
-
19
- const date = new Date()
20
-
21
- const year = date.getFullYear()
22
- const month = String(date.getMonth() + 1).padStart(2, '0')
23
- const day = String(date.getDate()).padStart(2, '0')
24
-
25
- return `${year}-${month}-${day}`
26
-
27
- }
28
-
29
- constructor(
30
- private translate: TranslateService
31
- ) {
32
- this.subscriptions.add(
33
- this.translate.onLangChange
34
- .subscribe((params: LangChangeEvent) => {
35
- this.language = `${params.lang}-CA`
36
- })
37
- )
38
- }
39
-
40
- intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
41
-
42
- request = request.clone({
43
- setHeaders: {
44
- 'Content-Type': 'application/json',
45
- 'Accept-Language': this.language || 'en-CA',
46
- 'Current-Date': this.currentDate
47
- }
48
- })
49
-
50
- return next.handle(request)
51
-
52
- }
53
-
54
- ngOnDestroy() {
55
- this.subscriptions.unsubscribe()
56
- }
57
- }
58
-
@@ -1,42 +0,0 @@
1
- import { RetryOptions } from "./retry-options.model"
2
-
3
- export interface ConfigHTTPOptionsInterface {
4
- server: string
5
- path?: any[]
6
- headers?: any
7
- polling?: number // seconds (undefined | 0 = none)
8
- retry?: RetryOptions
9
- stream?: boolean
10
- displayError?: boolean
11
- }
12
-
13
- export class ConfigHTTPOptions implements ConfigHTTPOptionsInterface {
14
-
15
- constructor(
16
- public server = '',
17
- public path?: any[],
18
- public headers?: any,
19
- public polling?: number,
20
- public retry?: RetryOptions,
21
- public stream?: boolean,
22
- public displayError?: boolean,
23
- ) {}
24
-
25
- static adapt(item?: any): ConfigHTTPOptions {
26
-
27
- const server = Array.isArray(item?.server) ? item.server.join('/') : item?.server || '';
28
- const retryOptions = item?.retry ? RetryOptions.adapt(item.retry) : RetryOptions.adapt();
29
-
30
- return new ConfigHTTPOptions(
31
- server,
32
- (item?.path) ? item.path : [],
33
- (item?.headers) ? item.headers : {},
34
- item?.polling ? Math.floor(item.polling) : 0,
35
- retryOptions,
36
- (item?.stream) ? item.stream : false,
37
- (item?.displayError) ? item.displayError : false,
38
- )
39
-
40
- }
41
-
42
- }
@@ -1,27 +0,0 @@
1
- import { SettingOptions } from "../services"
2
-
3
- export interface LocalStorageOptionsInterface {
4
- storageName?: string
5
- storageSettingsName?: string
6
- options?: SettingOptions,
7
- }
8
-
9
- export class LocalStorageOptions implements LocalStorageOptionsInterface {
10
-
11
- constructor(
12
- public storageName?: string,
13
- public storageSettingsName?: string,
14
- public options?: SettingOptions,
15
- ) {}
16
-
17
- static adapt(item?: any): LocalStorageOptions {
18
-
19
- return new LocalStorageOptions(
20
- (item?.storageName) ? item.storageName : 'storage',
21
- (item?.storageSettingsName) ? item.storageSettingsName : 'global-storage',
22
- (item?.options) ? SettingOptions.adapt(item.options) : SettingOptions.adapt(),
23
- )
24
-
25
- }
26
-
27
- }
@@ -1,27 +0,0 @@
1
- import { ConfigHTTPOptions } from "./config-http-options.model";
2
- import { LocalStorageOptions } from "./config-local-storage-options.model";
3
-
4
- export interface ConfigOptionsInterface {
5
- httpRequestOptions?: ConfigHTTPOptions
6
- LocalStorageOptions?: LocalStorageOptions
7
- // DatabaseOptions: any
8
- }
9
-
10
- export class ConfigOptions implements ConfigOptionsInterface {
11
-
12
- constructor(
13
- public httpRequestOptions?: ConfigHTTPOptions,
14
- public LocalStorageOptions?: LocalStorageOptions,
15
- // public DatabaseOptions?: any,
16
- ) {}
17
-
18
- static adapt(item?: any): ConfigOptions {
19
- return new ConfigOptions(
20
- (item?.httpRequestOptions) ? ConfigHTTPOptions.adapt(item.httpRequestOptions) : undefined,
21
- (item?.LocalStorageOptions) ? LocalStorageOptions.adapt(item.LocalStorageOptions) : undefined,
22
- // item?.DatabaseOptions,
23
- )
24
-
25
- }
26
-
27
- }
@@ -1,5 +0,0 @@
1
- export enum DataType {
2
- ANY = 0,
3
- ARRAY,
4
- OBJECT
5
- }
@@ -1,24 +0,0 @@
1
- import { DataType } from "./data-type.enum"
2
-
3
- export interface DatabaseStorageInterface {
4
- table: string
5
- expiresIn: string
6
- }
7
-
8
- export class DatabaseStorage implements DatabaseStorageInterface {
9
-
10
- constructor(
11
- public table = '',
12
- public expiresIn: '',
13
- ) {}
14
-
15
- static adapt(item?: any): DatabaseStorage {
16
-
17
- return new DatabaseStorage(
18
- item?.table,
19
- item?.expiresIn,
20
- )
21
-
22
- }
23
-
24
- }
@@ -1,9 +0,0 @@
1
- export * from './database-storage.model'
2
- export * from './retry-options.model'
3
-
4
- export * from './data-type.enum'
5
-
6
- export * from './config-http-options.model'
7
- export * from './config-local-storage-options.model'
8
- export * from './config-options.model'
9
-
@@ -1,22 +0,0 @@
1
- export interface RetryOptionsInterface {
2
- times?: number // total request to be made including initial request
3
- delay?: number // seconds (<= 3 default 3 seconds)
4
- }
5
-
6
- export class RetryOptions implements RetryOptionsInterface {
7
-
8
- constructor(
9
- public times = 0,
10
- public delay = 3,
11
- ) {}
12
-
13
- static adapt(item?: any): RetryOptions {
14
-
15
- return new RetryOptions(
16
- item?.times,
17
- item?.delay
18
- )
19
-
20
- }
21
-
22
- }
@@ -1,193 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { DbService } from './db.storage.service';
3
-
4
- import { TableSchemaDef } from './models/table-schema';
5
- import { EMPTY, from, Observable } from 'rxjs';
6
- import { map, mergeMap, switchMap } from 'rxjs/operators';
7
-
8
- @Injectable({
9
- providedIn: 'root'
10
- })
11
- export class DatabaseManagerService extends DbService {
12
-
13
- constructor() {
14
- super()
15
- this.createNewDatabase()
16
- }
17
-
18
- getDatabaseTables() {
19
- return from(this.DBOpened()).pipe(
20
- map(() => this.db.tables.map(item => item.name))
21
- )
22
- }
23
-
24
- hasDatabaseTable(table: string): Observable<boolean> {
25
- return from(this.DBOpened()).pipe(
26
- map(() => {
27
- return this.tableExists(this.clean(table))
28
- })
29
- )
30
- }
31
-
32
- getDatabaseTable(table: string): Observable<any> {
33
- return from(this.DBOpened()).pipe(
34
- map((res) => {
35
- this.hasDatabase().then((res) => {
36
-
37
- const tables = this.db.tables
38
- const found = tables.find(item => item.name === this.clean(table)) || null
39
-
40
- if(!found) {
41
- console.warn('No Such Table:', this.clean(table))
42
- return
43
- } else {
44
- return found
45
- }
46
-
47
- })
48
- })
49
- )
50
- }
51
-
52
- getDatabaseTableSchema(table: string): Observable<string[]> {
53
-
54
- return from(this.DBOpened()).pipe(
55
- mergeMap((res) => this.getDatabaseTable(table)),
56
- map((dbTable: any) => {
57
- if(!dbTable) return []
58
- const cols = dbTable.schema.indexes.map((col: any) => col.name)
59
- const pri = dbTable.schema.primKey.name
60
- return [pri, ...cols]
61
- })
62
- )
63
-
64
- }
65
-
66
- createDatabaseTable(tableDef: TableSchemaDef) {
67
- this.createTable(tableDef.table, tableDef.schema)
68
- return from(this.DBOpened())
69
- }
70
-
71
- updateDatabaseTableSchema(tableDef: TableSchemaDef) {
72
-
73
- }
74
-
75
- // CRUD
76
- findTableRecords(table: string, column: string, value: any) {
77
-
78
- }
79
-
80
- findTableRecord(table: string, column: string, value: any) {
81
-
82
- }
83
-
84
- getTableRecords(table: string) {
85
-
86
- }
87
-
88
- getTableRecord(table: string, id: number) {
89
-
90
- }
91
-
92
- createTableRecord(table: string, record: any) {
93
- return this.createTableRecords(table, [record])
94
- .pipe(
95
- map((item: any) => item ? item[0] : null))
96
- }
97
-
98
- createTableRecords(table: string, records: any[]) {
99
-
100
- return this.getDatabaseTable(table).pipe(
101
-
102
- switchMap((tableData: any) => {
103
-
104
- if(!tableData) return EMPTY
105
-
106
- return this.getDatabaseTableSchema(table).pipe(
107
-
108
- map((schema: string[]) => {
109
-
110
- const insertRecords = records.map((record: any) => {
111
-
112
- const objectFromSchema: { [key: string]: any } = {}
113
-
114
- schema.forEach((field: string) => {
115
- const data = (record as any)[field] ?? null
116
- objectFromSchema[field] = data
117
- })
118
-
119
- return objectFromSchema
120
-
121
- })
122
-
123
- tableData.bulkPut(insertRecords)
124
- return insertRecords
125
-
126
- })
127
-
128
- )
129
-
130
- })
131
-
132
- )
133
-
134
- }
135
-
136
- updateTableRecord(table: string, record: any) {
137
- return this.updateTableRecords(table, [record])
138
- .pipe(
139
- map(item => item.length > 0 ? item[0] : null)
140
- )
141
- }
142
-
143
- updateTableRecords(table: string, records: any[]) {
144
-
145
- return this.getDatabaseTable(table).pipe(
146
-
147
- switchMap((tableData: any) => {
148
-
149
- return this.getDatabaseTableSchema(table).pipe(
150
-
151
- map((schema: string[]) => {
152
-
153
- const insertRecords = records.map((record: any) => {
154
-
155
- const objectFromSchema: { [key: string]: any } = {}
156
-
157
- schema.forEach((field: string) => {
158
- const data = (record as any)[field] ?? null
159
- objectFromSchema[field] = data
160
- })
161
-
162
- return objectFromSchema
163
-
164
- })
165
-
166
- tableData.bulkPut(insertRecords).then(() => console.log('Updated DB'))
167
- return insertRecords
168
-
169
- })
170
-
171
- )
172
-
173
- })
174
-
175
- )
176
-
177
- }
178
-
179
- deleteTableRecord<T>(table: string, id: number) {
180
-
181
- }
182
-
183
- private clean(str: string): string {
184
- const cleanStr = str
185
- .replace(/[^a-zA-Z0-9\s]/g, '_') // Replace non-alphanumeric characters except spaces with underscores
186
- .replace(/\s+/g, '_') // Replace spaces with underscores
187
- .toLowerCase() // Convert to lowercase
188
- .trim(); // Trim leading or trailing spaces
189
-
190
- return cleanStr;
191
- }
192
-
193
- }