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,403 +0,0 @@
1
- import { Component, OnInit, ViewChild, inject } from '@angular/core'
2
-
3
- import { BehaviorSubject, EMPTY, Observable, throwError } from 'rxjs'
4
- import { FormArray, FormBuilder, Validators } from '@angular/forms'
5
-
6
- import { ClientInfo } from './models/sample-client-info'
7
- import { ClientInfoMapper } from './models/sample-mapper-client-info'
8
- import { AIPrompt } from './models/sample-ai-prompt'
9
- import { ApiRequest, HTTPManagerService } from '../..'
10
- import { catchError, map, tap } from 'rxjs/operators'
11
-
12
- import { ToastColors, ToastDisplay, ToastMessageDisplayService } from 'toast-message-display'
13
-
14
- @Component({
15
- selector: 'app-request-manager-demo',
16
- templateUrl: './request-manager-demo.component.html',
17
- styleUrls: ['./request-manager-demo.component.scss'],
18
- })
19
- export class RequestManagerDemoComponent implements OnInit {
20
-
21
- displayedColumns = ['id','name', 'lastName', 'age']
22
-
23
- private fb = inject(FormBuilder)
24
- private toastMessage = inject(ToastMessageDisplayService)
25
-
26
- httpManagerService = inject(HTTPManagerService)
27
-
28
- isPending$ = this.httpManagerService.isPending$
29
- countdown$ = this.httpManagerService.countdown$
30
-
31
- GET_error$ = new BehaviorSubject<string>('')
32
- POST_error$ = new BehaviorSubject<string>('')
33
- PUT_error$ = new BehaviorSubject<string>('')
34
- DELETE_error$ = new BehaviorSubject<string>('')
35
-
36
- STREAM_error$ = new BehaviorSubject<string>('')
37
- STREAM_AI_error$ = new BehaviorSubject<string>('')
38
-
39
- GET$?: Observable<any>
40
- POST$?: Observable<any>
41
- PUT$?: Observable<any>
42
- DELETE$?: Observable<any>
43
-
44
- STREAM_AI$?: Observable<any>
45
- STREAM$?: Observable<any>
46
-
47
- requestParams = {
48
- GET: ApiRequest.adapt(),
49
- POST: ApiRequest.adapt(),
50
- PUT: ApiRequest.adapt(),
51
- DELETE: ApiRequest.adapt(),
52
- STREAM: ApiRequest.adapt(),
53
- }
54
-
55
- @ViewChild("failedState", { static: true }) failedState: any
56
- @ViewChild("pollingState", { static: true }) pollingState: any
57
-
58
- questionControl = this.fb.control("", [Validators.required])
59
-
60
- downloadRequest = ApiRequest.adapt({
61
- server: 'assets/images',
62
- path: ['me.jpg'],
63
- // saveAs: 'john.jpg' // Optional
64
- })
65
-
66
- // downloadRequest = ApiRequest.adapt({
67
- // server: 'oidc/ai/file'
68
- // })
69
-
70
- sampleClientData = {
71
- id: 0,
72
- name: "Old School Dates",
73
- domain: "osd.com",
74
- service: "osd",
75
- spiffe: "osd.com/osd",
76
- secret: "SMOPECXP-OS4P-USOG-X2II-3XMD1FQDR3IJX",
77
- created: 1693003138,
78
- modified: 1693003138,
79
- icon: "",
80
- imageFile: "",
81
- email: "wavecoders@gmail.com"
82
- }
83
-
84
- requestForm = this.fb.group({
85
- path: this.fb.control<string>("ai/"),
86
- headers: this.fb.array([]),
87
- adapter: [null],
88
- mapper: [null],
89
- retry: this.fb.group({
90
- times: [3],
91
- delay: [3],
92
- }),
93
- polling: [3],
94
- })
95
-
96
- AIType = 0
97
-
98
- sampleAdaptors = [
99
- { label: "ClientInfo Basic", value: ClientInfo.adapt },
100
- { label: "AI Prompt", value: AIPrompt.adapt },
101
- ]
102
-
103
- sampleMappers = [
104
- { label: "Mapper Basic", value: ClientInfoMapper.adapt },
105
- { label: "AI Prompt", value: AIPrompt.adapt },
106
- ]
107
-
108
- get retry() {
109
- return this.requestForm.get('retry')?.value
110
- }
111
-
112
- get headers(): FormArray {
113
- return this.requestForm.get('headers') as FormArray
114
- }
115
-
116
- get isValid() {
117
- this.requestForm.markAllAsTouched()
118
- return this.requestForm.valid
119
- }
120
-
121
- hasId = (arr: any[]) => {
122
- if (arr.length === 0) return false
123
- return !isNaN(arr[arr.length - 1])
124
- }
125
-
126
- props = (adapter: any) => {
127
- return (adapter) ? adapter() : null
128
- }
129
-
130
- // server = `http://sample-endpoint/as/authorization.oauth2`
131
-
132
- arrayObjectsToObjects = (arr: any[]) => {
133
- return Array.isArray(arr) ? arr.reduce((obj, item) => Object.assign(obj, { [item.key]: item.value }), {}) : {}
134
- }
135
-
136
- constructor() { }
137
-
138
- ngOnInit() {
139
-
140
- // const reqGet2 = ApiRequest.adapt({
141
- // server,
142
- // path: ['clients'],
143
- // headers: { authentication: "Bearer <KEY>" },
144
- // adapter: ClientInfo,
145
- // dataType: DataType.OBJECT,
146
- // // concurrent: false,
147
- // // polling: 3, //seconds
148
- // })
149
-
150
- // const req2 = [1024,1025,1026].map(item => {
151
- // return this.httpManagerService.getRequest<ClientInfo[]>(reqGet2, [item])
152
- // .pipe(
153
- // catchError(error => {
154
- // return throwError(() => new Error(error.error.message))
155
- // })
156
- // )
157
- // })
158
-
159
- // forkJoin(req2)
160
- // .subscribe(res => console.log(res))
161
-
162
- }
163
-
164
- addHeader() {
165
- const header = this.fb.group({
166
- key: ['', Validators.required],
167
- value: ['']
168
- })
169
- this.headers.push(header)
170
- }
171
-
172
- removeHeader(index: number) {
173
- this.headers.removeAt(index)
174
- }
175
-
176
- compileRequest() {
177
-
178
- const requestParams = this.requestForm.value
179
-
180
- requestParams.headers = this.arrayObjectsToObjects(
181
- requestParams.headers || []
182
- )
183
-
184
- const pathReq = (requestParams.path === "") ? [] : (requestParams.path || "").split("/")
185
-
186
- if (!this.pollingState.checked) requestParams.polling = 0
187
-
188
- if (!this.failedState.checked) {
189
- requestParams.retry = { times: 0,delay: 0 }
190
- }
191
-
192
- const apiOptions = ApiRequest.adapt(requestParams)
193
- apiOptions.path = []
194
-
195
- return { apiOptions: apiOptions, path: pathReq }
196
-
197
- }
198
-
199
- onGetRequest() {
200
-
201
- if(!this.isValid) return
202
-
203
- const reqParams = this.compileRequest()
204
-
205
- this.requestParams.GET = reqParams.apiOptions
206
-
207
- this.GET$ = EMPTY //Cancels Previous
208
- this.GET_error$.next('')
209
-
210
- this.GET$ = this.httpManagerService.getRequest<ClientInfo[]>(reqParams.apiOptions, reqParams.path)
211
- .pipe(
212
- // tap((data) => console.log("API GET response", data)),
213
- catchError(error => {
214
- return throwError(() => this.errorHandling(error, 'GET'))
215
- })
216
- )
217
-
218
- }
219
-
220
- onCreateRequest() {
221
-
222
- if(!this.isValid) return
223
-
224
- const reqParams = this.compileRequest()
225
- this.requestParams.POST = reqParams.apiOptions
226
-
227
- this.POST$ = EMPTY //Cancels Previous
228
- this.POST_error$.next('')
229
-
230
- console.log("POST", this.sampleClientData)
231
- console.log("POST", reqParams.apiOptions)
232
- console.log("POST", reqParams.path)
233
-
234
- this.POST$ = this.httpManagerService.postRequest<ClientInfo>(this.sampleClientData, reqParams.apiOptions, reqParams.path)
235
- .pipe(
236
- // tap((data) => console.log("API POST response", data)),
237
- catchError(error => {
238
- return throwError(() => this.errorHandling(error, 'POST'))
239
- })
240
- )
241
-
242
- }
243
-
244
- onUpdateRequest() {
245
-
246
- if(!this.isValid) return
247
-
248
- const reqParams = this.compileRequest()
249
-
250
- if(!this.hasId(reqParams.path)) {
251
- console.log("Missing ID")
252
- return
253
- }
254
-
255
- this.sampleClientData.id = parseInt(reqParams.path[reqParams.path.length-1])
256
- this.requestParams.PUT = reqParams.apiOptions
257
-
258
- this.PUT$ = EMPTY //Cancels Previous
259
- this.PUT_error$.next('')
260
-
261
- this.PUT$ = this.httpManagerService.putRequest<any>(this.sampleClientData, reqParams.apiOptions, reqParams.path)
262
- .pipe(
263
- // tap((data) => console.log("API PUT response", data)),
264
- catchError(error => {
265
- return throwError(() => this.errorHandling(error, 'PUT'))
266
- })
267
- )
268
-
269
- }
270
-
271
- onDeleteRequest() {
272
-
273
- if(!this.isValid) return
274
-
275
- const reqParams = this.compileRequest()
276
- this.requestParams.DELETE = reqParams.apiOptions
277
-
278
- if(!this.hasId(reqParams.path)) {
279
- console.log("Missing ID")
280
- return
281
- }
282
-
283
- this.sampleClientData.id = parseInt(reqParams.path[reqParams.path.length-1])
284
- this.requestParams.DELETE = reqParams.apiOptions
285
-
286
- this.DELETE$ = EMPTY //Cancels Previous
287
- this.DELETE_error$.next('')
288
-
289
- this.DELETE$ = this.httpManagerService.deleteRequest<ClientInfo>(reqParams.apiOptions, reqParams.path)
290
- .pipe(
291
- // tap((data) => console.log("API DELETE response", data)),
292
- catchError(error => {
293
- return throwError(() => this.errorHandling(error, 'DELETE'))
294
- })
295
- )
296
-
297
- }
298
-
299
- onStreamPostRequest() {
300
-
301
- if (!this.isValid) return
302
-
303
- const reqParams = this.compileRequest()
304
-
305
- let payload = {}
306
- let apiPath: string[] = reqParams.path
307
- let apiOptions = reqParams.apiOptions
308
- let responseMapper: (items: any) => any = (items) => items.response
309
-
310
- if (this.AIType === 0) {
311
-
312
- // API request
313
- payload = { prompt: this.questionControl.value }
314
-
315
- } else {
316
-
317
- // Local Ollama request
318
- apiOptions.server = "api"
319
- apiPath = ["generate"]
320
- apiOptions.stream = true
321
- payload = {
322
- model: "phi3:latest",
323
- prompt: this.questionControl.value,
324
- stream: true,
325
- }
326
-
327
- responseMapper = (items) => items.map((word: any) => word.response).flat().join('')
328
-
329
- }
330
-
331
- this.requestParams.STREAM = apiOptions
332
- this.STREAM_AI$ = EMPTY
333
- this.STREAM_AI_error$.next('')
334
-
335
- this.STREAM_AI$ = this.httpManagerService.postRequest<any>(payload, apiOptions, apiPath).pipe(
336
- map(responseMapper),
337
- tap(() => this.questionControl.reset()),
338
- catchError(error => throwError(() => this.errorHandling(error, 'STREAM')))
339
- )
340
-
341
- }
342
-
343
-
344
- onStreamRequest() {
345
-
346
- if(!this.isValid) return
347
-
348
- const reqParams = this.compileRequest()
349
-
350
- reqParams.apiOptions.stream = true
351
-
352
- this.requestParams.GET = reqParams.apiOptions
353
- this.STREAM$ = this.httpManagerService.getRequest<ClientInfo[]>(reqParams.apiOptions, reqParams.path)
354
- .pipe(
355
- // tap((data) => console.log("API STREAM response", data)),
356
- catchError(error => {
357
- return throwError(() => this.errorHandling(error, 'STREAM'))
358
- })
359
- )
360
-
361
- }
362
-
363
- onDownloadCompleted() {
364
-
365
- const message = "Download Completed"
366
-
367
- const display = ToastDisplay.adapt({
368
- message,
369
- action: 'Ok',
370
- color: ToastColors.SUCCESS,
371
- icon: 'sentiment_satisfied_alt',
372
- })
373
-
374
- this.toastMessage.toastMessage(display)
375
- }
376
-
377
- onDownloadFailed(err: string) {
378
-
379
- const message = "Download Failed"
380
-
381
- const display = ToastDisplay.adapt({
382
- message,
383
- action: 'Ok',
384
- color: ToastColors.ERROR,
385
- icon: 'warning',
386
- })
387
-
388
- this.toastMessage.toastMessage(display)
389
- }
390
-
391
- errorHandling(err: any, type: string) {
392
- if(type === 'GET') this.GET_error$.next(err.message)
393
- if(type === 'POST') this.POST_error$.next(err.message)
394
- if(type === 'PUT') this.PUT_error$.next(err.message)
395
- if(type === 'DELETE') this.DELETE_error$.next(err.message)
396
- if(type === 'STREAM') this.STREAM_error$.next(err.message)
397
- }
398
-
399
- onSelectAIType(type: number) {
400
- this.AIType = type
401
- }
402
-
403
- }