http-request-manager 15.0.24 → 15.0.26

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/ng-package.json +8 -0
  2. package/package.json +1 -14
  3. package/src/lib/http-request-manager.module.ts +101 -0
  4. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +3 -0
  5. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
  6. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +105 -0
  7. package/src/lib/http-request-services-demo/http-request-services-demo.component.html +64 -0
  8. package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +6 -0
  9. package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +34 -0
  10. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +195 -0
  11. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +17 -0
  12. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +205 -0
  13. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +59 -0
  14. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +60 -0
  15. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +71 -0
  16. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +28 -0
  17. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +10 -0
  18. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +29 -0
  19. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +99 -0
  20. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +22 -0
  21. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +8 -0
  22. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +19 -0
  23. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +25 -0
  24. package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +30 -0
  25. package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +19 -0
  26. package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +25 -0
  27. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +19 -0
  28. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +24 -0
  29. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +30 -0
  30. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +49 -0
  31. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +33 -0
  32. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +336 -0
  33. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +24 -0
  34. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +403 -0
  35. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +328 -0
  36. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +24 -0
  37. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +347 -0
  38. package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +88 -0
  39. package/src/lib/index.ts +3 -0
  40. package/src/lib/interceptors/credentials.interceptor.ts +18 -0
  41. package/{lib/interceptors/index.d.ts → src/lib/interceptors/index.ts} +2 -0
  42. package/src/lib/interceptors/models/error-settings.model.ts +22 -0
  43. package/src/lib/interceptors/proxy-debugger.interceptor.ts +46 -0
  44. package/src/lib/interceptors/request-error.interceptor.ts +65 -0
  45. package/src/lib/interceptors/request-header.interceptor.ts +58 -0
  46. package/src/lib/models/config-http-options.model.ts +42 -0
  47. package/src/lib/models/config-local-storage-options.model.ts +27 -0
  48. package/src/lib/models/config-options.model.ts +27 -0
  49. package/{lib/models/config-token.model.d.ts → src/lib/models/config-token.model.ts} +2 -1
  50. package/src/lib/models/data-type.enum.ts +5 -0
  51. package/src/lib/models/database-storage.model.ts +24 -0
  52. package/src/lib/models/index.ts +9 -0
  53. package/src/lib/models/retry-options.model.ts +22 -0
  54. package/src/lib/services/database-manager-services/database.manager.service.ts +193 -0
  55. package/src/lib/services/database-manager-services/db.storage.service.ts +191 -0
  56. package/{lib/services/database-manager-services/index.d.ts → src/lib/services/database-manager-services/index.ts} +1 -0
  57. package/src/lib/services/database-manager-services/models/table-schema.ts +35 -0
  58. package/{lib/services/index.d.ts → src/lib/services/index.ts} +4 -0
  59. package/src/lib/services/local-storage-manager-service/index.ts +2 -0
  60. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +71 -0
  61. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +421 -0
  62. package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +30 -0
  63. package/{lib/services/local-storage-manager-service/models/index.d.ts → src/lib/services/local-storage-manager-service/models/index.ts} +2 -1
  64. package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +30 -0
  65. package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +24 -0
  66. package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +29 -0
  67. package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +5 -0
  68. package/src/lib/services/request-manager-services/README.md +268 -0
  69. package/src/lib/services/request-manager-services/http-manager.service.spec.ts +230 -0
  70. package/src/lib/services/request-manager-services/http-manager.service.ts +274 -0
  71. package/{lib/services/request-manager-services/index.d.ts → src/lib/services/request-manager-services/index.ts} +2 -0
  72. package/src/lib/services/request-manager-services/request.service.ts +261 -0
  73. package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +17 -0
  74. package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +16 -0
  75. package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +21 -0
  76. package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +32 -0
  77. package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +402 -0
  78. package/{lib/services/request-manager-state-service/index.d.ts → src/lib/services/request-manager-state-service/index.ts} +1 -0
  79. package/src/lib/services/request-manager-state-service/models/api-request.model.ts +50 -0
  80. package/{lib/services/request-manager-state-service/models/index.d.ts → src/lib/services/request-manager-state-service/models/index.ts} +1 -0
  81. package/src/lib/services/request-manager-state-service/models/request-options.model.ts +22 -0
  82. package/src/lib/services/utils/app.service.spec.ts +25 -0
  83. package/src/lib/services/utils/app.service.ts +21 -0
  84. package/src/lib/services/utils/encryption/README.md +79 -0
  85. package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +282 -0
  86. package/src/lib/services/utils/encryption/encryption-test.service.ts +39 -0
  87. package/{lib/services/utils/encryption/index.d.ts → src/lib/services/utils/encryption/index.ts} +2 -0
  88. package/src/lib/services/utils/encryption/random.ts +69 -0
  89. package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +93 -0
  90. package/src/lib/services/utils/headers.service.spec.ts +80 -0
  91. package/src/lib/services/utils/headers.service.ts +18 -0
  92. package/{lib/services/utils/index.d.ts → src/lib/services/utils/index.ts} +2 -0
  93. package/src/lib/services/utils/object-merger.service.spec.ts +16 -0
  94. package/src/lib/services/utils/object-merger.service.ts +60 -0
  95. package/src/lib/services/utils/path-query.service.spec.ts +117 -0
  96. package/src/lib/services/utils/path-query.service.ts +69 -0
  97. package/src/lib/services/utils/utils.service.spec.ts +164 -0
  98. package/src/lib/services/utils/utils.service.ts +192 -0
  99. package/{public-api.d.ts → src/public-api.ts} +7 -0
  100. package/tsconfig.lib.json +32 -0
  101. package/tsconfig.lib.prod.json +10 -0
  102. package/tsconfig.spec.json +14 -0
  103. package/esm2022/http-request-manager.mjs +0 -5
  104. package/esm2022/lib/http-request-manager.module.mjs +0 -146
  105. package/esm2022/lib/http-request-services-demo/database-data-demo/database-data-demo.component.mjs +0 -71
  106. package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +0 -41
  107. package/esm2022/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.mjs +0 -173
  108. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.mjs +0 -80
  109. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.mjs +0 -42
  110. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.mjs +0 -88
  111. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.mjs +0 -11
  112. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.mjs +0 -29
  113. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.mjs +0 -9
  114. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.mjs +0 -12
  115. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.mjs +0 -14
  116. package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +0 -315
  117. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +0 -270
  118. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +0 -67
  119. package/esm2022/lib/index.mjs +0 -4
  120. package/esm2022/lib/interceptors/credentials.interceptor.mjs +0 -14
  121. package/esm2022/lib/interceptors/index.mjs +0 -5
  122. package/esm2022/lib/interceptors/models/error-settings.model.mjs +0 -10
  123. package/esm2022/lib/interceptors/proxy-debugger.interceptor.mjs +0 -47
  124. package/esm2022/lib/interceptors/request-error.interceptor.mjs +0 -49
  125. package/esm2022/lib/interceptors/request-header.interceptor.mjs +0 -41
  126. package/esm2022/lib/models/config-http-options.model.mjs +0 -18
  127. package/esm2022/lib/models/config-local-storage-options.model.mjs +0 -12
  128. package/esm2022/lib/models/config-options.model.mjs +0 -12
  129. package/esm2022/lib/models/config-token.model.mjs +0 -8
  130. package/esm2022/lib/models/data-type.enum.mjs +0 -7
  131. package/esm2022/lib/models/database-storage.model.mjs +0 -10
  132. package/esm2022/lib/models/index.mjs +0 -7
  133. package/esm2022/lib/models/retry-options.model.mjs +0 -10
  134. package/esm2022/lib/services/database-manager-services/database.manager.service.mjs +0 -119
  135. package/esm2022/lib/services/database-manager-services/db.storage.service.mjs +0 -143
  136. package/esm2022/lib/services/database-manager-services/index.mjs +0 -4
  137. package/esm2022/lib/services/database-manager-services/models/table-schema.mjs +0 -20
  138. package/esm2022/lib/services/index.mjs +0 -6
  139. package/esm2022/lib/services/local-storage-manager-service/index.mjs +0 -3
  140. package/esm2022/lib/services/local-storage-manager-service/local-storage-manager.service.mjs +0 -302
  141. package/esm2022/lib/services/local-storage-manager-service/models/global-store-options.model.mjs +0 -13
  142. package/esm2022/lib/services/local-storage-manager-service/models/index.mjs +0 -6
  143. package/esm2022/lib/services/local-storage-manager-service/models/setting-options.model.mjs +0 -13
  144. package/esm2022/lib/services/local-storage-manager-service/models/storage-data.model.mjs +0 -10
  145. package/esm2022/lib/services/local-storage-manager-service/models/storage-option.model.mjs +0 -12
  146. package/esm2022/lib/services/local-storage-manager-service/models/storage-type.enum.mjs +0 -7
  147. package/esm2022/lib/services/request-manager-services/http-manager.service.mjs +0 -207
  148. package/esm2022/lib/services/request-manager-services/index.mjs +0 -5
  149. package/esm2022/lib/services/request-manager-services/request.service.mjs +0 -189
  150. package/esm2022/lib/services/request-manager-services/rxjs-operators/countdown.mjs +0 -9
  151. package/esm2022/lib/services/request-manager-services/rxjs-operators/delay-retry.mjs +0 -10
  152. package/esm2022/lib/services/request-manager-services/rxjs-operators/index.mjs +0 -5
  153. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-polling.mjs +0 -14
  154. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-streaming.mjs +0 -19
  155. package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +0 -267
  156. package/esm2022/lib/services/request-manager-state-service/index.mjs +0 -3
  157. package/esm2022/lib/services/request-manager-state-service/models/api-request.model.mjs +0 -20
  158. package/esm2022/lib/services/request-manager-state-service/models/index.mjs +0 -3
  159. package/esm2022/lib/services/request-manager-state-service/models/request-options.model.mjs +0 -10
  160. package/esm2022/lib/services/utils/app.service.mjs +0 -26
  161. package/esm2022/lib/services/utils/encryption/asymmetrical-encryption.service.mjs +0 -186
  162. package/esm2022/lib/services/utils/encryption/encryption-test.service.mjs +0 -35
  163. package/esm2022/lib/services/utils/encryption/index.mjs +0 -4
  164. package/esm2022/lib/services/utils/encryption/random.mjs +0 -52
  165. package/esm2022/lib/services/utils/encryption/symmetrical-encryption.service.mjs +0 -77
  166. package/esm2022/lib/services/utils/headers.service.mjs +0 -21
  167. package/esm2022/lib/services/utils/index.mjs +0 -6
  168. package/esm2022/lib/services/utils/object-merger.service.mjs +0 -50
  169. package/esm2022/lib/services/utils/path-query.service.mjs +0 -54
  170. package/esm2022/lib/services/utils/utils.service.mjs +0 -155
  171. package/esm2022/public-api.mjs +0 -11
  172. package/fesm2022/http-request-manager.mjs +0 -3444
  173. package/fesm2022/http-request-manager.mjs.map +0 -1
  174. package/http-request-manager-15.0.24.tgz +0 -0
  175. package/index.d.ts +0 -5
  176. package/lib/http-request-manager.module.d.ts +0 -33
  177. package/lib/http-request-services-demo/database-data-demo/database-data-demo.component.d.ts +0 -19
  178. package/lib/http-request-services-demo/http-request-services-demo.component.d.ts +0 -24
  179. package/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.d.ts +0 -56
  180. package/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.d.ts +0 -26
  181. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.d.ts +0 -13
  182. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.d.ts +0 -27
  183. package/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.d.ts +0 -12
  184. package/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.d.ts +0 -16
  185. package/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.d.ts +0 -8
  186. package/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.d.ts +0 -14
  187. package/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.d.ts +0 -14
  188. package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts +0 -107
  189. package/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.d.ts +0 -122
  190. package/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.d.ts +0 -15
  191. package/lib/index.d.ts +0 -3
  192. package/lib/interceptors/credentials.interceptor.d.ts +0 -8
  193. package/lib/interceptors/models/error-settings.model.d.ts +0 -10
  194. package/lib/interceptors/proxy-debugger.interceptor.d.ts +0 -12
  195. package/lib/interceptors/request-error.interceptor.d.ts +0 -10
  196. package/lib/interceptors/request-header.interceptor.d.ts +0 -15
  197. package/lib/models/config-http-options.model.d.ts +0 -21
  198. package/lib/models/config-local-storage-options.model.d.ts +0 -13
  199. package/lib/models/config-options.model.d.ts +0 -12
  200. package/lib/models/data-type.enum.d.ts +0 -5
  201. package/lib/models/database-storage.model.d.ts +0 -10
  202. package/lib/models/index.d.ts +0 -6
  203. package/lib/models/retry-options.model.d.ts +0 -10
  204. package/lib/services/database-manager-services/database.manager.service.d.ts +0 -31
  205. package/lib/services/database-manager-services/db.storage.service.d.ts +0 -26
  206. package/lib/services/database-manager-services/models/table-schema.d.ts +0 -11
  207. package/lib/services/local-storage-manager-service/index.d.ts +0 -2
  208. package/lib/services/local-storage-manager-service/local-storage-manager.service.d.ts +0 -86
  209. package/lib/services/local-storage-manager-service/models/global-store-options.model.d.ts +0 -15
  210. package/lib/services/local-storage-manager-service/models/setting-options.model.d.ts +0 -15
  211. package/lib/services/local-storage-manager-service/models/storage-data.model.d.ts +0 -10
  212. package/lib/services/local-storage-manager-service/models/storage-option.model.d.ts +0 -13
  213. package/lib/services/local-storage-manager-service/models/storage-type.enum.d.ts +0 -5
  214. package/lib/services/request-manager-services/http-manager.service.d.ts +0 -41
  215. package/lib/services/request-manager-services/request.service.d.ts +0 -27
  216. package/lib/services/request-manager-services/rxjs-operators/countdown.d.ts +0 -2
  217. package/lib/services/request-manager-services/rxjs-operators/delay-retry.d.ts +0 -2
  218. package/lib/services/request-manager-services/rxjs-operators/request-polling.d.ts +0 -7
  219. package/lib/services/request-manager-services/rxjs-operators/request-streaming.d.ts +0 -2
  220. package/lib/services/request-manager-state-service/http-manager-state.store.d.ts +0 -51
  221. package/lib/services/request-manager-state-service/models/api-request.model.d.ts +0 -27
  222. package/lib/services/request-manager-state-service/models/request-options.model.d.ts +0 -10
  223. package/lib/services/utils/app.service.d.ts +0 -8
  224. package/lib/services/utils/encryption/asymmetrical-encryption.service.d.ts +0 -17
  225. package/lib/services/utils/encryption/encryption-test.service.d.ts +0 -10
  226. package/lib/services/utils/encryption/random.d.ts +0 -7
  227. package/lib/services/utils/encryption/symmetrical-encryption.service.d.ts +0 -14
  228. package/lib/services/utils/headers.service.d.ts +0 -10
  229. package/lib/services/utils/object-merger.service.d.ts +0 -12
  230. package/lib/services/utils/path-query.service.d.ts +0 -11
  231. package/lib/services/utils/utils.service.d.ts +0 -24
  232. /package/{lib/services/request-manager-services/rxjs-operators/index.d.ts → src/lib/services/request-manager-services/rxjs-operators/index.ts} +0 -0
