@yuuvis/client-core 2.0.0-beta.0 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/fesm2022/yuuvis-client-core.mjs +773 -645
  2. package/fesm2022/yuuvis-client-core.mjs.map +1 -1
  3. package/index.d.ts +7 -4
  4. package/lib/model/object-flavor.interface.d.ts +4 -1
  5. package/lib/provide.client.core.d.ts +58 -0
  6. package/lib/service/backend/backend.service.d.ts +0 -1
  7. package/lib/service/config/config.service.d.ts +0 -8
  8. package/lib/service/core-init/core-init.service.d.ts +1 -7
  9. package/lib/service/core-init/translate-json-loader.d.ts +1 -1
  10. package/lib/service/dms/dms.service.d.ts +2 -1
  11. package/lib/service/object-config/object-config.interface.d.ts +1 -1
  12. package/lib/service/object-form/object-form-translate.service.d.ts +15 -0
  13. package/lib/service/{system → object-form}/object-form.interface.d.ts +2 -2
  14. package/lib/service/object-form/object-form.model.d.ts +45 -0
  15. package/lib/service/system/system.interface.d.ts +1 -1
  16. package/lib/service/system/system.service.d.ts +1 -1
  17. package/lib/service/toast/toast.interface.d.ts +8 -0
  18. package/lib/service/toast/toast.service.d.ts +17 -0
  19. package/lib/service/toast/toast.styles.d.ts +1 -0
  20. package/lib/service/upload/upload.interface.d.ts +1 -1
  21. package/lib/service/user/user.providers.d.ts +4 -0
  22. package/lib/service/user/user.service.d.ts +2 -4
  23. package/package.json +7 -10
  24. package/esm2022/index.mjs +0 -69
  25. package/esm2022/lib/client-core.module.mjs +0 -117
  26. package/esm2022/lib/client-core.shared.module.mjs +0 -18
  27. package/esm2022/lib/common/pipes/filesize.pipe.mjs +0 -37
  28. package/esm2022/lib/common/pipes/index.mjs +0 -6
  29. package/esm2022/lib/common/pipes/keys.pipe.mjs +0 -17
  30. package/esm2022/lib/common/pipes/locale-date.pipe.mjs +0 -45
  31. package/esm2022/lib/common/pipes/locale-number.pipe.mjs +0 -115
  32. package/esm2022/lib/common/pipes/safe-html.pipe.mjs +0 -44
  33. package/esm2022/lib/common/services/native-notifications.interface.mjs +0 -2
  34. package/esm2022/lib/common/services/native-notifications.mjs +0 -40
  35. package/esm2022/lib/model/dms-object.interface.mjs +0 -2
  36. package/esm2022/lib/model/dms-object.model.mjs +0 -79
  37. package/esm2022/lib/model/object-flavor.interface.mjs +0 -2
  38. package/esm2022/lib/model/range-value.interface.mjs +0 -2
  39. package/esm2022/lib/model/yuv-error.model.mjs +0 -37
  40. package/esm2022/lib/model/yuv-user.model.mjs +0 -38
  41. package/esm2022/lib/service/audit/audit.interface.mjs +0 -2
  42. package/esm2022/lib/service/audit/audit.service.mjs +0 -135
  43. package/esm2022/lib/service/auth/auth.interceptor.mjs +0 -50
  44. package/esm2022/lib/service/auth/auth.interface.mjs +0 -7
  45. package/esm2022/lib/service/auth/auth.service.mjs +0 -130
  46. package/esm2022/lib/service/auth/oidc.service.mjs +0 -81
  47. package/esm2022/lib/service/backend/api.enum.mjs +0 -11
  48. package/esm2022/lib/service/backend/backend.interface.mjs +0 -2
  49. package/esm2022/lib/service/backend/backend.service.mjs +0 -206
  50. package/esm2022/lib/service/bpm/bpm.interface.mjs +0 -8
  51. package/esm2022/lib/service/bpm/bpm.service.mjs +0 -51
  52. package/esm2022/lib/service/cache/app-cache.service.mjs +0 -51
  53. package/esm2022/lib/service/catalog/catalog.interface.mjs +0 -2
  54. package/esm2022/lib/service/catalog/catalog.service.mjs +0 -13
  55. package/esm2022/lib/service/clipboard/clipboard.interface.mjs +0 -2
  56. package/esm2022/lib/service/clipboard/clipboard.service.mjs +0 -99
  57. package/esm2022/lib/service/config/config.interface.mjs +0 -6
  58. package/esm2022/lib/service/config/config.service.mjs +0 -115
  59. package/esm2022/lib/service/config/core-config.mjs +0 -20
  60. package/esm2022/lib/service/config/core-config.tokens.mjs +0 -9
  61. package/esm2022/lib/service/connection/connection.service.mjs +0 -36
  62. package/esm2022/lib/service/connection/offline.interceptor.mjs +0 -28
  63. package/esm2022/lib/service/core-init/core-init.service.mjs +0 -29
  64. package/esm2022/lib/service/core-init/missing-translation-handler.mjs +0 -10
  65. package/esm2022/lib/service/core-init/translate-json-loader.mjs +0 -117
  66. package/esm2022/lib/service/device/device.interface.mjs +0 -6
  67. package/esm2022/lib/service/device/device.service.mjs +0 -144
  68. package/esm2022/lib/service/dms/dms.service.interface.mjs +0 -2
  69. package/esm2022/lib/service/dms/dms.service.mjs +0 -440
  70. package/esm2022/lib/service/event/event.interface.mjs +0 -2
  71. package/esm2022/lib/service/event/event.service.mjs +0 -38
  72. package/esm2022/lib/service/event/events.mjs +0 -14
  73. package/esm2022/lib/service/idm/idm.interface.mjs +0 -2
  74. package/esm2022/lib/service/idm/idm.service.mjs +0 -34
  75. package/esm2022/lib/service/logger/logger-console.service.mjs +0 -73
  76. package/esm2022/lib/service/logger/logger.interface.mjs +0 -2
  77. package/esm2022/lib/service/logger/logger.mjs +0 -27
  78. package/esm2022/lib/service/notification/notification.service.mjs +0 -131
  79. package/esm2022/lib/service/object-config/object-config.interface.mjs +0 -2
  80. package/esm2022/lib/service/object-config/object-config.service.mjs +0 -233
  81. package/esm2022/lib/service/pending-changes/pending-changes-component.interface.mjs +0 -5
  82. package/esm2022/lib/service/pending-changes/pending-changes-guard.service.mjs +0 -25
  83. package/esm2022/lib/service/pending-changes/pending-changes.service.mjs +0 -123
  84. package/esm2022/lib/service/prediction/prediction.interface.mjs +0 -2
  85. package/esm2022/lib/service/prediction/prediction.service.mjs +0 -60
  86. package/esm2022/lib/service/retention/retention.interface.mjs +0 -2
  87. package/esm2022/lib/service/retention/retention.service.mjs +0 -65
  88. package/esm2022/lib/service/search/search.service.interface.mjs +0 -39
  89. package/esm2022/lib/service/search/search.service.mjs +0 -261
  90. package/esm2022/lib/service/search/search.utils.mjs +0 -142
  91. package/esm2022/lib/service/session-storage/session-storage.service.mjs +0 -50
  92. package/esm2022/lib/service/system/object-form.interface.mjs +0 -2
  93. package/esm2022/lib/service/system/system.enum.mjs +0 -167
  94. package/esm2022/lib/service/system/system.interface.mjs +0 -2
  95. package/esm2022/lib/service/system/system.service.mjs +0 -597
  96. package/esm2022/lib/service/upload/upload.interface.mjs +0 -2
  97. package/esm2022/lib/service/upload/upload.service.mjs +0 -228
  98. package/esm2022/lib/service/user/user-storage.service.mjs +0 -38
  99. package/esm2022/lib/service/user/user.service.mjs +0 -211
  100. package/esm2022/lib/util/utils.helper.enum.mjs +0 -15
  101. package/esm2022/lib/util/utils.mjs +0 -373
  102. package/esm2022/yuuvis-client-core.mjs +0 -5
  103. package/lib/client-core.module.d.ts +0 -20
  104. package/lib/client-core.shared.module.d.ts +0 -10
  105. package/lib/service/auth/oidc.service.d.ts +0 -16
