@esfaenza/core 16.2.28 → 17.3.17

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 (210) hide show
  1. package/components/back-top/back-top.component.d.ts +12 -12
  2. package/components/base/base.component.d.ts +26 -26
  3. package/components/base/embedding.component.d.ts +22 -22
  4. package/components/base/reactive.component.d.ts +9 -9
  5. package/components/breadcrumb/breadcrumb.component.d.ts +26 -26
  6. package/components/components.module.d.ts +32 -32
  7. package/components/error/404/pagenotfound.component.d.ts +15 -15
  8. package/components/error/500/servererror.component.d.ts +20 -20
  9. package/components/error/Angular/angularerror.component.d.ts +25 -25
  10. package/components/es-image-cropper/es-image-cropper.component.d.ts +25 -25
  11. package/components/es-modal/es-modal-head/es-modal-head.component.d.ts +11 -11
  12. package/components/es-modal/es-modal.component.d.ts +18 -18
  13. package/components/external-page/external_pages.component.d.ts +21 -21
  14. package/components/index.d.ts +5 -5
  15. package/components/jace-login/jace-login.component.d.ts +8 -8
  16. package/components/jace-resource/jace-resource.component.d.ts +25 -25
  17. package/components/labeled-span/labeled-span.component.d.ts +11 -11
  18. package/components/navbar/navbar.component.d.ts +58 -58
  19. package/components/navbar/navbar.component.loc.d.ts +8 -8
  20. package/components/page/pages.component.d.ts +23 -23
  21. package/components/public-api.d.ts +21 -21
  22. package/components/redirecter/redirecter.component.d.ts +23 -23
  23. package/components/sidebar/sidebar.component.d.ts +64 -64
  24. package/components/sidebar/sidebar.component.loc.d.ts +8 -8
  25. package/components/user_infos/user_infos.component.d.ts +50 -50
  26. package/components/user_infos/user_infos.component.loc.d.ts +8 -8
  27. package/directives/componentHost/componentHost.directive.d.ts +12 -12
  28. package/directives/directives.module.d.ts +12 -12
  29. package/directives/draggable/draggable.directive.d.ts +13 -13
  30. package/directives/es-modal/es-modal.directive.d.ts +20 -20
  31. package/directives/es-routerLink/es-routerLink.directive.d.ts +13 -13
  32. package/directives/index.d.ts +5 -5
  33. package/directives/public-api.d.ts +7 -7
  34. package/directives/slim-scroll/slim-scroll.directive.d.ts +15 -15
  35. package/directives/widget/widget.directive.d.ts +9 -9
  36. package/domain/index.d.ts +5 -5
  37. package/domain/models/core/ApplicationJob.d.ts +12 -12
  38. package/domain/models/core/ApplicationMenu.d.ts +16 -16
  39. package/domain/models/core/ApplicationRoutes.d.ts +2 -2
  40. package/domain/models/core/EnvOptions.d.ts +15 -15
  41. package/domain/models/core/GenericItem.d.ts +10 -10
  42. package/domain/models/core/KeyValue.d.ts +5 -5
  43. package/domain/models/global_search/SaerchResultContainer.d.ts +5 -5
  44. package/domain/models/global_search/SearchResult.d.ts +10 -10
  45. package/domain/models/jace/AccountScope.d.ts +9 -9
  46. package/domain/models/jace/ActiveModuleView.d.ts +11 -11
  47. package/domain/models/jace/CategoriesWithModules.d.ts +6 -6
  48. package/domain/models/jace/JaceAccount.d.ts +17 -17
  49. package/domain/models/jace/JaceIdentity.d.ts +17 -17
  50. package/domain/models/jace/JaceModule.d.ts +8 -8
  51. package/domain/models/jace/JacePermission.d.ts +10 -10
  52. package/domain/models/jace/JaceRole.d.ts +13 -13
  53. package/domain/models/jace/JaceUser.d.ts +9 -9
  54. package/domain/models/user/UpdateAccountRecoverySettingsDto.d.ts +5 -5
  55. package/domain/models/user/UpdatePasswordDto.d.ts +9 -9
  56. package/domain/models/user/UpdateProfilePictureDto.d.ts +4 -4
  57. package/domain/models/user/UserAccount.d.ts +23 -23
  58. package/domain/public-api.d.ts +22 -22
  59. package/domain/tokens.d.ts +22 -22
  60. package/esm2022/components/back-top/back-top.component.mjs +42 -42
  61. package/esm2022/components/base/base.component.mjs +67 -67
  62. package/esm2022/components/base/embedding.component.mjs +64 -64
  63. package/esm2022/components/base/reactive.component.mjs +27 -27
  64. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +80 -80
  65. package/esm2022/components/components.module.mjs +96 -96
  66. package/esm2022/components/error/404/pagenotfound.component.mjs +35 -35
  67. package/esm2022/components/error/500/servererror.component.mjs +46 -46
  68. package/esm2022/components/error/Angular/angularerror.component.mjs +62 -62
  69. package/esm2022/components/es-image-cropper/es-image-cropper.component.mjs +82 -82
  70. package/esm2022/components/es-modal/es-modal-head/es-modal-head.component.mjs +22 -22
  71. package/esm2022/components/es-modal/es-modal.component.mjs +40 -40
  72. package/esm2022/components/esfaenza-core-components.mjs +4 -4
  73. package/esm2022/components/external-page/external_pages.component.mjs +48 -48
  74. package/esm2022/components/jace-login/jace-login.component.mjs +31 -31
  75. package/esm2022/components/jace-resource/jace-resource.component.mjs +68 -68
  76. package/esm2022/components/labeled-span/labeled-span.component.mjs +25 -25
  77. package/esm2022/components/navbar/navbar.component.loc.mjs +40 -40
  78. package/esm2022/components/navbar/navbar.component.mjs +223 -223
  79. package/esm2022/components/page/pages.component.mjs +60 -60
  80. package/esm2022/components/public-api.mjs +21 -21
  81. package/esm2022/components/redirecter/redirecter.component.mjs +65 -65
  82. package/esm2022/components/sidebar/sidebar.component.loc.mjs +38 -38
  83. package/esm2022/components/sidebar/sidebar.component.mjs +286 -286
  84. package/esm2022/components/user_infos/user_infos.component.loc.mjs +42 -42
  85. package/esm2022/components/user_infos/user_infos.component.mjs +148 -148
  86. package/esm2022/directives/componentHost/componentHost.directive.mjs +29 -29
  87. package/esm2022/directives/directives.module.mjs +20 -20
  88. package/esm2022/directives/draggable/draggable.directive.mjs +49 -49
  89. package/esm2022/directives/es-modal/es-modal.directive.mjs +79 -79
  90. package/esm2022/directives/es-routerLink/es-routerLink.directive.mjs +55 -55
  91. package/esm2022/directives/esfaenza-core-directives.mjs +4 -4
  92. package/esm2022/directives/public-api.mjs +7 -7
  93. package/esm2022/directives/slim-scroll/slim-scroll.directive.mjs +41 -41
  94. package/esm2022/directives/widget/widget.directive.mjs +37 -37
  95. package/esm2022/domain/esfaenza-core-domain.mjs +4 -4
  96. package/esm2022/domain/models/core/ApplicationJob.mjs +2 -2
  97. package/esm2022/domain/models/core/ApplicationMenu.mjs +25 -25
  98. package/esm2022/domain/models/core/ApplicationRoutes.mjs +2 -2
  99. package/esm2022/domain/models/core/EnvOptions.mjs +12 -12
  100. package/esm2022/domain/models/core/GenericItem.mjs +11 -11
  101. package/esm2022/domain/models/core/KeyValue.mjs +14 -14
  102. package/esm2022/domain/models/global_search/SaerchResultContainer.mjs +5 -5
  103. package/esm2022/domain/models/global_search/SearchResult.mjs +7 -7
  104. package/esm2022/domain/models/jace/AccountScope.mjs +7 -7
  105. package/esm2022/domain/models/jace/ActiveModuleView.mjs +5 -5
  106. package/esm2022/domain/models/jace/CategoriesWithModules.mjs +6 -6
  107. package/esm2022/domain/models/jace/JaceAccount.mjs +2 -2
  108. package/esm2022/domain/models/jace/JaceIdentity.mjs +15 -15
  109. package/esm2022/domain/models/jace/JaceModule.mjs +9 -9
  110. package/esm2022/domain/models/jace/JacePermission.mjs +2 -2
  111. package/esm2022/domain/models/jace/JaceRole.mjs +8 -8
  112. package/esm2022/domain/models/jace/JaceUser.mjs +2 -2
  113. package/esm2022/domain/models/user/UpdateAccountRecoverySettingsDto.mjs +6 -6
  114. package/esm2022/domain/models/user/UpdatePasswordDto.mjs +10 -10
  115. package/esm2022/domain/models/user/UpdateProfilePictureDto.mjs +5 -5
  116. package/esm2022/domain/models/user/UserAccount.mjs +2 -2
  117. package/esm2022/domain/public-api.mjs +22 -22
  118. package/esm2022/domain/tokens.mjs +16 -16
  119. package/esm2022/esfaenza-core.mjs +4 -4
  120. package/esm2022/helpers/classes/ResizeListener.mjs +38 -38
  121. package/esm2022/helpers/esfaenza-core-helpers.mjs +4 -4
  122. package/esm2022/helpers/public-api.mjs +1 -1
  123. package/esm2022/lib/app.component.mjs +34 -34
  124. package/esm2022/lib/core.module.mjs +258 -258
  125. package/esm2022/modules/classes/_base.module.mjs +31 -31
  126. package/esm2022/modules/classes/_embedding.module.mjs +26 -26
  127. package/esm2022/modules/classes/_shared.module.mjs +46 -46
  128. package/esm2022/modules/classes/t_c.module.mjs +85 -85
  129. package/esm2022/modules/esfaenza-core-modules.mjs +4 -4
  130. package/esm2022/modules/public-api.mjs +4 -4
  131. package/esm2022/pipes/classes/included_in.pipe.mjs +19 -19
  132. package/esm2022/pipes/classes/safe_html.pipe.mjs +20 -20
  133. package/esm2022/pipes/classes/safe_script.pipe.mjs +20 -20
  134. package/esm2022/pipes/classes/safe_style.pipe.mjs +20 -20
  135. package/esm2022/pipes/classes/safe_url.pipe.mjs +20 -20
  136. package/esm2022/pipes/esfaenza-core-pipes.mjs +4 -4
  137. package/esm2022/pipes/pipes.module.mjs +19 -19
  138. package/esm2022/pipes/public-api.mjs +6 -6
  139. package/esm2022/public-api.mjs +2 -2
  140. package/esm2022/services/classes/app.accesstoken.mjs +1041 -1041
  141. package/esm2022/services/classes/app.completedjobredirection.mjs +17 -17
  142. package/esm2022/services/classes/app.errorhandler.mjs +41 -41
  143. package/esm2022/services/classes/app.event.mjs +26 -26
  144. package/esm2022/services/classes/app.globalsearch.mjs +33 -33
  145. package/esm2022/services/classes/app.httpextensions.loc.mjs +14 -14
  146. package/esm2022/services/classes/app.httpextensions.mjs +90 -90
  147. package/esm2022/services/classes/app.menufilter.mjs +20 -20
  148. package/esm2022/services/classes/app.routeguard.mjs +22 -22
  149. package/esm2022/services/classes/app.session.mjs +40 -40
  150. package/esm2022/services/classes/app.state.mjs +229 -229
  151. package/esm2022/services/classes/preferences/app.cache.persistor.mjs +94 -94
  152. package/esm2022/services/classes/preferences/app.preference.persistor.mjs +94 -94
  153. package/esm2022/services/classes/preferences/user/app.userpreferences.base.mjs +101 -101
  154. package/esm2022/services/esfaenza-core-services.mjs +4 -4
  155. package/esm2022/services/public-api.mjs +13 -13
  156. package/fesm2022/esfaenza-core-components.mjs +1479 -1479
  157. package/fesm2022/esfaenza-core-components.mjs.map +1 -1
  158. package/fesm2022/esfaenza-core-directives.mjs +269 -269
  159. package/fesm2022/esfaenza-core-directives.mjs.map +1 -1
  160. package/fesm2022/esfaenza-core-domain.mjs +153 -153
  161. package/fesm2022/esfaenza-core-domain.mjs.map +1 -1
  162. package/fesm2022/esfaenza-core-helpers.mjs +38 -38
  163. package/fesm2022/esfaenza-core-helpers.mjs.map +1 -1
  164. package/fesm2022/esfaenza-core-modules.mjs +132 -132
  165. package/fesm2022/esfaenza-core-modules.mjs.map +1 -1
  166. package/fesm2022/esfaenza-core-pipes.mjs +96 -96
  167. package/fesm2022/esfaenza-core-pipes.mjs.map +1 -1
  168. package/fesm2022/esfaenza-core-services.mjs +1754 -1754
  169. package/fesm2022/esfaenza-core-services.mjs.map +1 -1
  170. package/fesm2022/esfaenza-core.mjs +225 -225
  171. package/fesm2022/esfaenza-core.mjs.map +1 -1
  172. package/helpers/classes/ResizeListener.d.ts +12 -12
  173. package/helpers/index.d.ts +5 -5
  174. package/helpers/public-api.d.ts +1 -1
  175. package/index.d.ts +5 -5
  176. package/lib/app.component.d.ts +13 -13
  177. package/lib/core.module.d.ts +86 -86
  178. package/modules/classes/_base.module.d.ts +4 -4
  179. package/modules/classes/_embedding.module.d.ts +11 -11
  180. package/modules/classes/_shared.module.d.ts +29 -29
  181. package/modules/classes/t_c.module.d.ts +19 -19
  182. package/modules/index.d.ts +5 -5
  183. package/modules/public-api.d.ts +4 -4
  184. package/package.json +44 -44
  185. package/pipes/classes/included_in.pipe.d.ts +7 -7
  186. package/pipes/classes/safe_html.pipe.d.ts +10 -10
  187. package/pipes/classes/safe_script.pipe.d.ts +10 -10
  188. package/pipes/classes/safe_style.pipe.d.ts +10 -10
  189. package/pipes/classes/safe_url.pipe.d.ts +10 -10
  190. package/pipes/index.d.ts +5 -5
  191. package/pipes/pipes.module.d.ts +11 -11
  192. package/pipes/public-api.d.ts +6 -6
  193. package/public-api.d.ts +2 -2
  194. package/services/classes/app.accesstoken.d.ts +17 -17
  195. package/services/classes/app.completedjobredirection.d.ts +12 -12
  196. package/services/classes/app.errorhandler.d.ts +11 -11
  197. package/services/classes/app.event.d.ts +10 -10
  198. package/services/classes/app.globalsearch.d.ts +25 -25
  199. package/services/classes/app.httpextensions.d.ts +34 -34
  200. package/services/classes/app.httpextensions.loc.d.ts +8 -8
  201. package/services/classes/app.menufilter.d.ts +14 -14
  202. package/services/classes/app.routeguard.d.ts +10 -10
  203. package/services/classes/app.session.d.ts +15 -15
  204. package/services/classes/app.state.d.ts +55 -55
  205. package/services/classes/preferences/app.cache.persistor.d.ts +25 -25
  206. package/services/classes/preferences/app.preference.persistor.d.ts +25 -25
  207. package/services/classes/preferences/user/app.userpreferences.base.d.ts +25 -25
  208. package/services/index.d.ts +5 -5
  209. package/services/public-api.d.ts +13 -13
  210. package/theme/initial.scss +13 -4
