@techextensor/tab-core-utility 2.1.6 → 2.1.7

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 (177) hide show
  1. package/.eslintrc.json +92 -0
  2. package/README.md +7 -0
  3. package/jest.config.ts +22 -0
  4. package/ng-package.json +7 -0
  5. package/package.json +18 -31
  6. package/project.json +42 -0
  7. package/{index.d.ts → src/index.ts} +77 -53
  8. package/src/lib/tab-core-utility/app/constants/api-constants.ts +33 -0
  9. package/src/lib/tab-core-utility/app/constants/common.ts +34 -0
  10. package/src/lib/tab-core-utility/app/constants/error-messages.ts +21 -0
  11. package/src/lib/tab-core-utility/app/constants/storage-constants.ts +17 -0
  12. package/src/lib/tab-core-utility/app/crud/tab-delete.service.ts +144 -0
  13. package/src/lib/tab-core-utility/app/crud/tab-get.service.ts +160 -0
  14. package/src/lib/tab-core-utility/app/crud/tab-insert.service.ts +75 -0
  15. package/src/lib/tab-core-utility/app/crud/tab-update.service.ts +105 -0
  16. package/src/lib/tab-core-utility/app/crud/tab-workflow.service.ts +39 -0
  17. package/src/lib/tab-core-utility/app/enums/controllers.enum.ts +24 -0
  18. package/src/lib/tab-core-utility/app/enums/dsq.enum.ts +46 -0
  19. package/src/lib/tab-core-utility/app/enums/permission.enum.ts +18 -0
  20. package/src/lib/tab-core-utility/app/enums/query.enum.ts +12 -0
  21. package/src/lib/tab-core-utility/app/enums/workflow.enum.ts +35 -0
  22. package/src/lib/tab-core-utility/app/helpers/common/app.helpers.ts +65 -0
  23. package/src/lib/tab-core-utility/app/helpers/common/dsq.helpers.ts +80 -0
  24. package/src/lib/tab-core-utility/app/helpers/common/req-res.helpers.ts +75 -0
  25. package/src/lib/tab-core-utility/app/helpers/common/where-clause.helpers.ts +262 -0
  26. package/src/lib/tab-core-utility/app/helpers/screen/forms.helpers.ts +33 -0
  27. package/src/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.ts +88 -0
  28. package/src/lib/tab-core-utility/app/helpers/screen/grid.helpers.ts +113 -0
  29. package/src/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.ts +74 -0
  30. package/src/lib/tab-core-utility/app/helpers/screen/plugin.helpers.ts +52 -0
  31. package/src/lib/tab-core-utility/app/helpers/screen/screen.helpers.ts +20 -0
  32. package/{lib/tab-core-utility/app/interfaces/auth.interface.d.ts → src/lib/tab-core-utility/app/interfaces/auth.interface.ts} +18 -15
  33. package/src/lib/tab-core-utility/app/interfaces/common-api.interface.ts +27 -0
  34. package/src/lib/tab-core-utility/app/interfaces/grid.interface.ts +118 -0
  35. package/src/lib/tab-core-utility/app/interfaces/orgInfo.interface.ts +34 -0
  36. package/src/lib/tab-core-utility/app/interfaces/schema.interface.ts +11 -0
  37. package/src/lib/tab-core-utility/app/interfaces/user.interface.ts +91 -0
  38. package/src/lib/tab-core-utility/app/models/api-query.class.ts +92 -0
  39. package/src/lib/tab-core-utility/app/models/app-object.class.ts +87 -0
  40. package/src/lib/tab-core-utility/app/models/common.class.ts +30 -0
  41. package/src/lib/tab-core-utility/app/models/data-source-queries.class.ts +114 -0
  42. package/src/lib/tab-core-utility/app/utils/filter.util.ts +78 -0
  43. package/src/lib/tab-core-utility/app/utils/form-builder.util.ts +31 -0
  44. package/src/lib/tab-core-utility/app/utils/json.util.ts +137 -0
  45. package/src/lib/tab-core-utility/app/utils/operators.util.ts +129 -0
  46. package/src/lib/tab-core-utility/app/utils/req-res.util.ts +189 -0
  47. package/src/lib/tab-core-utility/app/utils/tab-app.util.ts +131 -0
  48. package/src/lib/tab-core-utility/auth/auth.service.spec.ts +167 -0
  49. package/src/lib/tab-core-utility/auth/auth.service.ts +91 -0
  50. package/src/lib/tab-core-utility/auth/idb-storage.service.ts +77 -0
  51. package/src/lib/tab-core-utility/auth/local-storage.service.spec.ts +47 -0
  52. package/src/lib/tab-core-utility/auth/local-storage.service.ts +46 -0
  53. package/src/lib/tab-core-utility/auth/session-storage.service.spec.ts +47 -0
  54. package/src/lib/tab-core-utility/auth/session-storage.service.ts +46 -0
  55. package/src/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.ts +32 -0
  56. package/src/lib/tab-core-utility/core/error-handler/error-handler.store.spec.ts +16 -0
  57. package/src/lib/tab-core-utility/core/error-handler/error-handler.store.ts +26 -0
  58. package/src/lib/tab-core-utility/core/error-handler/models/error-handler.state.ts +9 -0
  59. package/src/lib/tab-core-utility/core/http-client/api-url.token.ts +4 -0
  60. package/src/lib/tab-core-utility/core/http-client/api.service.spec.ts +18 -0
  61. package/src/lib/tab-core-utility/core/http-client/api.service.ts +105 -0
  62. package/src/lib/tab-core-utility/core/util/auth.utils.ts +22 -0
  63. package/src/lib/tab-core-utility/store/auth.store.ts +54 -0
  64. package/src/lib/tab-core-utility/store/orginfo.store.ts +57 -0
  65. package/src/lib/tab-core-utility/store/schema.store.ts +85 -0
  66. package/src/test-setup.ts +8 -0
  67. package/tsconfig.json +29 -0
  68. package/tsconfig.lib.json +17 -0
  69. package/tsconfig.lib.prod.json +7 -0
  70. package/tsconfig.spec.json +16 -0
  71. package/esm2022/index.mjs +0 -64
  72. package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +0 -33
  73. package/esm2022/lib/tab-core-utility/app/constants/common.mjs +0 -25
  74. package/esm2022/lib/tab-core-utility/app/constants/error-messages.mjs +0 -13
  75. package/esm2022/lib/tab-core-utility/app/constants/storage-constants.mjs +0 -16
  76. package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +0 -145
  77. package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +0 -131
  78. package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +0 -77
  79. package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +0 -105
  80. package/esm2022/lib/tab-core-utility/app/crud/tab-workflow.service.mjs +0 -43
  81. package/esm2022/lib/tab-core-utility/app/enums/controllers.enum.mjs +0 -26
  82. package/esm2022/lib/tab-core-utility/app/enums/dsq.enum.mjs +0 -48
  83. package/esm2022/lib/tab-core-utility/app/enums/permission.enum.mjs +0 -20
  84. package/esm2022/lib/tab-core-utility/app/enums/query.enum.mjs +0 -14
  85. package/esm2022/lib/tab-core-utility/app/enums/workflow.enum.mjs +0 -37
  86. package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +0 -68
  87. package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +0 -70
  88. package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +0 -64
  89. package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +0 -208
  90. package/esm2022/lib/tab-core-utility/app/helpers/screen/forms.helpers.mjs +0 -38
  91. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.mjs +0 -78
  92. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +0 -112
  93. package/esm2022/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.mjs +0 -77
  94. package/esm2022/lib/tab-core-utility/app/helpers/screen/plugin.helpers.mjs +0 -55
  95. package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +0 -26
  96. package/esm2022/lib/tab-core-utility/app/interfaces/auth.interface.mjs +0 -2
  97. package/esm2022/lib/tab-core-utility/app/interfaces/common-api.interface.mjs +0 -2
  98. package/esm2022/lib/tab-core-utility/app/interfaces/grid.interface.mjs +0 -3
  99. package/esm2022/lib/tab-core-utility/app/interfaces/orgInfo.interface.mjs +0 -2
  100. package/esm2022/lib/tab-core-utility/app/interfaces/schema.interface.mjs +0 -2
  101. package/esm2022/lib/tab-core-utility/app/interfaces/user.interface.mjs +0 -2
  102. package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +0 -47
  103. package/esm2022/lib/tab-core-utility/app/models/app-object.class.mjs +0 -30
  104. package/esm2022/lib/tab-core-utility/app/models/common.class.mjs +0 -12
  105. package/esm2022/lib/tab-core-utility/app/models/data-source-queries.class.mjs +0 -31
  106. package/esm2022/lib/tab-core-utility/app/utils/filter.util.mjs +0 -75
  107. package/esm2022/lib/tab-core-utility/app/utils/form-builder.util.mjs +0 -39
  108. package/esm2022/lib/tab-core-utility/app/utils/json.util.mjs +0 -138
  109. package/esm2022/lib/tab-core-utility/app/utils/operators.util.mjs +0 -129
  110. package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +0 -168
  111. package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +0 -99
  112. package/esm2022/lib/tab-core-utility/auth/auth.service.mjs +0 -74
  113. package/esm2022/lib/tab-core-utility/auth/idb-storage.service.mjs +0 -69
  114. package/esm2022/lib/tab-core-utility/auth/local-storage.service.mjs +0 -52
  115. package/esm2022/lib/tab-core-utility/auth/session-storage.service.mjs +0 -52
  116. package/esm2022/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.mjs +0 -26
  117. package/esm2022/lib/tab-core-utility/core/error-handler/error-handler.store.mjs +0 -21
  118. package/esm2022/lib/tab-core-utility/core/error-handler/models/error-handler.state.mjs +0 -5
  119. package/esm2022/lib/tab-core-utility/core/http-client/api-url.token.mjs +0 -4
  120. package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +0 -99
  121. package/esm2022/lib/tab-core-utility/core/util/auth.utils.mjs +0 -21
  122. package/esm2022/lib/tab-core-utility/store/auth.store.mjs +0 -43
  123. package/esm2022/lib/tab-core-utility/store/orginfo.store.mjs +0 -42
  124. package/esm2022/lib/tab-core-utility/store/schema.store.mjs +0 -68
  125. package/esm2022/techextensor-tab-core-utility.mjs +0 -5
  126. package/lib/tab-core-utility/app/constants/api-constants.d.ts +0 -30
  127. package/lib/tab-core-utility/app/constants/common.d.ts +0 -8
  128. package/lib/tab-core-utility/app/constants/error-messages.d.ts +0 -6
  129. package/lib/tab-core-utility/app/constants/storage-constants.d.ts +0 -15
  130. package/lib/tab-core-utility/app/crud/tab-delete.service.d.ts +0 -51
  131. package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +0 -58
  132. package/lib/tab-core-utility/app/crud/tab-insert.service.d.ts +0 -37
  133. package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +0 -14
  134. package/lib/tab-core-utility/app/crud/tab-workflow.service.d.ts +0 -20
  135. package/lib/tab-core-utility/app/enums/controllers.enum.d.ts +0 -24
  136. package/lib/tab-core-utility/app/enums/dsq.enum.d.ts +0 -42
  137. package/lib/tab-core-utility/app/enums/permission.enum.d.ts +0 -16
  138. package/lib/tab-core-utility/app/enums/query.enum.d.ts +0 -11
  139. package/lib/tab-core-utility/app/enums/workflow.enum.d.ts +0 -30
  140. package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +0 -31
  141. package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +0 -32
  142. package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +0 -62
  143. package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +0 -82
  144. package/lib/tab-core-utility/app/helpers/screen/forms.helpers.d.ts +0 -11
  145. package/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.d.ts +0 -33
  146. package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +0 -63
  147. package/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.d.ts +0 -38
  148. package/lib/tab-core-utility/app/helpers/screen/plugin.helpers.d.ts +0 -25
  149. package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +0 -11
  150. package/lib/tab-core-utility/app/interfaces/common-api.interface.d.ts +0 -24
  151. package/lib/tab-core-utility/app/interfaces/grid.interface.d.ts +0 -110
  152. package/lib/tab-core-utility/app/interfaces/orgInfo.interface.d.ts +0 -31
  153. package/lib/tab-core-utility/app/interfaces/schema.interface.d.ts +0 -11
  154. package/lib/tab-core-utility/app/interfaces/user.interface.d.ts +0 -84
  155. package/lib/tab-core-utility/app/models/api-query.class.d.ts +0 -69
  156. package/lib/tab-core-utility/app/models/app-object.class.d.ts +0 -74
  157. package/lib/tab-core-utility/app/models/common.class.d.ts +0 -24
  158. package/lib/tab-core-utility/app/models/data-source-queries.class.d.ts +0 -95
  159. package/lib/tab-core-utility/app/utils/filter.util.d.ts +0 -30
  160. package/lib/tab-core-utility/app/utils/form-builder.util.d.ts +0 -13
  161. package/lib/tab-core-utility/app/utils/json.util.d.ts +0 -25
  162. package/lib/tab-core-utility/app/utils/operators.util.d.ts +0 -21
  163. package/lib/tab-core-utility/app/utils/req-res.util.d.ts +0 -61
  164. package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +0 -48
  165. package/lib/tab-core-utility/auth/auth.service.d.ts +0 -53
  166. package/lib/tab-core-utility/auth/idb-storage.service.d.ts +0 -14
  167. package/lib/tab-core-utility/auth/local-storage.service.d.ts +0 -22
  168. package/lib/tab-core-utility/auth/session-storage.service.d.ts +0 -22
  169. package/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.d.ts +0 -3
  170. package/lib/tab-core-utility/core/error-handler/error-handler.store.d.ts +0 -10
  171. package/lib/tab-core-utility/core/error-handler/models/error-handler.state.d.ts +0 -5
  172. package/lib/tab-core-utility/core/http-client/api-url.token.d.ts +0 -3
  173. package/lib/tab-core-utility/core/http-client/api.service.d.ts +0 -65
  174. package/lib/tab-core-utility/core/util/auth.utils.d.ts +0 -9
  175. package/lib/tab-core-utility/store/auth.store.d.ts +0 -19
  176. package/lib/tab-core-utility/store/orginfo.store.d.ts +0 -22
  177. package/lib/tab-core-utility/store/schema.store.d.ts +0 -32