@@ -0,0 +1,25 @@
1
+ import { App } from "./app.model"
2
+ import { AppSession } from "./app-session.model"
3
+
4
+ export interface GetSampleInterface {
5
+ application: App,
6
+ session: AppSession
7
+ }
8
+
9
+ export class GetSample implements GetSampleInterface {
10
+
11
+ constructor(
12
+ public application = App.adapt(),
13
+ public session = AppSession.adapt(),
14
+ ) {}
15
+
16
+ static adapt(item?: any) {
17
+
18
+ return new GetSample(
19
+ (item?.application) ? App.adapt(item.application) : App.adapt(),
20
+ (item?.session) ? AppSession.adapt(item.session) : AppSession.adapt(),
21
+ )
22
+
23
+ }
24
+
25
+ }
@@ -0,0 +1,19 @@
1
+ export interface AIPromptInterface {
2
+ response: string
3
+ }
4
+
5
+ export class AIPrompt implements AIPromptInterface {
6
+
7
+ constructor(
8
+ public response = '',
9
+ ) {}
10
+
11
+ static adapt(item?: any): AIPrompt {
12
+
13
+ return new AIPrompt(
14
+ item?.response,
15
+ )
16
+
17
+ }
18
+
19
+ }
@@ -0,0 +1,24 @@
1
+ import { App } from "./app.model"
2
+
3
+ export interface ClientDetailsInterface {
4
+ prod: string,
5
+ dev: string,
6
+ }
7
+
8
+ export class ClientDetails implements ClientDetailsInterface {
9
+
10
+ constructor(
11
+ public prod = '',
12
+ public dev = '',
13
+ ) {}
14
+
15
+ static adapt(item?: any): ClientDetails {
16
+
17
+ return new ClientDetails(
18
+ item?.prod,
19
+ item?.dev,
20
+ )
21
+
22
+ }
23
+
24
+ }
@@ -0,0 +1,30 @@
1
+ export interface ClientInfoInterface {
2
+ domain: string
3
+ service: string
4
+ id: number
5
+ name: string
6
+ }
7
+
8
+ export class ClientInfo implements ClientInfoInterface {
9
+
10
+ constructor(
11
+ public domain = '',
12
+ public service = '',
13
+ public id = 0,
14
+ public name = '',
15
+ ) {}
16
+
17
+ static adapt(item?: any): ClientInfo {
18
+
19
+ return new ClientInfo(
20
+ item?.domain,
21
+ item?.service,
22
+ item?.id,
23
+ (item?.first_name || item?.last_name) ? `${item?.first_name} ${item?.last_name}` : '',
24
+ )
25
+
26
+ }
27
+
28
+ }
29
+
30
+
@@ -0,0 +1,49 @@
1
+ export interface ClientDataInterface {
2
+ id: string|number
3
+ name: string
4
+ domain: string
5
+ service: string
6
+ spiffe: string
7
+ secret: string
8
+ created: number
9
+ modified: number
10
+ icon: string
11
+ imageFile: string
12
+ email: string
13
+ }
14
+
15
+ export class ClientData implements ClientDataInterface {
16
+
17
+ constructor(
18
+ public id: string|number = 0,
19
+ public name = '',
20
+ public domain = '',
21
+ public service = '',
22
+ public spiffe = '',
23
+ public secret = '',
24
+ public created = 0,
25
+ public modified = 0,
26
+ public icon = '',
27
+ public imageFile = '',
28
+ public email = '',
29
+ ) {}
30
+
31
+ static adapt(item?: any): ClientData {
32
+
33
+ return new ClientData(
34
+ item?.id,
35
+ item?.name,
36
+ item?.domain,
37
+ item?.service,
38
+ item?.spiffe,
39
+ item?.secret,
40
+ item?.created,
41
+ item?.modified,
42
+ item?.icon,
43
+ item?.imageFile,
44
+ item?.email,
45
+ )
46
+
47
+ }
48
+
49
+ }
@@ -0,0 +1,33 @@
1
+ export interface ClientInfoMapperInterface {
2
+ id: number
3
+ first_name: string
4
+ last_name: string
5
+ email: string
6
+ }
7
+
8
+ export class ClientInfoMapper implements ClientInfoMapperInterface {
9
+
10
+ constructor(
11
+ public id = 0,
12
+ public first_name = '',
13
+ public last_name = '',
14
+ public email = '',
15
+ ) {}
16
+
17
+ static adapt(item?: any): ClientInfoMapper {
18
+
19
+ const first_name = (item?.name) ? item.name.split(' ')[0] : ''
20
+ const last_name = (item?.name) ? item.name.split(' ')[1] : ''
21
+
22
+ return new ClientInfoMapper(
23
+ item?.id,
24
+ first_name,
25
+ last_name,
26
+ item?.email,
27
+ )
28
+
29
+ }
30
+
31
+ }
32
+
33
+
@@ -0,0 +1,336 @@
1
+ <div style="margin: 2rem;">
2
+
3
+ <h2>
4
+ HTTP Request Manager
5
+ </h2>
6
+
7
+ <div [formGroup]="requestForm" style="margin-top: 2rem;">
8
+ <div style="display: flex; gap: .5rem">
9
+ <mat-form-field appearance="outline">
10
+ <mat-label>Adapter (Model)</mat-label>
11
+ <mat-select formControlName="adapter" #adapterSelect>
12
+ <mat-option>None</mat-option>
13
+ <mat-option *ngFor="let adapter of sampleAdaptors" [value]="adapter.value">
14
+ {{adapter.label}}
15
+ </mat-option>
16
+ </mat-select>
17
+ </mat-form-field>
18
+ <mat-form-field appearance="outline">
19
+ <mat-label>Mapper (Model)</mat-label>
20
+ <mat-select formControlName="mapper" #mapperSelect>
21
+ <mat-option>None</mat-option>
22
+ <mat-option *ngFor="let mapper of sampleMappers" [value]="mapper.value">
23
+ {{mapper.label}}
24
+ </mat-option>
25
+ </mat-select>
26
+ </mat-form-field>
27
+ </div>
28
+ <div style="display: flex; margin-bottom: 2rem;" *ngIf="adapterSelect.value || mapperSelect.value">
29
+ <div style="flex:1" class="box">
30
+ <h3>Adapter (Incoming)</h3>
31
+ <div *ngIf="adapterSelect.value; else NO_ADAPTER">
32
+ {{ props(adapterSelect.value) | json }}
33
+ </div>
34
+ <ng-template #NO_ADAPTER>No Transformation</ng-template>
35
+ </div>
36
+ <div style="flex:1" class="box">
37
+ <h3>Mapper (Outgoing)</h3>
38
+ <div *ngIf="mapperSelect.value; else NO_MAPPER">
39
+ {{ props(mapperSelect.value) | json }}
40
+ </div>
41
+ <ng-template #NO_MAPPER>No Transformation</ng-template>
42
+ </div>
43
+ </div>
44
+ <div>
45
+ <mat-form-field appearance="outline">
46
+ <mat-label>RestPath (/ delimited)</mat-label>
47
+ <input matInput placeholder="clients/list" formControlName="path">
48
+ </mat-form-field>
49
+ </div>
50
+ <div>
51
+ <div formArrayName="headers">
52
+ <div *ngFor="let task of headers.controls; let i = index" [formGroupName]="i">
53
+ <div style="display: flex; gap: .5rem">
54
+ <mat-form-field appearance="outline">
55
+ <mat-label>Key</mat-label>
56
+ <input matInput placeholder="authentication" formControlName="key">
57
+ </mat-form-field>
58
+ <mat-form-field appearance="outline" style="flex:1">
59
+ <mat-label>Value</mat-label>
60
+ <input matInput placeholder="sample" formControlName="value">
61
+ </mat-form-field>
62
+ <div style="margin-top: .5rem;">
63
+ <button mat-icon-button (click)="removeHeader(i)">
64
+ <mat-icon>close</mat-icon>
65
+ </button>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ <button mat-stroked-button (click)="addHeader()" class="btn">Add Header</button>
71
+ </div>
72
+ <div style="margin-top: 2rem; display: flex; flex-direction:column; gap: 1rem;">
73
+ <div>
74
+ <mat-slide-toggle #failedState>Retry on Failed</mat-slide-toggle>
75
+ <div *ngIf="failedState.checked" style="display: flex; gap: .5rem; margin-top: 1rem;" formGroupName="retry">
76
+ <mat-form-field appearance="outline">
77
+ <mat-label>#of Times</mat-label>
78
+ <input matInput placeholder="3" formControlName="times" value="3">
79
+ </mat-form-field>
80
+ <mat-form-field appearance="outline">
81
+ <mat-label>Delay Until Next</mat-label>
82
+ <input matInput placeholder="3" formControlName="delay" value="3">
83
+ </mat-form-field>
84
+ </div>
85
+ </div>
86
+ <div>
87
+ <mat-slide-toggle #pollingState>Polling</mat-slide-toggle>
88
+ <div *ngIf="pollingState.checked">
89
+ <mat-form-field appearance="outline" style="margin-top: 1rem">
90
+ <mat-label>#of Seconds</mat-label>
91
+ <input matInput placeholder="3" formControlName="polling" value="3">
92
+ </mat-form-field>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </div>
97
+
98
+ <div style="margin-bottom: 1rem; margin-top: 2rem;">
99
+ <mat-progress-bar mode="indeterminate"
100
+ *ngIf="(isPending$ | async)"
101
+ ></mat-progress-bar>
102
+ <mat-progress-bar mode="determinate"
103
+ *ngIf="pollingState.checked && !(isPending$ | async)"
104
+ [value]="(this.countdown$ | async)"
105
+ ></mat-progress-bar>
106
+ </div>
107
+
108
+ <div style="margin-top: 1rem">
109
+ <mat-divider></mat-divider>
110
+ </div>
111
+
112
+ <div style="margin-top: 2rem">
113
+ <div style="display: flex;">
114
+ <h2 style="flex:1">GET Request</h2>
115
+ <div>
116
+ <button mat-raised-button (click)="onGetRequest()" class="btn">Request</button>
117
+ </div>
118
+ </div>
119
+
120
+ <div *ngIf="(GET_error$ | async) as get_error" style="margin-top: .5rem;">
121
+ <mat-error>{{ get_error }}</mat-error>
122
+ </div>
123
+
124
+ <div style="margin-top: 1rem;" *ngIf="(GET$ | async) as dataRecord">
125
+ <!-- <div [innerHTML]="(GET$ | async) | jsonv"></div> -->
126
+ {{ dataRecord | json }}
127
+ </div>
128
+
129
+ </div>
130
+
131
+ <div style="margin-top: 2rem">
132
+ <mat-divider></mat-divider>
133
+ </div>
134
+
135
+ <div style="margin-top: 2rem">
136
+ <div style="display: flex;">
137
+ <h2 style="flex:1">POST Request</h2>
138
+ <div>
139
+ <button mat-raised-button (click)="onCreateRequest()" class="btn">Request</button>
140
+ </div>
141
+ </div>
142
+
143
+ <div *ngIf="(POST_error$ | async) as post_error" style="margin-top: .5rem;">
144
+ <mat-error>{{ post_error }}</mat-error>
145
+ </div>
146
+
147
+ <div style="margin-top: 1rem;" *ngIf="(POST$ | async) as dataRecord">
148
+ <!-- <div [innerHTML]="(POST$ | async) | jsonv"></div> -->
149
+ {{ dataRecord | json }}
150
+ </div>
151
+
152
+ </div>
153
+
154
+ <div style="margin-top: 2rem">
155
+ <mat-divider></mat-divider>
156
+ </div>
157
+
158
+ <div style="margin-top: 2rem">
159
+ <div style="display: flex;">
160
+ <h2 style="flex:1">PUT Request</h2>
161
+ <div>
162
+ <button mat-raised-button (click)="onUpdateRequest()" class="btn">Request</button>
163
+ </div>
164
+ </div>
165
+
166
+ <div *ngIf="(PUT_error$ | async) as put_error" style="margin-top: .5rem;">
167
+ <mat-error>{{ put_error }}</mat-error>
168
+ </div>
169
+
170
+ <h3>Include Record ID in the RestPath</h3>
171
+
172
+ <div style="margin-top: 1rem;" *ngIf="(PUT$ | async) as dataRecord">
173
+ <!-- <div [innerHTML]="(PUT$ | async) | jsonv"></div> -->
174
+ {{ dataRecord | json }}
175
+ </div>
176
+
177
+ </div>
178
+
179
+ <div style="margin-top: 2rem">
180
+ <mat-divider></mat-divider>
181
+ </div>
182
+
183
+ <div style="margin-top: 2rem">
184
+ <div style="display: flex;">
185
+ <h2 style="flex:1">DELETE Request</h2>
186
+ <div>
187
+ <button mat-raised-button (click)="onDeleteRequest()" class="btn">Request</button>
188
+ </div>
189
+ </div>
190
+
191
+ <h3>Include Record ID in the RestPath</h3>
192
+
193
+ <div *ngIf="(DELETE_error$ | async) as delete_error" style="margin-top: .5rem;">
194
+ <mat-error>{{ delete_error }}</mat-error>
195
+ </div>
196
+
197
+ <div style="margin-top: 1rem;" *ngIf="(DELETE$ | async) as dataRecord">
198
+ <!-- <div [innerHTML]="(DELETE$ | async) | jsonv"></div> -->
199
+ {{ dataRecord | json }}
200
+ </div>
201
+
202
+ </div>
203
+
204
+ <div style="margin-top: 2rem">
205
+ <mat-divider></mat-divider>
206
+ </div>
207
+
208
+ <div style="margin-top: 2rem">
209
+ <div style="display: flex;">
210
+ <h2 style="flex:1">Streaming GET Request</h2>
211
+ <div>
212
+ <button mat-raised-button (click)="onStreamRequest()" class="btn">Request</button>
213
+ </div>
214
+ </div>
215
+
216
+ <!-- <div *ngIf="(STREAM_error$ | async) as stream_error" style="margin-top: .5rem;">
217
+ <mat-error>{{ stream_error }}</mat-error>
218
+ </div> -->
219
+
220
+ <div style="margin-top: 1rem;">
221
+ <div *ngIf="(STREAM$ | async) as data" class="container">
222
+ <table mat-table [dataSource]="data">
223
+ <ng-container matColumnDef="id">
224
+ <th mat-header-cell *matHeaderCellDef> ID </th>
225
+ <td mat-cell *matCellDef="let element"> {{element.id}} </td>
226
+ </ng-container>
227
+
228
+ <ng-container matColumnDef="name">
229
+ <th mat-header-cell *matHeaderCellDef> First Name </th>
230
+ <td mat-cell *matCellDef="let element"> {{element.name}} </td>
231
+ </ng-container>
232
+
233
+ <ng-container matColumnDef="lastName">
234
+ <th mat-header-cell *matHeaderCellDef> Last Name </th>
235
+ <td mat-cell *matCellDef="let element"> {{element.lastName}} </td>
236
+ </ng-container>
237
+
238
+ <ng-container matColumnDef="age">
239
+ <th mat-header-cell *matHeaderCellDef> Age </th>
240
+ <td mat-cell *matCellDef="let element"> {{element.age}} </td>
241
+ </ng-container>
242
+
243
+ <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
244
+ <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
245
+ </table>
246
+ </div>
247
+ </div>
248
+
249
+ </div>
250
+
251
+ <div style="margin-top: 2rem">
252
+ <mat-divider></mat-divider>
253
+ </div>
254
+
255
+ <div style="margin-top: 2rem">
256
+ <div style="display: flex;">
257
+ <h2 style="flex:1; padding-top: .5rem;">AI -<span *ngIf="AIType === 1">STREAMING</span> POST Request</h2>
258
+ <div style="display: flex; gap: 1rem;">
259
+ <button mat-raised-button [matMenuTriggerFor]="menu" style="min-width: 120px;">
260
+ <mat-icon>lan</mat-icon>
261
+ <span *ngIf="AIType === 0; else LOCAL">Server</span>
262
+ <ng-template #LOCAL>
263
+ Local
264
+ </ng-template>
265
+ </button>
266
+ <mat-menu #menu="matMenu">
267
+ <button mat-menu-item (click)="onSelectAIType(0)">Server</button>
268
+ <button mat-menu-item (click)="onSelectAIType(1)">Local</button>
269
+ </mat-menu>
270
+ <div>
271
+ <button mat-raised-button (click)="onStreamPostRequest()" class="btn">Ask Me</button>
272
+ </div>
273
+ </div>
274
+ </div>
275
+
276
+ <div style="display: flex;">
277
+ <mat-form-field appearance="outline" style="flex:1">
278
+ <mat-label>Ask me a Question</mat-label>
279
+ <textarea matInput placeholder="Why is the sky blue?" [formControl]="questionControl"></textarea>
280
+ </mat-form-field>
281
+ </div>
282
+
283
+ <div *ngIf="(STREAM_AI_error$ | async) as stream_error" style="margin-top: .5rem;">
284
+ <mat-error>{{ stream_error }}</mat-error>
285
+ </div>
286
+
287
+ <div *ngIf="AIType === 1; else ALTERNATIVE" style="color: red;">
288
+ You must have Ollama active and the 'phi3:latest' model to use this feature.
289
+ </div>
290
+ <ng-template #ALTERNATIVE>
291
+ <span style="color: gray;">
292
+ Define the RestPath to the API endpoint that will handle the AI request.
293
+ Use: 'ai/chat' for server
294
+ </span>
295
+ </ng-template>
296
+
297
+ <div>
298
+ <div *ngIf="(STREAM_AI$ | async) as data" style="margin-top: 1rem; font-size: 1.2rem; border-radius: 1rem; border: black 1px solid; padding: 2rem;">
299
+ <p style="margin-bottom: .5rem; white-space:pre-wrap; line-height: 1.6rem;">{{data}}</p>
300
+ </div>
301
+ </div>
302
+
303
+ </div>
304
+
305
+ <div style="margin-top: 1.5rem; margin-bottom: 1rem; line-height: 1.5rem;">
306
+ <mat-divider></mat-divider>
307
+ </div>
308
+
309
+ <div>
310
+ <div style="display: flex;">
311
+ <h2 style="flex:1; margin-bottom: 0; padding-top: .5rem; display: flex;">
312
+ <div>
313
+ Download File
314
+ </div>
315
+ <div style="flex:1; margin-left: 1rem;">
316
+ <mat-slide-toggle #disable>
317
+ <span *ngIf="disable.checked; else DISABLE">
318
+ Enable
319
+ </span>
320
+ <ng-template #DISABLE>Disable</ng-template>
321
+ </mat-slide-toggle>
322
+ </div>
323
+ </h2>
324
+ <div>
325
+ <app-file-downloader
326
+ [disabled]="disable.checked"
327
+ [delayError]="3"
328
+ [apiRequest]="downloadRequest"
329
+ (completed)="onDownloadCompleted()"
330
+ (failed)="onDownloadFailed($event)"
331
+ ></app-file-downloader>
332
+ </div>
333
+ </div>
334
+ </div>
335
+
336
+ </div>
@@ -0,0 +1,24 @@
1
+ .btn {
2
+ min-width: 120px;
3
+ }
4
+
5
+ .mat-mdc-row .mat-mdc-cell {
6
+ border-bottom: 1px solid transparent;
7
+ border-top: 1px solid transparent;
8
+ cursor: pointer;
9
+ }
10
+
11
+ .mat-mdc-row:hover .mat-mdc-cell {
12
+ border-color: currentColor;
13
+ background-color: whitesmoke;
14
+ }
15
+
16
+ .container {
17
+ height: 400px;
18
+ overflow: auto;
19
+ }
20
+
21
+ .box {
22
+ padding: 10px;
23
+ border: 1px solid #ccc;
24
+ }