@@ -1,261 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { BackendService } from '../backend/backend.service';
4
- import { BaseObjectTypeField, ContentStreamField } from '../system/system.enum';
5
- import { Operator } from './search.service.interface';
6
- import { SystemService } from '../system/system.service';
7
- import * as i0 from "@angular/core";
8
- export class SearchService {
9
- #backend = inject(BackendService);
10
- #system = inject(SystemService);
11
- static { this.DEFAULT_QUERY_SIZE = 50; }
12
- /**
13
- * Execute a search query ans transform the result to a SearchResult object
14
- * @param query The search query
15
- * @returns Observable of a SearchResult
16
- */
17
- search(query) {
18
- return this.searchRaw(query).pipe(map((res) => this.toSearchResult(res)));
19
- }
20
- /**
21
- * Execute a raw search query and return the result as is.
22
- * @param query The search query
23
- * @returns Observable of the raw search result
24
- */
25
- searchRaw(query) {
26
- if (!query.size)
27
- query.size = SearchService.DEFAULT_QUERY_SIZE;
28
- return this.#backend.post(`/dms/objects/search`, query);
29
- }
30
- /**
31
- * Search for objects in the dms using CMIS like SQL syntax.
32
- * @param statement The query statement
33
- * @param size The number of items to return
34
- * @returns Observable of a SearchResult
35
- */
36
- searchCmis(statement, size = 50) {
37
- return this.#backend
38
- .post('/dms/objects/search', {
39
- query: {
40
- statement,
41
- skipCount: 0,
42
- maxItems: size,
43
- handleDeletedDocuments: 'DELETED_DOCUMENTS_EXCLUDE'
44
- }
45
- }
46
- // Using API-WEB because it enriches the response with additional information (resolved user names, etc.)
47
- // ApiBase.core
48
- )
49
- .pipe(map((res) => this.toSearchResult(res)));
50
- }
51
- /**
52
- * Fetch aggragations for a given query.
53
- * @param q The query
54
- * @param aggregations List of aggregations to be fetched (e.g. `enaio:objectTypeId`
55
- * to get an aggregation of object types)
56
- */
57
- aggregate(q, aggregations) {
58
- q.aggs = aggregations;
59
- return this.searchRaw(q).pipe(map((res) => this.#toAggregateResult(res, aggregations)));
60
- }
61
- /**
62
- * Map search result from the backend to applications AggregateResult object
63
- * @param searchResponse The backend response
64
- * @param aggregations The aggregations to be fetched
65
- */
66
- #toAggregateResult(searchResponse, aggregations) {
67
- const agg = [];
68
- if (aggregations) {
69
- aggregations.forEach((a) => {
70
- const ag = {
71
- aggKey: a,
72
- entries: searchResponse.objects.map((o) => ({
73
- key: o.properties[a].value,
74
- count: o.properties['OBJECT_COUNT'].value
75
- }))
76
- };
77
- agg.push(ag);
78
- });
79
- }
80
- return {
81
- totalNumItems: searchResponse.totalNumItems,
82
- aggregations: agg
83
- };
84
- }
85
- /**
86
- * Go to a page of a search result.
87
- * @param searchResult The search result (that supports pagination)
88
- * @param page The number of the page to go to
89
- */
90
- getPage(query, page) {
91
- query.from = (page - 1) * (query.size || SearchService.DEFAULT_QUERY_SIZE);
92
- return this.search(query);
93
- }
94
- /**
95
- * Map search result from the backend to applications SearchResult object
96
- * @param searchResponse The backend response
97
- */
98
- toSearchResult(searchResponse) {
99
- const resultListItems = [];
100
- const objectTypes = [];
101
- searchResponse.objects.forEach((o) => {
102
- const fields = new Map();
103
- // process properties section of result
104
- Object.keys(o.properties).forEach((key) => {
105
- let value = o.properties[key].value;
106
- if (o.properties[key].clvalue) {
107
- // table fields will have a clientValue too ...
108
- value = o.properties[key].clvalue;
109
- // ... and also may contain values that need to be resolved
110
- if (o.properties[key].resolvedValues) {
111
- value.forEach((v) => {
112
- Object.keys(v).forEach((k) => {
113
- const resValue = Array.isArray(v[k]) ? v[k].map((i) => o.properties[key].resolvedValues[i]) : o.properties[key].resolvedValues[v[k]];
114
- if (resValue) {
115
- v[`${k}_title`] = resValue;
116
- }
117
- });
118
- });
119
- }
120
- }
121
- fields.set(key, value);
122
- if (o.properties[key].title) {
123
- fields.set(key + '_title', o.properties[key].title);
124
- }
125
- });
126
- // process contentStreams section of result if available.
127
- // Objects that don't have files attached won't have this section
128
- let content;
129
- if (o.contentStreams && o.contentStreams.length > 0) {
130
- // we assume that each result object only has ONE file attached, altough
131
- // this is an array and there may be more
132
- const contentStream = o.contentStreams[0];
133
- // also add contentstream related fields to the result fields
134
- fields.set(ContentStreamField.LENGTH, contentStream.length);
135
- fields.set(ContentStreamField.MIME_TYPE, contentStream.mimeType);
136
- fields.set(ContentStreamField.FILENAME, contentStream.fileName);
137
- fields.set(ContentStreamField.ID, contentStream.contentStreamId);
138
- fields.set(ContentStreamField.RANGE, contentStream.contentStreamRange);
139
- fields.set(ContentStreamField.REPOSITORY_ID, contentStream.repositoryId);
140
- fields.set(ContentStreamField.DIGEST, contentStream.digest);
141
- fields.set(ContentStreamField.ARCHIVE_PATH, contentStream.archivePath);
142
- content = {
143
- contentStreamId: contentStream.contentStreamId,
144
- repositoryId: contentStream.repositoryId,
145
- range: contentStream.range,
146
- digest: contentStream.digest,
147
- archivePath: contentStream.archivePath,
148
- fileName: contentStream.fileName,
149
- mimeType: contentStream.mimeType,
150
- size: contentStream.length
151
- };
152
- }
153
- const objectTypeId = o.properties[BaseObjectTypeField.OBJECT_TYPE_ID] ? o.properties[BaseObjectTypeField.OBJECT_TYPE_ID].value : null;
154
- if (objectTypes.indexOf(objectTypeId) === -1) {
155
- objectTypes.push(objectTypeId);
156
- }
157
- resultListItems.push({
158
- objectTypeId,
159
- content,
160
- fields,
161
- permissions: o.permissions
162
- });
163
- });
164
- const result = {
165
- hasMoreItems: searchResponse.hasMoreItems,
166
- totalNumItems: searchResponse.totalNumItems,
167
- items: resultListItems,
168
- objectTypes
169
- };
170
- return result;
171
- }
172
- /**
173
- * Maps data extracted from a search form to search filters. Every key of the form data object
174
- * will be mapped to a search filter.
175
- * @param formData form data
176
- * @returns Array of search filters
177
- */
178
- formDataToSearchFilter(formData) {
179
- const isRangeValue = (v) => {
180
- return typeof v === 'object' && v !== null && 'firstValue' in v && 'operator' in v;
181
- };
182
- const filters = [];
183
- Object.keys(formData).forEach((key) => {
184
- const value = formData[key];
185
- if (isRangeValue(value)) {
186
- const f = this.rangeValueToSearchFilter(value, key);
187
- if (f)
188
- filters.push(f);
189
- }
190
- else {
191
- filters.push({
192
- f: key,
193
- o: Array.isArray(value) ? Operator.IN : Operator.EQUAL,
194
- v1: value
195
- });
196
- }
197
- });
198
- return filters;
199
- }
200
- rangeValueToSearchFilter(value, property) {
201
- return this.#system.getObjectTypeField(property)?.propertyType === 'datetime'
202
- ? this.#dateRangeValueToSearchFilter(value, property)
203
- : {
204
- f: property,
205
- o: value.operator,
206
- v1: value.firstValue,
207
- v2: value.secondValue
208
- };
209
- }
210
- #dateRangeValueToSearchFilter(rv, property) {
211
- const v1 = rv.firstValue.toISOString();
212
- const v2 = rv.secondValue ? rv.secondValue.toISOString() : undefined;
213
- let filter;
214
- switch (rv.operator) {
215
- case Operator.EQUAL: {
216
- filter = {
217
- f: property,
218
- o: Operator.INTERVAL_INCLUDE_BOTH,
219
- v1: v1.split('T')[0] + 'T00:00:00.000',
220
- v2: v1.split('T')[0] + 'T23:59:59.000'
221
- };
222
- break;
223
- }
224
- case Operator.GREATER_OR_EQUAL: {
225
- filter = {
226
- f: property,
227
- o: rv.operator,
228
- v1: v1.split('T')[0] + 'T00:00:00.000'
229
- };
230
- break;
231
- }
232
- case Operator.LESS_OR_EQUAL: {
233
- filter = {
234
- f: property,
235
- o: rv.operator,
236
- v1: v1.split('T')[0] + 'T23:59:59.000'
237
- };
238
- break;
239
- }
240
- case Operator.INTERVAL_INCLUDE_BOTH: {
241
- filter = {
242
- f: property,
243
- o: rv.operator,
244
- v1: v1.split('T')[0] + 'T00:00:00.000',
245
- v2: v2.split('T')[0] + 'T23:59:59.000'
246
- };
247
- break;
248
- }
249
- }
250
- return filter;
251
- }
252
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
253
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchService, providedIn: 'root' }); }
254
- }
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchService, decorators: [{
256
- type: Injectable,
257
- args: [{
258
- providedIn: 'root'
259
- }]
260
- }] });
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2Uvc2VhcmNoL3NlYXJjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEYsT0FBTyxFQUdMLFFBQVEsRUFPVCxNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsQyxPQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBRXpCLHVCQUFrQixHQUFHLEVBQUUsQUFBTCxDQUFNO0lBRS9COzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLEtBQWtCO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUFFLEtBQUssQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDO1FBQy9ELE9B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aUJBQ3ZDLENBQUM7Z0JBQ0YsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixNQUFNLEdBQUc7b0JBQ1AsQ0FBQyxFQUFFLFFBQVE7b0JBQ1gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRO29CQUNkLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGVBQWU7aUJBQ3ZDLENBQUM7Z0JBQ0YsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLE1BQU0sR0FBRztvQkFDUCxDQUFDLEVBQUUsUUFBUTtvQkFDWCxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVE7b0JBQ2QsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsZUFBZTtvQkFDdEMsRUFBRSxFQUFFLEVBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsZUFBZTtpQkFDeEMsQ0FBQztnQkFDRixNQUFNO1lBQ1IsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytHQXJRVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFja2VuZFNlcnZpY2UgfSBmcm9tICcuLi9iYWNrZW5kL2JhY2tlbmQuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlT2JqZWN0VHlwZUZpZWxkLCBDb250ZW50U3RyZWFtRmllbGQgfSBmcm9tICcuLi9zeXN0ZW0vc3lzdGVtLmVudW0nO1xuaW1wb3J0IHtcbiAgQWdncmVnYXRlUmVzdWx0LFxuICBBZ2dyZWdhdGlvbixcbiAgT3BlcmF0b3IsXG4gIFNlYXJjaEZpbHRlcixcbiAgU2VhcmNoUXVlcnksXG4gIFNlYXJjaFJlc3BvbnNlLFxuICBTZWFyY2hSZXN1bHQsXG4gIFNlYXJjaFJlc3VsdENvbnRlbnQsXG4gIFNlYXJjaFJlc3VsdEl0ZW1cbn0gZnJvbSAnLi9zZWFyY2guc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmFuZ2VWYWx1ZSB9IGZyb20gJy4uLy4uL21vZGVsL3JhbmdlLXZhbHVlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vc3lzdGVtL3N5c3RlbS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoU2VydmljZSB7XG4gICNiYWNrZW5kID0gaW5qZWN0KEJhY2tlbmRTZXJ2aWNlKTtcbiAgI3N5c3RlbSA9IGluamVjdChTeXN0ZW1TZXJ2aWNlKTtcblxuICBzdGF0aWMgREVGQVVMVF9RVUVSWV9TSVpFID0gNTA7XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSBzZWFyY2ggcXVlcnkgYW5zIHRyYW5zZm9ybSB0aGUgcmVzdWx0IHRvIGEgU2VhcmNoUmVzdWx0IG9iamVjdFxuICAgKiBAcGFyYW0gcXVlcnkgVGhlIHNlYXJjaCBxdWVyeVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIGEgU2VhcmNoUmVzdWx0XG4gICAqL1xuICBzZWFyY2gocXVlcnk6IFNlYXJjaFF1ZXJ5KTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSYXcocXVlcnkpLnBpcGUobWFwKChyZXMpID0+IHRoaXMudG9TZWFyY2hSZXN1bHQocmVzKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSByYXcgc2VhcmNoIHF1ZXJ5IGFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBpcy5cbiAgICogQHBhcmFtIHF1ZXJ5IFRoZSBzZWFyY2ggcXVlcnlcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgcmF3IHNlYXJjaCByZXN1bHRcbiAgICovXG4gIHNlYXJjaFJhdyhxdWVyeTogU2VhcmNoUXVlcnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghcXVlcnkuc2l6ZSkgcXVlcnkuc2l6ZSA9IFNlYXJjaFNlcnZpY2UuREVGQVVMVF9RVUVSWV9TSVpFO1xuICAgIHJldHVybiB0aGlzLiNiYWNrZW5kLnBvc3QoYC9kbXMvb2JqZWN0cy9zZWFyY2hgLCBxdWVyeSk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIGZvciBvYmplY3RzIGluIHRoZSBkbXMgdXNpbmcgQ01JUyBsaWtlIFNRTCBzeW50YXguXG4gICAqIEBwYXJhbSBzdGF0ZW1lbnQgVGhlIHF1ZXJ5IHN0YXRlbWVudFxuICAgKiBAcGFyYW0gc2l6ZSBUaGUgbnVtYmVyIG9mIGl0ZW1zIHRvIHJldHVyblxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIGEgU2VhcmNoUmVzdWx0XG4gICAqL1xuICBzZWFyY2hDbWlzKHN0YXRlbWVudDogc3RyaW5nLCBzaXplID0gNTApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLiNiYWNrZW5kXG4gICAgICAucG9zdChcbiAgICAgICAgJy9kbXMvb2JqZWN0cy9zZWFyY2gnLFxuICAgICAgICB7XG4gICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgIHN0YXRlbWVudCxcbiAgICAgICAgICAgIHNraXBDb3VudDogMCxcbiAgICAgICAgICAgIG1heEl0ZW1zOiBzaXplLFxuICAgICAgICAgICAgaGFuZGxlRGVsZXRlZERvY3VtZW50czogJ0RFTEVURURfRE9DVU1FTlRTX0VYQ0xVREUnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIFVzaW5nIEFQSS1XRUIgYmVjYXVzZSBpdCBlbnJpY2hlcyB0aGUgcmVzcG9uc2Ugd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIChyZXNvbHZlZCB1c2VyIG5hbWVzLCBldGMuKVxuICAgICAgICAvLyBBcGlCYXNlLmNvcmVcbiAgICAgIClcbiAgICAgIC5waXBlKG1hcCgocmVzKSA9PiB0aGlzLnRvU2VhcmNoUmVzdWx0KHJlcyBhcyBTZWFyY2hSZXNwb25zZSkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhZ2dyYWdhdGlvbnMgZm9yIGEgZ2l2ZW4gcXVlcnkuXG4gICAqIEBwYXJhbSBxIFRoZSBxdWVyeVxuICAgKiBAcGFyYW0gYWdncmVnYXRpb25zIExpc3Qgb2YgYWdncmVnYXRpb25zIHRvIGJlIGZldGNoZWQgKGUuZy4gYGVuYWlvOm9iamVjdFR5cGVJZGBcbiAgICogdG8gZ2V0IGFuIGFnZ3JlZ2F0aW9uIG9mIG9iamVjdCB0eXBlcylcbiAgICovXG4gIGFnZ3JlZ2F0ZShxOiBTZWFyY2hRdWVyeSwgYWdncmVnYXRpb25zOiBzdHJpbmdbXSkge1xuICAgIHEuYWdncyA9IGFnZ3JlZ2F0aW9ucztcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSYXcocSkucGlwZShtYXAoKHJlcykgPT4gdGhpcy4jdG9BZ2dyZWdhdGVSZXN1bHQocmVzLCBhZ2dyZWdhdGlvbnMpKSk7XG4gIH1cblxuICAvKipcbiAgICogTWFwIHNlYXJjaCByZXN1bHQgZnJvbSB0aGUgYmFja2VuZCB0byBhcHBsaWNhdGlvbnMgQWdncmVnYXRlUmVzdWx0IG9iamVjdFxuICAgKiBAcGFyYW0gc2VhcmNoUmVzcG9uc2UgVGhlIGJhY2tlbmQgcmVzcG9uc2VcbiAgICogQHBhcmFtIGFnZ3JlZ2F0aW9ucyBUaGUgYWdncmVnYXRpb25zIHRvIGJlIGZldGNoZWRcbiAgICovXG4gICN0b0FnZ3JlZ2F0ZVJlc3VsdChzZWFyY2hSZXNwb25zZTogYW55LCBhZ2dyZWdhdGlvbnM/OiBzdHJpbmdbXSk6IEFnZ3JlZ2F0ZVJlc3VsdCB7XG4gICAgY29uc3QgYWdnOiBBZ2dyZWdhdGlvbltdID0gW107XG4gICAgaWYgKGFnZ3JlZ2F0aW9ucykge1xuICAgICAgYWdncmVnYXRpb25zLmZvckVhY2goKGEpID0+IHtcbiAgICAgICAgY29uc3QgYWc6IEFnZ3JlZ2F0aW9uID0ge1xuICAgICAgICAgIGFnZ0tleTogYSxcbiAgICAgICAgICBlbnRyaWVzOiBzZWFyY2hSZXNwb25zZS5vYmplY3RzLm1hcCgobzogYW55KSA9PiAoe1xuICAgICAgICAgICAga2V5OiBvLnByb3BlcnRpZXNbYV0udmFsdWUsXG4gICAgICAgICAgICBjb3VudDogby5wcm9wZXJ0aWVzWydPQkpFQ1RfQ09VTlQnXS52YWx1ZVxuICAgICAgICAgIH0pKVxuICAgICAgICB9O1xuICAgICAgICBhZ2cucHVzaChhZyk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHRvdGFsTnVtSXRlbXM6IHNlYXJjaFJlc3BvbnNlLnRvdGFsTnVtSXRlbXMsXG4gICAgICBhZ2dyZWdhdGlvbnM6IGFnZ1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR28gdG8gYSBwYWdlIG9mIGEgc2VhcmNoIHJlc3VsdC5cbiAgICogQHBhcmFtIHNlYXJjaFJlc3VsdCBUaGUgc2VhcmNoIHJlc3VsdCAodGhhdCBzdXBwb3J0cyBwYWdpbmF0aW9uKVxuICAgKiBAcGFyYW0gcGFnZSBUaGUgbnVtYmVyIG9mIHRoZSBwYWdlIHRvIGdvIHRvXG4gICAqL1xuICBnZXRQYWdlKHF1ZXJ5OiBTZWFyY2hRdWVyeSwgcGFnZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ+IHtcbiAgICBxdWVyeS5mcm9tID0gKHBhZ2UgLSAxKSAqIChxdWVyeS5zaXplIHx8IFNlYXJjaFNlcnZpY2UuREVGQVVMVF9RVUVSWV9TSVpFKTtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2gocXVlcnkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcCBzZWFyY2ggcmVzdWx0IGZyb20gdGhlIGJhY2tlbmQgdG8gYXBwbGljYXRpb25zIFNlYXJjaFJlc3VsdCBvYmplY3RcbiAgICogQHBhcmFtIHNlYXJjaFJlc3BvbnNlIFRoZSBiYWNrZW5kIHJlc3BvbnNlXG4gICAqL1xuICB0b1NlYXJjaFJlc3VsdChzZWFyY2hSZXNwb25zZTogU2VhcmNoUmVzcG9uc2UpOiBTZWFyY2hSZXN1bHQge1xuICAgIGNvbnN0IHJlc3VsdExpc3RJdGVtczogU2VhcmNoUmVzdWx0SXRlbVtdID0gW107XG4gICAgY29uc3Qgb2JqZWN0VHlwZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBzZWFyY2hSZXNwb25zZS5vYmplY3RzLmZvckVhY2goKG86IGFueSkgPT4ge1xuICAgICAgY29uc3QgZmllbGRzID0gbmV3IE1hcCgpO1xuICAgICAgLy8gcHJvY2VzcyBwcm9wZXJ0aWVzIHNlY3Rpb24gb2YgcmVzdWx0XG4gICAgICBPYmplY3Qua2V5cyhvLnByb3BlcnRpZXMpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGxldCB2YWx1ZSA9IG8ucHJvcGVydGllc1trZXldLnZhbHVlO1xuICAgICAgICBpZiAoby5wcm9wZXJ0aWVzW2tleV0uY2x2YWx1ZSkge1xuICAgICAgICAgIC8vIHRhYmxlIGZpZWxkcyB3aWxsIGhhdmUgYSBjbGllbnRWYWx1ZSB0b28gLi4uXG4gICAgICAgICAgdmFsdWUgPSBvLnByb3BlcnRpZXNba2V5XS5jbHZhbHVlO1xuICAgICAgICAgIC8vIC4uLiBhbmQgYWxzbyBtYXkgY29udGFpbiB2YWx1ZXMgdGhhdCBuZWVkIHRvIGJlIHJlc29sdmVkXG4gICAgICAgICAgaWYgKG8ucHJvcGVydGllc1trZXldLnJlc29sdmVkVmFsdWVzKSB7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKCh2OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgT2JqZWN0LmtleXModikuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc1ZhbHVlID0gQXJyYXkuaXNBcnJheSh2W2tdKSA/IHZba10ubWFwKChpOiBhbnkpID0+IG8ucHJvcGVydGllc1trZXldLnJlc29sdmVkVmFsdWVzW2ldKSA6IG8ucHJvcGVydGllc1trZXldLnJlc29sdmVkVmFsdWVzW3Zba11dO1xuICAgICAgICAgICAgICAgIGlmIChyZXNWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgdltgJHtrfV90aXRsZWBdID0gcmVzVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkcy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIGlmIChvLnByb3BlcnRpZXNba2V5XS50aXRsZSkge1xuICAgICAgICAgIGZpZWxkcy5zZXQoa2V5ICsgJ190aXRsZScsIG8ucHJvcGVydGllc1trZXldLnRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIHByb2Nlc3MgY29udGVudFN0cmVhbXMgc2VjdGlvbiBvZiByZXN1bHQgaWYgYXZhaWxhYmxlLlxuICAgICAgLy8gT2JqZWN0cyB0aGF0IGRvbid0IGhhdmUgZmlsZXMgYXR0YWNoZWQgd29uJ3QgaGF2ZSB0aGlzIHNlY3Rpb25cbiAgICAgIGxldCBjb250ZW50OiBTZWFyY2hSZXN1bHRDb250ZW50IHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKG8uY29udGVudFN0cmVhbXMgJiYgby5jb250ZW50U3RyZWFtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIHdlIGFzc3VtZSB0aGF0IGVhY2ggcmVzdWx0IG9iamVjdCBvbmx5IGhhcyBPTkUgZmlsZSBhdHRhY2hlZCwgYWx0b3VnaFxuICAgICAgICAvLyB0aGlzIGlzIGFuIGFycmF5IGFuZCB0aGVyZSBtYXkgYmUgbW9yZVxuICAgICAgICBjb25zdCBjb250ZW50U3RyZWFtID0gby5jb250ZW50U3RyZWFtc1swXTtcbiAgICAgICAgLy8gYWxzbyBhZGQgY29udGVudHN0cmVhbSByZWxhdGVkIGZpZWxkcyB0byB0aGUgcmVzdWx0IGZpZWxkc1xuICAgICAgICBmaWVsZHMuc2V0KENvbnRlbnRTdHJlYW1GaWVsZC5MRU5HVEgsIGNvbnRlbnRTdHJlYW0ubGVuZ3RoKTtcbiAgICAgICAgZmllbGRzLnNldChDb250ZW50U3RyZWFtRmllbGQuTUlNRV9UWVBFLCBjb250ZW50U3RyZWFtLm1pbWVUeXBlKTtcbiAgICAgICAgZmllbGRzLnNldChDb250ZW50U3RyZWFtRmllbGQuRklMRU5BTUUsIGNvbnRlbnRTdHJlYW0uZmlsZU5hbWUpO1xuICAgICAgICBmaWVsZHMuc2V0KENvbnRlbnRTdHJlYW1GaWVsZC5JRCwgY29udGVudFN0cmVhbS5jb250ZW50U3RyZWFtSWQpO1xuICAgICAgICBmaWVsZHMuc2V0KENvbnRlbnRTdHJlYW1GaWVsZC5SQU5HRSwgY29udGVudFN0cmVhbS5jb250ZW50U3RyZWFtUmFuZ2UpO1xuICAgICAgICBmaWVsZHMuc2V0KENvbnRlbnRTdHJlYW1GaWVsZC5SRVBPU0lUT1JZX0lELCBjb250ZW50U3RyZWFtLnJlcG9zaXRvcnlJZCk7XG4gICAgICAgIGZpZWxkcy5zZXQoQ29udGVudFN0cmVhbUZpZWxkLkRJR0VTVCwgY29udGVudFN0cmVhbS5kaWdlc3QpO1xuICAgICAgICBmaWVsZHMuc2V0KENvbnRlbnRTdHJlYW1GaWVsZC5BUkNISVZFX1BBVEgsIGNvbnRlbnRTdHJlYW0uYXJjaGl2ZVBhdGgpO1xuXG4gICAgICAgIGNvbnRlbnQgPSB7XG4gICAgICAgICAgY29udGVudFN0cmVhbUlkOiBjb250ZW50U3RyZWFtLmNvbnRlbnRTdHJlYW1JZCxcbiAgICAgICAgICByZXBvc2l0b3J5SWQ6IGNvbnRlbnRTdHJlYW0ucmVwb3NpdG9yeUlkLFxuICAgICAgICAgIHJhbmdlOiBjb250ZW50U3RyZWFtLnJhbmdlLFxuICAgICAgICAgIGRpZ2VzdDogY29udGVudFN0cmVhbS5kaWdlc3QsXG4gICAgICAgICAgYXJjaGl2ZVBhdGg6IGNvbnRlbnRTdHJlYW0uYXJjaGl2ZVBhdGgsXG4gICAgICAgICAgZmlsZU5hbWU6IGNvbnRlbnRTdHJlYW0uZmlsZU5hbWUsXG4gICAgICAgICAgbWltZVR5cGU6IGNvbnRlbnRTdHJlYW0ubWltZVR5cGUsXG4gICAgICAgICAgc2l6ZTogY29udGVudFN0cmVhbS5sZW5ndGhcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb2JqZWN0VHlwZUlkID0gby5wcm9wZXJ0aWVzW0Jhc2VPYmplY3RUeXBlRmllbGQuT0JKRUNUX1RZUEVfSURdID8gby5wcm9wZXJ0aWVzW0Jhc2VPYmplY3RUeXBlRmllbGQuT0JKRUNUX1RZUEVfSURdLnZhbHVlIDogbnVsbDtcbiAgICAgIGlmIChvYmplY3RUeXBlcy5pbmRleE9mKG9iamVjdFR5cGVJZCkgPT09IC0xKSB7XG4gICAgICAgIG9iamVjdFR5cGVzLnB1c2gob2JqZWN0VHlwZUlkKTtcbiAgICAgIH1cblxuICAgICAgcmVzdWx0TGlzdEl0ZW1zLnB1c2goe1xuICAgICAgICBvYmplY3RUeXBlSWQsXG4gICAgICAgIGNvbnRlbnQsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgcGVybWlzc2lvbnM6IG8ucGVybWlzc2lvbnNcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzdWx0OiBTZWFyY2hSZXN1bHQgPSB7XG4gICAgICBoYXNNb3JlSXRlbXM6IHNlYXJjaFJlc3BvbnNlLmhhc01vcmVJdGVtcyxcbiAgICAgIHRvdGFsTnVtSXRlbXM6IHNlYXJjaFJlc3BvbnNlLnRvdGFsTnVtSXRlbXMsXG4gICAgICBpdGVtczogcmVzdWx0TGlzdEl0ZW1zLFxuICAgICAgb2JqZWN0VHlwZXNcbiAgICB9O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogTWFwcyBkYXRhIGV4dHJhY3RlZCBmcm9tIGEgc2VhcmNoIGZvcm0gdG8gc2VhcmNoIGZpbHRlcnMuIEV2ZXJ5IGtleSBvZiB0aGUgZm9ybSBkYXRhIG9iamVjdFxuICAgKiB3aWxsIGJlIG1hcHBlZCB0byBhIHNlYXJjaCBmaWx0ZXIuXG4gICAqIEBwYXJhbSBmb3JtRGF0YSBmb3JtIGRhdGFcbiAgICogQHJldHVybnMgQXJyYXkgb2Ygc2VhcmNoIGZpbHRlcnNcbiAgICovXG4gIGZvcm1EYXRhVG9TZWFyY2hGaWx0ZXIoZm9ybURhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogU2VhcmNoRmlsdGVyW10ge1xuICAgIGNvbnN0IGlzUmFuZ2VWYWx1ZSA9ICh2OiB1bmtub3duKSA9PiB7XG4gICAgICByZXR1cm4gdHlwZW9mIHYgPT09ICdvYmplY3QnICYmIHYgIT09IG51bGwgJiYgJ2ZpcnN0VmFsdWUnIGluIHYgJiYgJ29wZXJhdG9yJyBpbiB2O1xuICAgIH07XG5cbiAgICBjb25zdCBmaWx0ZXJzOiBTZWFyY2hGaWx0ZXJbXSA9IFtdO1xuICAgIE9iamVjdC5rZXlzKGZvcm1EYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gZm9ybURhdGFba2V5XTtcbiAgICAgIGlmIChpc1JhbmdlVmFsdWUodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IGYgPSB0aGlzLnJhbmdlVmFsdWVUb1NlYXJjaEZpbHRlcih2YWx1ZSBhcyBSYW5nZVZhbHVlLCBrZXkpO1xuICAgICAgICBpZiAoZikgZmlsdGVycy5wdXNoKGYpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsdGVycy5wdXNoKHtcbiAgICAgICAgICBmOiBrZXksXG4gICAgICAgICAgbzogQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBPcGVyYXRvci5JTiA6IE9wZXJhdG9yLkVRVUFMLFxuICAgICAgICAgIHYxOiB2YWx1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZmlsdGVycztcbiAgfVxuXG4gIHJhbmdlVmFsdWVUb1NlYXJjaEZpbHRlcih2YWx1ZTogUmFuZ2VWYWx1ZSwgcHJvcGVydHk6IHN0cmluZyk6IFNlYXJjaEZpbHRlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI3N5c3RlbS5nZXRPYmplY3RUeXBlRmllbGQocHJvcGVydHkpPy5wcm9wZXJ0eVR5cGUgPT09ICdkYXRldGltZSdcbiAgICAgID8gdGhpcy4jZGF0ZVJhbmdlVmFsdWVUb1NlYXJjaEZpbHRlcih2YWx1ZSwgcHJvcGVydHkpXG4gICAgICA6IHtcbiAgICAgICAgICBmOiBwcm9wZXJ0eSxcbiAgICAgICAgICBvOiB2YWx1ZS5vcGVyYXRvcixcbiAgICAgICAgICB2MTogdmFsdWUuZmlyc3RWYWx1ZSxcbiAgICAgICAgICB2MjogdmFsdWUuc2Vjb25kVmFsdWVcbiAgICAgICAgfTtcbiAgfVxuXG4gICNkYXRlUmFuZ2VWYWx1ZVRvU2VhcmNoRmlsdGVyKHJ2OiBSYW5nZVZhbHVlLCBwcm9wZXJ0eTogc3RyaW5nKTogU2VhcmNoRmlsdGVyIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2MSA9IChydi5maXJzdFZhbHVlIGFzIERhdGUpLnRvSVNPU3RyaW5nKCk7XG4gICAgY29uc3QgdjIgPSBydi5zZWNvbmRWYWx1ZSA/IChydi5zZWNvbmRWYWx1ZSBhcyBEYXRlKS50b0lTT1N0cmluZygpIDogdW5kZWZpbmVkO1xuICAgIGxldCBmaWx0ZXI7XG4gICAgc3dpdGNoIChydi5vcGVyYXRvcikge1xuICAgICAgY2FzZSBPcGVyYXRvci5FUVVBTDoge1xuICAgICAgICBmaWx0ZXIgPSB7XG4gICAgICAgICAgZjogcHJvcGVydHksXG4gICAgICAgICAgbzogT3BlcmF0b3IuSU5URVJWQUxfSU5DTFVERV9CT1RILFxuICAgICAgICAgIHYxOiB2MS5zcGxpdCgnVCcpWzBdICsgJ1QwMDowMDowMC4wMDAnLFxuICAgICAgICAgIHYyOiB2MS5zcGxpdCgnVCcpWzBdICsgJ1QyMzo1OTo1OS4wMDAnXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBPcGVyYXRvci5HUkVBVEVSX09SX0VRVUFMOiB7XG4gICAgICAgIGZpbHRlciA9IHtcbiAgICAgICAgICBmOiBwcm9wZXJ0eSxcbiAgICAgICAgICBvOiBydi5vcGVyYXRvcixcbiAgICAgICAgICB2MTogdjEuc3BsaXQoJ1QnKVswXSArICdUMDA6MDA6MDAuMDAwJ1xuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgT3BlcmF0b3IuTEVTU19PUl9FUVVBTDoge1xuICAgICAgICBmaWx0ZXIgPSB7XG4gICAgICAgICAgZjogcHJvcGVydHksXG4gICAgICAgICAgbzogcnYub3BlcmF0b3IsXG4gICAgICAgICAgdjE6IHYxLnNwbGl0KCdUJylbMF0gKyAnVDIzOjU5OjU5LjAwMCdcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIE9wZXJhdG9yLklOVEVSVkFMX0lOQ0xVREVfQk9USDoge1xuICAgICAgICBmaWx0ZXIgPSB7XG4gICAgICAgICAgZjogcHJvcGVydHksXG4gICAgICAgICAgbzogcnYub3BlcmF0b3IsXG4gICAgICAgICAgdjE6IHYxLnNwbGl0KCdUJylbMF0gKyAnVDAwOjAwOjAwLjAwMCcsXG4gICAgICAgICAgdjI6IHYyIS5zcGxpdCgnVCcpWzBdICsgJ1QyMzo1OTo1OS4wMDAnXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyO1xuICB9XG59XG4iXX0=
@@ -1,142 +0,0 @@
1
- import { Operator } from './search.service.interface';
2
- export class SearchUtils {
3
- static { this.dateRanges = ['today', 'yesterday', 'thisWeek', 'lastWeek', 'thisMonth', 'lastMonth', 'thisYear', 'lastYear']; }
4
- static { this.filesizeRanges = ['small', 'medium', 'large', 'verylarge']; }
5
- static dateRangeStartEnd(dateRange) {
6
- let start;
7
- let end;
8
- switch (dateRange) {
9
- case 'today': {
10
- start = new Date();
11
- end = new Date();
12
- break;
13
- }
14
- case 'yesterday': {
15
- const yesterday = new Date();
16
- yesterday.setDate(yesterday.getDate() - 1);
17
- start = yesterday;
18
- end = yesterday;
19
- break;
20
- }
21
- case 'thisWeek': {
22
- const firstDay = new Date();
23
- firstDay.setDate(firstDay.getDate() - firstDay.getDay());
24
- start = firstDay;
25
- end = new Date();
26
- break;
27
- }
28
- case 'lastWeek': {
29
- const firstDay = new Date();
30
- firstDay.setDate(firstDay.getDate() - firstDay.getDay() - 7);
31
- const lastDay = new Date();
32
- lastDay.setDate(lastDay.getDate() - lastDay.getDay() - 1);
33
- start = firstDay;
34
- end = lastDay;
35
- break;
36
- }
37
- case 'thisMonth': {
38
- const firstDay = new Date();
39
- firstDay.setDate(1);
40
- start = firstDay;
41
- end = new Date();
42
- break;
43
- }
44
- case 'lastMonth': {
45
- const firstDay = new Date();
46
- firstDay.setDate(1);
47
- firstDay.setMonth(firstDay.getMonth() - 1);
48
- const lastDay = new Date();
49
- lastDay.setDate(0);
50
- start = firstDay;
51
- end = lastDay;
52
- break;
53
- }
54
- case 'thisYear': {
55
- const firstDay = new Date();
56
- firstDay.setMonth(0);
57
- firstDay.setDate(1);
58
- start = firstDay;
59
- end = new Date();
60
- break;
61
- }
62
- case 'lastYear': {
63
- const firstDay = new Date();
64
- firstDay.setFullYear(firstDay.getFullYear() - 1);
65
- firstDay.setMonth(0);
66
- firstDay.setDate(1);
67
- const lastDay = new Date();
68
- lastDay.setFullYear(lastDay.getFullYear() - 1);
69
- lastDay.setMonth(11);
70
- lastDay.setDate(31);
71
- start = firstDay;
72
- end = lastDay;
73
- break;
74
- }
75
- }
76
- return { start, end };
77
- }
78
- /**
79
- * Maps a date range filter to a date range value like 'thisWeek', 'lastMonth', etc.
80
- * @param rangeValue the range value
81
- * @returns the date range (eg. 'thisWeek', 'lastMonth', etc.)
82
- */
83
- static getMatchingDateRange(rangeValue) {
84
- return SearchUtils.dateRanges.find((dateRange) => {
85
- const { start, end } = SearchUtils.dateRangeStartEnd(dateRange);
86
- return (rangeValue.firstValue === start.toISOString().split('T')[0] + 'T00:00:00.000' &&
87
- rangeValue.secondValue === end.toISOString().split('T')[0] + 'T23:59:59.000');
88
- });
89
- }
90
- // Files size ranges
91
- static getMatchingFilesizeRange(rangeValue) {
92
- let filesizeRange = undefined;
93
- if (rangeValue.operator === Operator.INTERVAL_INCLUDE_BOTH) {
94
- if (rangeValue.firstValue === 1024 * 1024 && rangeValue.secondValue === 1024 * 1024 * 10)
95
- filesizeRange = 'medium';
96
- else if (rangeValue.firstValue === 1024 * 1024 * 10 && rangeValue.secondValue === 1024 * 1024 * 100)
97
- filesizeRange = 'large';
98
- }
99
- else if (rangeValue.operator === Operator.LESS_THAN) {
100
- if (rangeValue.firstValue === 1024 * 1024)
101
- filesizeRange = 'small';
102
- }
103
- else if (rangeValue.operator === Operator.GREATER_THAN) {
104
- if (rangeValue.firstValue === 1024 * 1024 * 100)
105
- filesizeRange = 'verylarge';
106
- }
107
- return filesizeRange;
108
- }
109
- static filesizeRangeToRangeValue(filesizeRange) {
110
- let rv = undefined;
111
- switch (filesizeRange) {
112
- case 'small':
113
- rv = {
114
- operator: Operator.LESS_THAN,
115
- firstValue: 1024 * 1024
116
- };
117
- break;
118
- case 'medium':
119
- rv = {
120
- operator: Operator.INTERVAL_INCLUDE_BOTH,
121
- firstValue: 1024 * 1024,
122
- secondValue: 1024 * 1024 * 10
123
- };
124
- break;
125
- case 'large':
126
- rv = {
127
- operator: Operator.INTERVAL_INCLUDE_BOTH,
128
- firstValue: 1024 * 1024 * 10,
129
- secondValue: 1024 * 1024 * 100
130
- };
131
- break;
132
- case 'verylarge':
133
- rv = {
134
- operator: Operator.GREATER_THAN,
135
- firstValue: 1024 * 1024 * 100
136
- };
137
- break;
138
- }
139
- return rv;
140
- }
141
- }
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWNvcmUvc3JjL2xpYi9zZXJ2aWNlL3NlYXJjaC9zZWFyY2gudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUE0QixRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRixNQUFNLE9BQU8sV0FBVzthQUNmLGVBQVUsR0FBRyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQzthQUM5RyxtQkFBYyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFbEUsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFNBQW9CO1FBQzNDLElBQUksS0FBVyxDQUFDO1FBQ2hCLElBQUksR0FBUyxDQUFDO1FBRWQsUUFBUSxTQUFTLEVBQUUsQ0FBQztZQUNsQixLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2IsS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ25CLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNqQixNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDakIsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDN0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRTNDLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBQ2xCLEdBQUcsR0FBRyxTQUFTLENBQUM7Z0JBQ2hCLE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUNoQixNQUFNLFFB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QUFLLFdBQVc7Z0JBQ2QsRUFBRSxHQUFHO29CQUNILFFBQVEsRUFBRSxRQUFRLENBQUMsWUFBWTtvQkFDL0IsVUFBVSxFQUFFLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRztpQkFDOUIsQ0FBQztnQkFDRixNQUFNO1FBQ1YsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJhbmdlVmFsdWUgfSBmcm9tICcuLi8uLi9tb2RlbC9yYW5nZS12YWx1ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlLCBGaWxlc2l6ZVJhbmdlLCBPcGVyYXRvciB9IGZyb20gJy4vc2VhcmNoLnNlcnZpY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIFNlYXJjaFV0aWxzIHtcbiAgc3RhdGljIGRhdGVSYW5nZXMgPSBbJ3RvZGF5JywgJ3llc3RlcmRheScsICd0aGlzV2VlaycsICdsYXN0V2VlaycsICd0aGlzTW9udGgnLCAnbGFzdE1vbnRoJywgJ3RoaXNZZWFyJywgJ2xhc3RZZWFyJ107XG4gIHN0YXRpYyBmaWxlc2l6ZVJhbmdlcyA9IFsnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJywgJ3ZlcnlsYXJnZSddO1xuXG4gIHN0YXRpYyBkYXRlUmFuZ2VTdGFydEVuZChkYXRlUmFuZ2U6IERhdGVSYW5nZSk6IHsgc3RhcnQ6IERhdGU7IGVuZDogRGF0ZSB9IHtcbiAgICBsZXQgc3RhcnQ6IERhdGU7XG4gICAgbGV0IGVuZDogRGF0ZTtcblxuICAgIHN3aXRjaCAoZGF0ZVJhbmdlKSB7XG4gICAgICBjYXNlICd0b2RheSc6IHtcbiAgICAgICAgc3RhcnQgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBlbmQgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3llc3RlcmRheSc6IHtcbiAgICAgICAgY29uc3QgeWVzdGVyZGF5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgeWVzdGVyZGF5LnNldERhdGUoeWVzdGVyZGF5LmdldERhdGUoKSAtIDEpO1xuXG4gICAgICAgIHN0YXJ0ID0geWVzdGVyZGF5O1xuICAgICAgICBlbmQgPSB5ZXN0ZXJkYXk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAndGhpc1dlZWsnOiB7XG4gICAgICAgIGNvbnN0IGZpcnN0RGF5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgZmlyc3REYXkuc2V0RGF0ZShmaXJzdERheS5nZXREYXRlKCkgLSBmaXJzdERheS5nZXREYXkoKSk7XG5cbiAgICAgICAgc3RhcnQgPSBmaXJzdERheTtcbiAgICAgICAgZW5kID0gbmV3IERhdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdsYXN0V2Vlayc6IHtcbiAgICAgICAgY29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBmaXJzdERheS5zZXREYXRlKGZpcnN0RGF5LmdldERhdGUoKSAtIGZpcnN0RGF5LmdldERheSgpIC0gNyk7XG4gICAgICAgIGNvbnN0IGxhc3REYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBsYXN0RGF5LnNldERhdGUobGFzdERheS5nZXREYXRlKCkgLSBsYXN0RGF5LmdldERheSgpIC0gMSk7XG5cbiAgICAgICAgc3RhcnQgPSBmaXJzdERheTtcbiAgICAgICAgZW5kID0gbGFzdERheTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICd0aGlzTW9udGgnOiB7XG4gICAgICAgIGNvbnN0IGZpcnN0RGF5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgZmlyc3REYXkuc2V0RGF0ZSgxKTtcblxuICAgICAgICBzdGFydCA9IGZpcnN0RGF5O1xuICAgICAgICBlbmQgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2xhc3RNb250aCc6IHtcbiAgICAgICAgY29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBmaXJzdERheS5zZXREYXRlKDEpO1xuICAgICAgICBmaXJzdERheS5zZXRNb250aChmaXJzdERheS5nZXRNb250aCgpIC0gMSk7XG4gICAgICAgIGNvbnN0IGxhc3REYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBsYXN0RGF5LnNldERhdGUoMCk7XG5cbiAgICAgICAgc3RhcnQgPSBmaXJzdERheTtcbiAgICAgICAgZW5kID0gbGFzdERheTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICd0aGlzWWVhcic6IHtcbiAgICAgICAgY29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBmaXJzdERheS5zZXRNb250aCgwKTtcbiAgICAgICAgZmlyc3REYXkuc2V0RGF0ZSgxKTtcblxuICAgICAgICBzdGFydCA9IGZpcnN0RGF5O1xuICAgICAgICBlbmQgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2xhc3RZZWFyJzoge1xuICAgICAgICBjb25zdCBmaXJzdERheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGZpcnN0RGF5LnNldEZ1bGxZZWFyKGZpcnN0RGF5LmdldEZ1bGxZZWFyKCkgLSAxKTtcbiAgICAgICAgZmlyc3REYXkuc2V0TW9udGgoMCk7XG4gICAgICAgIGZpcnN0RGF5LnNldERhdGUoMSk7XG4gICAgICAgIGNvbnN0IGxhc3REYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBsYXN0RGF5LnNldEZ1bGxZZWFyKGxhc3REYXkuZ2V0RnVsbFllYXIoKSAtIDEpO1xuICAgICAgICBsYXN0RGF5LnNldE1vbnRoKDExKTtcbiAgICAgICAgbGFzdERheS5zZXREYXRlKDMxKTtcblxuICAgICAgICBzdGFydCA9IGZpcnN0RGF5O1xuICAgICAgICBlbmQgPSBsYXN0RGF5O1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgc3RhcnQsIGVuZCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcHMgYSBkYXRlIHJhbmdlIGZpbHRlciB0byBhIGRhdGUgcmFuZ2UgdmFsdWUgbGlrZSAndGhpc1dlZWsnLCAnbGFzdE1vbnRoJywgZXRjLlxuICAgKiBAcGFyYW0gcmFuZ2VWYWx1ZSB0aGUgcmFuZ2UgdmFsdWVcbiAgICogQHJldHVybnMgdGhlIGRhdGUgcmFuZ2UgKGVnLiAndGhpc1dlZWsnLCAnbGFzdE1vbnRoJywgZXRjLilcbiAgICovXG4gIHN0YXRpYyBnZXRNYXRjaGluZ0RhdGVSYW5nZShyYW5nZVZhbHVlOiBSYW5nZVZhbHVlKTogRGF0ZVJhbmdlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gU2VhcmNoVXRpbHMuZGF0ZVJhbmdlcy5maW5kKChkYXRlUmFuZ2UpID0+IHtcbiAgICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gU2VhcmNoVXRpbHMuZGF0ZVJhbmdlU3RhcnRFbmQoZGF0ZVJhbmdlIGFzIERhdGVSYW5nZSk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICByYW5nZVZhbHVlLmZpcnN0VmFsdWUgPT09IHN0YXJ0LnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSArICdUMDA6MDA6MDAuMDAwJyAmJlxuICAgICAgICByYW5nZVZhbHVlLnNlY29uZFZhbHVlID09PSBlbmQudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdICsgJ1QyMzo1OTo1OS4wMDAnXG4gICAgICApO1xuICAgIH0pIGFzIERhdGVSYW5nZTtcbiAgfVxuXG4gIC8vIEZpbGVzIHNpemUgcmFuZ2VzXG4gIHN0YXRpYyBnZXRNYXRjaGluZ0ZpbGVzaXplUmFuZ2UocmFuZ2VWYWx1ZTogUmFuZ2VWYWx1ZSk6IEZpbGVzaXplUmFuZ2UgfCB1bmRlZmluZWQge1xuICAgIGxldCBmaWxlc2l6ZVJhbmdlOiBGaWxlc2l6ZVJhbmdlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChyYW5nZVZhbHVlLm9wZXJhdG9yID09PSBPcGVyYXRvci5JTlRFUlZBTF9JTkNMVURFX0JPVEgpIHtcbiAgICAgIGlmIChyYW5nZVZhbHVlLmZpcnN0VmFsdWUgPT09IDEwMjQgKiAxMDI0ICYmIHJhbmdlVmFsdWUuc2Vjb25kVmFsdWUgPT09IDEwMjQgKiAxMDI0ICogMTApIGZpbGVzaXplUmFuZ2UgPSAnbWVkaXVtJztcbiAgICAgIGVsc2UgaWYgKHJhbmdlVmFsdWUuZmlyc3RWYWx1ZSA9PT0gMTAyNCAqIDEwMjQgKiAxMCAmJiByYW5nZVZhbHVlLnNlY29uZFZhbHVlID09PSAxMDI0ICogMTAyNCAqIDEwMCkgZmlsZXNpemVSYW5nZSA9ICdsYXJnZSc7XG4gICAgfSBlbHNlIGlmIChyYW5nZVZhbHVlLm9wZXJhdG9yID09PSBPcGVyYXRvci5MRVNTX1RIQU4pIHtcbiAgICAgIGlmIChyYW5nZVZhbHVlLmZpcnN0VmFsdWUgPT09IDEwMjQgKiAxMDI0KSBmaWxlc2l6ZVJhbmdlID0gJ3NtYWxsJztcbiAgICB9IGVsc2UgaWYgKHJhbmdlVmFsdWUub3BlcmF0b3IgPT09IE9wZXJhdG9yLkdSRUFURVJfVEhBTikge1xuICAgICAgaWYgKHJhbmdlVmFsdWUuZmlyc3RWYWx1ZSA9PT0gMTAyNCAqIDEwMjQgKiAxMDApIGZpbGVzaXplUmFuZ2UgPSAndmVyeWxhcmdlJztcbiAgICB9XG4gICAgcmV0dXJuIGZpbGVzaXplUmFuZ2U7XG4gIH1cblxuICBzdGF0aWMgZmlsZXNpemVSYW5nZVRvUmFuZ2VWYWx1ZShmaWxlc2l6ZVJhbmdlOiBGaWxlc2l6ZVJhbmdlKTogUmFuZ2VWYWx1ZSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJ2OiBSYW5nZVZhbHVlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIHN3aXRjaCAoZmlsZXNpemVSYW5nZSkge1xuICAgICAgY2FzZSAnc21hbGwnOlxuICAgICAgICBydiA9IHtcbiAgICAgICAgICBvcGVyYXRvcjogT3BlcmF0b3IuTEVTU19USEFOLFxuICAgICAgICAgIGZpcnN0VmFsdWU6IDEwMjQgKiAxMDI0XG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgICAgcnYgPSB7XG4gICAgICAgICAgb3BlcmF0b3I6IE9wZXJhdG9yLklOVEVSVkFMX0lOQ0xVREVfQk9USCxcbiAgICAgICAgICBmaXJzdFZhbHVlOiAxMDI0ICogMTAyNCxcbiAgICAgICAgICBzZWNvbmRWYWx1ZTogMTAyNCAqIDEwMjQgKiAxMFxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgICAgcnYgPSB7XG4gICAgICAgICAgb3BlcmF0b3I6IE9wZXJhdG9yLklOVEVSVkFMX0lOQ0xVREVfQk9USCxcbiAgICAgICAgICBmaXJzdFZhbHVlOiAxMDI0ICogMTAyNCAqIDEwLFxuICAgICAgICAgIHNlY29uZFZhbHVlOiAxMDI0ICogMTAyNCAqIDEwMFxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3ZlcnlsYXJnZSc6XG4gICAgICAgIHJ2ID0ge1xuICAgICAgICAgIG9wZXJhdG9yOiBPcGVyYXRvci5HUkVBVEVSX1RIQU4sXG4gICAgICAgICAgZmlyc3RWYWx1ZTogMTAyNCAqIDEwMjQgKiAxMDBcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBydjtcbiAgfVxufVxuIl19
@@ -1,50 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SessionStorageService {
4
- #TEMP_STORAGE_ENTRIES_KEY = 'yuv.core.sessionstorage.entries';
5
- constructor() {
6
- this.#clearTemporaryStorageEntries();
7
- }
8
- /**
9
- * Add a reference to a temporary localstorage entry that should be cleared when a
10
- * new browser session starts. In context of forms this will be used to cleanup the
11
- * layout state of forms (selected tabs etc.) that are stored locally but should only
12
- * be pesisted for one browser session.
13
- * @param storageKey Key of the localstorage item
14
- */
15
- addTemporaryStorageEntry(storageKey) {
16
- // entries will themselves be stored in localstorage so we can check for entries
17
- // to be removed once the application starts
18
- const current = this.#getTemporaryStorageEntries();
19
- if (!current.includes(storageKey))
20
- localStorage.setItem(this.#TEMP_STORAGE_ENTRIES_KEY, JSON.stringify([...current, storageKey]));
21
- }
22
- #clearTemporaryStorageEntries() {
23
- this.#getTemporaryStorageEntries().forEach((e) => localStorage.removeItem(e));
24
- localStorage.removeItem(this.#TEMP_STORAGE_ENTRIES_KEY);
25
- }
26
- #getTemporaryStorageEntries() {
27
- let res = [];
28
- const i = localStorage.getItem(this.#TEMP_STORAGE_ENTRIES_KEY);
29
- if (i) {
30
- try {
31
- const entries = JSON.parse(i);
32
- if (Array.isArray(entries))
33
- res = entries;
34
- }
35
- catch (e) {
36
- console.error(e);
37
- }
38
- }
39
- return res;
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SessionStorageService, providedIn: 'root' }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SessionStorageService, decorators: [{
45
- type: Injectable,
46
- args: [{
47
- providedIn: 'root'
48
- }]
49
- }], ctorParameters: () => [] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2Uvc2Vzc2lvbi1zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMseUJBQXlCLEdBQUcsaUNBQWlDLENBQUM7SUFFOUQ7UUFDRSxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsd0JBQXdCLENBQUMsVUFBa0I7UUFDekMsZ0ZBQWdGO1FBQ2hGLDRDQUE0QztRQUM1QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BJLENBQUM7SUFFRCw2QkFBNkI7UUFDM0IsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLElBQUksR0FBRyxHQUFhLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxFQUFFLENBQUM7WUFDTixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxPQUFPLEdBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztvQkFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDO1lBQzVDLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7K0dBdENVLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNlc3Npb25TdG9yYWdlU2VydmljZSB7XG4gICNURU1QX1NUT1JBR0VfRU5UUklFU19LRVkgPSAneXV2LmNvcmUuc2Vzc2lvbnN0b3JhZ2UuZW50cmllcyc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jY2xlYXJUZW1wb3JhcnlTdG9yYWdlRW50cmllcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHJlZmVyZW5jZSB0byBhIHRlbXBvcmFyeSBsb2NhbHN0b3JhZ2UgZW50cnkgdGhhdCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIGFcbiAgICogbmV3IGJyb3dzZXIgc2Vzc2lvbiBzdGFydHMuIEluIGNvbnRleHQgb2YgZm9ybXMgdGhpcyB3aWxsIGJlIHVzZWQgdG8gY2xlYW51cCB0aGVcbiAgICogbGF5b3V0IHN0YXRlIG9mIGZvcm1zIChzZWxlY3RlZCB0YWJzIGV0Yy4pIHRoYXQgYXJlIHN0b3JlZCBsb2NhbGx5IGJ1dCBzaG91bGQgb25seVxuICAgKiBiZSBwZXNpc3RlZCBmb3Igb25lIGJyb3dzZXIgc2Vzc2lvbi5cbiAgICogQHBhcmFtIHN0b3JhZ2VLZXkgS2V5IG9mIHRoZSBsb2NhbHN0b3JhZ2UgaXRlbVxuICAgKi9cbiAgYWRkVGVtcG9yYXJ5U3RvcmFnZUVudHJ5KHN0b3JhZ2VLZXk6IHN0cmluZykge1xuICAgIC8vIGVudHJpZXMgd2lsbCB0aGVtc2VsdmVzIGJlIHN0b3JlZCBpbiBsb2NhbHN0b3JhZ2Ugc28gd2UgY2FuIGNoZWNrIGZvciBlbnRyaWVzXG4gICAgLy8gdG8gYmUgcmVtb3ZlZCBvbmNlIHRoZSBhcHBsaWNhdGlvbiBzdGFydHNcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy4jZ2V0VGVtcG9yYXJ5U3RvcmFnZUVudHJpZXMoKTtcbiAgICBpZiAoIWN1cnJlbnQuaW5jbHVkZXMoc3RvcmFnZUtleSkpIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuI1RFTVBfU1RPUkFHRV9FTlRSSUVTX0tFWSwgSlNPTi5zdHJpbmdpZnkoWy4uLmN1cnJlbnQsIHN0b3JhZ2VLZXldKSk7XG4gIH1cblxuICAjY2xlYXJUZW1wb3JhcnlTdG9yYWdlRW50cmllcygpIHtcbiAgICB0aGlzLiNnZXRUZW1wb3JhcnlTdG9yYWdlRW50cmllcygpLmZvckVhY2goKGUpID0+IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGUpKTtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLiNURU1QX1NUT1JBR0VfRU5UUklFU19LRVkpO1xuICB9XG5cbiAgI2dldFRlbXBvcmFyeVN0b3JhZ2VFbnRyaWVzKCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgcmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGkgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLiNURU1QX1NUT1JBR0VfRU5UUklFU19LRVkpO1xuICAgIGlmIChpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBlbnRyaWVzOiBzdHJpbmdbXSA9IEpTT04ucGFyc2UoaSk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVudHJpZXMpKSByZXMgPSBlbnRyaWVzO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWNvcmUvc3JjL2xpYi9zZXJ2aWNlL3N5c3RlbS9vYmplY3QtZm9ybS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVybmFsRmllbGRUeXBlIH0gZnJvbSAnLi9zeXN0ZW0uZW51bSc7XG5pbXBvcnQgeyBPYmplY3RUeXBlRmllbGQgfSBmcm9tICcuL3N5c3RlbS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUeXBlRmllbGRUeXBlID0gJ3N0cmluZycgfCAnaW50ZWdlcicgfCAnZGVjaW1hbCcgfCAnYm9vbGVhbicgfCAndGFibGUnIHwgJ2RhdGV0aW1lJztcbmV4cG9ydCB0eXBlIE9iamVjdFR5cGVGaWVsZEludGVybmFsVHlwZSA9XG5PYmplY3RUeXBlRmllbGRUeXBlXG4gIHwgSW50ZXJuYWxGaWVsZFR5cGUuU1RSSU5HX1JFRkVSRU5DRVxuICB8IEludGVybmFsRmllbGRUeXBlLlNUUklOR19PUkdBTklaQVRJT05cbiAgfCBJbnRlcm5hbEZpZWxkVHlwZS5TVFJJTkdfT1JHQU5JWkFUSU9OX1NFVFxuICB8IEludGVybmFsRmllbGRUeXBlLlNUUklOR19DQVRBTE9HXG4gIHwgSW50ZXJuYWxGaWVsZFR5cGUuQk9PTEVBTl9TV0lUQ0hcbiAgfCBJbnRlcm5hbEZpZWxkVHlwZS5TVFJJTkdfRFlOQU1JQ19DQVRBTE9HO1xuXG4vLyBGb3JtIGVsZW1lbnQgb2YgdHlwZSBzdHJpbmdcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUVsZW1lbnRTdHJpbmcgZXh0ZW5kcyBPYmplY3RUeXBlRmllbGQge1xuICBwcm9wZXJ0eVR5cGU6ICdzdHJpbmcnO1xuICBkZWZhdWx0dmFsdWU/OiBzdHJpbmdbXSB8IHN0cmluZztcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIC8vIG51bWJlciBvZiByb3cgdGhlIHRleHQgaW5wdXQgc2hvdWxkIGhhdmUgKGRlZmluZXMgdGhlIHNpemUgb2YgdGhlIGlucHV0L3RleHRhcmVhKVxuICByb3dzPzogbnVtYmVyO1xuICAvLyBpbiBjYXNlIG9mIGEgY2F0YWxvZyBmaWVsZCB0aGlzIHByb3BlcnR5IGhvbGRzIHRoZSBhdmFpbGFibGUgb3B0aW9uc1xuICBvcHRpb25zPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIHJlZ2V4Pzogc3RyaW5nO1xufVxuXG4vLyBGb3JtIGVsZW1lbnQgb2YgdHlwZSBpbnRlZ2VyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1FbGVtZW50SW50ZWdlciBleHRlbmRzIE9iamVjdFR5cGVGaWVsZCB7XG4gIHByb3BlcnR5VHlwZTogJ2ludGVnZXInO1xuICBkZWZhdWx0dmFsdWU/OiBudW1iZXJbXSB8IG51bWJlcjtcbiAgLy8gbWluaW11bSB2YWx1ZVxuICBtYXhWYWx1ZT86IG51bWJlcjtcbiAgLy8gbWF4aW11bSB2YWx1ZVxuICBtaW5WYWx1ZT86IG51bWJlcjtcbiAgLy8gT3ZlcmFsbCBhbW91bnQgb2YgZGlnaXRzIGFsbG93ZWQgKGluY2x1ZGluZyBkZWNpbWFsIHBsYWNlcylcbiAgcHJlY2lzaW9uPzogbnVtYmVyO1xuICAvLyBTZXQgdG8gdHJ1ZSB0byBncm91cCBudW1iZXIgYnkgY2VydGFpbiBwYXR0ZXJuICguLi4gcHJvdmlkZWQgYnkgdGhlIHBhdHRlcm4gcHJvcGVydHkpXG4gIGdyb3VwaW5nPzogYm9vbGVhbjtcbiAgLy8gVGhlIHBhdHRlcm4gdG8gZ3JvdXAgdGhlIHZhbHVlIGJ5XG4gIHBhdHRlcm4/OiBzdHJpbmc7XG59XG5cbi8vIEZvcm0gZWxlbWVudCBvZiB0eXBlIGRlY2ltYWxcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUVsZW1lbnREZWNpbWFsIGV4dGVuZHMgT2JqZWN0VHlwZUZpZWxkIHtcbiAgcHJvcGVydHlUeXBlOiAnZGVjaW1hbCc7XG4gIGRlZmF1bHR2YWx1ZT86IG51bWJlcltdIHwgbnVtYmVyO1xuICAvLyBtaW5pbXVtIHZhbHVlXG4gIG1heFZhbHVlPzogbnVtYmVyO1xuICAvLyBtYXhpbXVtIHZhbHVlXG4gIG1pblZhbHVlPzogbnVtYmVyO1xuICAvLyBPdmVyYWxsIGFtb3VudCBvZiBkaWdpdHMgYWxsb3dlZCAoaW5jbHVkaW5nIGRlY2ltYWwgcGxhY2VzKVxuICBwcmVjaXNpb24/OiBudW1iZXI7XG4gIC8vIE51bWJlciBvZiBkZWNpbWFsIHBsYWNlc1xuICBzY2FsZT86IG51bWJlcjtcbiAgLy8gU2V0IHRvIHRydWUgdG8gZ3JvdXAgbnVtYmVyIGJ5IGNlcnRhaW4gcGF0dGVybiAoLi4uIHByb3ZpZGVkIGJ5IHRoZSBwYXR0ZXJuIHByb3BlcnR5KVxuICBncm91cGluZz86IGJvb2xlYW47XG4gIC8vIFRoZSBwYXR0ZXJuIHRvIGdyb3VwIHRoZSB2YWx1ZSBieVxuICBwYXR0ZXJuPzogc3RyaW5nO1xufVxuXG4vLyBGb3JtIGVsZW1lbnQgb2YgdHlwZSBib29sZWFuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1FbGVtZW50Qm9vbGVhbiBleHRlbmRzIE9iamVjdFR5cGVGaWVsZCB7XG4gIHByb3BlcnR5VHlwZTogJ2Jvb2xlYW4nO1xuICBkZWZhdWx0dmFsdWU/OiBib29sZWFuO1xuICB0cmlzdGF0ZT86IGJvb2xlYW47XG59XG5cbi8vIEZvcm0gZWxlbWVudCBvZiB0eXBlIGRhdGV0aW1lXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1FbGVtZW50RGF0ZXRpbWUgZXh0ZW5kcyBPYmplY3RUeXBlRmllbGQge1xuICBwcm9wZXJ0eVR5cGU6ICdkYXRldGltZSc7XG4gIGRlZmF1bHR2YWx1ZT86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICAvLyBJZiByZXNvbHV0aW9vbiBpcyBzZXQgdG8gJ2RhdGUnIHRpbWUgaXMgbm90IGluY2x1ZGVkXG4gIHJlc29sdXRpb24/OiAnZGF0ZSc7XG59XG5cbi8vIEZvcm0gZWxlbWVudCBvZiB0eXBlIHRhYmxlXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1FbGVtZW50VGFibGUgZXh0ZW5kcyBPYmplY3RUeXBlRmllbGQge1xuICBlbGVtZW50czogT2JqZWN0VHlwZUZpZWxkW107XG4gIHByb3BlcnR5VHlwZTogJ3RhYmxlJztcbn1cbiJdfQ==