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,8 @@
1
+ {
2
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "../../dist/http-request-manager",
4
+ "assets": ["./assets"],
5
+ "lib": {
6
+ "entryFile": "src/public-api.ts"
7
+ }
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "http-request-manager",
3
- "version": "15.0.24",
3
+ "version": "15.0.26",
4
4
  "homepage": "https://wavecoders.ca",
5
5
  "author": "Mike Bonifacio <wavecoders@gmail.com> (http://wavecoders@gmail.com/)",
6
6
  "description": "This is an Angular Module containing Components/Services using Material",
@@ -33,18 +33,5 @@
33
33
  "dest": "../../dist/http-request-manager",
34
34
  "lib": {
35
35
  "entryFile": "src/public-api.ts"
36
- },
37
- "module": "fesm2022/http-request-manager.mjs",
38
- "typings": "index.d.ts",
39
- "exports": {
40
- "./package.json": {
41
- "default": "./package.json"
42
- },
43
- ".": {
44
- "types": "./index.d.ts",
45
- "esm2022": "./esm2022/http-request-manager.mjs",
46
- "esm": "./esm2022/http-request-manager.mjs",
47
- "default": "./fesm2022/http-request-manager.mjs"
48
- }
49
36
  }
50
37
  }
@@ -0,0 +1,101 @@
1
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
2
+ import { ModuleWithProviders, NgModule } from '@angular/core';
3
+
4
+
5
+ import { WithCredentialsInterceptor, RequestHeadersInterceptor } from './interceptors';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+
8
+ import { RequestManagerDemoComponent } from './http-request-services-demo/request-manager-demo/request-manager-demo.component';
9
+ import { RequestManagerStateDemoComponent } from './http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component';
10
+ import { LocalStorageDemoComponent } from './http-request-services-demo/local-storage-demo/local-storage-demo.component';
11
+ // import { DatabaseDataDemoComponent } from './global-data-demo/database-data-demo/database-data-demo.component';
12
+
13
+ import { CommonModule } from '@angular/common';
14
+
15
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
16
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
17
+ import { MatButtonModule } from '@angular/material/button';
18
+ import { MatChipsModule } from '@angular/material/chips';
19
+ import { MatDividerModule } from '@angular/material/divider';
20
+ import { MatFormFieldModule } from '@angular/material/form-field';
21
+ import { MatIconModule } from '@angular/material/icon';
22
+ import { MatInputModule } from '@angular/material/input';
23
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
24
+ import { MatSelectModule } from '@angular/material/select';
25
+ import { MatSidenavModule } from '@angular/material/sidenav';
26
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
27
+ import { MatMenuModule } from '@angular/material/menu';
28
+ import { MatToolbarModule } from '@angular/material/toolbar';
29
+ import { MatTableModule } from '@angular/material/table';
30
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
31
+ import { ProxyDebuggerInterceptor } from './interceptors/proxy-debugger.interceptor';
32
+
33
+ import { HttpRequestServicesDemoComponent } from './http-request-services-demo/http-request-services-demo.component';
34
+
35
+ import { ConfigOptions } from './models';
36
+ import { CONFIG_SETTINGS_TOKEN } from './models/config-token.model';
37
+ import { HTTPManagerService, LocalStorageManagerService } from './services';
38
+
39
+ import { FileDownloaderModule } from './http-request-services-demo/request-manager-demo/file-downloader/file-download.module';
40
+
41
+ import { ToastMessageDisplayModule } from 'toast-message-display';
42
+
43
+
44
+ @NgModule({
45
+ imports: [
46
+ CommonModule,
47
+ ToastMessageDisplayModule,
48
+ FormsModule,
49
+ ReactiveFormsModule,
50
+ MatButtonModule,
51
+ MatSelectModule,
52
+ MatChipsModule,
53
+ MatMenuModule,
54
+ MatIconModule,
55
+ MatTableModule,
56
+ MatButtonToggleModule,
57
+ MatAutocompleteModule,
58
+ MatProgressBarModule,
59
+ MatSlideToggleModule,
60
+ MatDividerModule,
61
+ MatFormFieldModule,
62
+ MatInputModule,
63
+ MatToolbarModule,
64
+ MatSlideToggleModule,
65
+ TranslateModule.forRoot(),
66
+ MatSidenavModule,
67
+ FileDownloaderModule,
68
+ ],
69
+ declarations: [
70
+ HttpRequestServicesDemoComponent,
71
+ RequestManagerStateDemoComponent,
72
+ RequestManagerDemoComponent,
73
+ LocalStorageDemoComponent
74
+ // DatabaseDataDemoComponent,
75
+ ],
76
+ exports: [
77
+ HttpRequestServicesDemoComponent,
78
+ ],
79
+ providers: [
80
+ { provide: HTTP_INTERCEPTORS, useClass: WithCredentialsInterceptor, multi: true },
81
+ { provide: HTTP_INTERCEPTORS, useClass: RequestHeadersInterceptor, multi: true },
82
+ { provide: HTTP_INTERCEPTORS, useClass: ProxyDebuggerInterceptor, multi: true },
83
+ { provide: CONFIG_SETTINGS_TOKEN, useValue: ConfigOptions.adapt() },
84
+ HTTPManagerService, LocalStorageManagerService
85
+ ],
86
+ })
87
+ export class HttpRequestManagerModule {
88
+
89
+ static forRoot(config: ConfigOptions = ConfigOptions.adapt()): ModuleWithProviders<HttpRequestManagerModule> {
90
+ return {
91
+ ngModule: HttpRequestManagerModule,
92
+ providers: [
93
+ { provide: CONFIG_SETTINGS_TOKEN, useValue: ConfigOptions.adapt(config) },
94
+ HTTPManagerService, LocalStorageManagerService //all services that need access to config
95
+ ],
96
+ };
97
+ }
98
+
99
+ }
100
+
101
+
@@ -0,0 +1,105 @@
1
+ import { Component, OnInit, inject } from '@angular/core';
2
+
3
+ import { TableSchemaDef } from '../../services/database-manager-services/models/table-schema';
4
+ import { DatabaseManagerService } from '../../services/database-manager-services';
5
+
6
+ @Component({
7
+ selector: 'app-database-data-demo',
8
+ templateUrl: './database-data-demo.component.html',
9
+ styleUrls: ['./database-data-demo.component.scss']
10
+ })
11
+ export class DatabaseDataDemoComponent implements OnInit {
12
+
13
+ db = inject(DatabaseManagerService)
14
+
15
+ constructor() { }
16
+
17
+ ngOnInit() {
18
+
19
+ const tableDef = TableSchemaDef.adapt({table: 'Sample Table', schema: ['id', 'lastName', 'age']})
20
+ console.log(tableDef)
21
+
22
+ this.createTable(tableDef).subscribe(() => {
23
+
24
+ // hasTable
25
+ this.db.hasDatabaseTable('Sample Table').subscribe(data => console.log(data))
26
+
27
+ // Tables
28
+ this.db.getDatabaseTables().subscribe(data => console.log(data))
29
+
30
+ // getTable
31
+ this.db.getDatabaseTable('Sample Table').subscribe(data => console.log(data))
32
+
33
+ // Table Schema
34
+ this.db.getDatabaseTableSchema('Sample Table').subscribe(data => console.log(data))
35
+
36
+ // Update Table Schema
37
+ // const newTableDef = TableSchemaDef.adapt({table: 'sample', schema: ['id', 'name', 'age', 'amount']})
38
+ // this.db.updateDatabaseTableSchema(newTableDef)
39
+
40
+ // Insert Table Record
41
+ const record = { id: 12, age: 45, last_name: 'Bonifacio', amount: 1200 }
42
+
43
+ this.db.createTableRecord('Sample Table', record).subscribe(data => console.log(data))
44
+
45
+ // Insert Table Records
46
+ const records = [
47
+ { id: 12, age: 12, last_name: 'Bonifacio', amount: 80 },
48
+ { id: 10, age: 15, last_name: 'Johns', amount: 700 },
49
+ { id: 1, age: 22, last_name: 'Kims', amount: 234 },
50
+ { id: 2, age: 45, last_name: 'Harrys', amount: 1200 },
51
+ ]
52
+
53
+ this.db.createTableRecords('Sample Table', records).subscribe(data => console.log(data))
54
+
55
+ // Update Table Record
56
+ const recordUpdate = { id: 12, age: 45, last_name: 'Bonifacio', amount: 5000 }
57
+
58
+ this.db.createTableRecord('Sample Table', record).subscribe(data => console.log(data))
59
+
60
+ // Update Table Records
61
+ // const recordsUpdate = [
62
+ // { id: 12, age: 12, last_name: 'Bonifacio', amount: 5000 },
63
+ // { id: 10, age: 15, last_name: 'Johns', amount: 5000 },
64
+ // ]
65
+
66
+ // this.db.updateTableRecords('sample_table', records).subscribe(data => console.log(data))
67
+
68
+ })
69
+
70
+ }
71
+
72
+ createTable(tableDef: TableSchemaDef) {
73
+ return this.db.createDatabaseTable(tableDef)
74
+ }
75
+
76
+ // CRUD
77
+ findTableRecords(table: string, column: string, value: any) {
78
+
79
+ }
80
+
81
+ findTableRecord(table: string, column: string, value: any) {
82
+
83
+ }
84
+
85
+ getTableRecords(table: string) {
86
+
87
+ }
88
+
89
+ getTableRecord(table: string, id: number) {
90
+
91
+ }
92
+
93
+ createTableRecord<T>(table: string, record: T) {
94
+
95
+ }
96
+
97
+ updateTableRecord<T>(table: string, record: T) {
98
+
99
+ }
100
+
101
+ deleteTableRecord<T>(table: string, id: number) {
102
+
103
+ }
104
+
105
+ }
@@ -0,0 +1,64 @@
1
+ <mat-toolbar style="display:flex">
2
+ <div>Http Request Manager Services</div>
3
+ <div style="flex:1"></div>
4
+ <button mat-stroked-button [matMenuTriggerFor]="menu">Services</button>
5
+ <mat-menu #menu="matMenu">
6
+ <ng-container *ngFor="let type of requestTypes; index as i">
7
+ <div
8
+ *ngIf="type?.divider"
9
+ style="margin-top: .5rem; margin-bottom: .5rem;"
10
+ >
11
+ <mat-divider></mat-divider>
12
+ </div>
13
+ <button
14
+ mat-menu-item
15
+ (click)="onSelected(i)"
16
+ [disabled]="type.disabled"
17
+ >
18
+ {{ type.name }}
19
+ </button>
20
+ </ng-container>
21
+
22
+ </mat-menu>
23
+ </mat-toolbar>
24
+
25
+ <span [ngSwitch]="selectedService">
26
+ <p *ngSwitchCase="'http_service'">
27
+ <ng-container *ngTemplateOutlet="HTTP_OPTIONS"></ng-container>
28
+ <app-request-manager-demo></app-request-manager-demo>
29
+ </p>
30
+ <p *ngSwitchCase="'http_state_service'">
31
+ <ng-container *ngTemplateOutlet="HTTP_OPTIONS"></ng-container>
32
+ <app-request-manager-state-demo></app-request-manager-state-demo>
33
+ </p>
34
+ <p *ngSwitchCase="'database_service'">
35
+ <!-- <app-database-data-demo></app-database-data-demo> -->
36
+ </p>
37
+ <p *ngSwitchCase="'local_storage_service'">
38
+ <ng-container *ngTemplateOutlet="LOCAL_OPTIONS"></ng-container>
39
+ <app-local-storage-demo></app-local-storage-demo>
40
+ </p>
41
+ <p *ngSwitchDefault>
42
+ Other
43
+ </p>
44
+ </span>
45
+
46
+ <ng-template #HTTP_OPTIONS>
47
+ <ng-container *ngIf="injectionOptions?.httpRequestOptions">
48
+ <div class="box">
49
+ <h3 style="font-weight: bold;">Injection Token Detected - HTTP Options</h3>
50
+ {{ injectionOptions?.httpRequestOptions| json }}
51
+ </div>
52
+ </ng-container>
53
+ </ng-template>
54
+
55
+ <ng-template #LOCAL_OPTIONS>
56
+ <ng-container class="box" *ngIf="injectionOptions?.LocalStorageOptions">
57
+ <div class="box">
58
+ <h3 style="font-weight: bold;">Injection Token Detected - LocalStorage Options</h3>
59
+ {{ injectionOptions?.LocalStorageOptions| json }}
60
+ </div>
61
+ </ng-container>
62
+ </ng-template>
63
+
64
+
@@ -0,0 +1,6 @@
1
+ .box {
2
+ padding: 1rem;
3
+ background-color: whitesmoke;
4
+ border: thin gray solid;
5
+ margin-top: 1rem;
6
+ }
@@ -0,0 +1,34 @@
1
+ import { Component, Inject, OnInit } from '@angular/core';
2
+
3
+ import { CONFIG_SETTINGS_TOKEN } from '../models/config-token.model';
4
+ import { ConfigOptions } from '../models/config-options.model';
5
+
6
+ @Component({
7
+ selector: 'app-http-request-services-demo',
8
+ templateUrl: './http-request-services-demo.component.html',
9
+ styleUrls: ['./http-request-services-demo.component.scss']
10
+ })
11
+ export class HttpRequestServicesDemoComponent implements OnInit {
12
+
13
+ requestTypes = [
14
+ { name: "Http Service", value: 'http_service' },
15
+ { name: "Http State Service", value: 'http_state_service' },
16
+ { name: "Database Service", value: 'database_service', divider: true, disabled: true },
17
+ { name: "Local Storage Service", value: 'local_storage_service' },
18
+ ]
19
+
20
+ selectedService = this.requestTypes[0].value
21
+
22
+ injectionOptions?: ConfigOptions
23
+
24
+ constructor(@Inject(CONFIG_SETTINGS_TOKEN) private configOptions?: ConfigOptions) { }
25
+
26
+ ngOnInit() {
27
+ if(this.configOptions) this.injectionOptions = this.configOptions
28
+ }
29
+
30
+ onSelected(type: number) {
31
+ this.selectedService = this.requestTypes[type].value
32
+ }
33
+
34
+ }
@@ -0,0 +1,195 @@
1
+ <div style="margin: 2rem;">
2
+
3
+ <div style="display: flex; gap: 1rem">
4
+ <h2 style="padding-top: .5rem; display: flex;">
5
+ <div style="padding-top: .5rem;">Local Storage Manager</div>
6
+ <div>
7
+ <button mat-icon-button [matMenuTriggerFor]="menu">
8
+ <mat-icon>info</mat-icon>
9
+ </button>
10
+ </div>
11
+ </h2>
12
+ <span style="flex:1"></span>
13
+ <div style="padding-top: .25rem;">
14
+ <mat-button-toggle-group name="storage" [formControl]="typeControl" (change)="onCancel()">
15
+ <mat-button-toggle value="0">Local Storage</mat-button-toggle>
16
+ <mat-button-toggle value="1">Session Storage</mat-button-toggle>
17
+ </mat-button-toggle-group>
18
+ </div>
19
+ <div style="margin-top: .25rem;">
20
+ <button mat-icon-button (click)="onCreate()">
21
+ <mat-icon>add</mat-icon>
22
+ </button>
23
+ </div>
24
+ </div>
25
+
26
+ <ng-container *ngIf="storeProps?.storageName || storeProps?.storageSettingsName">
27
+ <div style="display: flex; gap: .5rem; flex-direction: column; border: gray solid thin; background-color: whitesmoke; padding: 1rem;"
28
+ >
29
+ <div style="display: flex;">
30
+ <div *ngIf="storeProps?.storageSettingsName" style="flex:1">
31
+ Database: <b>{{ storeProps?.storageSettingsName }}</b>
32
+ </div>
33
+ <div *ngIf="storeProps?.storageName" style="flex:1">
34
+ Data: <b>{{ storeProps?.storageName }}</b>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </ng-container>
39
+
40
+ <div style="margin-top: 2rem;" [formGroup]="newStoreForm" *ngIf="create; else LIST">
41
+
42
+ <h2>Create Store</h2>
43
+
44
+ <div style="display: flex; gap: 1rem;">
45
+ <div style="flex:1">
46
+ <mat-form-field appearance="outline">
47
+ <mat-label>Store Name</mat-label>
48
+ <input matInput placeholder="sample" formControlName="name">
49
+ </mat-form-field>
50
+ </div>
51
+ <div>
52
+ <mat-form-field appearance="outline">
53
+ <mat-label>Expires In...</mat-label>
54
+ <mat-select formControlName="expiresIn">
55
+ <mat-option value="0">None</mat-option>
56
+ <mat-option value="30s">30 Seconds</mat-option>
57
+ <mat-option value="1mn">1 Minute</mat-option>
58
+ <mat-option value="1hr">1 Hour</mat-option>
59
+ <mat-option value="1d">1 Day</mat-option>
60
+ </mat-select>
61
+ </mat-form-field>
62
+ </div>
63
+ <div style="margin-top: 1rem;">
64
+ <mat-slide-toggle formControlName="encrypted">Encrypted</mat-slide-toggle>
65
+ </div>
66
+ </div>
67
+
68
+ <div style="display: flex;">
69
+ <mat-form-field appearance="outline" style="flex: 1;">
70
+ <mat-label>Data (Must be an Object or Array of any)</mat-label>
71
+ <textarea matInput placeholder="[]" formControlName="data" #json></textarea>
72
+ </mat-form-field>
73
+ </div>
74
+ <mat-error *ngIf="!isValidJSON(json.value)">Not Valid Data</mat-error>
75
+
76
+ <div style="display: flex;">
77
+ <span style="flex:1"></span>
78
+ <button mat-stroked-button (click)="onCreateStore()" [disabled]="!(isValid && isValidJSON(json.value))">
79
+ Save Store
80
+ </button>
81
+ </div>
82
+
83
+ </div>
84
+
85
+ <ng-template #LIST>
86
+
87
+ <div style="margin-top: 1rem;">
88
+ <mat-divider></mat-divider>
89
+ </div>
90
+ {{ settings$ | async | json }}
91
+ <div *ngIf="filterData(settings$ | async) as data">
92
+ <ng-container *ngIf="data.length > 0; else NO_DATA">
93
+ <table mat-table [dataSource]="data">
94
+ <ng-container matColumnDef="name">
95
+ <th mat-header-cell *matHeaderCellDef> Store </th>
96
+ <td mat-cell *matCellDef="let element" style="font-weight: bold; text-transform: uppercase;"> {{element.name}} </td>
97
+ </ng-container>
98
+
99
+ <ng-container matColumnDef="id">
100
+ <th mat-header-cell *matHeaderCellDef> ID </th>
101
+ <td mat-cell *matCellDef="let element"> {{element.id}} </td>
102
+ </ng-container>
103
+
104
+ <ng-container matColumnDef="encrypted">
105
+ <th mat-header-cell *matHeaderCellDef style="text-align: center;"> Encrypted </th>
106
+ <td mat-cell *matCellDef="let element" style="text-align: center;">
107
+ <ng-container *ngIf="element.options.encrypted; else NO">YES</ng-container>
108
+ <ng-template #NO><span style="color:gray">NO</span></ng-template>
109
+ </td>
110
+ </ng-container>
111
+
112
+ <ng-container matColumnDef="expires">
113
+ <th mat-header-cell *matHeaderCellDef style="text-align: center;"> Expires </th>
114
+ <td mat-cell *matCellDef="let element" style="text-align: center;">
115
+ <ng-container *ngIf="element.options.expires !== 0; else NO_DATA">
116
+ {{expiresIn(element.options.expires)}}
117
+ </ng-container>
118
+ <ng-template #NO_DATA>
119
+
120
+ </ng-template>
121
+ </td>
122
+ </ng-container>
123
+
124
+ <ng-container matColumnDef="option">
125
+ <th mat-header-cell *matHeaderCellDef></th>
126
+ <td mat-cell *matCellDef="let element" style="padding-right: 0;">
127
+ <div style="display: flex;justify-content: flex-end;">
128
+ <button mat-icon-button color="warn" (click)="onDelete(element); $event.stopPropagation()">
129
+ <mat-icon>close</mat-icon>
130
+ </button>
131
+ </div>
132
+ </td>
133
+ </ng-container>
134
+
135
+ <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
136
+ <tr mat-row *matRowDef="let row; columns: displayedColumns;" (click)="onSelectedRow(row)"></tr>
137
+ </table>
138
+ </ng-container>
139
+
140
+ <ng-template #NO_DATA>
141
+ <h3 style="margin-top: 1rem;">No Data</h3>
142
+ </ng-template>
143
+
144
+ <div *ngIf="(data$ | async) as data" style="margin-top: 2rem;">
145
+ <div style="margin-bottom: 1rem;">
146
+ <mat-divider></mat-divider>
147
+ </div>
148
+
149
+ <h3>STORE: <span style="font-weight: bold;">{{ store.name | uppercase }}</span></h3>
150
+ <h3>SETTINGS: {{ setting$(store.name) | async | json }}</h3>
151
+ <div style="display: flex;">
152
+ <mat-form-field appearance="outline" style="flex: 1;">
153
+ <mat-label>Data (Must be an Object or Array of any)</mat-label>
154
+ <textarea matInput placeholder="[]" #json [value]="data"></textarea>
155
+ </mat-form-field>
156
+ </div>
157
+ <mat-error *ngIf="!isValidJSON(json.value)">Not Valid Data</mat-error>
158
+
159
+ <div style="display: flex; gap: .5rem;">
160
+ <span style="flex:1"></span>
161
+ <button mat-stroked-button (click)="onCancel()">Cancel</button>
162
+ <button mat-stroked-button (click)="onUpdate(store, json.value)" [disabled]="!(isValidJSON(json.value))">Update</button>
163
+ </div>
164
+ </div>
165
+ </div>
166
+
167
+ </ng-template>
168
+
169
+ <div style="margin-top: 1rem;">
170
+ <mat-divider></mat-divider>
171
+ </div>
172
+
173
+ <div style="margin-top: 1rem;">
174
+ <button mat-stroked-button (click)="onReset()">Delete All Stores</button>
175
+ </div>
176
+
177
+ </div>
178
+
179
+
180
+ <mat-menu #menu="matMenu">
181
+ <div style="padding: 1rem;">
182
+ <p>Please note that the LocalStorage (encryption) and management of data is dependant on initializing the APP_ID</p>
183
+ <p>Must provide a value for <b>APP_ID</b> in AppModule->Providers</p>
184
+ <mat-divider></mat-divider>
185
+ <div style="font-size: smaller; margin-top: .5rem;">
186
+ <p>Example: UUID (self.crypto.randomUUID() to generate)</p>
187
+ <div style="background-color: whitesmoke; padding: 1rem;">
188
+ &#123;<br>
189
+ provide: APP_ID,<br>
190
+ useValue: "056991ac-3537-43ab-b5b9-83edf6554eff",<br>
191
+ &#125;
192
+ </div>
193
+ </div>
194
+ </div>
195
+ </mat-menu>
@@ -0,0 +1,17 @@
1
+ .mat-mdc-row .mat-mdc-cell {
2
+ border-bottom: 1px solid transparent;
3
+ border-top: 1px solid transparent;
4
+ cursor: pointer;
5
+ }
6
+
7
+ .mat-mdc-row:hover .mat-mdc-cell {
8
+ border-color: currentColor;
9
+ }
10
+
11
+ .demo-row-is-clicked {
12
+ font-weight: bold;
13
+ }
14
+
15
+ .mat-mdc-menu-panel.mat-mdc-menu-panel {
16
+ max-width: 280px !important;
17
+ }