@@ -1,168 +0,0 @@
1
- /* eslint-disable no-prototype-builtins */
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- import { HttpHeaders } from '@angular/common/http';
4
- import { Common } from '../constants/common';
5
- import { getAppObject, getDsqIdfromSelectedAppObjectDSQArray, } from './tab-app.util';
6
- import { API } from '../constants/api-constants';
7
- import { getFormBuilderType } from './form-builder.util';
8
- import { StorageConstants } from '../constants/storage-constants';
9
- // import { inject } from '@angular/core';
10
- import { SessionStorageService } from '../../auth/session-storage.service';
11
- import { API_URL } from '../../core/http-client/api-url.token';
12
- // const sessionStorageService = inject(SessionStorageService);
13
- const sessionStorageService = new SessionStorageService();
14
- /**
15
- * Delete a key from the response object
16
- *
17
- * @param response - The response object
18
- * @param key - The key to be deleted
19
- * @returns any - The updated response object
20
- */
21
- export function deleteKeyFromResponse(response, key) {
22
- delete response[key];
23
- return response;
24
- }
25
- /**
26
- * Remove the primary key from the response object
27
- *
28
- * @param response - The response object
29
- * @param field - The field to be removed as primary key
30
- * @returns any - The updated response object
31
- */
32
- export function removePrimaryKey(response, field) {
33
- if (field) {
34
- deleteKeyFromResponse(response, field);
35
- }
36
- return response;
37
- }
38
- /**
39
- * Remove multiple primary keys from the response object
40
- *
41
- * @param response - The response object
42
- * @param fields - The array of fields to be removed as primary keys
43
- * @returns any - The updated response object
44
- */
45
- export function removeMultiplePrimaryKey(response, fields) {
46
- fields.forEach((element) => {
47
- delete response[element.FieldName];
48
- });
49
- return response;
50
- }
51
- /**
52
- * Get the HttpHeaders for API requests
53
- *
54
- * @returns HttpHeaders | null - The HttpHeaders object or null
55
- */
56
- export function getHeaders() {
57
- const token = sessionStorageService.getSessionStorage(StorageConstants.token);
58
- const staticToken = sessionStorageService.getSessionStorage(StorageConstants.staticToken);
59
- if (!token && staticToken) {
60
- // Token is empty but staticToken is not
61
- return new HttpHeaders({
62
- 'Content-Type': 'application/json',
63
- Authorization: staticToken,
64
- ApplicationCode: Common.applicationCode,
65
- });
66
- }
67
- else if (token) {
68
- // Token is not empty
69
- return new HttpHeaders({
70
- 'Content-Type': 'application/json',
71
- Authorization: token,
72
- ApplicationCode: Common.applicationCode,
73
- });
74
- }
75
- // Handle the case when both tokens are empty
76
- return null;
77
- }
78
- /**
79
- * Get the primary key fields from the AppObject
80
- *
81
- * @param appObject - The AppObject
82
- * @returns AppFields[] | null - The array of primary key fields or null
83
- */
84
- export function getPrimaryKeyFields(appObject) {
85
- if (appObject.Fields.length) {
86
- return appObject.Fields.filter((field) => field.IsPrimaryKey);
87
- }
88
- return null;
89
- }
90
- /**
91
- * Get the edit record ID from the response object
92
- *
93
- * @param response - The response object
94
- * @param fieldName - The field name for the edit record ID
95
- * @returns any - The edit record ID
96
- */
97
- export function getEditRecordId(response, fieldName) {
98
- let recordId = null;
99
- if (fieldName) {
100
- recordId = response[fieldName] || null;
101
- }
102
- else {
103
- recordId = response.Id || response.ID || null;
104
- }
105
- return recordId;
106
- }
107
- /**
108
- * Generate the fields schema based on the AppFields
109
- *
110
- * @param fields - The AppFields object
111
- * @returns any - The generated fields schema
112
- */
113
- export function generateFieldsSchema(fields) {
114
- let schema = {};
115
- if (fields.hasOwnProperty('LookUpDetails')) {
116
- const selectedAppObject = getAppObject(fields.LookUpDetails.LookupObject);
117
- const dsqID = getDsqIdfromSelectedAppObjectDSQArray(selectedAppObject?.DataSourceQueries, fields.LookUpDetails.LookupObject, 'List');
118
- schema = {
119
- label: fields.DisplayName,
120
- type: 'select',
121
- key: fields.SystemDBFieldName,
122
- input: true,
123
- dataSrc: 'url',
124
- valueProperty: fields.LookUpDetails.LookupField,
125
- template: `<span>{{ item.${fields.LookUpDetails.DisplayField} }}</span>`,
126
- selectValues: 'Result',
127
- data: {
128
- url: `${API_URL}${API.getListFromDsq}${dsqID}`, // API.getListFromDsq + dsqID,
129
- headers: [
130
- {
131
- "key": "Applicationcode",
132
- "value": sessionStorageService.getSessionStorage(StorageConstants.applicationCode)
133
- },
134
- {
135
- "key": "Authorization",
136
- "value": sessionStorageService.getSessionStorage(StorageConstants.token)
137
- }
138
- ],
139
- },
140
- };
141
- }
142
- else {
143
- schema = {
144
- label: fields.DisplayName,
145
- type: getFormBuilderType(fields.FieldType.DataType),
146
- key: fields.SystemDBFieldName,
147
- input: true,
148
- };
149
- }
150
- return schema;
151
- }
152
- /**
153
- * Get the HttpHeaders for form data requests
154
- *
155
- * @returns HttpHeaders | null - The HttpHeaders object or null
156
- */
157
- export function getFormDataHeaders() {
158
- const isToken = sessionStorageService.getSessionStorage(StorageConstants.token);
159
- if (isToken) {
160
- return new HttpHeaders({
161
- Accept: '*/*',
162
- Authorization: isToken,
163
- ApplicationCode: Common.applicationCode,
164
- });
165
- }
166
- return null;
167
- }
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLXJlcy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3JlcS1yZXMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUNMLFlBQVksRUFDWixxQ0FBcUMsR0FDdEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUvRCwrREFBK0Q7QUFDL0QsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7QUFFMUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQWEsRUFBRSxHQUFXO0lBQzlELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBYSxFQUFFLEtBQWE7SUFDM0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxD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QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4uL2NvbnN0YW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBcHBPYmplY3QgfSBmcm9tICcuLi9tb2RlbHMvYXBwLW9iamVjdC5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgZ2V0QXBwT2JqZWN0LFxyXG4gIGdldERzcUlkZnJvbVNlbGVjdGVkQXBwT2JqZWN0RFNRQXJyYXksXHJcbn0gZnJvbSAnLi90YWItYXBwLnV0aWwnO1xyXG5pbXBvcnQgeyBBcHBGaWVsZHMgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0Rm9ybUJ1aWxkZXJUeXBlIH0gZnJvbSAnLi9mb3JtLWJ1aWxkZXIudXRpbCc7XHJcbmltcG9ydCB7IFN0b3JhZ2VDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvc3RvcmFnZS1jb25zdGFudHMnO1xyXG4vLyBpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aC9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFQSV9VUkwgfSBmcm9tICcuLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS11cmwudG9rZW4nO1xyXG5cclxuLy8gY29uc3Qgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KFNlc3Npb25TdG9yYWdlU2VydmljZSk7XHJcbmNvbnN0IHNlc3Npb25TdG9yYWdlU2VydmljZSA9IG5ldyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UoKTtcclxuXHJcbi8qKlxyXG4gKiBEZWxldGUgYSBrZXkgZnJvbSB0aGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSByZXNwb25zZSAtIFRoZSByZXNwb25zZSBvYmplY3RcclxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gYmUgZGVsZXRlZFxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgdXBkYXRlZCByZXNwb25zZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVLZXlGcm9tUmVzcG9uc2UocmVzcG9uc2U6IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICBkZWxldGUgcmVzcG9uc2Vba2V5XTtcclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIHByaW1hcnkga2V5IGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBmaWVsZCAtIFRoZSBmaWVsZCB0byBiZSByZW1vdmVkIGFzIHByaW1hcnkga2V5XHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSB1cGRhdGVkIHJlc3BvbnNlIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVByaW1hcnlLZXkocmVzcG9uc2U6IGFueSwgZmllbGQ6IHN0cmluZykge1xyXG4gIGlmIChmaWVsZCkge1xyXG4gICAgZGVsZXRlS2V5RnJvbVJlc3BvbnNlKHJlc3BvbnNlLCBmaWVsZCk7XHJcbiAgfVxyXG4gIHJldHVybiByZXNwb25zZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBtdWx0aXBsZSBwcmltYXJ5IGtleXMgZnJvbSB0aGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSByZXNwb25zZSAtIFRoZSByZXNwb25zZSBvYmplY3RcclxuICogQHBhcmFtIGZpZWxkcyAtIFRoZSBhcnJheSBvZiBmaWVsZHMgdG8gYmUgcmVtb3ZlZCBhcyBwcmltYXJ5IGtleXNcclxuICogQHJldHVybnMgYW55IC0gVGhlIHVwZGF0ZWQgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTXVsdGlwbGVQcmltYXJ5S2V5KHJlc3BvbnNlOiBhbnksIGZpZWxkczogYW55KSB7XHJcbiAgZmllbGRzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgZGVsZXRlIHJlc3BvbnNlW2VsZW1lbnQuRmllbGROYW1lXTtcclxuICB9KTtcclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIEh0dHBIZWFkZXJzIGZvciBBUEkgcmVxdWVzdHNcclxuICpcclxuICogQHJldHVybnMgSHR0cEhlYWRlcnMgfCBudWxsIC0gVGhlIEh0dHBIZWFkZXJzIG9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVhZGVycygpIHtcclxuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnRva2VuKTtcclxuICBjb25zdCBzdGF0aWNUb2tlbiA9IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnN0YXRpY1Rva2VuKTtcclxuICBcclxuICBpZiAoIXRva2VuICYmIHN0YXRpY1Rva2VuKSB7XHJcbiAgICAgIC8vIFRva2VuIGlzIGVtcHR5IGJ1dCBzdGF0aWNUb2tlbiBpcyBub3RcclxuICAgICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogc3RhdGljVG9rZW4sXHJcbiAgICAgICAgICBBcHBsaWNhdGlvbkNvZGU6IENvbW1vbi5hcHBsaWNhdGlvbkNvZGUsXHJcbiAgICAgIH0pO1xyXG4gIH0gZWxzZSBpZiAodG9rZW4pIHtcclxuICAgICAgLy8gVG9rZW4gaXMgbm90IGVtcHR5XHJcbiAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgIEF1dGhvcml6YXRpb246IHRva2VuLFxyXG4gICAgICAgICAgQXBwbGljYXRpb25Db2RlOiBDb21tb24uYXBwbGljYXRpb25Db2RlLFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLy8gSGFuZGxlIHRoZSBjYXNlIHdoZW4gYm90aCB0b2tlbnMgYXJlIGVtcHR5XHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIHByaW1hcnkga2V5IGZpZWxkcyBmcm9tIHRoZSBBcHBPYmplY3RcclxuICpcclxuICogQHBhcmFtIGFwcE9iamVjdCAtIFRoZSBBcHBPYmplY3RcclxuICogQHJldHVybnMgQXBwRmllbGRzW10gfCBudWxsIC0gVGhlIGFycmF5IG9mIHByaW1hcnkga2V5IGZpZWxkcyBvciBudWxsXHJcbiAqL1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFByaW1hcnlLZXlGaWVsZHMoYXBwT2JqZWN0OiBBcHBPYmplY3QpIHtcclxuICBpZiAoYXBwT2JqZWN0LkZpZWxkcy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBhcHBPYmplY3QuRmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLklzUHJpbWFyeUtleSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBlZGl0IHJlY29yZCBJRCBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGROYW1lIC0gVGhlIGZpZWxkIG5hbWUgZm9yIHRoZSBlZGl0IHJlY29yZCBJRFxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgZWRpdCByZWNvcmQgSURcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGl0UmVjb3JkSWQocmVzcG9uc2U6IGFueSwgZmllbGROYW1lOiBhbnkpIHtcclxuICBsZXQgcmVjb3JkSWQgPSBudWxsO1xyXG4gIGlmIChmaWVsZE5hbWUpIHtcclxuICAgIHJlY29yZElkID0gcmVzcG9uc2VbZmllbGROYW1lXSB8fCBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZWNvcmRJZCA9IHJlc3BvbnNlLklkIHx8IHJlc3BvbnNlLklEIHx8IG51bGw7XHJcbiAgfVxyXG4gIHJldHVybiByZWNvcmRJZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIHRoZSBmaWVsZHMgc2NoZW1hIGJhc2VkIG9uIHRoZSBBcHBGaWVsZHNcclxuICpcclxuICogQHBhcmFtIGZpZWxkcyAtIFRoZSBBcHBGaWVsZHMgb2JqZWN0XHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSBnZW5lcmF0ZWQgZmllbGRzIHNjaGVtYVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRmllbGRzU2NoZW1hKGZpZWxkczogQXBwRmllbGRzKSB7XHJcbiAgbGV0IHNjaGVtYSA9IHt9O1xyXG4gIGlmIChmaWVsZHMuaGFzT3duUHJvcGVydHkoJ0xvb2tVcERldGFpbHMnKSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRBcHBPYmplY3Q6IEFwcE9iamVjdCA9IGdldEFwcE9iamVjdChcclxuICAgICAgZmllbGRzLkxvb2tVcERldGFpbHMuTG9va3VwT2JqZWN0XHJcbiAgICApO1xyXG4gICAgY29uc3QgZHNxSUQgPSBnZXREc3FJZGZyb21TZWxlY3RlZEFwcE9iamVjdERTUUFycmF5KFxyXG4gICAgICBzZWxlY3RlZEFwcE9iamVjdD8uRGF0YVNvdXJjZVF1ZXJpZXMsXHJcbiAgICAgIGZpZWxkcy5Mb29rVXBEZXRhaWxzLkxvb2t1cE9iamVjdCxcclxuICAgICAgJ0xpc3QnXHJcbiAgICApO1xyXG4gICAgc2NoZW1hID0ge1xyXG4gICAgICBsYWJlbDogZmllbGRzLkRpc3BsYXlOYW1lLFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAga2V5OiBmaWVsZHMuU3lzdGVtREJGaWVsZE5hbWUsXHJcbiAgICAgIGlucHV0OiB0cnVlLFxyXG4gICAgICBkYXRhU3JjOiAndXJsJyxcclxuICAgICAgdmFsdWVQcm9wZXJ0eTogZmllbGRzLkxvb2tVcERldGFpbHMuTG9va3VwRmllbGQsXHJcbiAgICAgIHRlbXBsYXRlOiBgPHNwYW4+e3sgaXRlbS4ke2ZpZWxkcy5Mb29rVXBEZXRhaWxzLkRpc3BsYXlGaWVsZH0gfX08L3NwYW4+YCxcclxuICAgICAgc2VsZWN0VmFsdWVzOiAnUmVzdWx0JyxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHVybDogYCR7QVBJX1VSTH0ke0FQSS5nZXRMaXN0RnJvbURzcX0ke2RzcUlEfWAsLy8gQVBJLmdldExpc3RGcm9tRHNxICsgZHNxSUQsXHJcbiAgICAgICAgaGVhZGVyczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBcImtleVwiOiBcIkFwcGxpY2F0aW9uY29kZVwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLmFwcGxpY2F0aW9uQ29kZSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwia2V5XCI6IFwiQXV0aG9yaXphdGlvblwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnRva2VuKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgIFxyXG4gICAgfTtcclxuICB9IGVsc2Uge1xyXG4gICAgc2NoZW1hID0ge1xyXG4gICAgICBsYWJlbDogZmllbGRzLkRpc3BsYXlOYW1lLFxyXG4gICAgICB0eXBlOiBnZXRGb3JtQnVpbGRlclR5cGUoZmllbGRzLkZpZWxkVHlwZS5EYXRhVHlwZSksXHJcbiAgICAgIGtleTogZmllbGRzLlN5c3RlbURCRmllbGROYW1lLFxyXG4gICAgICBpbnB1dDogdHJ1ZSxcclxuICAgIH07XHJcbiAgfVxyXG4gIHJldHVybiBzY2hlbWE7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIEh0dHBIZWFkZXJzIGZvciBmb3JtIGRhdGEgcmVxdWVzdHNcclxuICpcclxuICogQHJldHVybnMgSHR0cEhlYWRlcnMgfCBudWxsIC0gVGhlIEh0dHBIZWFkZXJzIG9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybURhdGFIZWFkZXJzKCkge1xyXG4gIGNvbnN0IGlzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoXHJcbiAgICBTdG9yYWdlQ29uc3RhbnRzLnRva2VuXHJcbiAgKTtcclxuICBpZiAoaXNUb2tlbikge1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgIEFjY2VwdDogJyovKicsXHJcbiAgICAgIEF1dGhvcml6YXRpb246IGlzVG9rZW4sXHJcbiAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgIH0pO1xyXG4gIH1cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG4iXX0=
@@ -1,99 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Common } from '../constants/common';
3
- import { deleteKeyFromResponse } from './req-res.util';
4
- /** Get the DataSourceQuery ID from the selected AppObject's DataSourceQuery array
5
- * @param dsqList - The list of DataSourceQueries
6
- * @param table - The table name
7
- * @param like - The like string
8
- * @returns string - The ID of the DataSourceQuery
9
- */
10
- export function getDsqIdfromSelectedAppObjectDSQArray(dsqList, table, like) {
11
- if (dsqList) {
12
- const matchName = like + '_' + table;
13
- const result = dsqList.find((d) => d.QueryName === matchName);
14
- return result?.ID;
15
- }
16
- }
17
- /** Get the AppObject based on the provided ID
18
- * @param id - The ID of the AppObject
19
- * @returns AppObject | null - The found AppObject or null
20
- */
21
- export function getAppObject(id) {
22
- const tabData = Common.tabJson;
23
- return (tabData?.AppObjects.find((t) => t.ID === id?.toLowerCase()) || null);
24
- }
25
- /**
26
- * Get the AppObject from the DataSourceQuery ID
27
- * @param dsqId - The DataSourceQuery ID
28
- * @returns AppObject | null - The found AppObject or null
29
- */
30
- export function getAppObjectFromDataSourceQueryID(dsqId) {
31
- const tabData = Common.tabJson;
32
- if (!dsqId || !tabData) {
33
- return null;
34
- }
35
- for (const appObject of tabData.AppObjects) {
36
- const dsq = appObject.DataSourceQueries.find((l) => l.ID === dsqId?.toLowerCase());
37
- if (dsq) {
38
- return appObject;
39
- }
40
- }
41
- return null;
42
- }
43
- /**
44
- * Get the DataSourceQuery ID from the QueryName and table
45
- * @param table - The table name
46
- * @param dsq - The DataSourceQuery name
47
- * @returns any - The found DataSourceQuery
48
- */
49
- export function getDsqIDFromQueryName(table, dsq) {
50
- const appObjectList = getAppObjectFromSystemDBTableName(table);
51
- return appObjectList?.DataSourceQueries.find((d) => d.QueryName === dsq);
52
- }
53
- /**
54
- * Get the Data from the DataSourceQuery ID
55
- *
56
- * @param dsqId - The DataSourceQuery ID
57
- * @returns any - The found Data
58
- */
59
- export function getDataFromDataSourceQueryID(dsqId) {
60
- const tabData = Common.tabJson;
61
- if (!tabData) {
62
- return null;
63
- }
64
- for (const appObject of tabData.AppObjects) {
65
- const DSQ = appObject.DataSourceQueries.find((l) => l.ID === dsqId?.toLowerCase());
66
- if (DSQ) {
67
- return DSQ;
68
- }
69
- }
70
- return null;
71
- }
72
- /**
73
- * Synchronize AppObject fields with the response
74
- *
75
- * @param response - The response object
76
- * @param appObject - The AppObject
77
- * @returns any - The synchronized response object
78
- */
79
- export function syncAppObjectFields(response, appObject) {
80
- for (const key in response) {
81
- const foundObj = appObject.Fields.find((f) => f.FieldName === key);
82
- const chilData = appObject.ChildRelationShips?.map((x) => x.childDetails.LookupObject);
83
- if (!foundObj && !(chilData && chilData.some((x) => x.includes(key)))) {
84
- deleteKeyFromResponse(response, key);
85
- }
86
- }
87
- return response;
88
- }
89
- /**
90
- * Get the AppObject based on the SystemDBTableName
91
- *
92
- * @param tableName - The SystemDBTableName
93
- * @returns AppObject | null - The found AppObject or null
94
- */
95
- export function getAppObjectFromSystemDBTableName(tableName) {
96
- const tabData = Common.tabJson;
97
- return (tabData?.AppObjects.find((t) => t.SystemDBTableName === tableName) || null);
98
- }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWFwcC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3RhYi1hcHAudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZEOzs7OztHQUtHO0FBRUgsTUFBTSxVQUFVLHFDQUFxQyxDQUNuRCxPQUFZLEVBQ1osS0FBYSxFQUNiLElBQVk7SUFFWixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNuRSxPQUFPLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDcEIsQ0FBQztBQUNILENBQUM7QUFFRDs7O0dBR0c7QUFFSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQVU7SUFDckMsTUFBTSxPQUFPLEdBQWUsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxPQUFPLENBQ0wsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUN6RSxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFFSCxNQUFNLFVBQVUsaUNBQWlDLENBQUMsS0FBYTtJQUM3RCxNQUFNLE9BQU8sR0FBUSxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ3BD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bnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBDb21tb24gfSBmcm9tICcuLi9jb25zdGFudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQXBwT2JqZWN0IH0gZnJvbSAnLi4vbW9kZWxzL2FwcC1vYmplY3QuY2xhc3MnO1xyXG5pbXBvcnQgeyBkZWxldGVLZXlGcm9tUmVzcG9uc2UgfSBmcm9tICcuL3JlcS1yZXMudXRpbCc7XHJcblxyXG4vKiogR2V0IHRoZSBEYXRhU291cmNlUXVlcnkgSUQgZnJvbSB0aGUgc2VsZWN0ZWQgQXBwT2JqZWN0J3MgRGF0YVNvdXJjZVF1ZXJ5IGFycmF5XHJcbiAqIEBwYXJhbSBkc3FMaXN0IC0gVGhlIGxpc3Qgb2YgRGF0YVNvdXJjZVF1ZXJpZXNcclxuICogQHBhcmFtIHRhYmxlIC0gVGhlIHRhYmxlIG5hbWVcclxuICogQHBhcmFtIGxpa2UgLSBUaGUgbGlrZSBzdHJpbmdcclxuICogQHJldHVybnMgc3RyaW5nIC0gVGhlIElEIG9mIHRoZSBEYXRhU291cmNlUXVlcnlcclxuICovXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RHNxSWRmcm9tU2VsZWN0ZWRBcHBPYmplY3REU1FBcnJheShcclxuICBkc3FMaXN0OiBhbnksXHJcbiAgdGFibGU6IHN0cmluZyxcclxuICBsaWtlOiBzdHJpbmdcclxuKSB7XHJcbiAgaWYgKGRzcUxpc3QpIHtcclxuICAgIGNvbnN0IG1hdGNoTmFtZSA9IGxpa2UgKyAnXycgKyB0YWJsZTtcclxuICAgIGNvbnN0IHJlc3VsdCA9IGRzcUxpc3QuZmluZCgoZDogYW55KSA9PiBkLlF1ZXJ5TmFtZSA9PT0gbWF0Y2hOYW1lKTtcclxuICAgIHJldHVybiByZXN1bHQ/LklEO1xyXG4gIH1cclxufVxyXG5cclxuLyoqIEdldCB0aGUgQXBwT2JqZWN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBJRFxyXG4gKiBAcGFyYW0gaWQgLSBUaGUgSUQgb2YgdGhlIEFwcE9iamVjdFxyXG4gKiBAcmV0dXJucyBBcHBPYmplY3QgfCBudWxsIC0gVGhlIGZvdW5kIEFwcE9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcE9iamVjdChpZDogc3RyaW5nKSB7XHJcbiAgY29uc3QgdGFiRGF0YTogYW55IHwgbnVsbCA9IENvbW1vbi50YWJKc29uO1xyXG4gIHJldHVybiAoXHJcbiAgICB0YWJEYXRhPy5BcHBPYmplY3RzLmZpbmQoKHQ6IGFueSkgPT4gdC5JRCA9PT0gaWQ/LnRvTG93ZXJDYXNlKCkpIHx8IG51bGxcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBBcHBPYmplY3QgZnJvbSB0aGUgRGF0YVNvdXJjZVF1ZXJ5IElEXHJcbiAqIEBwYXJhbSBkc3FJZCAtIFRoZSBEYXRhU291cmNlUXVlcnkgSURcclxuICogQHJldHVybnMgQXBwT2JqZWN0IHwgbnVsbCAtIFRoZSBmb3VuZCBBcHBPYmplY3Qgb3IgbnVsbFxyXG4gKi9cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBPYmplY3RGcm9tRGF0YVNvdXJjZVF1ZXJ5SUQoZHNxSWQ6IHN0cmluZykge1xyXG4gIGNvbnN0IHRhYkRhdGE6IGFueSA9IENvbW1vbi50YWJKc29uO1xyXG4gIGlmICghZHNxSWQgfHwgIXRhYkRhdGEpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBhcHBPYmplY3Qgb2YgdGFiRGF0YS5BcHBPYmplY3RzKSB7XHJcbiAgICBjb25zdCBkc3EgPSBhcHBPYmplY3QuRGF0YVNvdXJjZVF1ZXJpZXMuZmluZChcclxuICAgICAgKGw6IGFueSkgPT4gbC5JRCA9PT0gZHNxSWQ/LnRvTG93ZXJDYXNlKClcclxuICAgICk7XHJcbiAgICBpZiAoZHNxKSB7XHJcbiAgICAgIHJldHVybiBhcHBPYmplY3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgRGF0YVNvdXJjZVF1ZXJ5IElEIGZyb20gdGhlIFF1ZXJ5TmFtZSBhbmQgdGFibGVcclxuICogQHBhcmFtIHRhYmxlIC0gVGhlIHRhYmxlIG5hbWVcclxuICogQHBhcmFtIGRzcSAtIFRoZSBEYXRhU291cmNlUXVlcnkgbmFtZVxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgZm91bmQgRGF0YVNvdXJjZVF1ZXJ5XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RHNxSURGcm9tUXVlcnlOYW1lKHRhYmxlOiBzdHJpbmcsIGRzcTogc3RyaW5nKSB7XHJcbiAgY29uc3QgYXBwT2JqZWN0TGlzdCA9IGdldEFwcE9iamVjdEZyb21TeXN0ZW1EQlRhYmxlTmFtZSh0YWJsZSk7XHJcbiAgcmV0dXJuIGFwcE9iamVjdExpc3Q/LkRhdGFTb3VyY2VRdWVyaWVzLmZpbmQoKGQ6IGFueSkgPT4gZC5RdWVyeU5hbWUgPT09IGRzcSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIERhdGEgZnJvbSB0aGUgRGF0YVNvdXJjZVF1ZXJ5IElEXHJcbiAqXHJcbiAqIEBwYXJhbSBkc3FJZCAtIFRoZSBEYXRhU291cmNlUXVlcnkgSURcclxuICogQHJldHVybnMgYW55IC0gVGhlIGZvdW5kIERhdGFcclxuICovXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0YUZyb21EYXRhU291cmNlUXVlcnlJRChkc3FJZDogc3RyaW5nKSB7XHJcbiAgY29uc3QgdGFiRGF0YTogYW55ID0gQ29tbW9uLnRhYkpzb247XHJcbiAgaWYgKCF0YWJEYXRhKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGZvciAoY29uc3QgYXBwT2JqZWN0IG9mIHRhYkRhdGEuQXBwT2JqZWN0cykge1xyXG4gICAgY29uc3QgRFNRID0gYXBwT2JqZWN0LkRhdGFTb3VyY2VRdWVyaWVzLmZpbmQoXHJcbiAgICAgIChsOiBhbnkpID0+IGwuSUQgPT09IGRzcUlkPy50b0xvd2VyQ2FzZSgpXHJcbiAgICApO1xyXG4gICAgaWYgKERTUSkge1xyXG4gICAgICByZXR1cm4gRFNRO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTeW5jaHJvbml6ZSBBcHBPYmplY3QgZmllbGRzIHdpdGggdGhlIHJlc3BvbnNlXHJcbiAqXHJcbiAqIEBwYXJhbSByZXNwb25zZSAtIFRoZSByZXNwb25zZSBvYmplY3RcclxuICogQHBhcmFtIGFwcE9iamVjdCAtIFRoZSBBcHBPYmplY3RcclxuICogQHJldHVybnMgYW55IC0gVGhlIHN5bmNocm9uaXplZCByZXNwb25zZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXBwT2JqZWN0RmllbGRzKHJlc3BvbnNlOiBhbnksIGFwcE9iamVjdDogQXBwT2JqZWN0KSB7XHJcbiAgZm9yIChjb25zdCBrZXkgaW4gcmVzcG9uc2UpIHtcclxuICAgIGNvbnN0IGZvdW5kT2JqID0gYXBwT2JqZWN0LkZpZWxkcy5maW5kKChmOiBhbnkpID0+IGYuRmllbGROYW1lID09PSBrZXkpO1xyXG4gICAgY29uc3QgY2hpbERhdGEgPSBhcHBPYmplY3QuQ2hpbGRSZWxhdGlvblNoaXBzPy5tYXAoXHJcbiAgICAgICh4KSA9PiB4LmNoaWxkRGV0YWlscy5Mb29rdXBPYmplY3RcclxuICAgICk7XHJcbiAgICBpZiAoIWZvdW5kT2JqICYmICEoY2hpbERhdGEgJiYgY2hpbERhdGEuc29tZSgoeCkgPT4geC5pbmNsdWRlcyhrZXkpKSkpIHtcclxuICAgICAgZGVsZXRlS2V5RnJvbVJlc3BvbnNlKHJlc3BvbnNlLCBrZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIEFwcE9iamVjdCBiYXNlZCBvbiB0aGUgU3lzdGVtREJUYWJsZU5hbWVcclxuICpcclxuICogQHBhcmFtIHRhYmxlTmFtZSAtIFRoZSBTeXN0ZW1EQlRhYmxlTmFtZVxyXG4gKiBAcmV0dXJucyBBcHBPYmplY3QgfCBudWxsIC0gVGhlIGZvdW5kIEFwcE9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwT2JqZWN0RnJvbVN5c3RlbURCVGFibGVOYW1lKHRhYmxlTmFtZTogc3RyaW5nKSB7XHJcbiAgY29uc3QgdGFiRGF0YTogYW55ID0gQ29tbW9uLnRhYkpzb247XHJcbiAgcmV0dXJuIChcclxuICAgIHRhYkRhdGE/LkFwcE9iamVjdHMuZmluZChcclxuICAgICAgKHQ6IHsgU3lzdGVtREJUYWJsZU5hbWU6IHN0cmluZyB9KSA9PiB0LlN5c3RlbURCVGFibGVOYW1lID09PSB0YWJsZU5hbWVcclxuICAgICkgfHwgbnVsbFxyXG4gICk7XHJcbn1cclxuIl19
@@ -1,74 +0,0 @@
1
- import { Injectable, inject } from '@angular/core';
2
- import { ApiService } from '../core/http-client/api.service';
3
- import { LocalStorageService } from './local-storage.service';
4
- import * as i0 from "@angular/core";
5
- export class AuthService {
6
- constructor() {
7
- /**
8
- * Injecting required services
9
- */
10
- this.apiService = inject(ApiService);
11
- this.localStorageService = inject(LocalStorageService);
12
- }
13
- // -----------------------------------------------------------------------------------------------------
14
- // @ Public methods
15
- // -----------------------------------------------------------------------------------------------------
16
- /**
17
- * Fetch user details from the database
18
- *
19
- * @param endPointName - The End Point Name to fetch user details
20
- * @returns Observable<UserResponse> - An observable of UserResponse
21
- */
22
- user(endPointName) {
23
- return this.apiService.get(endPointName);
24
- }
25
- /**
26
- * Sign in with provided credentials
27
- *
28
- * @param endPointName - The End Point Name to sign in
29
- * @param credentials - The login credentials
30
- * @returns Observable<UserResponse> - An observable of UserResponse
31
- */
32
- signIn(endPointName, credentials) {
33
- return this.apiService.post(endPointName, credentials);
34
- }
35
- /**
36
- * Register a new user
37
- *
38
- * @param endPointName - The End Point Name to register a new user
39
- * @param credentials - The new user's credentials
40
- * @returns Observable<UserResponse> - An observable of UserResponse
41
- */
42
- register(endPointName, credentials) {
43
- return this.apiService.post(endPointName, credentials);
44
- }
45
- /**
46
- * Forgot password
47
- * @param endPointName - The End Point Name of API
48
- * @param email - The email of user
49
- */
50
- forgotPassword(endPointName, email) {
51
- return this.apiService.post(endPointName, email);
52
- }
53
- /**
54
- * Reset password
55
- * @param endPointName - The End Point Name of API
56
- * @param password - The password of user
57
- */
58
- resetPassword(endPointName, password) {
59
- return this.apiService.post(endPointName, password);
60
- }
61
- /**
62
- * Logout current session
63
- */
64
- logout(key) {
65
- this.localStorageService.removeLocalStorage(key);
66
- }
67
- static { this.ɵfac = function AuthService_Factory(t) { return new (t || AuthService)(); }; }
68
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthService, factory: AuthService.ɵfac, providedIn: 'root' }); }
69
- }
70
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthService, [{
71
- type: Injectable,
72
- args: [{ providedIn: 'root' }]
73
- }], null, null); })();
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUc5RCxNQUFNLE9BQU8sV0FBVztJQUR4QjtRQUVFOztXQUVHO1FBQ2MsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyx3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztLQXVFcEU7SUFyRUMsd0dBQXdHO0lBQ3hHLG1CQUFtQjtJQUNuQix3R0FBd0c7SUFFeEc7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUMsWUFBb0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZSxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFlBQW9CLEVBQUUsV0FBNkI7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDekIsWUFBWSxFQUNaLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxZQUFvQixFQUFFLFdBQTJCO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQStCLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWMsQ0FDWixZQUFvQixFQUNwQixLQUFnQztRQUVoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FDWCxZQUFvQixFQUNwQixRQUFrQztRQUVsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNoQixJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQzs0RUEzRVUsV0FBVzt1RUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFERSxNQUFNOztpRkFDbkIsV0FBVztjQUR2QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBGb3Jnb3RQYXNzd29yZFVzZXJSZXF1ZXN0LFxyXG4gIExvZ2luVXNlclJlcXVlc3QsXHJcbiAgTmV3VXNlclJlcXVlc3QsXHJcbiAgUmVzZXRQYXNzd29yZFVzZXJSZXF1ZXN0LFxyXG59IGZyb20gJy4uL2FwcC9pbnRlcmZhY2VzL2F1dGguaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVXNlclJlc3BvbnNlIH0gZnJvbSAnLi4vYXBwL2ludGVyZmFjZXMvdXNlci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vYXBwL2ludGVyZmFjZXMvY29tbW9uLWFwaS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuICAvKipcclxuICAgKiBJbmplY3RpbmcgcmVxdWlyZWQgc2VydmljZXNcclxuICAgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KExvY2FsU3RvcmFnZVNlcnZpY2UpO1xyXG5cclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vIEAgUHVibGljIG1ldGhvZHNcclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaCB1c2VyIGRldGFpbHMgZnJvbSB0aGUgZGF0YWJhc2VcclxuICAgKlxyXG4gICAqIEBwYXJhbSBlbmRQb2ludE5hbWUgLSBUaGUgRW5kIFBvaW50IE5hbWUgdG8gZmV0Y2ggdXNlciBkZXRhaWxzXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxVc2VyUmVzcG9uc2U+IC0gQW4gb2JzZXJ2YWJsZSBvZiBVc2VyUmVzcG9uc2VcclxuICAgKi9cclxuICB1c2VyKGVuZFBvaW50TmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0PFVzZXJSZXNwb25zZT4oZW5kUG9pbnROYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNpZ24gaW4gd2l0aCBwcm92aWRlZCBjcmVkZW50aWFsc1xyXG4gICAqXHJcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSB0byBzaWduIGluXHJcbiAgICogQHBhcmFtIGNyZWRlbnRpYWxzIC0gVGhlIGxvZ2luIGNyZWRlbnRpYWxzXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxVc2VyUmVzcG9uc2U+IC0gQW4gb2JzZXJ2YWJsZSBvZiBVc2VyUmVzcG9uc2VcclxuICAgKi9cclxuICBzaWduSW4oZW5kUG9pbnROYW1lOiBzdHJpbmcsIGNyZWRlbnRpYWxzOiBMb2dpblVzZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxVc2VyUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdDxVc2VyUmVzcG9uc2UsIExvZ2luVXNlclJlcXVlc3Q+KFxyXG4gICAgICBlbmRQb2ludE5hbWUsXHJcbiAgICAgIGNyZWRlbnRpYWxzXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXIgYSBuZXcgdXNlclxyXG4gICAqXHJcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSB0byByZWdpc3RlciBhIG5ldyB1c2VyXHJcbiAgICogQHBhcmFtIGNyZWRlbnRpYWxzIC0gVGhlIG5ldyB1c2VyJ3MgY3JlZGVudGlhbHNcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFVzZXJSZXNwb25zZT4gLSBBbiBvYnNlcnZhYmxlIG9mIFVzZXJSZXNwb25zZVxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyKGVuZFBvaW50TmFtZTogc3RyaW5nLCBjcmVkZW50aWFsczogTmV3VXNlclJlcXVlc3QpOiBPYnNlcnZhYmxlPFVzZXJSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0PFVzZXJSZXNwb25zZSwgTmV3VXNlclJlcXVlc3Q+KGVuZFBvaW50TmFtZSwgY3JlZGVudGlhbHMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRm9yZ290IHBhc3N3b3JkXHJcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSBvZiBBUElcclxuICAgKiBAcGFyYW0gZW1haWwgLSBUaGUgZW1haWwgb2YgdXNlclxyXG4gICAqL1xyXG4gIGZvcmdvdFBhc3N3b3JkKFxyXG4gICAgZW5kUG9pbnROYW1lOiBzdHJpbmcsXHJcbiAgICBlbWFpbDogRm9yZ290UGFzc3dvcmRVc2VyUmVxdWVzdFxyXG4gICk6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChlbmRQb2ludE5hbWUsIGVtYWlsKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc2V0IHBhc3N3b3JkXHJcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSBvZiBBUElcclxuICAgKiBAcGFyYW0gcGFzc3dvcmQgLSBUaGUgcGFzc3dvcmQgb2YgdXNlclxyXG4gICAqL1xyXG4gIHJlc2V0UGFzc3dvcmQoXHJcbiAgICBlbmRQb2ludE5hbWU6IHN0cmluZyxcclxuICAgIHBhc3N3b3JkOiBSZXNldFBhc3N3b3JkVXNlclJlcXVlc3RcclxuICApOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoZW5kUG9pbnROYW1lLCBwYXNzd29yZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2dvdXQgY3VycmVudCBzZXNzaW9uXHJcbiAgICovXHJcbiAgbG9nb3V0KGtleTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKGtleSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,69 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { openDB } from 'idb';
3
- import * as i0 from "@angular/core";
4
- export class IdbService {
5
- constructor() {
6
- this.dbName = 'TabDatabase';
7
- this.dbVersion = 1;
8
- this.dbPromise = openDB(this.dbName, this.dbVersion, {
9
- upgrade(db) {
10
- if (!db.objectStoreNames.contains('myObjectStore')) {
11
- db.createObjectStore('myObjectStore', { keyPath: 'key' });
12
- }
13
- },
14
- });
15
- }
16
- async setItem(key, data) {
17
- try {
18
- if (data) {
19
- await this.setItemIndexedDb(key, data);
20
- }
21
- }
22
- catch (error) {
23
- throw new Error('Error storing data: ' + error);
24
- }
25
- }
26
- async setItemIndexedDb(key, data) {
27
- const db = await this.dbPromise;
28
- const tx = db.transaction('myObjectStore', 'readwrite');
29
- const store = tx.objectStore('myObjectStore');
30
- await store.put({ key, data });
31
- await tx.done;
32
- }
33
- async getItem(key) {
34
- try {
35
- const result = await this.getItemIndexedDb(key);
36
- return result?.data;
37
- }
38
- catch (error) {
39
- throw new Error('Error retrieving data: ' + error);
40
- }
41
- }
42
- async getItemIndexedDb(key) {
43
- const db = await this.dbPromise;
44
- const tx = db.transaction('myObjectStore', 'readonly');
45
- const store = tx.objectStore('myObjectStore');
46
- const result = await store.get(key);
47
- await tx.done;
48
- return result;
49
- }
50
- async clearIndexedDB() {
51
- try {
52
- const db = await this.dbPromise;
53
- const tx = db.transaction('myObjectStore', 'readwrite');
54
- const store = tx.objectStore('myObjectStore');
55
- await store.clear();
56
- await tx.done;
57
- }
58
- catch (error) {
59
- throw new Error('Error clearing IndexedDB: ' + error);
60
- }
61
- }
62
- static { this.ɵfac = function IdbService_Factory(t) { return new (t || IdbService)(); }; }
63
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: IdbService, factory: IdbService.ɵfac, providedIn: 'root' }); }
64
- }
65
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IdbService, [{
66
- type: Injectable,
67
- args: [{ providedIn: 'root' }]
68
- }], () => [], null); })();
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRiLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2F1dGgvaWRiLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQTBCLE1BQU0sS0FBSyxDQUFDOztBQVVyRCxNQUFNLE9BQU8sVUFBVTtJQUtuQjtRQUppQixXQUFNLEdBQUcsYUFBYSxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFJM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3ZELE9BQU8sQ0FBQyxFQUFFO2dCQUNOLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7b0JBQ2pELEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDOUQsQ0FBQztZQUNMLENBQUM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFXLEVBQUUsSUFBUztRQUNoQyxJQUFJLENBQUM7WUFDRCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNQLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQVcsRUFBRSxJQUFTO1FBQ2pELE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFXO1FBQ3JCLElBQUksQ0FBQztZQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sTUFBTSxFQUFFLElBQUksQ0FBQztRQUN4QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBVztRQUN0QyxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ2QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2hCLElBQUksQ0FBQztZQUNELE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN4RCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDLENBQUE7UUFDekQsQ0FBQztJQUNMLENBQUM7MkVBN0RRLFVBQVU7dUVBQVYsVUFBVSxXQUFWLFVBQVUsbUJBREcsTUFBTTs7aUZBQ25CLFVBQVU7Y0FEdEIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgb3BlbkRCLCBJREJQRGF0YWJhc2UsIERCU2NoZW1hIH0gZnJvbSAnaWRiJztcclxuXHJcbmludGVyZmFjZSBNeURCIGV4dGVuZHMgREJTY2hlbWEge1xyXG4gICAgbXlPYmplY3RTdG9yZToge1xyXG4gICAgICAgIGtleTogc3RyaW5nO1xyXG4gICAgICAgIHZhbHVlOiB7IGtleTogc3RyaW5nOyBkYXRhOiBzdHJpbmcgfTtcclxuICAgIH07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBJZGJTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGJOYW1lID0gJ1RhYkRhdGFiYXNlJztcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGJWZXJzaW9uID0gMTtcclxuICAgIHByaXZhdGUgZGJQcm9taXNlOiBQcm9taXNlPElEQlBEYXRhYmFzZTxNeURCPj47XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5kYlByb21pc2UgPSBvcGVuREI8TXlEQj4odGhpcy5kYk5hbWUsIHRoaXMuZGJWZXJzaW9uLCB7XHJcbiAgICAgICAgICAgIHVwZ3JhZGUoZGIpIHtcclxuICAgICAgICAgICAgICAgIGlmICghZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnbXlPYmplY3RTdG9yZScpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ215T2JqZWN0U3RvcmUnLCB7IGtleVBhdGg6ICdrZXknIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNldEl0ZW0oa2V5OiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNldEl0ZW1JbmRleGVkRGIoa2V5LCBkYXRhKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXJyb3Igc3RvcmluZyBkYXRhOiAnICsgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIHNldEl0ZW1JbmRleGVkRGIoa2V5OiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IGRiID0gYXdhaXQgdGhpcy5kYlByb21pc2U7XHJcbiAgICAgICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbignbXlPYmplY3RTdG9yZScsICdyZWFkd3JpdGUnKTtcclxuICAgICAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdteU9iamVjdFN0b3JlJyk7XHJcbiAgICAgICAgYXdhaXQgc3RvcmUucHV0KHsga2V5LCBkYXRhIH0pO1xyXG4gICAgICAgIGF3YWl0IHR4LmRvbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0SXRlbShrZXk6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5nZXRJdGVtSW5kZXhlZERiKGtleSk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ/LmRhdGE7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciByZXRyaWV2aW5nIGRhdGE6ICcgKyBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgZ2V0SXRlbUluZGV4ZWREYihrZXk6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgZGIgPSBhd2FpdCB0aGlzLmRiUHJvbWlzZTtcclxuICAgICAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdteU9iamVjdFN0b3JlJywgJ3JlYWRvbmx5Jyk7XHJcbiAgICAgICAgY29uc3Qgc3RvcmUgPSB0eC5vYmplY3RTdG9yZSgnbXlPYmplY3RTdG9yZScpO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0b3JlLmdldChrZXkpO1xyXG4gICAgICAgIGF3YWl0IHR4LmRvbmU7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjbGVhckluZGV4ZWREQigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBkYiA9IGF3YWl0IHRoaXMuZGJQcm9taXNlO1xyXG4gICAgICAgICAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdteU9iamVjdFN0b3JlJywgJ3JlYWR3cml0ZScpO1xyXG4gICAgICAgICAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdteU9iamVjdFN0b3JlJyk7XHJcbiAgICAgICAgICAgIGF3YWl0IHN0b3JlLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIGF3YWl0IHR4LmRvbmU7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBjbGVhcmluZyBJbmRleGVkREI6ICcgKyBlcnJvcilcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuIl19
@@ -1,52 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class LocalStorageService {
5
- constructor() {
6
- // -----------------------------------------------------------------------------------------------------
7
- // @ Public methods
8
- // -----------------------------------------------------------------------------------------------------
9
- /**
10
- * Set data in local storage
11
- * @param key - Key to store the data
12
- * @param data - Data to be stored
13
- */
14
- this.setLocalStorage = (key, data) => {
15
- // localStorage.setItem(key, JSON.stringify(data));
16
- if (typeof data === 'string') {
17
- localStorage.setItem(key, data);
18
- }
19
- else {
20
- localStorage.setItem(key, JSON.stringify(data));
21
- }
22
- };
23
- /**
24
- * Get data from local storage
25
- * @param key - Key to retrieve the data
26
- * @returns The data stored in local storage
27
- */
28
- this.getLocalStorage = (key) => {
29
- const data = localStorage.getItem(key);
30
- return data ? data : null;
31
- // if (typeof data === 'string') {
32
- // return data ? data: null;
33
- // } else {
34
- // return data ? JSON.parse(data) : null;
35
- // }
36
- };
37
- /**
38
- * Remove data from local storage
39
- * @param key - Key of the data to be removed
40
- */
41
- this.removeLocalStorage = (key) => {
42
- localStorage.removeItem(key);
43
- };
44
- }
45
- static { this.ɵfac = function LocalStorageService_Factory(t) { return new (t || LocalStorageService)(); }; }
46
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LocalStorageService, factory: LocalStorageService.ɵfac, providedIn: 'root' }); }
47
- }
48
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LocalStorageService, [{
49
- type: Injectable,
50
- args: [{ providedIn: 'root' }]
51
- }], null, null); })();
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFRSx3R0FBd0c7UUFDeEcsbUJBQW1CO1FBQ25CLHdHQUF3RztRQUV4Rzs7OztXQUlHO1FBQ0gsb0JBQWUsR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQVEsRUFBRTtZQUNqRCxtREFBbUQ7WUFDbkQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRUY7Ozs7V0FJRztRQUNILG9CQUFlLEdBQUcsQ0FBQyxHQUFXLEVBQU8sRUFBRTtZQUNyQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN6QixrQ0FBa0M7WUFDbEMsOEJBQThCO1lBQzlCLFdBQVc7WUFDWCwyQ0FBMkM7WUFDM0MsSUFBSTtRQUNOLENBQUMsQ0FBQztRQUVGOzs7V0FHRztRQUNILHVCQUFrQixHQUFHLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDekMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUM7S0FDSDtvRkF6Q1ksbUJBQW1CO3VFQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CLG1CQUROLE1BQU07O2lGQUNuQixtQkFBbUI7Y0FEL0IsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2Uge1xyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgLy8gQCBQdWJsaWMgbWV0aG9kc1xyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBkYXRhIGluIGxvY2FsIHN0b3JhZ2VcclxuICAgKiBAcGFyYW0ga2V5IC0gS2V5IHRvIHN0b3JlIHRoZSBkYXRhXHJcbiAgICogQHBhcmFtIGRhdGEgLSBEYXRhIHRvIGJlIHN0b3JlZFxyXG4gICAqL1xyXG4gIHNldExvY2FsU3RvcmFnZSA9IChrZXk6IHN0cmluZywgZGF0YTogYW55KTogdm9pZCA9PiB7XHJcbiAgICAvLyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBkYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBkYXRhIGZyb20gbG9jYWwgc3RvcmFnZVxyXG4gICAqIEBwYXJhbSBrZXkgLSBLZXkgdG8gcmV0cmlldmUgdGhlIGRhdGFcclxuICAgKiBAcmV0dXJucyBUaGUgZGF0YSBzdG9yZWQgaW4gbG9jYWwgc3RvcmFnZVxyXG4gICAqL1xyXG4gIGdldExvY2FsU3RvcmFnZSA9IChrZXk6IHN0cmluZyk6IGFueSA9PiB7XHJcbiAgICBjb25zdCBkYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgIHJldHVybiBkYXRhID8gZGF0YTogbnVsbDtcclxuICAgIC8vIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcclxuICAgIC8vICAgcmV0dXJuIGRhdGEgPyBkYXRhOiBudWxsO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgcmV0dXJuIGRhdGEgPyBKU09OLnBhcnNlKGRhdGEpIDogbnVsbDtcclxuICAgIC8vIH1cclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgZGF0YSBmcm9tIGxvY2FsIHN0b3JhZ2VcclxuICAgKiBAcGFyYW0ga2V5IC0gS2V5IG9mIHRoZSBkYXRhIHRvIGJlIHJlbW92ZWRcclxuICAgKi9cclxuICByZW1vdmVMb2NhbFN0b3JhZ2UgPSAoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -1,52 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class SessionStorageService {
5
- constructor() {
6
- // -----------------------------------------------------------------------------------------------------
7
- // @ Public methods
8
- // -----------------------------------------------------------------------------------------------------
9
- /**
10
- * Set data in session storage
11
- * @param key - Key to store the data
12
- * @param data - Data to be stored
13
- */
14
- this.setSessionStorage = (key, data) => {
15
- // sessionStorage.setItem(key, JSON.stringify(data));
16
- if (typeof data === 'string') {
17
- sessionStorage.setItem(key, data);
18
- }
19
- else {
20
- sessionStorage.setItem(key, JSON.stringify(data));
21
- }
22
- };
23
- /**
24
- * Get data from session storage
25
- * @param key - Key to retrieve the data
26
- * @returns The data stored in session storage
27
- */
28
- this.getSessionStorage = (key) => {
29
- const data = sessionStorage.getItem(key);
30
- return data ? data : null;
31
- // if (typeof data === 'string') {
32
- // return data ? data: null;
33
- // } else {
34
- // return data ? JSON.parse(data) : null;
35
- // }
36
- };
37
- /**
38
- * Remove data from session storage
39
- * @param key - Key of the data to be removed
40
- */
41
- this.removeSessionStorage = (key) => {
42
- sessionStorage.removeItem(key);
43
- };
44
- }
45
- static { this.ɵfac = function SessionStorageService_Factory(t) { return new (t || SessionStorageService)(); }; }
46
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageService, factory: SessionStorageService.ɵfac, providedIn: 'root' }); }
47
- }
48
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionStorageService, [{
49
- type: Injectable,
50
- args: [{ providedIn: 'root' }]
51
- }], null, null); })();
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hdXRoL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBRUUsd0dBQXdHO1FBQ3hHLG1CQUFtQjtRQUNuQix3R0FBd0c7UUFFeEc7Ozs7V0FJRztRQUNILHNCQUFpQixHQUFHLENBQUMsR0FBVyxFQUFFLElBQVMsRUFBUSxFQUFFO1lBQ25ELHFEQUFxRDtZQUNyRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDLENBQUM7UUFFRjs7OztXQUlHO1FBQ0gsc0JBQWlCLEdBQUcsQ0FBQyxHQUFXLEVBQU8sRUFBRTtZQUN2QyxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN6QixrQ0FBa0M7WUFDbEMsOEJBQThCO1lBQzlCLFdBQVc7WUFDWCwyQ0FBMkM7WUFDM0MsSUFBSTtRQUNOLENBQUMsQ0FBQztRQUVGOzs7V0FHRztRQUNILHlCQUFvQixHQUFHLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDM0MsY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUM7S0FDSDtzRkF6Q1kscUJBQXFCO3VFQUFyQixxQkFBcUIsV0FBckIscUJBQXFCLG1CQURSLE1BQU07O2lGQUNuQixxQkFBcUI7Y0FEakMsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25TdG9yYWdlU2VydmljZSB7XHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvLyBAIFB1YmxpYyBtZXRob2RzXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGRhdGEgaW4gc2Vzc2lvbiBzdG9yYWdlXHJcbiAgICogQHBhcmFtIGtleSAtIEtleSB0byBzdG9yZSB0aGUgZGF0YVxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBiZSBzdG9yZWRcclxuICAgKi9cclxuICBzZXRTZXNzaW9uU3RvcmFnZSA9IChrZXk6IHN0cmluZywgZGF0YTogYW55KTogdm9pZCA9PiB7XHJcbiAgICAvLyBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGtleSwgZGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBkYXRhIGZyb20gc2Vzc2lvbiBzdG9yYWdlXHJcbiAgICogQHBhcmFtIGtleSAtIEtleSB0byByZXRyaWV2ZSB0aGUgZGF0YVxyXG4gICAqIEByZXR1cm5zIFRoZSBkYXRhIHN0b3JlZCBpbiBzZXNzaW9uIHN0b3JhZ2VcclxuICAgKi9cclxuICBnZXRTZXNzaW9uU3RvcmFnZSA9IChrZXk6IHN0cmluZyk6IGFueSA9PiB7XHJcbiAgICBjb25zdCBkYXRhID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgcmV0dXJuIGRhdGEgPyBkYXRhOiBudWxsO1xyXG4gICAgLy8gaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xyXG4gICAgLy8gICByZXR1cm4gZGF0YSA/IGRhdGE6IG51bGw7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICByZXR1cm4gZGF0YSA/IEpTT04ucGFyc2UoZGF0YSkgOiBudWxsO1xyXG4gICAgLy8gfVxyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBkYXRhIGZyb20gc2Vzc2lvbiBzdG9yYWdlXHJcbiAgICogQHBhcmFtIGtleSAtIEtleSBvZiB0aGUgZGF0YSB0byBiZSByZW1vdmVkXHJcbiAgICovXHJcbiAgcmVtb3ZlU2Vzc2lvblN0b3JhZ2UgPSAoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -1,26 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { HttpErrorResponse } from '@angular/common/http';
3
- import { inject } from '@angular/core';
4
- import { throwError } from 'rxjs';
5
- import { catchError } from 'rxjs/operators';
6
- import { ErrorHandlerStore } from './error-handler.store';
7
- export const errorHandlingInterceptor = (request, next) => {
8
- const errorHandlerStore = inject(ErrorHandlerStore);
9
- return next(request).pipe(catchError((error) => {
10
- if (error instanceof HttpErrorResponse) {
11
- switch (error.status) {
12
- case 401:
13
- errorHandlerStore.handleError401(error);
14
- break;
15
- case 404:
16
- errorHandlerStore.handleError404(error);
17
- break;
18
- default:
19
- throwError(() => error);
20
- break;
21
- }
22
- }
23
- return throwError(() => error);
24
- }));
25
- };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9lcnJvci1oYW5kbGVyL2Vycm9yLWhhbmRsZXItaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUF5QyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsT0FBeUIsRUFDekIsSUFBbUIsRUFDUyxFQUFFO0lBQzlCLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFcEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN2QixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNuQixJQUFJLEtBQUssWUFBWSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZDLFFBQVEsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNyQixLQUFLLEdBQUc7b0JBQ04saUJBQWlCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN4QyxNQUFNO2dCQUNSLEtBQUssR0FBRztvQkFDTixpQkFBaUIsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3hDLE1BQU07Z0JBQ1I7b0JBQ0UsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN4QixNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwSGFuZGxlckZuLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRXJyb3JIYW5kbGVyU3RvcmUgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXIuc3RvcmUnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGVycm9ySGFuZGxpbmdJbnRlcmNlcHRvciA9IChcclxuICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gIG5leHQ6IEh0dHBIYW5kbGVyRm4sXHJcbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+ID0+IHtcclxuICBjb25zdCBlcnJvckhhbmRsZXJTdG9yZSA9IGluamVjdChFcnJvckhhbmRsZXJTdG9yZSk7XHJcblxyXG4gIHJldHVybiBuZXh0KHJlcXVlc3QpLnBpcGUoXHJcbiAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgIHN3aXRjaCAoZXJyb3Iuc3RhdHVzKSB7XHJcbiAgICAgICAgICBjYXNlIDQwMTpcclxuICAgICAgICAgICAgZXJyb3JIYW5kbGVyU3RvcmUuaGFuZGxlRXJyb3I0MDEoZXJyb3IpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgNDA0OlxyXG4gICAgICAgICAgICBlcnJvckhhbmRsZXJTdG9yZS5oYW5kbGVFcnJvcjQwNChlcnJvcik7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICB9KSxcclxuICApO1xyXG59O1xyXG4iXX0=
@@ -1,21 +0,0 @@
1
- import { signalStore, withState, withMethods, patchState } from '@ngrx/signals';
2
- import { inject } from '@angular/core';
3
- import { Router } from '@angular/router';
4
- import { errorHandlerInitialState } from './models/error-handler.state';
5
- export const ErrorHandlerStore = signalStore({ providedIn: 'root' }, withState(errorHandlerInitialState), withMethods((store, router = inject(Router)) => ({
6
- handleError401: (error) => {
7
- patchState(store, {
8
- code: error.status,
9
- message: error.message,
10
- });
11
- router.navigate(['/login']);
12
- },
13
- handleError404: (error) => {
14
- patchState(store, {
15
- code: error.status,
16
- message: error.message,
17
- });
18
- router.navigate(['/']);
19
- },
20
- })));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvZXJyb3ItaGFuZGxlci9lcnJvci1oYW5kbGVyLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFxQix3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzNGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FDMUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQ3RCLFNBQVMsQ0FBb0Isd0JBQXdCLENBQUMsRUFDdEQsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0MsY0FBYyxFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFO1FBQzNDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ2xCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsY0FBYyxFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFO1FBQzNDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ2xCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNpZ25hbFN0b3JlLCB3aXRoU3RhdGUsIHdpdGhNZXRob2RzLCBwYXRjaFN0YXRlIH0gZnJvbSAnQG5ncngvc2lnbmFscyc7XHJcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTdGF0ZSwgZXJyb3JIYW5kbGVySW5pdGlhbFN0YXRlIH0gZnJvbSAnLi9tb2RlbHMvZXJyb3ItaGFuZGxlci5zdGF0ZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEVycm9ySGFuZGxlclN0b3JlID0gc2lnbmFsU3RvcmUoXHJcbiAgeyBwcm92aWRlZEluOiAncm9vdCcgfSxcclxuICB3aXRoU3RhdGU8RXJyb3JIYW5kbGVyU3RhdGU+KGVycm9ySGFuZGxlckluaXRpYWxTdGF0ZSksXHJcbiAgd2l0aE1ldGhvZHMoKHN0b3JlLCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKSkgPT4gKHtcclxuICAgIGhhbmRsZUVycm9yNDAxOiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcclxuICAgICAgICBjb2RlOiBlcnJvci5zdGF0dXMsXHJcbiAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcclxuICAgICAgfSk7XHJcbiAgICAgIHJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddKTtcclxuICAgIH0sXHJcbiAgICBoYW5kbGVFcnJvcjQwNDogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XHJcbiAgICAgICAgY29kZTogZXJyb3Iuc3RhdHVzLFxyXG4gICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICByb3V0ZXIubmF2aWdhdGUoWycvJ10pO1xyXG4gICAgfSxcclxuICB9KSksXHJcbik7XHJcbiJdfQ==