@@ -1,94 +1,94 @@
1
- // Angular
2
- import { HttpHeaders } from "@angular/common/http";
3
- import { Injectable } from "@angular/core";
4
- // Configurazioni
5
- import { CachePersistor } from "@esfaenza/preferences";
6
- // Direttive, Componenti, Librerie
7
- import { of } from "rxjs";
8
- import { catchError, map } from "rxjs/operators";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@esfaenza/localizations";
11
- import * as i2 from "@angular/common/http";
12
- import * as i3 from "../app.accesstoken";
13
- import * as i4 from "@esfaenza/preferences";
14
- // Chiamate ai Repository
15
- const BASE_Cache_Sessions = "/api/Cache/sessions";
16
- export class ApplicationCachePersistor extends CachePersistor {
17
- // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che
18
- // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...
19
- constructor(lc, http, tks, session) {
20
- super(session);
21
- this.lc = lc;
22
- this.http = http;
23
- this.tks = tks;
24
- }
25
- persist(key, item) {
26
- let sk = this.session.getSessionKey();
27
- if (!sk)
28
- return of(false);
29
- return this.http.post(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
30
- }
31
- recover(key) {
32
- let sk = this.session.getSessionKey();
33
- if (!sk)
34
- return of(null);
35
- return this.http.get(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(null)), map((res) => {
36
- var resProp = null;
37
- try {
38
- resProp = JSON.parse(res);
39
- }
40
- catch { }
41
- return resProp;
42
- }));
43
- }
44
- recoverAll() {
45
- let sk = this.session.getSessionKey();
46
- if (!sk)
47
- return of(null);
48
- return this.http.get(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(null)), map((res) => {
49
- for (var prop in res) {
50
- var resProp = null;
51
- try {
52
- resProp = JSON.parse(res[prop]);
53
- }
54
- catch { }
55
- res[prop] = resProp;
56
- }
57
- return res;
58
- }));
59
- }
60
- remove(key) {
61
- let sk = this.session.getSessionKey();
62
- if (!sk)
63
- return of(false);
64
- return this.http.delete(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
65
- }
66
- clear() {
67
- let sk = this.session.getSessionKey();
68
- if (!sk)
69
- return of(false);
70
- return this.http.delete(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
71
- }
72
- getHeaders(contentType = 'application/json') {
73
- return new HttpHeaders()
74
- .append("Content-Type", contentType)
75
- .append("Accept", "application/json")
76
- .append("Authorization", "Bearer " + this.tks.getAccessToken())
77
- .append("Accept-Language", this.lc.Locale);
78
- }
79
- getSessionUrl(sessionKey) {
80
- return `${BASE_Cache_Sessions}/${sessionKey}`;
81
- }
82
- getItemsUrl(sessionKey) {
83
- return `${this.getSessionUrl(sessionKey)}/items`;
84
- }
85
- getItemUrl(sessionKey, itemKey) {
86
- return `${this.getItemsUrl(sessionKey)}/${itemKey}`;
87
- }
88
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApplicationCachePersistor, deps: [{ token: i1.LocalizationService }, { token: i2.HttpClient }, { token: i3.TokenService }, { token: i4.BaseSessionRetriever }], target: i0.ɵɵFactoryTarget.Injectable }); }
89
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApplicationCachePersistor }); }
90
- }
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApplicationCachePersistor, decorators: [{
92
- type: Injectable
93
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.HttpClient }, { type: i3.TokenService }, { type: i4.BaseSessionRetriever }]; } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNhY2hlLnBlcnNpc3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvc3JjL2NsYXNzZXMvcHJlZmVyZW5jZXMvYXBwLmNhY2hlLnBlcnNpc3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBd0IsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJN0Usa0NBQWtDO0FBQ2xDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRWpELHlCQUF5QjtBQUN6QixNQUFNLG1CQUFtQixHQUFZLHFCQUFxQixDQUFDO0FBRzNELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxjQUFjO0lBRXpELG1HQUFtRztJQUNuRyxzR0FBc0c7SUFDdEcsWUFBb0IsRUFBdUIsRUFBVSxJQUFnQixFQUFVLEdBQWlCLEVBQUUsT0FBNkI7UUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFBOUgsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBYztJQUFtRCxDQUFDO0lBRTdJLE9BQU8sQ0FBSSxHQUFXLEVBQUUsSUFBTztRQUNsQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElB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clxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBCYXNlU2Vzc2lvblJldHJpZXZlciwgQ2FjaGVQZXJzaXN0b3IgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4uL2FwcC5hY2Nlc3N0b2tlblwiO1xyXG5cclxuLy8gRGlyZXR0aXZlLCBDb21wb25lbnRpLCBMaWJyZXJpZVxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy8gQ2hpYW1hdGUgYWkgUmVwb3NpdG9yeVxyXG5jb25zdCBCQVNFX0NhY2hlX1Nlc3Npb25zOiBzdHJpbmcgPSAgXCIvYXBpL0NhY2hlL3Nlc3Npb25zXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlUGVyc2lzdG9yIGV4dGVuZHMgQ2FjaGVQZXJzaXN0b3Ige1xyXG5cclxuICAgIC8vIFBhc3NvIGRpcmV0dGFtZW50ZSBkYWxsJ0h0dHBDbGllbnQgbmF0aXZvIGluIHF1YW50byBub24gcG9zc28gcGFzc2FyZSBkYWxsJ0h0dHBTZXJ2aWNlIGRhdG8gY2hlIFxyXG4gICAgLy8gbHVpIHJpY2hpZWRlIGlsIFByZWZlcmVuY2VzU2VydmljZSBjaGUgcmljaGllZGUgcXVlc3RhIGNsYXNzZSBjaGUgcmljaGllZGUgbCdIdHRwU2VydmljZSBlY2MgZWNjLi4uXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdGtzOiBUb2tlblNlcnZpY2UsIHNlc3Npb246IEJhc2VTZXNzaW9uUmV0cmlldmVyKSB7IHN1cGVyKHNlc3Npb24pOyB9XHJcblxyXG4gICAgcHVibGljIHBlcnNpc3Q8VD4oa2V5OiBzdHJpbmcsIGl0ZW06IFQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihmYWxzZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxib29sZWFuPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIEpTT04uc3RyaW5naWZ5KGl0ZW0pLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNvdmVyPFQ+KGtleT86IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKG51bGwpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmc+KHRoaXMuZ2V0SXRlbVVybChzaywga2V5KSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpLFxyXG4gICAgICAgICAgICBtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFyIHJlc1Byb3AgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgdHJ5IHsgcmVzUHJvcCA9IDxUPkpTT04ucGFyc2UocmVzKTsgfVxyXG4gICAgICAgICAgICAgICAgY2F0Y2ggeyB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzUHJvcDtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNvdmVyQWxsKCk6IE9ic2VydmFibGU8eyBbaW5kZXg6IHN0cmluZ106IGFueTsgfT4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKG51bGwpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IFtpbmRleDogc3RyaW5nXTogYW55OyB9Pih0aGlzLmdldFNlc3Npb25Vcmwoc2spLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiBvZihudWxsKSksXHJcbiAgICAgICAgICAgIG1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciByZXNQcm9wID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB0cnkgeyByZXNQcm9wID0gSlNPTi5wYXJzZShyZXNbcHJvcF0pOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggeyB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzW3Byb3BdID0gcmVzUHJvcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmUoa2V5Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IHNrID0gdGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKTtcclxuICAgICAgICBpZiAoIXNrKSByZXR1cm4gb2YoZmFsc2UpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxib29sZWFuPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShjYXRjaEVycm9yKGUgPT4gb2YoZmFsc2UpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsZWFyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKGZhbHNlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8Ym9vbGVhbj4odGhpcy5nZXRJdGVtc1VybChzayksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShjYXRjaEVycm9yKGUgPT4gb2YoZmFsc2UpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRIZWFkZXJzKGNvbnRlbnRUeXBlOiBzdHJpbmcgPSAnYXBwbGljYXRpb24vanNvbicpOiBIdHRwSGVhZGVycyB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJDb250ZW50LVR5cGVcIiwgY29udGVudFR5cGUpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBY2NlcHRcIiwgXCJhcHBsaWNhdGlvbi9qc29uXCIpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBdXRob3JpemF0aW9uXCIsIFwiQmVhcmVyIFwiICsgdGhpcy50a3MuZ2V0QWNjZXNzVG9rZW4oKSlcclxuICAgICAgICAgICAgLmFwcGVuZChcIkFjY2VwdC1MYW5ndWFnZVwiLCB0aGlzLmxjLkxvY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTZXNzaW9uVXJsKHNlc3Npb25LZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke0JBU0VfQ2FjaGVfU2Vzc2lvbnN9LyR7c2Vzc2lvbktleX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SXRlbXNVcmwoc2Vzc2lvbktleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRTZXNzaW9uVXJsKHNlc3Npb25LZXkpfS9pdGVtc2A7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJdGVtVXJsKHNlc3Npb25LZXk6IHN0cmluZywgaXRlbUtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRJdGVtc1VybChzZXNzaW9uS2V5KX0vJHtpdGVtS2V5fWA7XHJcbiAgICB9XHJcbn0iXX0=
1
+ // Angular
2
+ import { HttpHeaders } from "@angular/common/http";
3
+ import { Injectable } from "@angular/core";
4
+ // Configurazioni
5
+ import { CachePersistor } from "@esfaenza/preferences";
6
+ // Direttive, Componenti, Librerie
7
+ import { of } from "rxjs";
8
+ import { catchError, map } from "rxjs/operators";
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@esfaenza/localizations";
11
+ import * as i2 from "@angular/common/http";
12
+ import * as i3 from "../app.accesstoken";
13
+ import * as i4 from "@esfaenza/preferences";
14
+ // Chiamate ai Repository
15
+ const BASE_Cache_Sessions = "/api/Cache/sessions";
16
+ export class ApplicationCachePersistor extends CachePersistor {
17
+ // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che
18
+ // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...
19
+ constructor(lc, http, tks, session) {
20
+ super(session);
21
+ this.lc = lc;
22
+ this.http = http;
23
+ this.tks = tks;
24
+ }
25
+ persist(key, item) {
26
+ let sk = this.session.getSessionKey();
27
+ if (!sk)
28
+ return of(false);
29
+ return this.http.post(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
30
+ }
31
+ recover(key) {
32
+ let sk = this.session.getSessionKey();
33
+ if (!sk)
34
+ return of(null);
35
+ return this.http.get(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(null)), map((res) => {
36
+ var resProp = null;
37
+ try {
38
+ resProp = JSON.parse(res);
39
+ }
40
+ catch { }
41
+ return resProp;
42
+ }));
43
+ }
44
+ recoverAll() {
45
+ let sk = this.session.getSessionKey();
46
+ if (!sk)
47
+ return of(null);
48
+ return this.http.get(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(null)), map((res) => {
49
+ for (var prop in res) {
50
+ var resProp = null;
51
+ try {
52
+ resProp = JSON.parse(res[prop]);
53
+ }
54
+ catch { }
55
+ res[prop] = resProp;
56
+ }
57
+ return res;
58
+ }));
59
+ }
60
+ remove(key) {
61
+ let sk = this.session.getSessionKey();
62
+ if (!sk)
63
+ return of(false);
64
+ return this.http.delete(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
65
+ }
66
+ clear() {
67
+ let sk = this.session.getSessionKey();
68
+ if (!sk)
69
+ return of(false);
70
+ return this.http.delete(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
71
+ }
72
+ getHeaders(contentType = 'application/json') {
73
+ return new HttpHeaders()
74
+ .append("Content-Type", contentType)
75
+ .append("Accept", "application/json")
76
+ .append("Authorization", "Bearer " + this.tks.getAccessToken())
77
+ .append("Accept-Language", this.lc.Locale);
78
+ }
79
+ getSessionUrl(sessionKey) {
80
+ return `${BASE_Cache_Sessions}/${sessionKey}`;
81
+ }
82
+ getItemsUrl(sessionKey) {
83
+ return `${this.getSessionUrl(sessionKey)}/items`;
84
+ }
85
+ getItemUrl(sessionKey, itemKey) {
86
+ return `${this.getItemsUrl(sessionKey)}/${itemKey}`;
87
+ }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplicationCachePersistor, deps: [{ token: i1.LocalizationService }, { token: i2.HttpClient }, { token: i3.TokenService }, { token: i4.BaseSessionRetriever }], target: i0.ɵɵFactoryTarget.Injectable }); }
89
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplicationCachePersistor }); }
90
+ }
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplicationCachePersistor, decorators: [{
92
+ type: Injectable
93
+ }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i2.HttpClient }, { type: i3.TokenService }, { type: i4.BaseSessionRetriever }] });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNhY2hlLnBlcnNpc3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvc3JjL2NsYXNzZXMvcHJlZmVyZW5jZXMvYXBwLmNhY2hlLnBlcnNpc3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBd0IsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJN0Usa0NBQWtDO0FBQ2xDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRWpELHlCQUF5QjtBQUN6QixNQUFNLG1CQUFtQixHQUFZLHFCQUFxQixDQUFDO0FBRzNELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxjQUFjO0lBRXpELG1HQUFtRztJQUNuRyxzR0FBc0c7SUFDdEcsWUFBb0IsRUFBdUIsRUFBVSxJQUFnQixFQUFVLEdBQWlCLEVBQUUsT0FBNkI7UUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFBOUgsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBYztJQUFtRCxDQUFDO0lBRTdJLE9BQU8sQ0FBSSxHQUFXLEVBQUUsSUFBTztRQUNsQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElB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eUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyLCBDYWNoZVBlcnNpc3RvciB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi4vYXBwLmFjY2Vzc3Rva2VuXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG4vLyBDaGlhbWF0ZSBhaSBSZXBvc2l0b3J5XHJcbmNvbnN0IEJBU0VfQ2FjaGVfU2Vzc2lvbnM6IHN0cmluZyA9ICBcIi9hcGkvQ2FjaGUvc2Vzc2lvbnNcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVQZXJzaXN0b3IgZXh0ZW5kcyBDYWNoZVBlcnNpc3RvciB7XHJcblxyXG4gICAgLy8gUGFzc28gZGlyZXR0YW1lbnRlIGRhbGwnSHR0cENsaWVudCBuYXRpdm8gaW4gcXVhbnRvIG5vbiBwb3NzbyBwYXNzYXJlIGRhbGwnSHR0cFNlcnZpY2UgZGF0byBjaGUgXHJcbiAgICAvLyBsdWkgcmljaGllZGUgaWwgUHJlZmVyZW5jZXNTZXJ2aWNlIGNoZSByaWNoaWVkZSBxdWVzdGEgY2xhc3NlIGNoZSByaWNoaWVkZSBsJ0h0dHBTZXJ2aWNlIGVjYyBlY2MuLi5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSB0a3M6IFRva2VuU2VydmljZSwgc2Vzc2lvbjogQmFzZVNlc3Npb25SZXRyaWV2ZXIpIHsgc3VwZXIoc2Vzc2lvbik7IH1cclxuXHJcbiAgICBwdWJsaWMgcGVyc2lzdDxUPihrZXk6IHN0cmluZywgaXRlbTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKGZhbHNlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGJvb2xlYW4+KHRoaXMuZ2V0SXRlbVVybChzaywga2V5KSwgSlNPTi5zdHJpbmdpZnkoaXRlbSksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShjYXRjaEVycm9yKGUgPT4gb2YoZmFsc2UpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlY292ZXI8VD4oa2V5Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgbGV0IHNrID0gdGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKTtcclxuICAgICAgICBpZiAoIXNrKSByZXR1cm4gb2YobnVsbCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZz4odGhpcy5nZXRJdGVtVXJsKHNrLCBrZXkpLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiBvZihudWxsKSksXHJcbiAgICAgICAgICAgIG1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YXIgcmVzUHJvcCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICB0cnkgeyByZXNQcm9wID0gPFQ+SlNPTi5wYXJzZShyZXMpOyB9XHJcbiAgICAgICAgICAgICAgICBjYXRjaCB7IH1cclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNQcm9wO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlY292ZXJBbGwoKTogT2JzZXJ2YWJsZTx7IFtpbmRleDogc3RyaW5nXTogYW55OyB9PiB7XHJcbiAgICAgICAgbGV0IHNrID0gdGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKTtcclxuICAgICAgICBpZiAoIXNrKSByZXR1cm4gb2YobnVsbCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgW2luZGV4OiBzdHJpbmddOiBhbnk7IH0+KHRoaXMuZ2V0U2Vzc2lvblVybChzayksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlID0+IG9mKG51bGwpKSxcclxuICAgICAgICAgICAgbWFwKChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gcmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlc1Byb3AgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7IHJlc1Byb3AgPSBKU09OLnBhcnNlKHJlc1twcm9wXSk7IH1cclxuICAgICAgICAgICAgICAgICAgICBjYXRjaCB7IH1cclxuICAgICAgICAgICAgICAgICAgICByZXNbcHJvcF0gPSByZXNQcm9wO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZShrZXk/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihmYWxzZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGJvb2xlYW4+KHRoaXMuZ2V0SXRlbVVybChzaywga2V5KSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKGNhdGNoRXJyb3IoZSA9PiBvZihmYWxzZSkpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xlYXIoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IHNrID0gdGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKTtcclxuICAgICAgICBpZiAoIXNrKSByZXR1cm4gb2YoZmFsc2UpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxib29sZWFuPih0aGlzLmdldEl0ZW1zVXJsKHNrKSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKGNhdGNoRXJyb3IoZSA9PiBvZihmYWxzZSkpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEhlYWRlcnMoY29udGVudFR5cGU6IHN0cmluZyA9ICdhcHBsaWNhdGlvbi9qc29uJyk6IEh0dHBIZWFkZXJzIHtcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKClcclxuICAgICAgICAgICAgLmFwcGVuZChcIkNvbnRlbnQtVHlwZVwiLCBjb250ZW50VHlwZSlcclxuICAgICAgICAgICAgLmFwcGVuZChcIkFjY2VwdFwiLCBcImFwcGxpY2F0aW9uL2pzb25cIilcclxuICAgICAgICAgICAgLmFwcGVuZChcIkF1dGhvcml6YXRpb25cIiwgXCJCZWFyZXIgXCIgKyB0aGlzLnRrcy5nZXRBY2Nlc3NUb2tlbigpKVxyXG4gICAgICAgICAgICAuYXBwZW5kKFwiQWNjZXB0LUxhbmd1YWdlXCIsIHRoaXMubGMuTG9jYWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFNlc3Npb25Vcmwoc2Vzc2lvbktleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7QkFTRV9DYWNoZV9TZXNzaW9uc30vJHtzZXNzaW9uS2V5fWA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJdGVtc1VybChzZXNzaW9uS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGlzLmdldFNlc3Npb25Vcmwoc2Vzc2lvbktleSl9L2l0ZW1zYDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEl0ZW1Vcmwoc2Vzc2lvbktleTogc3RyaW5nLCBpdGVtS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGlzLmdldEl0ZW1zVXJsKHNlc3Npb25LZXkpfS8ke2l0ZW1LZXl9YDtcclxuICAgIH1cclxufSJdfQ==
@@ -1,94 +1,94 @@
1
- // Angular
2
- import { HttpHeaders } from "@angular/common/http";
3
- import { Injectable } from "@angular/core";
4
- // Configurazioni
5
- import { PreferencesPersistor } from "@esfaenza/preferences";
6
- // Direttive, Componenti, Librerie
7
- import { of } from "rxjs";
8
- import { catchError, map } from "rxjs/operators";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@esfaenza/localizations";
11
- import * as i2 from "@angular/common/http";
12
- import * as i3 from "../app.accesstoken";
13
- import * as i4 from "@esfaenza/preferences";
14
- // Chiamate ai Repository
15
- const BASE_Preferences_Sessions = "/api/Preferences/sessions";
16
- export class ApplicationPreferencesPersistor extends PreferencesPersistor {
17
- // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che
18
- // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...
19
- constructor(lc, http, tks, session) {
20
- super(session);
21
- this.lc = lc;
22
- this.http = http;
23
- this.tks = tks;
24
- }
25
- persist(key, item) {
26
- let sk = this.session.getSessionKey();
27
- if (!sk)
28
- return of(false);
29
- return this.http.post(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
30
- }
31
- recover(key) {
32
- let sk = this.session.getSessionKey();
33
- if (!sk)
34
- return of(null);
35
- return this.http.get(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(map((res) => {
36
- var resProp = null;
37
- try {
38
- resProp = JSON.parse(res);
39
- }
40
- catch { }
41
- return resProp;
42
- }));
43
- }
44
- recoverAll() {
45
- let sk = this.session.getSessionKey();
46
- if (!sk)
47
- return of(null);
48
- return this.http.get(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(null)), map((res) => {
49
- for (var prop in res) {
50
- var resProp = null;
51
- try {
52
- resProp = JSON.parse(res[prop]);
53
- }
54
- catch { }
55
- res[prop] = resProp;
56
- }
57
- return res;
58
- }));
59
- }
60
- remove(key) {
61
- let sk = this.session.getSessionKey();
62
- if (!sk)
63
- return of(false);
64
- return this.http.delete(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
65
- }
66
- clear() {
67
- let sk = this.session.getSessionKey();
68
- if (!sk)
69
- return of(false);
70
- return this.http.delete(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
71
- }
72
- getHeaders(contentType = 'application/json') {
73
- return new HttpHeaders()
74
- .append("Content-Type", contentType)
75
- .append("Accept", "application/json")
76
- .append("Authorization", "Bearer " + this.tks.getAccessToken())
77
- .append("Accept-Language", this.lc.Locale);
78
- }
79
- getSessionUrl(sessionKey) {
80
- return `${BASE_Preferences_Sessions}/${sessionKey}`;
81
- }
82
- getItemsUrl(sessionKey) {
83
- return `${this.getSessionUrl(sessionKey)}/items`;
84
- }
85
- getItemUrl(sessionKey, itemKey) {
86
- return `${this.getItemsUrl(sessionKey)}/${itemKey}`;
87
- }
88
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApplicationPreferencesPersistor, deps: [{ token: i1.LocalizationService }, { token: i2.HttpClient }, { token: i3.TokenService }, { token: i4.BaseSessionRetriever }], target: i0.ɵɵFactoryTarget.Injectable }); }
89
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApplicationPreferencesPersistor }); }
90
- }
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApplicationPreferencesPersistor, decorators: [{
92
- type: Injectable
93
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.HttpClient }, { type: i3.TokenService }, { type: i4.BaseSessionRetriever }]; } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnByZWZlcmVuY2UucGVyc2lzdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9wcmVmZXJlbmNlcy9hcHAucHJlZmVyZW5jZS5wZXJzaXN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLGlCQUFpQjtBQUNqQixPQUFPLEVBQXdCLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJbkYsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRWpELHlCQUF5QjtBQUN6QixNQUFNLHlCQUF5QixHQUFZLDJCQUEyQixDQUFDO0FBR3ZFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxvQkFBb0I7SUFFckUsbUdBQW1HO0lBQ25HLHNHQUFzRztJQUN0RyxZQUFvQixFQUF1QixFQUFVLElBQWdCLEVBQVUsR0FBaUIsRUFBRSxPQUE2QjtRQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUE5SCxPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFjO0lBQW1ELENBQUM7SUFFN0ksT0FBTyxDQUFJLEdBQVcsRUFBRSxJQUFPO1FBQ2xDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FB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LENBQUMsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFVLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBRU8sVUFBVSxDQUFDLGNBQXNCLGtCQUFrQjtRQUN2RCxPQUFPLElBQUksV0FBVyxFQUFFO2FBQ25CLE1BQU0sQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO2FBQ25DLE1BQU0sQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUM7YUFDcEMsTUFBTSxDQUFDLGVBQWUsRUFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUM5RCxNQUFNLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sYUFBYSxDQUFDLFVBQWtCO1FBQ3BDLE9BQU8sR0FBRyx5QkFBeUIsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRU8sV0FBVyxDQUFDLFVBQWtCO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDckQsQ0FBQztJQUVPLFVBQVUsQ0FBQyxVQUFrQixFQUFFLE9BQWU7UUFDbEQsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7SUFDeEQsQ0FBQzsrR0ExRVEsK0JBQStCO21IQUEvQiwrQkFBK0I7OzRGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQmFzZVNlc3Npb25SZXRyaWV2ZXIsIFByZWZlcmVuY2VzUGVyc2lzdG9yIH0gZnJvbSBcIkBlc2ZhZW56YS9wcmVmZXJlbmNlc1wiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gXCIuLi9hcHAuYWNjZXNzdG9rZW5cIjtcclxuXHJcbi8vIERpcmV0dGl2ZSwgQ29tcG9uZW50aSwgTGlicmVyaWVcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbi8vIENoaWFtYXRlIGFpIFJlcG9zaXRvcnlcclxuY29uc3QgQkFTRV9QcmVmZXJlbmNlc19TZXNzaW9uczogc3RyaW5nID0gIFwiL2FwaS9QcmVmZXJlbmNlcy9zZXNzaW9uc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25QcmVmZXJlbmNlc1BlcnNpc3RvciBleHRlbmRzIFByZWZlcmVuY2VzUGVyc2lzdG9yIHtcclxuXHJcbiAgICAvLyBQYXNzbyBkaXJldHRhbWVudGUgZGFsbCdIdHRwQ2xpZW50IG5hdGl2byBpbiBxdWFudG8gbm9uIHBvc3NvIHBhc3NhcmUgZGFsbCdIdHRwU2VydmljZSBkYXRvIGNoZSBcclxuICAgIC8vIGx1aSByaWNoaWVkZSBpbCBQcmVmZXJlbmNlc1NlcnZpY2UgY2hlIHJpY2hpZWRlIHF1ZXN0YSBjbGFzc2UgY2hlIHJpY2hpZWRlIGwnSHR0cFNlcnZpY2UgZWNjIGVjYy4uLlxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHRrczogVG9rZW5TZXJ2aWNlLCBzZXNzaW9uOiBCYXNlU2Vzc2lvblJldHJpZXZlcikgeyBzdXBlcihzZXNzaW9uKTsgfVxyXG5cclxuICAgIHB1YmxpYyBwZXJzaXN0PFQ+KGtleTogc3RyaW5nLCBpdGVtOiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IHNrID0gdGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKTtcclxuICAgICAgICBpZiAoIXNrKSByZXR1cm4gb2YoZmFsc2UpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Ym9vbGVhbj4odGhpcy5nZXRJdGVtVXJsKHNrLCBrZXkpLCBKU09OLnN0cmluZ2lmeShpdGVtKSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKGNhdGNoRXJyb3IoZSA9PiBvZihmYWxzZSkpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVjb3ZlcjxUPihrZXk/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihudWxsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICB2YXIgcmVzUHJvcCA9IG51bGw7XHJcbiAgICAgICAgICAgIHRyeSB7IHJlc1Byb3AgPSA8VD5KU09OLnBhcnNlKHJlcyk7IH1cclxuICAgICAgICAgICAgY2F0Y2ggeyB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXNQcm9wO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVjb3ZlckFsbCgpOiBPYnNlcnZhYmxlPHsgW2luZGV4OiBzdHJpbmddOiBhbnk7IH0+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihudWxsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBbaW5kZXg6IHN0cmluZ106IGFueTsgfT4odGhpcy5nZXRTZXNzaW9uVXJsKHNrKSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpLFxyXG4gICAgICAgICAgICBtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiByZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzUHJvcCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHsgcmVzUHJvcCA9IEpTT04ucGFyc2UocmVzW3Byb3BdKTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIHsgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJlc1twcm9wXSA9IHJlc1Byb3A7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzXHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlKGtleT86IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKGZhbHNlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8Ym9vbGVhbj4odGhpcy5nZXRJdGVtVXJsKHNrLCBrZXkpLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhcigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihmYWxzZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGJvb2xlYW4+KHRoaXMuZ2V0SXRlbXNVcmwoc2spLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SGVhZGVycyhjb250ZW50VHlwZTogc3RyaW5nID0gJ2FwcGxpY2F0aW9uL2pzb24nKTogSHR0cEhlYWRlcnMge1xyXG4gICAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKVxyXG4gICAgICAgICAgICAuYXBwZW5kKFwiQ29udGVudC1UeXBlXCIsIGNvbnRlbnRUeXBlKVxyXG4gICAgICAgICAgICAuYXBwZW5kKFwiQWNjZXB0XCIsIFwiYXBwbGljYXRpb24vanNvblwiKVxyXG4gICAgICAgICAgICAuYXBwZW5kKFwiQXV0aG9yaXphdGlvblwiLCBcIkJlYXJlciBcIiArIHRoaXMudGtzLmdldEFjY2Vzc1Rva2VuKCkpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBY2NlcHQtTGFuZ3VhZ2VcIiwgdGhpcy5sYy5Mb2NhbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U2Vzc2lvblVybChzZXNzaW9uS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBgJHtCQVNFX1ByZWZlcmVuY2VzX1Nlc3Npb25zfS8ke3Nlc3Npb25LZXl9YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEl0ZW1zVXJsKHNlc3Npb25LZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0U2Vzc2lvblVybChzZXNzaW9uS2V5KX0vaXRlbXNgO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SXRlbVVybChzZXNzaW9uS2V5OiBzdHJpbmcsIGl0ZW1LZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0SXRlbXNVcmwoc2Vzc2lvbktleSl9LyR7aXRlbUtleX1gO1xyXG4gICAgfVxyXG59Il19
1
+ // Angular
2
+ import { HttpHeaders } from "@angular/common/http";
3
+ import { Injectable } from "@angular/core";
4
+ // Configurazioni
5
+ import { PreferencesPersistor } from "@esfaenza/preferences";
6
+ // Direttive, Componenti, Librerie
7
+ import { of } from "rxjs";
8
+ import { catchError, map } from "rxjs/operators";
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@esfaenza/localizations";
11
+ import * as i2 from "@angular/common/http";
12
+ import * as i3 from "../app.accesstoken";
13
+ import * as i4 from "@esfaenza/preferences";
14
+ // Chiamate ai Repository
15
+ const BASE_Preferences_Sessions = "/api/Preferences/sessions";
16
+ export class ApplicationPreferencesPersistor extends PreferencesPersistor {
17
+ // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che
18
+ // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...
19
+ constructor(lc, http, tks, session) {
20
+ super(session);
21
+ this.lc = lc;
22
+ this.http = http;
23
+ this.tks = tks;
24
+ }
25
+ persist(key, item) {
26
+ let sk = this.session.getSessionKey();
27
+ if (!sk)
28
+ return of(false);
29
+ return this.http.post(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
30
+ }
31
+ recover(key) {
32
+ let sk = this.session.getSessionKey();
33
+ if (!sk)
34
+ return of(null);
35
+ return this.http.get(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(map((res) => {
36
+ var resProp = null;
37
+ try {
38
+ resProp = JSON.parse(res);
39
+ }
40
+ catch { }
41
+ return resProp;
42
+ }));
43
+ }
44
+ recoverAll() {
45
+ let sk = this.session.getSessionKey();
46
+ if (!sk)
47
+ return of(null);
48
+ return this.http.get(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(null)), map((res) => {
49
+ for (var prop in res) {
50
+ var resProp = null;
51
+ try {
52
+ resProp = JSON.parse(res[prop]);
53
+ }
54
+ catch { }
55
+ res[prop] = resProp;
56
+ }
57
+ return res;
58
+ }));
59
+ }
60
+ remove(key) {
61
+ let sk = this.session.getSessionKey();
62
+ if (!sk)
63
+ return of(false);
64
+ return this.http.delete(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
65
+ }
66
+ clear() {
67
+ let sk = this.session.getSessionKey();
68
+ if (!sk)
69
+ return of(false);
70
+ return this.http.delete(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));
71
+ }
72
+ getHeaders(contentType = 'application/json') {
73
+ return new HttpHeaders()
74
+ .append("Content-Type", contentType)
75
+ .append("Accept", "application/json")
76
+ .append("Authorization", "Bearer " + this.tks.getAccessToken())
77
+ .append("Accept-Language", this.lc.Locale);
78
+ }
79
+ getSessionUrl(sessionKey) {
80
+ return `${BASE_Preferences_Sessions}/${sessionKey}`;
81
+ }
82
+ getItemsUrl(sessionKey) {
83
+ return `${this.getSessionUrl(sessionKey)}/items`;
84
+ }
85
+ getItemUrl(sessionKey, itemKey) {
86
+ return `${this.getItemsUrl(sessionKey)}/${itemKey}`;
87
+ }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplicationPreferencesPersistor, deps: [{ token: i1.LocalizationService }, { token: i2.HttpClient }, { token: i3.TokenService }, { token: i4.BaseSessionRetriever }], target: i0.ɵɵFactoryTarget.Injectable }); }
89
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplicationPreferencesPersistor }); }
90
+ }
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplicationPreferencesPersistor, decorators: [{
92
+ type: Injectable
93
+ }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i2.HttpClient }, { type: i3.TokenService }, { type: i4.BaseSessionRetriever }] });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnByZWZlcmVuY2UucGVyc2lzdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9wcmVmZXJlbmNlcy9hcHAucHJlZmVyZW5jZS5wZXJzaXN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLGlCQUFpQjtBQUNqQixPQUFPLEVBQXdCLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJbkYsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRWpELHlCQUF5QjtBQUN6QixNQUFNLHlCQUF5QixHQUFZLDJCQUEyQixDQUFDO0FBR3ZFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxvQkFBb0I7SUFFckUsbUdBQW1HO0lBQ25HLHNHQUFzRztJQUN0RyxZQUFvQixFQUF1QixFQUFVLElBQWdCLEVBQVUsR0FBaUIsRUFBRSxPQUE2QjtRQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUE5SCxPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFjO0lBQW1ELENBQUM7SUFFN0ksT0FBTyxDQUFJLEdBQVcsRUFBRSxJQUFPO1FBQ2xDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FB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YXJcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBCYXNlU2Vzc2lvblJldHJpZXZlciwgUHJlZmVyZW5jZXNQZXJzaXN0b3IgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4uL2FwcC5hY2Nlc3N0b2tlblwiO1xyXG5cclxuLy8gRGlyZXR0aXZlLCBDb21wb25lbnRpLCBMaWJyZXJpZVxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy8gQ2hpYW1hdGUgYWkgUmVwb3NpdG9yeVxyXG5jb25zdCBCQVNFX1ByZWZlcmVuY2VzX1Nlc3Npb25zOiBzdHJpbmcgPSAgXCIvYXBpL1ByZWZlcmVuY2VzL3Nlc3Npb25zXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvblByZWZlcmVuY2VzUGVyc2lzdG9yIGV4dGVuZHMgUHJlZmVyZW5jZXNQZXJzaXN0b3Ige1xyXG5cclxuICAgIC8vIFBhc3NvIGRpcmV0dGFtZW50ZSBkYWxsJ0h0dHBDbGllbnQgbmF0aXZvIGluIHF1YW50byBub24gcG9zc28gcGFzc2FyZSBkYWxsJ0h0dHBTZXJ2aWNlIGRhdG8gY2hlIFxyXG4gICAgLy8gbHVpIHJpY2hpZWRlIGlsIFByZWZlcmVuY2VzU2VydmljZSBjaGUgcmljaGllZGUgcXVlc3RhIGNsYXNzZSBjaGUgcmljaGllZGUgbCdIdHRwU2VydmljZSBlY2MgZWNjLi4uXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdGtzOiBUb2tlblNlcnZpY2UsIHNlc3Npb246IEJhc2VTZXNzaW9uUmV0cmlldmVyKSB7IHN1cGVyKHNlc3Npb24pOyB9XHJcblxyXG4gICAgcHVibGljIHBlcnNpc3Q8VD4oa2V5OiBzdHJpbmcsIGl0ZW06IFQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihmYWxzZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxib29sZWFuPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIEpTT04uc3RyaW5naWZ5KGl0ZW0pLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNvdmVyPFQ+KGtleT86IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKG51bGwpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmc+KHRoaXMuZ2V0SXRlbVVybChzaywga2V5KSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKG1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIHZhciByZXNQcm9wID0gbnVsbDtcclxuICAgICAgICAgICAgdHJ5IHsgcmVzUHJvcCA9IDxUPkpTT04ucGFyc2UocmVzKTsgfVxyXG4gICAgICAgICAgICBjYXRjaCB7IH1cclxuICAgICAgICAgICAgcmV0dXJuIHJlc1Byb3A7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNvdmVyQWxsKCk6IE9ic2VydmFibGU8eyBbaW5kZXg6IHN0cmluZ106IGFueTsgfT4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKG51bGwpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IFtpbmRleDogc3RyaW5nXTogYW55OyB9Pih0aGlzLmdldFNlc3Npb25Vcmwoc2spLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiBvZihudWxsKSksXHJcbiAgICAgICAgICAgIG1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciByZXNQcm9wID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB0cnkgeyByZXNQcm9wID0gSlNPTi5wYXJzZShyZXNbcHJvcF0pOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggeyB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzW3Byb3BdID0gcmVzUHJvcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmUoa2V5Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IHNrID0gdGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKTtcclxuICAgICAgICBpZiAoIXNrKSByZXR1cm4gb2YoZmFsc2UpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxib29sZWFuPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShjYXRjaEVycm9yKGUgPT4gb2YoZmFsc2UpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsZWFyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKGZhbHNlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8Ym9vbGVhbj4odGhpcy5nZXRJdGVtc1VybChzayksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShjYXRjaEVycm9yKGUgPT4gb2YoZmFsc2UpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRIZWFkZXJzKGNvbnRlbnRUeXBlOiBzdHJpbmcgPSAnYXBwbGljYXRpb24vanNvbicpOiBIdHRwSGVhZGVycyB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJDb250ZW50LVR5cGVcIiwgY29udGVudFR5cGUpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBY2NlcHRcIiwgXCJhcHBsaWNhdGlvbi9qc29uXCIpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBdXRob3JpemF0aW9uXCIsIFwiQmVhcmVyIFwiICsgdGhpcy50a3MuZ2V0QWNjZXNzVG9rZW4oKSlcclxuICAgICAgICAgICAgLmFwcGVuZChcIkFjY2VwdC1MYW5ndWFnZVwiLCB0aGlzLmxjLkxvY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTZXNzaW9uVXJsKHNlc3Npb25LZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke0JBU0VfUHJlZmVyZW5jZXNfU2Vzc2lvbnN9LyR7c2Vzc2lvbktleX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SXRlbXNVcmwoc2Vzc2lvbktleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRTZXNzaW9uVXJsKHNlc3Npb25LZXkpfS9pdGVtc2A7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJdGVtVXJsKHNlc3Npb25LZXk6IHN0cmluZywgaXRlbUtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRJdGVtc1VybChzZXNzaW9uS2V5KX0vJHtpdGVtS2V5fWA7XHJcbiAgICB9XHJcbn0iXX0=