@qbs-origin/origin-form 0.5.0
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.
- package/README.md +24 -0
- package/esm2022/lib/action-step-handler.mjs +163 -0
- package/esm2022/lib/auth-client.service.mjs +69 -0
- package/esm2022/lib/enums/label.keys.mjs +721 -0
- package/esm2022/lib/form-css.helper.mjs +367 -0
- package/esm2022/lib/formly/baseFormlyControlComponent.mjs +52 -0
- package/esm2022/lib/formly/baseFormlyStepComponent.mjs +59 -0
- package/esm2022/lib/formly/custom-section-separator.component.mjs +32 -0
- package/esm2022/lib/formly/form-section-separator.component.mjs +36 -0
- package/esm2022/lib/formly/formly-action.mjs +56 -0
- package/esm2022/lib/formly/formly-checkbox/formly-checkbox.component.mjs +52 -0
- package/esm2022/lib/formly/formly-dictionary-dropdown-tree/formly-dictionary-dropdown-tree.component.mjs +261 -0
- package/esm2022/lib/formly/formly-download-documents/formly-download-documents.component.mjs +126 -0
- package/esm2022/lib/formly/formly-enrol-card/formly-enrol-card.component.mjs +120 -0
- package/esm2022/lib/formly/formly-field-stepper/formly-field-stepper.component.mjs +762 -0
- package/esm2022/lib/formly/formly-generate-documents/formly-generate-documents.component.mjs +57 -0
- package/esm2022/lib/formly/formly-identification.component.mjs +84 -0
- package/esm2022/lib/formly/formly-open-banking/formly-open-banking.component.mjs +590 -0
- package/esm2022/lib/formly/formly-paragraph/formly-paragraph.component.mjs +35 -0
- package/esm2022/lib/formly/formly-radio/formly-radio-component.mjs +49 -0
- package/esm2022/lib/formly/formly-row-fille.mjs +12 -0
- package/esm2022/lib/formly/formly-scan-id/formly-scan-id.component.mjs +284 -0
- package/esm2022/lib/formly/formly-sign/formly-sign.component.mjs +173 -0
- package/esm2022/lib/formly/formly-upload-documents/formly-upload-documents.component.mjs +198 -0
- package/esm2022/lib/formly/formly-validate-contact-info/formly-validate-contact-info.component.mjs +124 -0
- package/esm2022/lib/formly/formly-view-documents/formly-view-documents.component.mjs +245 -0
- package/esm2022/lib/formly/formly-view-offers/formly-view-offers.component.mjs +160 -0
- package/esm2022/lib/model-population.helper.mjs +265 -0
- package/esm2022/lib/models/application-type.model.mjs +12 -0
- package/esm2022/lib/models/application.model.mjs +30 -0
- package/esm2022/lib/models/auth/users.model.mjs +2 -0
- package/esm2022/lib/models/dictionary.model.mjs +20 -0
- package/esm2022/lib/models/flux.model.mjs +105 -0
- package/esm2022/lib/models/forms.model.mjs +572 -0
- package/esm2022/lib/models/label-info.model.mjs +2 -0
- package/esm2022/lib/models/label.model.mjs +2 -0
- package/esm2022/lib/models/language.model.mjs +3 -0
- package/esm2022/lib/models/list.model.mjs +2 -0
- package/esm2022/lib/models/partner.model.mjs +3 -0
- package/esm2022/lib/models/treeview.model.mjs +15 -0
- package/esm2022/lib/origin-form-auth.service.mjs +40 -0
- package/esm2022/lib/origin-form-config.model.mjs +2 -0
- package/esm2022/lib/origin-form-token.interceptor.mjs +35 -0
- package/esm2022/lib/origin-form.component.mjs +2391 -0
- package/esm2022/lib/origin-form.module.mjs +479 -0
- package/esm2022/lib/origin-form.service.mjs +14 -0
- package/esm2022/lib/others/check-list.database.mjs +55 -0
- package/esm2022/lib/others/config-service.mjs +42 -0
- package/esm2022/lib/others/dictionary-label-info.mjs +3 -0
- package/esm2022/lib/others/environment-type.mjs +21 -0
- package/esm2022/lib/others/external-link.directive.mjs +49 -0
- package/esm2022/lib/others/flux-helper.mjs +1397 -0
- package/esm2022/lib/others/picker.component.mjs +119 -0
- package/esm2022/lib/others/translation.pipe.mjs +21 -0
- package/esm2022/lib/others/translations-helper.mjs +258 -0
- package/esm2022/lib/others/utils.mjs +272 -0
- package/esm2022/lib/services/applicationData.service.mjs +145 -0
- package/esm2022/lib/services/auth-http.service.mjs +80 -0
- package/esm2022/lib/services/dialog.service.mjs +56 -0
- package/esm2022/lib/services/dictionary.service.mjs +198 -0
- package/esm2022/lib/services/forms.service.mjs +47 -0
- package/esm2022/lib/services/labels.service.mjs +29 -0
- package/esm2022/lib/services/language.service.mjs +24 -0
- package/esm2022/lib/services/open-banking.service.mjs +194 -0
- package/esm2022/lib/services/origin-form-signalr-handler.service.mjs +107 -0
- package/esm2022/lib/services/origin-form-signalr.service.mjs +105 -0
- package/esm2022/lib/services/otp.service.mjs +28 -0
- package/esm2022/lib/services/proxy.service.mjs +79 -0
- package/esm2022/lib/services/scroll-to-error.service.mjs +369 -0
- package/esm2022/lib/services/translation.service.mjs +27 -0
- package/esm2022/lib/shared-components/confirmation.component.mjs +34 -0
- package/esm2022/lib/shared-components/dictionaries-tree.component.mjs +301 -0
- package/esm2022/lib/shared-components/grid.component.mjs +241 -0
- package/esm2022/lib/shared-components/treeview/treeview.component.mjs +224 -0
- package/esm2022/lib/theme-css.mjs +2254 -0
- package/esm2022/lib/theme-injector.service.mjs +26 -0
- package/esm2022/public-api.mjs +4 -0
- package/esm2022/qbs-origin-origin-form.mjs +5 -0
- package/fesm2022/qbs-origin-origin-form.mjs +15215 -0
- package/fesm2022/qbs-origin-origin-form.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/action-step-handler.d.ts +49 -0
- package/lib/auth-client.service.d.ts +17 -0
- package/lib/enums/label.keys.d.ts +720 -0
- package/lib/form-css.helper.d.ts +28 -0
- package/lib/formly/baseFormlyControlComponent.d.ts +25 -0
- package/lib/formly/baseFormlyStepComponent.d.ts +29 -0
- package/lib/formly/custom-section-separator.component.d.ts +6 -0
- package/lib/formly/form-section-separator.component.d.ts +10 -0
- package/lib/formly/formly-action.d.ts +13 -0
- package/lib/formly/formly-checkbox/formly-checkbox.component.d.ts +15 -0
- package/lib/formly/formly-dictionary-dropdown-tree/formly-dictionary-dropdown-tree.component.d.ts +45 -0
- package/lib/formly/formly-download-documents/formly-download-documents.component.d.ts +22 -0
- package/lib/formly/formly-enrol-card/formly-enrol-card.component.d.ts +114 -0
- package/lib/formly/formly-field-stepper/formly-field-stepper.component.d.ts +79 -0
- package/lib/formly/formly-generate-documents/formly-generate-documents.component.d.ts +17 -0
- package/lib/formly/formly-identification.component.d.ts +19 -0
- package/lib/formly/formly-open-banking/formly-open-banking.component.d.ts +119 -0
- package/lib/formly/formly-paragraph/formly-paragraph.component.d.ts +10 -0
- package/lib/formly/formly-radio/formly-radio-component.d.ts +15 -0
- package/lib/formly/formly-row-fille.d.ts +6 -0
- package/lib/formly/formly-scan-id/formly-scan-id.component.d.ts +41 -0
- package/lib/formly/formly-sign/formly-sign.component.d.ts +36 -0
- package/lib/formly/formly-upload-documents/formly-upload-documents.component.d.ts +25 -0
- package/lib/formly/formly-validate-contact-info/formly-validate-contact-info.component.d.ts +79 -0
- package/lib/formly/formly-view-documents/formly-view-documents.component.d.ts +33 -0
- package/lib/formly/formly-view-offers/formly-view-offers.component.d.ts +23 -0
- package/lib/model-population.helper.d.ts +8 -0
- package/lib/models/application-type.model.d.ts +27 -0
- package/lib/models/application.model.d.ts +107 -0
- package/lib/models/auth/users.model.d.ts +20 -0
- package/lib/models/dictionary.model.d.ts +77 -0
- package/lib/models/flux.model.d.ts +101 -0
- package/lib/models/forms.model.d.ts +504 -0
- package/lib/models/label-info.model.d.ts +10 -0
- package/lib/models/label.model.d.ts +4 -0
- package/lib/models/language.model.d.ts +5 -0
- package/lib/models/list.model.d.ts +8 -0
- package/lib/models/partner.model.d.ts +12 -0
- package/lib/models/treeview.model.d.ts +17 -0
- package/lib/origin-form-auth.service.d.ts +15 -0
- package/lib/origin-form-config.model.d.ts +12 -0
- package/lib/origin-form-token.interceptor.d.ts +12 -0
- package/lib/origin-form.component.d.ts +231 -0
- package/lib/origin-form.module.d.ts +84 -0
- package/lib/origin-form.service.d.ts +6 -0
- package/lib/others/check-list.database.d.ts +16 -0
- package/lib/others/config-service.d.ts +22 -0
- package/lib/others/dictionary-label-info.d.ts +6 -0
- package/lib/others/environment-type.d.ts +8 -0
- package/lib/others/external-link.directive.d.ts +12 -0
- package/lib/others/flux-helper.d.ts +115 -0
- package/lib/others/picker.component.d.ts +36 -0
- package/lib/others/translation.pipe.d.ts +10 -0
- package/lib/others/translations-helper.d.ts +31 -0
- package/lib/others/utils.d.ts +37 -0
- package/lib/services/applicationData.service.d.ts +35 -0
- package/lib/services/auth-http.service.d.ts +21 -0
- package/lib/services/dialog.service.d.ts +20 -0
- package/lib/services/dictionary.service.d.ts +89 -0
- package/lib/services/forms.service.d.ts +17 -0
- package/lib/services/labels.service.d.ts +13 -0
- package/lib/services/language.service.d.ts +14 -0
- package/lib/services/open-banking.service.d.ts +137 -0
- package/lib/services/origin-form-signalr-handler.service.d.ts +29 -0
- package/lib/services/origin-form-signalr.service.d.ts +24 -0
- package/lib/services/otp.service.d.ts +22 -0
- package/lib/services/proxy.service.d.ts +29 -0
- package/lib/services/scroll-to-error.service.d.ts +54 -0
- package/lib/services/translation.service.d.ts +10 -0
- package/lib/shared-components/confirmation.component.d.ts +77 -0
- package/lib/shared-components/dictionaries-tree.component.d.ts +51 -0
- package/lib/shared-components/grid.component.d.ts +138 -0
- package/lib/shared-components/treeview/treeview.component.d.ts +121 -0
- package/lib/theme-css.d.ts +2 -0
- package/lib/theme-injector.service.d.ts +8 -0
- package/package.json +42 -0
- package/public-api.d.ts +3 -0
- package/schematics-compiled/collection.json +10 -0
- package/schematics-compiled/ng-add/index.d.ts +2 -0
- package/schematics-compiled/ng-add/index.js +67 -0
- package/schematics-compiled/ng-add/index.js.map +1 -0
- package/schematics-compiled/ng-add/schema.json +8 -0
- package/src/lib/assets/fonts/Figtree-Bold.ttf +0 -0
- package/src/lib/assets/fonts/Figtree-Light.ttf +0 -0
- package/src/lib/assets/fonts/Figtree-Regular.ttf +0 -0
- package/src/lib/assets/fonts/Sora-ExtraBold.ttf +0 -0
- package/src/lib/assets/fonts/Sora-Light.ttf +0 -0
- package/src/lib/assets/fonts/Sora-Regular.ttf +0 -0
- package/src/lib/assets/fonts/ttrounds-bold-webfont.woff +0 -0
- package/src/lib/assets/fonts/ttrounds-bold-webfont.woff2 +0 -0
- package/src/lib/assets/fonts/ttrounds-regular-webfont.woff +0 -0
- package/src/lib/assets/fonts/ttrounds-regular-webfont.woff2 +0 -0
- package/src/lib/assets/fonts/ttrounds-thin-webfont.woff +0 -0
- package/src/lib/assets/fonts/ttrounds-thin-webfont.woff2 +0 -0
- package/src/lib/assets/images/flag/icon-flag-de.svg +10 -0
- package/src/lib/assets/images/flag/icon-flag-en.svg +1 -0
- package/src/lib/assets/images/flag/icon-flag-es.svg +11 -0
- package/src/lib/assets/images/flag/icon-flag-fr.svg +1 -0
- package/src/lib/assets/images/flag/icon-flag-ro.svg +11 -0
- package/src/lib/assets/images/flag/origin-form/new-id-card.png +0 -0
- package/src/lib/assets/images/flag/origin-form/old-id-card.png +0 -0
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
import { FormModelExtenxions, } from '../models/forms.model';
|
|
3
|
+
import { Md5 } from 'ts-md5';
|
|
4
|
+
export class Utils {
|
|
5
|
+
static { this.bigInt = Number(BigInt('900719925')); }
|
|
6
|
+
static json2csv(items) {
|
|
7
|
+
const replacer = (_key, value) => (value === null ? '' : value);
|
|
8
|
+
let header = Object.keys(items[0]);
|
|
9
|
+
header = header.filter((h) => h !== 'locked' && h != 'active');
|
|
10
|
+
const csv = [
|
|
11
|
+
header.join(','),
|
|
12
|
+
...items.map((row) => header
|
|
13
|
+
.map((fieldName) => JSON.stringify(row[fieldName], replacer))
|
|
14
|
+
.join(',')),
|
|
15
|
+
].join('\r\n');
|
|
16
|
+
return csv;
|
|
17
|
+
}
|
|
18
|
+
static csv2json(csv) {
|
|
19
|
+
const lines = csv.split(/\r?\n/).filter((line) => line.trim() !== '');
|
|
20
|
+
if (lines.length === 0)
|
|
21
|
+
return [];
|
|
22
|
+
const headers = Utils.parseCsvLine(lines[0]);
|
|
23
|
+
const result = [];
|
|
24
|
+
for (let i = 1; i < lines.length; i++) {
|
|
25
|
+
const obj = {};
|
|
26
|
+
const currentline = Utils.parseCsvLine(lines[i]);
|
|
27
|
+
for (let j = 0; j < headers.length; j++) {
|
|
28
|
+
const lineText = currentline[j];
|
|
29
|
+
if (lineText !== undefined) {
|
|
30
|
+
obj[headers[j]] = Utils.trim(lineText, '"');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
result.push(obj);
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
static parseCsvLine(line) {
|
|
38
|
+
const result = [];
|
|
39
|
+
let current = '';
|
|
40
|
+
let inQuotes = false;
|
|
41
|
+
for (let i = 0; i < line.length; i++) {
|
|
42
|
+
const char = line[i];
|
|
43
|
+
if (char === '"' && (i === 0 || line[i - 1] !== '\\')) {
|
|
44
|
+
inQuotes = !inQuotes;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (char === ',' && !inQuotes) {
|
|
48
|
+
result.push(current);
|
|
49
|
+
current = '';
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
current += char;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
result.push(current);
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
static trim(str, ch) {
|
|
59
|
+
var start = 0, end = str.length;
|
|
60
|
+
while (start < end && str[start] === ch)
|
|
61
|
+
++start;
|
|
62
|
+
while (end > start && str[end - 1] === ch)
|
|
63
|
+
--end;
|
|
64
|
+
return start > 0 || end < str.length ? str.substring(start, end) : str;
|
|
65
|
+
}
|
|
66
|
+
static download(blob, name) {
|
|
67
|
+
const anchor = document.createElement('a');
|
|
68
|
+
anchor.download = name;
|
|
69
|
+
anchor.href = (window.webkitURL || window.URL).createObjectURL(blob);
|
|
70
|
+
anchor.click();
|
|
71
|
+
}
|
|
72
|
+
static generateUUID() {
|
|
73
|
+
return uuidv4();
|
|
74
|
+
}
|
|
75
|
+
static copyProperties(sourceObj, destObj) {
|
|
76
|
+
Object.keys(sourceObj).forEach((key) => (destObj[key] = sourceObj[key]));
|
|
77
|
+
}
|
|
78
|
+
static correctDate(date) {
|
|
79
|
+
return new Date(date.getTime() - date.getTimezoneOffset() * 60000);
|
|
80
|
+
}
|
|
81
|
+
static formatString(str, val) {
|
|
82
|
+
for (let index = 0; index < val.length; index++) {
|
|
83
|
+
str = str.replace(`{${index}}`, val[index]);
|
|
84
|
+
}
|
|
85
|
+
return str;
|
|
86
|
+
}
|
|
87
|
+
static removeNewLinesAndSpaces(str) {
|
|
88
|
+
return str.replace(/(\r\n|\n|\r)/gm, '').replace(/\s/g, '');
|
|
89
|
+
}
|
|
90
|
+
static removeNewLines(str) {
|
|
91
|
+
return str.replace(/(\r\n|\n|\r)/gm, '');
|
|
92
|
+
}
|
|
93
|
+
static findTranslation(translations, langIso) {
|
|
94
|
+
if (translations) {
|
|
95
|
+
var tr = translations.find((t) => t.languageIso == langIso);
|
|
96
|
+
if (tr && tr.value) {
|
|
97
|
+
return tr.value;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return '';
|
|
101
|
+
}
|
|
102
|
+
static findTranslationInfo(translationName, translations, langIso) {
|
|
103
|
+
if (translations) {
|
|
104
|
+
var tr = translations.find((t) => t.name == translationName);
|
|
105
|
+
if (tr) {
|
|
106
|
+
return this.findTranslation(tr.values, langIso);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
;
|
|
110
|
+
return '';
|
|
111
|
+
}
|
|
112
|
+
static findLanguageIsoById(languages, languageId) {
|
|
113
|
+
const match = languages.find((a) => a.id == languageId);
|
|
114
|
+
if (match) {
|
|
115
|
+
return match.iso;
|
|
116
|
+
}
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
static findLanguageIdByIso(languages, iso) {
|
|
120
|
+
const match = languages.find((a) => a.iso == iso);
|
|
121
|
+
if (match) {
|
|
122
|
+
return match.id;
|
|
123
|
+
}
|
|
124
|
+
return 0;
|
|
125
|
+
}
|
|
126
|
+
static findValueTranslation(translations, languageId) {
|
|
127
|
+
if (translations) {
|
|
128
|
+
var tr = translations.find((t) => t.languageId == languageId);
|
|
129
|
+
if (tr) {
|
|
130
|
+
return tr.value;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
static findErrorTranslationValueOrDefault(errorsTranslations, langIso, errorCode) {
|
|
136
|
+
if (errorsTranslations) {
|
|
137
|
+
const found = errorsTranslations.find((e) => e.code === errorCode);
|
|
138
|
+
if (found) {
|
|
139
|
+
return found.translations.find((t) => t.languageIso === langIso)?.value ?? 'N/A';
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return 'N/A';
|
|
143
|
+
}
|
|
144
|
+
static findErrorTranslationLabel(errorsTranslations, langIso, errorCode) {
|
|
145
|
+
if (errorsTranslations) {
|
|
146
|
+
const found = errorsTranslations.find((e) => e.code === errorCode);
|
|
147
|
+
if (found) {
|
|
148
|
+
return found.translations.find((t) => t.languageIso === langIso);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return undefined;
|
|
152
|
+
}
|
|
153
|
+
static createErrorTranslationMssageWithParameters(errorsTranslations, langIso, errorCode, params) {
|
|
154
|
+
const translation = Utils.findErrorTranslationLabel(errorsTranslations, langIso, errorCode);
|
|
155
|
+
let errorMessage = 'An error has occured';
|
|
156
|
+
if (translation && translation.value) {
|
|
157
|
+
errorMessage = translation.value;
|
|
158
|
+
if (params) {
|
|
159
|
+
for (let i = 0; i < params.length; i++) {
|
|
160
|
+
errorMessage = errorMessage.replace('{' + i + '}', params[i]);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else
|
|
165
|
+
errorMessage = '';
|
|
166
|
+
return errorMessage;
|
|
167
|
+
}
|
|
168
|
+
static objectsAreEqual(obj1, obj2) {
|
|
169
|
+
if (obj1 && obj2) {
|
|
170
|
+
const string = JSON.stringify(this.removeUndefinedAndSortProperties(obj1));
|
|
171
|
+
const string2 = JSON.stringify(this.removeUndefinedAndSortProperties(obj2));
|
|
172
|
+
let hash = Md5.hashStr(string);
|
|
173
|
+
let hash2 = Md5.hashStr(string2);
|
|
174
|
+
return hash === hash2;
|
|
175
|
+
}
|
|
176
|
+
if (obj1 && !obj2) {
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
if (!obj1 && obj2) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
static removeUndefinedAndSortProperties(obj) {
|
|
185
|
+
if (typeof obj != 'object' || obj === null || obj === undefined) {
|
|
186
|
+
return obj;
|
|
187
|
+
}
|
|
188
|
+
if (obj instanceof Array) {
|
|
189
|
+
for (var i = 0; i < obj.length; i++) {
|
|
190
|
+
obj[i] = Utils.removeUndefinedAndSortProperties(obj[i]);
|
|
191
|
+
}
|
|
192
|
+
return obj;
|
|
193
|
+
}
|
|
194
|
+
var keys = Object.keys(obj);
|
|
195
|
+
keys.sort();
|
|
196
|
+
let newObject = {};
|
|
197
|
+
for (var i = 0; i < keys.length; i++) {
|
|
198
|
+
var val = obj[keys[i]];
|
|
199
|
+
if (val) {
|
|
200
|
+
newObject[keys[i]] = Utils.removeUndefinedAndSortProperties(val);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return newObject;
|
|
204
|
+
}
|
|
205
|
+
static getFileExtension(fileName) {
|
|
206
|
+
if (fileName) {
|
|
207
|
+
const splitted = fileName.split('.');
|
|
208
|
+
if (splitted.length > 1) {
|
|
209
|
+
return splitted.pop();
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
static getFieldsFromState(state, selectedMethodId, returnOwnFields) {
|
|
215
|
+
if (returnOwnFields) {
|
|
216
|
+
let apiMethod = [
|
|
217
|
+
...(state.api?.getItems ?? []),
|
|
218
|
+
...(state.api?.sendItems ?? []),
|
|
219
|
+
].find((m) => m.id === selectedMethodId);
|
|
220
|
+
return apiMethod?.fields ?? [];
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
if (!state) {
|
|
224
|
+
return [];
|
|
225
|
+
}
|
|
226
|
+
let ext = new FormModelExtenxions(state);
|
|
227
|
+
let fluxFields = ext.fluxItemsWithGetApiMethods(selectedMethodId);
|
|
228
|
+
return fluxFields;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
static base64toBlob(b64Data, contentType = '', sliceSize = 512) {
|
|
232
|
+
const byteCharacters = atob(b64Data);
|
|
233
|
+
const byteArrays = [];
|
|
234
|
+
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
|
|
235
|
+
const slice = byteCharacters.slice(offset, offset + sliceSize);
|
|
236
|
+
const byteNumbers = new Array(slice.length);
|
|
237
|
+
for (let i = 0; i < slice.length; i++) {
|
|
238
|
+
byteNumbers[i] = slice.charCodeAt(i);
|
|
239
|
+
}
|
|
240
|
+
const byteArray = new Uint8Array(byteNumbers);
|
|
241
|
+
byteArrays.push(byteArray);
|
|
242
|
+
}
|
|
243
|
+
const blob = new Blob(byteArrays, { type: contentType });
|
|
244
|
+
return blob;
|
|
245
|
+
}
|
|
246
|
+
static copyToClipboard(text) {
|
|
247
|
+
if (navigator.clipboard && navigator.clipboard.writeText) {
|
|
248
|
+
return navigator.clipboard.writeText(text);
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
// Fallback for unsupported browsers
|
|
252
|
+
return new Promise((resolve, reject) => {
|
|
253
|
+
const textarea = document.createElement('textarea');
|
|
254
|
+
textarea.value = text;
|
|
255
|
+
textarea.style.position = 'fixed';
|
|
256
|
+
document.body.appendChild(textarea);
|
|
257
|
+
textarea.focus();
|
|
258
|
+
textarea.select();
|
|
259
|
+
try {
|
|
260
|
+
document.execCommand('copy');
|
|
261
|
+
document.body.removeChild(textarea);
|
|
262
|
+
resolve();
|
|
263
|
+
}
|
|
264
|
+
catch (err) {
|
|
265
|
+
document.body.removeChild(textarea);
|
|
266
|
+
reject(err);
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcmlnaW4tZm9ybS9zcmMvbGliL290aGVycy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBR0wsbUJBQW1CLEdBQ3BCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQVc3QixNQUFNLE9BQU8sS0FBSzthQUNULFdBQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFFcEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFZO1FBQzFCLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBUyxFQUFFLEtBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sR0FBRyxHQUFHO1lBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDaEIsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBeUIsRUFBRSxFQUFFLENBQ3pDLE1BQU07aUJBQ0gsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztpQkFDNUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUNiO1NBQ0YsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVc7UUFDekIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRWxDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEMsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDeEMsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDM0IsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QyxDQUFDO1lBQ0gsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQVk7UUFDOUIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQztnQkFDckIsU0FBUztZQUNYLENBQUM7WUFDRCxJQUFJLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckIsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNmLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksSUFBSSxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFXLEVBQUUsRUFBVTtRQUNqQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQ1gsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDbkIsT0FBTyxLQUFLLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQUUsRUFBRSxLQUFLLENBQUM7UUFDakQsT0FBTyxHQUFHLEdBQUcsS0FBSyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUFFLEVBQUUsR0FBRyxDQUFDO1FBQ2pELE9BQU8sS0FBSyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUN6RSxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFVLEVBQUUsSUFBWTtRQUN0QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckUsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWTtRQUNqQixPQUFPLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQWMsRUFBRSxPQUFZO1FBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVU7UUFDM0IsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBVyxFQUFFLEdBQWE7UUFDNUMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNoRCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsR0FBVztRQUN4QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQy9CLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FDcEIsWUFBeUIsRUFDekIsT0FBZTtRQUVmLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsQ0FBQztZQUM1RCxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUIsQ0FDeEIsZUFBdUIsRUFDdkIsWUFBK0IsRUFDL0IsT0FBZTtRQUVmLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxlQUFlLENBQUMsQ0FBQztZQUM3RCxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNQLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO1FBQUEsQ0FBQztRQUNGLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUIsQ0FDeEIsU0FBcUIsRUFDckIsVUFBa0I7UUFFbEIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxVQUFVLENBQUMsQ0FBQztRQUN4RCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLElBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQXFCLEVBQUUsR0FBVztRQUMzRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsWUFBOEIsRUFDOUIsVUFBa0I7UUFFbEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLEVBQUUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxDQUFDO1lBQzlELElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ1AsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQ0FBa0MsQ0FDdkMsa0JBQXVDLEVBQ3ZDLE9BQWUsRUFDZixTQUFpQjtRQUVqQixJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQ25FLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxPQUFPLENBQUMsRUFBRSxLQUFLLElBQUksS0FBSyxDQUFDO1lBQ25GLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLHlCQUF5QixDQUM5QixrQkFBdUMsRUFDdkMsT0FBZSxFQUNmLFNBQWlCO1FBRWpCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7WUFDbkUsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLE9BQU8sQ0FBQyxDQUFDO1lBQ25FLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sQ0FBQywwQ0FBMEMsQ0FDL0Msa0JBQXVDLEVBQ3ZDLE9BQWUsRUFDZixTQUFpQixFQUNqQixNQUFnQjtRQUVoQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMseUJBQXlCLENBQ2pELGtCQUFrQixFQUNsQixPQUFPLEVBQ1AsU0FBUyxDQUNWLENBQUM7UUFDRixJQUFJLFlBQVksR0FBRyxzQkFBc0IsQ0FBQztRQUMxQyxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUN2QyxZQUFZLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDOztZQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7UUFFekIsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBUyxFQUFFLElBQVM7UUFDekMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDM0IsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUM1QyxDQUFDO1lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDNUIsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUM1QyxDQUFDO1lBQ0YsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxLQUFLLEtBQUssQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2xCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxHQUFRO1FBQzlDLElBQUksT0FBTyxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hFLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztRQUNELElBQUksR0FBRyxZQUFZLEtBQUssRUFBRSxDQUFDO1lBQ3pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3BDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUQsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztRQUVELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxTQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckMsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1IsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRSxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBZ0I7UUFDdEMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQ3ZCLEtBQWdCLEVBQ2hCLGdCQUF3QixFQUN4QixlQUF5QjtRQUV6QixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksU0FBUyxHQUFHO2dCQUNkLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQzlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUM7YUFDaEMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztZQUN6QyxPQUFPLFNBQVMsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUNELElBQUksR0FBRyxHQUFHLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsSUFBSSxVQUFVLEdBQUcsR0FBRyxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFbEUsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQWUsRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLFNBQVMsR0FBRyxHQUFHO1FBQ3BFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFdEIsS0FBSyxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3pFLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztZQUUvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUVELE1BQU0sU0FBUyxHQUFHLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBWTtRQUNqQyxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN6RCxPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ04sb0NBQW9DO1lBQ3BDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3BELFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7Z0JBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2pCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDO29CQUNILFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzdCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDO2dCQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7b0JBQ2IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3BDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDZCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHtcbiAgRXJyb3JUcmFuc2xhdGlvbnMsXG4gIEZvcm1Nb2RlbCxcbiAgRm9ybU1vZGVsRXh0ZW54aW9ucyxcbn0gZnJvbSAnLi4vbW9kZWxzL2Zvcm1zLm1vZGVsJztcbmltcG9ydCB7IExhYmVsSW5mbywgVHJhbnNsYXRpb25JbmZvIH0gZnJvbSAnLi4vbW9kZWxzL2xhYmVsLWluZm8ubW9kZWwnO1xuaW1wb3J0IHsgTWQ1IH0gZnJvbSAndHMtbWQ1JztcbmltcG9ydCB7IFRyYW5zbGF0aW9uRHRvIH0gZnJvbSAnLi4vbW9kZWxzL2RpY3Rpb25hcnkubW9kZWwnO1xuaW1wb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tICcuLi9tb2RlbHMvbGFuZ3VhZ2UubW9kZWwnO1xuXG5leHBvcnQgdHlwZSBDc3NSdWxlcyA9IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIFtwcm9wZXJ0eTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xufTtcblxuXG5leHBvcnQgY2xhc3MgVXRpbHMge1xuICBzdGF0aWMgYmlnSW50OiBudW1iZXIgPSBOdW1iZXIoQmlnSW50KCc5MDA3MTk5MjUnKSk7XG5cbiAgc3RhdGljIGpzb24yY3N2KGl0ZW1zOiBhbnlbXSk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVwbGFjZXIgPSAoX2tleTogYW55LCB2YWx1ZTogbnVsbCkgPT4gKHZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZSk7XG4gICAgbGV0IGhlYWRlciA9IE9iamVjdC5rZXlzKGl0ZW1zWzBdKTtcbiAgICBoZWFkZXIgPSBoZWFkZXIuZmlsdGVyKChoKSA9PiBoICE9PSAnbG9ja2VkJyAmJiBoICE9ICdhY3RpdmUnKTtcbiAgICBjb25zdCBjc3YgPSBbXG4gICAgICBoZWFkZXIuam9pbignLCcpLFxuICAgICAgLi4uaXRlbXMubWFwKChyb3c6IHsgW3g6IHN0cmluZ106IGFueSB9KSA9PlxuICAgICAgICBoZWFkZXJcbiAgICAgICAgICAubWFwKChmaWVsZE5hbWUpID0+IEpTT04uc3RyaW5naWZ5KHJvd1tmaWVsZE5hbWVdLCByZXBsYWNlcikpXG4gICAgICAgICAgLmpvaW4oJywnKVxuICAgICAgKSxcbiAgICBdLmpvaW4oJ1xcclxcbicpO1xuICAgIHJldHVybiBjc3Y7XG4gIH1cblxuICBzdGF0aWMgY3N2Mmpzb24oY3N2OiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5lcyA9IGNzdi5zcGxpdCgvXFxyP1xcbi8pLmZpbHRlcigobGluZSkgPT4gbGluZS50cmltKCkgIT09ICcnKTtcbiAgICBpZiAobGluZXMubGVuZ3RoID09PSAwKSByZXR1cm4gW107XG5cbiAgICBjb25zdCBoZWFkZXJzID0gVXRpbHMucGFyc2VDc3ZMaW5lKGxpbmVzWzBdKTtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgICBjb25zdCBjdXJyZW50bGluZSA9IFV0aWxzLnBhcnNlQ3N2TGluZShsaW5lc1tpXSk7XG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGhlYWRlcnMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgY29uc3QgbGluZVRleHQgPSBjdXJyZW50bGluZVtqXTtcbiAgICAgICAgaWYgKGxpbmVUZXh0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBvYmpbaGVhZGVyc1tqXV0gPSBVdGlscy50cmltKGxpbmVUZXh0LCAnXCInKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmVzdWx0LnB1c2gob2JqKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3RhdGljIHBhcnNlQ3N2TGluZShsaW5lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBjdXJyZW50ID0gJyc7XG4gICAgbGV0IGluUXVvdGVzID0gZmFsc2U7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmUubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNoYXIgPSBsaW5lW2ldO1xuICAgICAgaWYgKGNoYXIgPT09ICdcIicgJiYgKGkgPT09IDAgfHwgbGluZVtpIC0gMV0gIT09ICdcXFxcJykpIHtcbiAgICAgICAgaW5RdW90ZXMgPSAhaW5RdW90ZXM7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKGNoYXIgPT09ICcsJyAmJiAhaW5RdW90ZXMpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goY3VycmVudCk7XG4gICAgICAgIGN1cnJlbnQgPSAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnJlbnQgKz0gY2hhcjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmVzdWx0LnB1c2goY3VycmVudCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyB0cmltKHN0cjogc3RyaW5nLCBjaDogc3RyaW5nKSB7XG4gICAgdmFyIHN0YXJ0ID0gMCxcbiAgICAgIGVuZCA9IHN0ci5sZW5ndGg7XG4gICAgd2hpbGUgKHN0YXJ0IDwgZW5kICYmIHN0cltzdGFydF0gPT09IGNoKSArK3N0YXJ0O1xuICAgIHdoaWxlIChlbmQgPiBzdGFydCAmJiBzdHJbZW5kIC0gMV0gPT09IGNoKSAtLWVuZDtcbiAgICByZXR1cm4gc3RhcnQgPiAwIHx8IGVuZCA8IHN0ci5sZW5ndGggPyBzdHIuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpIDogc3RyO1xuICB9XG5cbiAgc3RhdGljIGRvd25sb2FkKGJsb2I6IEJsb2IsIG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGFuY2hvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBhbmNob3IuZG93bmxvYWQgPSBuYW1lO1xuICAgIGFuY2hvci5ocmVmID0gKHdpbmRvdy53ZWJraXRVUkwgfHwgd2luZG93LlVSTCkuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIGFuY2hvci5jbGljaygpO1xuICB9XG5cbiAgc3RhdGljIGdlbmVyYXRlVVVJRCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB1dWlkdjQoKTtcbiAgfVxuXG4gIHN0YXRpYyBjb3B5UHJvcGVydGllcyhzb3VyY2VPYmo6IGFueSwgZGVzdE9iajogYW55KSB7XG4gICAgT2JqZWN0LmtleXMoc291cmNlT2JqKS5mb3JFYWNoKChrZXkpID0+IChkZXN0T2JqW2tleV0gPSBzb3VyY2VPYmpba2V5XSkpO1xuICB9XG5cbiAgc3RhdGljIGNvcnJlY3REYXRlKGRhdGU6IERhdGUpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCk7XG4gIH1cblxuICBzdGF0aWMgZm9ybWF0U3RyaW5nKHN0cjogc3RyaW5nLCB2YWw6IHN0cmluZ1tdKSB7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHZhbC5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKGB7JHtpbmRleH19YCwgdmFsW2luZGV4XSk7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBzdGF0aWMgcmVtb3ZlTmV3TGluZXNBbmRTcGFjZXMoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhcXHJcXG58XFxufFxccikvZ20sICcnKS5yZXBsYWNlKC9cXHMvZywgJycpO1xuICB9XG5cbiAgc3RhdGljIHJlbW92ZU5ld0xpbmVzKHN0cjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oXFxyXFxufFxcbnxcXHIpL2dtLCAnJyk7XG4gIH1cblxuICBzdGF0aWMgZmluZFRyYW5zbGF0aW9uKFxuICAgIHRyYW5zbGF0aW9uczogTGFiZWxJbmZvW10sXG4gICAgbGFuZ0lzbzogc3RyaW5nXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRyYW5zbGF0aW9ucykge1xuICAgICAgdmFyIHRyID0gdHJhbnNsYXRpb25zLmZpbmQoKHQpID0+IHQubGFuZ3VhZ2VJc28gPT0gbGFuZ0lzbyk7XG4gICAgICBpZiAodHIgJiYgdHIudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHRyLnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBzdGF0aWMgZmluZFRyYW5zbGF0aW9uSW5mbyhcbiAgICB0cmFuc2xhdGlvbk5hbWU6IHN0cmluZyxcbiAgICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uSW5mb1tdLFxuICAgIGxhbmdJc286IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQgeyAgICBcbiAgICBpZiAodHJhbnNsYXRpb25zKSB7XG4gICAgICB2YXIgdHIgPSB0cmFuc2xhdGlvbnMuZmluZCgodCkgPT4gdC5uYW1lID09IHRyYW5zbGF0aW9uTmFtZSk7XG4gICAgICBpZiAodHIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFRyYW5zbGF0aW9uKHRyLnZhbHVlcywgbGFuZ0lzbyk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBzdGF0aWMgZmluZExhbmd1YWdlSXNvQnlJZChcbiAgICBsYW5ndWFnZXM6IExhbmd1YWdlW10sXG4gICAgbGFuZ3VhZ2VJZDogbnVtYmVyXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgbWF0Y2ggPSBsYW5ndWFnZXMuZmluZCgoYSkgPT4gYS5pZCA9PSBsYW5ndWFnZUlkKTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIHJldHVybiBtYXRjaC5pc287XG4gICAgfVxuICAgIHJldHVybiBudWxsIGFzIGFueTtcbiAgfVxuXG4gIHN0YXRpYyBmaW5kTGFuZ3VhZ2VJZEJ5SXNvKGxhbmd1YWdlczogTGFuZ3VhZ2VbXSwgaXNvOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hdGNoID0gbGFuZ3VhZ2VzLmZpbmQoKGEpID0+IGEuaXNvID09IGlzbyk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICByZXR1cm4gbWF0Y2guaWQ7XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgc3RhdGljIGZpbmRWYWx1ZVRyYW5zbGF0aW9uKFxuICAgIHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25EdG9bXSxcbiAgICBsYW5ndWFnZUlkOiBudW1iZXJcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodHJhbnNsYXRpb25zKSB7XG4gICAgICB2YXIgdHIgPSB0cmFuc2xhdGlvbnMuZmluZCgodCkgPT4gdC5sYW5ndWFnZUlkID09IGxhbmd1YWdlSWQpO1xuICAgICAgaWYgKHRyKSB7XG4gICAgICAgIHJldHVybiB0ci52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyBmaW5kRXJyb3JUcmFuc2xhdGlvblZhbHVlT3JEZWZhdWx0KFxuICAgIGVycm9yc1RyYW5zbGF0aW9uczogRXJyb3JUcmFuc2xhdGlvbnNbXSxcbiAgICBsYW5nSXNvOiBzdHJpbmcsXG4gICAgZXJyb3JDb2RlOiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoZXJyb3JzVHJhbnNsYXRpb25zKSB7XG4gICAgICBjb25zdCBmb3VuZCA9IGVycm9yc1RyYW5zbGF0aW9ucy5maW5kKChlKSA9PiBlLmNvZGUgPT09IGVycm9yQ29kZSk7XG4gICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgcmV0dXJuIGZvdW5kLnRyYW5zbGF0aW9ucy5maW5kKCh0KSA9PiB0Lmxhbmd1YWdlSXNvID09PSBsYW5nSXNvKT8udmFsdWUgPz8gJ04vQSc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAnTi9BJztcbiAgfVxuXG4gIHN0YXRpYyBmaW5kRXJyb3JUcmFuc2xhdGlvbkxhYmVsKFxuICAgIGVycm9yc1RyYW5zbGF0aW9uczogRXJyb3JUcmFuc2xhdGlvbnNbXSxcbiAgICBsYW5nSXNvOiBzdHJpbmcsXG4gICAgZXJyb3JDb2RlOiBzdHJpbmdcbiAgKTogTGFiZWxJbmZvIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZXJyb3JzVHJhbnNsYXRpb25zKSB7XG4gICAgICBjb25zdCBmb3VuZCA9IGVycm9yc1RyYW5zbGF0aW9ucy5maW5kKChlKSA9PiBlLmNvZGUgPT09IGVycm9yQ29kZSk7XG4gICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgcmV0dXJuIGZvdW5kLnRyYW5zbGF0aW9ucy5maW5kKCh0KSA9PiB0Lmxhbmd1YWdlSXNvID09PSBsYW5nSXNvKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVFcnJvclRyYW5zbGF0aW9uTXNzYWdlV2l0aFBhcmFtZXRlcnMoXG4gICAgZXJyb3JzVHJhbnNsYXRpb25zOiBFcnJvclRyYW5zbGF0aW9uc1tdLFxuICAgIGxhbmdJc286IHN0cmluZyxcbiAgICBlcnJvckNvZGU6IHN0cmluZyxcbiAgICBwYXJhbXM6IHN0cmluZ1tdXG4gICkge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gVXRpbHMuZmluZEVycm9yVHJhbnNsYXRpb25MYWJlbChcbiAgICAgIGVycm9yc1RyYW5zbGF0aW9ucyxcbiAgICAgIGxhbmdJc28sXG4gICAgICBlcnJvckNvZGVcbiAgICApO1xuICAgIGxldCBlcnJvck1lc3NhZ2UgPSAnQW4gZXJyb3IgaGFzIG9jY3VyZWQnO1xuICAgIGlmICh0cmFuc2xhdGlvbiAmJiB0cmFuc2xhdGlvbi52YWx1ZSkge1xuICAgICAgZXJyb3JNZXNzYWdlID0gdHJhbnNsYXRpb24udmFsdWU7XG4gICAgICBpZiAocGFyYW1zKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlLnJlcGxhY2UoJ3snICsgaSArICd9JywgcGFyYW1zW2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBlcnJvck1lc3NhZ2UgPSAnJztcblxuICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XG4gIH1cblxuICBzdGF0aWMgb2JqZWN0c0FyZUVxdWFsKG9iajE6IGFueSwgb2JqMjogYW55KSB7XG4gICAgaWYgKG9iajEgJiYgb2JqMikge1xuICAgICAgY29uc3Qgc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHRoaXMucmVtb3ZlVW5kZWZpbmVkQW5kU29ydFByb3BlcnRpZXMob2JqMSlcbiAgICAgICk7XG4gICAgICBjb25zdCBzdHJpbmcyID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHRoaXMucmVtb3ZlVW5kZWZpbmVkQW5kU29ydFByb3BlcnRpZXMob2JqMilcbiAgICAgICk7XG4gICAgICBsZXQgaGFzaCA9IE1kNS5oYXNoU3RyKHN0cmluZyk7XG4gICAgICBsZXQgaGFzaDIgPSBNZDUuaGFzaFN0cihzdHJpbmcyKTtcbiAgICAgIHJldHVybiBoYXNoID09PSBoYXNoMjtcbiAgICB9XG4gICAgaWYgKG9iajEgJiYgIW9iajIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFvYmoxICYmIG9iajIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBzdGF0aWMgcmVtb3ZlVW5kZWZpbmVkQW5kU29ydFByb3BlcnRpZXMob2JqOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIG9iaiAhPSAnb2JqZWN0JyB8fCBvYmogPT09IG51bGwgfHwgb2JqID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGlmIChvYmogaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYmoubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgb2JqW2ldID0gVXRpbHMucmVtb3ZlVW5kZWZpbmVkQW5kU29ydFByb3BlcnRpZXMob2JqW2ldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmopO1xuICAgIGtleXMuc29ydCgpO1xuICAgIGxldCBuZXdPYmplY3Q6IGFueSA9IHt9O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHZhbCA9IG9ialtrZXlzW2ldXTtcbiAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgbmV3T2JqZWN0W2tleXNbaV1dID0gVXRpbHMucmVtb3ZlVW5kZWZpbmVkQW5kU29ydFByb3BlcnRpZXModmFsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ld09iamVjdDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChmaWxlTmFtZSkge1xuICAgICAgY29uc3Qgc3BsaXR0ZWQgPSBmaWxlTmFtZS5zcGxpdCgnLicpO1xuICAgICAgaWYgKHNwbGl0dGVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgcmV0dXJuIHNwbGl0dGVkLnBvcCgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIGdldEZpZWxkc0Zyb21TdGF0ZShcbiAgICBzdGF0ZTogRm9ybU1vZGVsLFxuICAgIHNlbGVjdGVkTWV0aG9kSWQ6IHN0cmluZyxcbiAgICByZXR1cm5Pd25GaWVsZHM/OiBib29sZWFuXG4gICkge1xuICAgIGlmIChyZXR1cm5Pd25GaWVsZHMpIHtcbiAgICAgIGxldCBhcGlNZXRob2QgPSBbXG4gICAgICAgIC4uLihzdGF0ZS5hcGk/LmdldEl0ZW1zID8/IFtdKSxcbiAgICAgICAgLi4uKHN0YXRlLmFwaT8uc2VuZEl0ZW1zID8/IFtdKSxcbiAgICAgIF0uZmluZCgobSkgPT4gbS5pZCA9PT0gc2VsZWN0ZWRNZXRob2RJZCk7XG4gICAgICByZXR1cm4gYXBpTWV0aG9kPy5maWVsZHMgPz8gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghc3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgbGV0IGV4dCA9IG5ldyBGb3JtTW9kZWxFeHRlbnhpb25zKHN0YXRlKTtcbiAgICAgIGxldCBmbHV4RmllbGRzID0gZXh0LmZsdXhJdGVtc1dpdGhHZXRBcGlNZXRob2RzKHNlbGVjdGVkTWV0aG9kSWQpO1xuXG4gICAgICByZXR1cm4gZmx1eEZpZWxkcztcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgYmFzZTY0dG9CbG9iKGI2NERhdGE6IHN0cmluZywgY29udGVudFR5cGUgPSAnJywgc2xpY2VTaXplID0gNTEyKSB7XG4gICAgY29uc3QgYnl0ZUNoYXJhY3RlcnMgPSBhdG9iKGI2NERhdGEpO1xuICAgIGNvbnN0IGJ5dGVBcnJheXMgPSBbXTtcblxuICAgIGZvciAobGV0IG9mZnNldCA9IDA7IG9mZnNldCA8IGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aDsgb2Zmc2V0ICs9IHNsaWNlU2l6ZSkge1xuICAgICAgY29uc3Qgc2xpY2UgPSBieXRlQ2hhcmFjdGVycy5zbGljZShvZmZzZXQsIG9mZnNldCArIHNsaWNlU2l6ZSk7XG5cbiAgICAgIGNvbnN0IGJ5dGVOdW1iZXJzID0gbmV3IEFycmF5KHNsaWNlLmxlbmd0aCk7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNsaWNlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGJ5dGVOdW1iZXJzW2ldID0gc2xpY2UuY2hhckNvZGVBdChpKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYnl0ZUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZU51bWJlcnMpO1xuICAgICAgYnl0ZUFycmF5cy5wdXNoKGJ5dGVBcnJheSk7XG4gICAgfVxuXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKGJ5dGVBcnJheXMsIHsgdHlwZTogY29udGVudFR5cGUgfSk7XG4gICAgcmV0dXJuIGJsb2I7XG4gIH1cblxuICBzdGF0aWMgY29weVRvQ2xpcGJvYXJkKHRleHQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChuYXZpZ2F0b3IuY2xpcGJvYXJkICYmIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KSB7XG4gICAgICByZXR1cm4gbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZhbGxiYWNrIGZvciB1bnN1cHBvcnRlZCBicm93c2Vyc1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgICAgICB0ZXh0YXJlYS52YWx1ZSA9IHRleHQ7XG4gICAgICAgIHRleHRhcmVhLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7XG4gICAgICAgIHRleHRhcmVhLmZvY3VzKCk7XG4gICAgICAgIHRleHRhcmVhLnNlbGVjdCgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0YXJlYSk7XG4gICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRhcmVhKTtcbiAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { catchError, firstValueFrom, map, of } from 'rxjs';
|
|
3
|
+
import { ConfigService } from '../others/config-service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./auth-http.service";
|
|
6
|
+
export class ApplicationDataService {
|
|
7
|
+
constructor(http) {
|
|
8
|
+
this.http = http;
|
|
9
|
+
this.configService = inject(ConfigService);
|
|
10
|
+
}
|
|
11
|
+
uploadDocuments(uploadDocumentsDto) {
|
|
12
|
+
const createUrl = this.configService.readConfig().baseUrlBusiness +
|
|
13
|
+
'/appdata/uploadDocuments';
|
|
14
|
+
return this.http.post(createUrl, uploadDocumentsDto);
|
|
15
|
+
}
|
|
16
|
+
generateDocuments(generateDocumentsCommand) {
|
|
17
|
+
const url = this.configService.readConfig().baseUrlBusiness +
|
|
18
|
+
'/appdata/GenerateDocuments';
|
|
19
|
+
return this.http.post(url, generateDocumentsCommand);
|
|
20
|
+
}
|
|
21
|
+
getGenerateDocuments(getCommand) {
|
|
22
|
+
const url = this.configService.readConfig().baseUrlBusiness +
|
|
23
|
+
'/appdata/GetGeneratedDocuments';
|
|
24
|
+
return this.http.post(url, getCommand);
|
|
25
|
+
}
|
|
26
|
+
downloadFile(appDataId, docId, fileName) {
|
|
27
|
+
const url = this.configService.readConfig().baseUrlBusiness +
|
|
28
|
+
`/FileServer/download?appDataId=${appDataId}&docId=${docId}&fileName=${fileName}`;
|
|
29
|
+
return this.http.getExtended(url, { responseType: 'blob' });
|
|
30
|
+
}
|
|
31
|
+
scanId(scanIdCommand) {
|
|
32
|
+
const url = this.configService.readConfig().baseUrlBusiness + '/appdata/ScanId';
|
|
33
|
+
return this.http.post(url, scanIdCommand);
|
|
34
|
+
}
|
|
35
|
+
async getSteps(appDataId) {
|
|
36
|
+
const getUrl = this.configService.readConfig().baseUrlBusiness +
|
|
37
|
+
`/appdata/GetById/${appDataId}`;
|
|
38
|
+
var promise = this.http.get(getUrl).pipe(map((appData) => appData));
|
|
39
|
+
return await firstValueFrom(promise);
|
|
40
|
+
}
|
|
41
|
+
saveApp(appData) {
|
|
42
|
+
const saveUrl = this.configService.readConfig().baseUrlBusiness + '/appdata/SaveAppData';
|
|
43
|
+
const payload = {
|
|
44
|
+
...appData,
|
|
45
|
+
fillData: appData.fillData ? JSON.stringify(appData.fillData) : undefined,
|
|
46
|
+
};
|
|
47
|
+
return this.http.post(saveUrl, payload);
|
|
48
|
+
}
|
|
49
|
+
saveStep(appDataId, currentStep, selectedOfferId = undefined) {
|
|
50
|
+
const saveUrl = this.configService.readConfig().baseUrlBusiness +
|
|
51
|
+
'/appdata/SaveAppDataStep';
|
|
52
|
+
const payload = {
|
|
53
|
+
appDataId: appDataId,
|
|
54
|
+
stepData: JSON.stringify(currentStep),
|
|
55
|
+
withNextStep: true,
|
|
56
|
+
selectedOfferId: selectedOfferId,
|
|
57
|
+
};
|
|
58
|
+
return this.http.post(saveUrl, payload);
|
|
59
|
+
}
|
|
60
|
+
getPreviousStep(appDataId) {
|
|
61
|
+
const getUrl = this.configService.readConfig().baseUrlBusiness +
|
|
62
|
+
'/appdata/setPreviousStep?appId=' +
|
|
63
|
+
appDataId;
|
|
64
|
+
return this.http.get(getUrl);
|
|
65
|
+
}
|
|
66
|
+
validateApi(apiValidateRequest) {
|
|
67
|
+
const url = this.configService.readConfig().baseUrlBusiness + '/ApiRequest/dorequest';
|
|
68
|
+
return this.http.post(url, apiValidateRequest);
|
|
69
|
+
}
|
|
70
|
+
doDocumentRequest(apiValidateRequest) {
|
|
71
|
+
const url = this.configService.readConfig().baseUrlBusiness +
|
|
72
|
+
'/ApiRequest/doDocumentRequest';
|
|
73
|
+
return this.http.post(url, apiValidateRequest);
|
|
74
|
+
}
|
|
75
|
+
convertDocumentToPdf(request) {
|
|
76
|
+
const url = this.configService.readConfig().baseUrlBusiness + '/appdata/convertToPdf';
|
|
77
|
+
return this.http.post(url, request);
|
|
78
|
+
}
|
|
79
|
+
makeActionApiCall(actionRequest) {
|
|
80
|
+
console.log('actionRequest from makeActionApiCall', actionRequest);
|
|
81
|
+
const url = this.configService.readConfig().baseUrlBusiness + '/MakeAction/doaction';
|
|
82
|
+
return this.http.post(url, actionRequest);
|
|
83
|
+
}
|
|
84
|
+
makeProcessApiCall(appDataID) {
|
|
85
|
+
const url = this.configService.readConfig().baseUrlInfrastructure + '/Process';
|
|
86
|
+
return this.http.post(url, { appId: appDataID }).pipe(map((response) => {
|
|
87
|
+
console.log('response from makeProcessApiCall', response), response;
|
|
88
|
+
}), catchError((error) => of({ ...error, body: false })));
|
|
89
|
+
}
|
|
90
|
+
getProcessStatus(appDataID) {
|
|
91
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
92
|
+
'/Process/get-status?appId=' +
|
|
93
|
+
appDataID;
|
|
94
|
+
return this.http.get(url);
|
|
95
|
+
}
|
|
96
|
+
getOffers(appDataId) {
|
|
97
|
+
const url = this.configService.readConfig().baseUrlBusiness +
|
|
98
|
+
`/appdata/getOffers/${appDataId}`;
|
|
99
|
+
return this.http.get(url);
|
|
100
|
+
}
|
|
101
|
+
makeStatusApiCall(appDataId, stepId, setNextStep = false) {
|
|
102
|
+
const url = this.configService.readConfig().baseUrlBusiness +
|
|
103
|
+
'/appdata/doStatusAction';
|
|
104
|
+
return this.http.post(url, {
|
|
105
|
+
appDataId: appDataId,
|
|
106
|
+
stepId: stepId,
|
|
107
|
+
setNextStep: setNextStep,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
async setCurrentStep(appDataId, stepId) {
|
|
111
|
+
const url = this.configService.readConfig().baseUrlBusiness +
|
|
112
|
+
`/appdata/setCurrentStep?appId=${appDataId}&stepId=${stepId}`;
|
|
113
|
+
const response = await firstValueFrom(this.http.getExtended(url, { responseType: 'text' }));
|
|
114
|
+
return response;
|
|
115
|
+
}
|
|
116
|
+
enrolCard(enrolCardCommand) {
|
|
117
|
+
const url = this.configService.readConfig().baseUrlBusiness + '/appdata/EnrolCard';
|
|
118
|
+
return this.http.post(url, enrolCardCommand);
|
|
119
|
+
}
|
|
120
|
+
getEnrolmentStatus(dataUrlId) {
|
|
121
|
+
const url = this.configService.readConfig().baseUrlBusiness +
|
|
122
|
+
`/appdata/GetEnrolmentStatus/${dataUrlId}`;
|
|
123
|
+
return this.http.get(url);
|
|
124
|
+
}
|
|
125
|
+
getDataUrl(dataUrlId) {
|
|
126
|
+
const url = this.configService.readConfig().baseUrlBusiness +
|
|
127
|
+
`/DataURL/GetById/${dataUrlId}`;
|
|
128
|
+
return this.http.get(url);
|
|
129
|
+
}
|
|
130
|
+
changeLanguage(appDataUuid, languageISOCode) {
|
|
131
|
+
const url = this.configService.readConfig().baseUrlBusiness +
|
|
132
|
+
'/appdata/changeLanguage';
|
|
133
|
+
const payload = {
|
|
134
|
+
appDataId: appDataUuid,
|
|
135
|
+
languageIso: languageISOCode,
|
|
136
|
+
};
|
|
137
|
+
return this.http.post(url, payload);
|
|
138
|
+
}
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDataService, deps: [{ token: i1.AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
140
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDataService }); }
|
|
141
|
+
}
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDataService, decorators: [{
|
|
143
|
+
type: Injectable
|
|
144
|
+
}], ctorParameters: () => [{ type: i1.AuthHttpService }] });
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25EYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcmlnaW4tZm9ybS9zcmMvbGliL3NlcnZpY2VzL2FwcGxpY2F0aW9uRGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFrQnpELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBb0IsSUFBcUI7UUFBckIsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFFekMsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFGTSxDQUFDO0lBSTdDLGVBQWUsQ0FDYixrQkFBaUQ7UUFFakQsTUFBTSxTQUFTLEdBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxlQUFlO1lBQy9DLDBCQUEwQixDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sU0FBUyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUNmLHdCQUF5RDtRQUV6RCxNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWU7WUFDL0MsNEJBQTRCLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVyxHQUFHLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLFVBQStDO1FBRS9DLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFB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QVcsRUFBRSxlQUFlO1NBQzdCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDOytHQWpOVSxzQkFBc0I7bUhBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlyc3RWYWx1ZUZyb20sIG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9vdGhlcnMvY29uZmlnLXNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBBcGlEb2N1bWVudFJlcXVlc3QsXG4gIEFwaVZhbGlkYXRlUmVxdWVzdCxcbiAgQXBwbGljYXRpb25FbnJvbENhcmREdG8sXG4gIEFwcGxpY2F0aW9uR2VuZXJhdGVEb2N1bWVudHNEdG8sXG4gIEFwcGxpY2F0aW9uR2V0R2VuZXJhdGVkRG9jdW1lbnRzRHRvLFxuICBBcHBsaWNhdGlvblVwbG9hZERvY3VtZW50c0R0byxcbiAgQ29udmVydERvY3VtZW50VG9QZGZSZXF1ZXN0LFxuICBDb252ZXJ0RG9jdW1lbnRUb1BkZlJlc3BvbnNlLFxuICBHZW5lcmF0ZWREb2N1bWVudCxcbiAgTWFrZUFjdGlvblJlcXVlc3QsXG4gIFNjYW5JZER0byxcbn0gZnJvbSAnLi4vbW9kZWxzL2FwcGxpY2F0aW9uLm1vZGVsJztcbmltcG9ydCB7IEFwcERhdGEgfSBmcm9tICcuLi9tb2RlbHMvZm9ybXMubW9kZWwnO1xuaW1wb3J0IHsgQXV0aEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLWh0dHAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkRhdGFTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBBdXRoSHR0cFNlcnZpY2UpIHt9XG5cbiAgY29uZmlnU2VydmljZSA9IGluamVjdChDb25maWdTZXJ2aWNlKTtcblxuICB1cGxvYWREb2N1bWVudHMoXG4gICAgdXBsb2FkRG9jdW1lbnRzRHRvOiBBcHBsaWNhdGlvblVwbG9hZERvY3VtZW50c0R0b1xuICApOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgY3JlYXRlVXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgICcvYXBwZGF0YS91cGxvYWREb2N1bWVudHMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGNyZWF0ZVVybCwgdXBsb2FkRG9jdW1lbnRzRHRvKTtcbiAgfVxuXG4gIGdlbmVyYXRlRG9jdW1lbnRzKFxuICAgIGdlbmVyYXRlRG9jdW1lbnRzQ29tbWFuZDogQXBwbGljYXRpb25HZW5lcmF0ZURvY3VtZW50c0R0b1xuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICAnL2FwcGRhdGEvR2VuZXJhdGVEb2N1bWVudHMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxzdHJpbmdbXT4odXJsLCBnZW5lcmF0ZURvY3VtZW50c0NvbW1hbmQpO1xuICB9XG5cbiAgZ2V0R2VuZXJhdGVEb2N1bWVudHMoXG4gICAgZ2V0Q29tbWFuZDogQXBwbGljYXRpb25HZXRHZW5lcmF0ZWREb2N1bWVudHNEdG9cbiAgKTogT2JzZXJ2YWJsZTxHZW5lcmF0ZWREb2N1bWVudFtdPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgICcvYXBwZGF0YS9HZXRHZW5lcmF0ZWREb2N1bWVudHMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZW5lcmF0ZWREb2N1bWVudFtdPih1cmwsIGdldENvbW1hbmQpO1xuICB9XG5cbiAgZG93bmxvYWRGaWxlKFxuICAgIGFwcERhdGFJZDogc3RyaW5nLFxuICAgIGRvY0lkOiBzdHJpbmcsXG4gICAgZmlsZU5hbWU6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICBgL0ZpbGVTZXJ2ZXIvZG93bmxvYWQ/YXBwRGF0YUlkPSR7YXBwRGF0YUlkfSZkb2NJZD0ke2RvY0lkfSZmaWxlTmFtZT0ke2ZpbGVOYW1lfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXRFeHRlbmRlZCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSk7XG4gIH1cblxuICBzY2FuSWQoc2NhbklkQ29tbWFuZDogU2NhbklkRHRvKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgKyAnL2FwcGRhdGEvU2NhbklkJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVtYmVyPih1cmwsIHNjYW5JZENvbW1hbmQpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RlcHMoYXBwRGF0YUlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGdldFVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICBgL2FwcGRhdGEvR2V0QnlJZC8ke2FwcERhdGFJZH1gO1xuXG4gICAgdmFyIHByb21pc2UgPSB0aGlzLmh0dHAuZ2V0PGFueT4oZ2V0VXJsKS5waXBlKG1hcCgoYXBwRGF0YSkgPT4gYXBwRGF0YSkpO1xuICAgIHJldHVybiBhd2FpdCBmaXJzdFZhbHVlRnJvbShwcm9taXNlKTtcbiAgfVxuXG4gIHNhdmVBcHAoYXBwRGF0YTogQXBwRGF0YSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2F2ZVVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArICcvYXBwZGF0YS9TYXZlQXBwRGF0YSc7XG5cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgLi4uYXBwRGF0YSxcbiAgICAgIGZpbGxEYXRhOiBhcHBEYXRhLmZpbGxEYXRhID8gSlNPTi5zdHJpbmdpZnkoYXBwRGF0YS5maWxsRGF0YSkgOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHNhdmVVcmwsIHBheWxvYWQpO1xuICB9XG5cbiAgc2F2ZVN0ZXAoXG4gICAgYXBwRGF0YUlkOiBzdHJpbmcsXG4gICAgY3VycmVudFN0ZXA6IGFueSxcbiAgICBzZWxlY3RlZE9mZmVySWQ6IGFueSA9IHVuZGVmaW5lZFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNhdmVVcmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgJy9hcHBkYXRhL1NhdmVBcHBEYXRhU3RlcCc7XG5cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgYXBwRGF0YUlkOiBhcHBEYXRhSWQsXG4gICAgICBzdGVwRGF0YTogSlNPTi5zdHJpbmdpZnkoY3VycmVudFN0ZXApLFxuICAgICAgd2l0aE5leHRTdGVwOiB0cnVlLFxuICAgICAgc2VsZWN0ZWRPZmZlcklkOiBzZWxlY3RlZE9mZmVySWQsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHNhdmVVcmwsIHBheWxvYWQpO1xuICB9XG5cbiAgZ2V0UHJldmlvdXNTdGVwKGFwcERhdGFJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBnZXRVcmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgJy9hcHBkYXRhL3NldFByZXZpb3VzU3RlcD9hcHBJZD0nICtcbiAgICAgIGFwcERhdGFJZDtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oZ2V0VXJsKTtcbiAgfVxuXG4gIHZhbGlkYXRlQXBpKGFwaVZhbGlkYXRlUmVxdWVzdDogQXBpVmFsaWRhdGVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgKyAnL0FwaVJlcXVlc3QvZG9yZXF1ZXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIGFwaVZhbGlkYXRlUmVxdWVzdCk7XG4gIH1cblxuICBkb0RvY3VtZW50UmVxdWVzdChhcGlWYWxpZGF0ZVJlcXVlc3Q6IEFwaURvY3VtZW50UmVxdWVzdCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgJy9BcGlSZXF1ZXN0L2RvRG9jdW1lbnRSZXF1ZXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIGFwaVZhbGlkYXRlUmVxdWVzdCk7XG4gIH1cblxuICBjb252ZXJ0RG9jdW1lbnRUb1BkZihcbiAgICByZXF1ZXN0OiBDb252ZXJ0RG9jdW1lbnRUb1BkZlJlcXVlc3RcbiAgKTogT2JzZXJ2YWJsZTxDb252ZXJ0RG9jdW1lbnRUb1BkZlJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICsgJy9hcHBkYXRhL2NvbnZlcnRUb1BkZic7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENvbnZlcnREb2N1bWVudFRvUGRmUmVzcG9uc2U+KHVybCwgcmVxdWVzdCk7XG4gIH1cblxuICBtYWtlQWN0aW9uQXBpQ2FsbChhY3Rpb25SZXF1ZXN0OiBNYWtlQWN0aW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc29sZS5sb2coJ2FjdGlvblJlcXVlc3QgZnJvbSBtYWtlQWN0aW9uQXBpQ2FsbCcsIGFjdGlvblJlcXVlc3QpO1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArICcvTWFrZUFjdGlvbi9kb2FjdGlvbic7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBhY3Rpb25SZXF1ZXN0KTtcbiAgfVxuXG4gIG1ha2VQcm9jZXNzQXBpQ2FsbChhcHBEYXRhSUQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICsgJy9Qcm9jZXNzJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIHsgYXBwSWQ6IGFwcERhdGFJRCB9KS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygncmVzcG9uc2UgZnJvbSBtYWtlUHJvY2Vzc0FwaUNhbGwnLCByZXNwb25zZSksIHJlc3BvbnNlO1xuICAgICAgfSksXG5cbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZih7IC4uLmVycm9yLCBib2R5OiBmYWxzZSB9KSlcbiAgICApO1xuICB9XG5cbiAgZ2V0UHJvY2Vzc1N0YXR1cyhhcHBEYXRhSUQ6IHN0cmluZyk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICtcbiAgICAgICcvUHJvY2Vzcy9nZXQtc3RhdHVzP2FwcElkPScgK1xuICAgICAgYXBwRGF0YUlEO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG51bWJlcj4odXJsKTtcbiAgfVxuXG4gIGdldE9mZmVycyhhcHBEYXRhSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgIGAvYXBwZGF0YS9nZXRPZmZlcnMvJHthcHBEYXRhSWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCk7XG4gIH1cblxuICBtYWtlU3RhdHVzQXBpQ2FsbChcbiAgICBhcHBEYXRhSWQ6IHN0cmluZyxcbiAgICBzdGVwSWQ6IHN0cmluZyxcbiAgICBzZXROZXh0U3RlcDogYm9vbGVhbiA9IGZhbHNlXG4gICkge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICAnL2FwcGRhdGEvZG9TdGF0dXNBY3Rpb24nO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwge1xuICAgICAgYXBwRGF0YUlkOiBhcHBEYXRhSWQsXG4gICAgICBzdGVwSWQ6IHN0ZXBJZCxcbiAgICAgIHNldE5leHRTdGVwOiBzZXROZXh0U3RlcCxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNldEN1cnJlbnRTdGVwKGFwcERhdGFJZDogc3RyaW5nLCBzdGVwSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICBgL2FwcGRhdGEvc2V0Q3VycmVudFN0ZXA/YXBwSWQ9JHthcHBEYXRhSWR9JnN0ZXBJZD0ke3N0ZXBJZH1gO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAuZ2V0RXh0ZW5kZWQodXJsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pXG4gICAgKTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBlbnJvbENhcmQoZW5yb2xDYXJkQ29tbWFuZDogQXBwbGljYXRpb25FbnJvbENhcmREdG8pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArICcvYXBwZGF0YS9FbnJvbENhcmQnO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxzdHJpbmdbXT4odXJsLCBlbnJvbENhcmRDb21tYW5kKTtcbiAgfVxuXG4gIGdldEVucm9sbWVudFN0YXR1cyhkYXRhVXJsSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgIGAvYXBwZGF0YS9HZXRFbnJvbG1lbnRTdGF0dXMvJHtkYXRhVXJsSWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCk7XG4gIH1cblxuICBnZXREYXRhVXJsKGRhdGFVcmxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgYC9EYXRhVVJML0dldEJ5SWQvJHtkYXRhVXJsSWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCk7XG4gIH1cblxuICAgIGNoYW5nZUxhbmd1YWdlKGFwcERhdGFVdWlkOiBzdHJpbmcsIGxhbmd1YWdlSVNPQ29kZTogc3RyaW5nKSB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgICcvYXBwZGF0YS9jaGFuZ2VMYW5ndWFnZSc7XG5cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgYXBwRGF0YUlkOiBhcHBEYXRhVXVpZCxcbiAgICAgIGxhbmd1YWdlSXNvOiBsYW5ndWFnZUlTT0NvZGUsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgcGF5bG9hZCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpHeaders, } from '@angular/common/http';
|
|
3
|
+
import { catchError, switchMap, throwError } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
import * as i2 from "../origin-form-auth.service";
|
|
7
|
+
export class AuthHttpService {
|
|
8
|
+
constructor(http, authService) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.authService = authService;
|
|
11
|
+
this.isRefreshing = false;
|
|
12
|
+
}
|
|
13
|
+
getHeaders() {
|
|
14
|
+
const token = this.authService.getToken();
|
|
15
|
+
return new HttpHeaders({
|
|
16
|
+
Authorization: `Bearer ${token}`,
|
|
17
|
+
'Content-Type': 'application/json',
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
get(url) {
|
|
21
|
+
return this.http
|
|
22
|
+
.get(url, { headers: this.getHeaders() })
|
|
23
|
+
.pipe(catchError((error) => this.handleError(error, () => this.get(url))));
|
|
24
|
+
}
|
|
25
|
+
getExtended(url, options = {}) {
|
|
26
|
+
return this.http
|
|
27
|
+
.get(url, { ...options, headers: this.getHeaders() })
|
|
28
|
+
.pipe(catchError((error) => this.handleError(error, () => this.getExtended(url, options))));
|
|
29
|
+
}
|
|
30
|
+
post(url, body) {
|
|
31
|
+
return this.http
|
|
32
|
+
.post(url, body, { headers: this.getHeaders() })
|
|
33
|
+
.pipe(catchError((error) => this.handleError(error, () => this.post(url, body))));
|
|
34
|
+
}
|
|
35
|
+
postExtended(url, body, options = null) {
|
|
36
|
+
return this.http
|
|
37
|
+
.post(url, body, { ...options, headers: this.getHeaders() })
|
|
38
|
+
.pipe(catchError((error) => this.handleError(error, () => this.postExtended(url, body, options))));
|
|
39
|
+
}
|
|
40
|
+
put(url, body) {
|
|
41
|
+
return this.http
|
|
42
|
+
.put(url, body, { headers: this.getHeaders() })
|
|
43
|
+
.pipe(catchError((error) => this.handleError(error, () => this.put(url, body))));
|
|
44
|
+
}
|
|
45
|
+
delete(url) {
|
|
46
|
+
return this.http
|
|
47
|
+
.delete(url, { headers: this.getHeaders() })
|
|
48
|
+
.pipe(catchError((error) => this.handleError(error, () => this.delete(url))));
|
|
49
|
+
}
|
|
50
|
+
handleError(error, retryRequest) {
|
|
51
|
+
if (error.status === 401) {
|
|
52
|
+
return this.handle401Error(retryRequest);
|
|
53
|
+
}
|
|
54
|
+
return throwError(() => error);
|
|
55
|
+
}
|
|
56
|
+
handle401Error(retryRequest) {
|
|
57
|
+
if (!this.isRefreshing) {
|
|
58
|
+
this.isRefreshing = true;
|
|
59
|
+
return this.authService.refreshToken().pipe(switchMap((newToken) => {
|
|
60
|
+
this.isRefreshing = false;
|
|
61
|
+
return retryRequest(); // Retry the failed request with the new token
|
|
62
|
+
}), catchError((err) => {
|
|
63
|
+
this.isRefreshing = false;
|
|
64
|
+
return throwError(() => err);
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return retryRequest();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthHttpService, deps: [{ token: i1.HttpClient }, { token: i2.OriginFormAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
72
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthHttpService, providedIn: 'root' }); }
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthHttpService, decorators: [{
|
|
75
|
+
type: Injectable,
|
|
76
|
+
args: [{
|
|
77
|
+
providedIn: 'root', // Ensures it is available in the application using the library
|
|
78
|
+
}]
|
|
79
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.OriginFormAuthService }] });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1odHRwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcmlnaW4tZm9ybS9zcmMvbGliL3NlcnZpY2VzL2F1dGgtaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUlMLFdBQVcsR0FFWixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQWMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQU1yRSxNQUFNLE9BQU8sZUFBZTtJQUcxQixZQUNVLElBQWdCLEVBQ2hCLFdBQWtDO1FBRGxDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBSnBDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBSzFCLENBQUM7SUFFSSxVQUFVO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUMsT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUU7WUFDaEMsY0FBYyxFQUFFLGtCQUFrQjtTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFJLEdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBSSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7YUFDM0MsSUFBSSxDQUNILFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQ3ZFLENBQUM7SUFDTixD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LENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFFekIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDekMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixPQUFPLFlBQVksRUFBRSxDQUFDLENBQUMsOENBQThDO1lBQ3ZFLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDMUIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxZQUFZLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQzsrR0EzR1UsZUFBZTttSEFBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTSxFQUFFLCtEQUErRDtpQkFDcEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBIdHRwQ2xpZW50LFxuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEV2ZW50LFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cFJlc3BvbnNlLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9yaWdpbkZvcm1BdXRoU2VydmljZSB9IGZyb20gJy4uL29yaWdpbi1mb3JtLWF1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLCAvLyBFbnN1cmVzIGl0IGlzIGF2YWlsYWJsZSBpbiB0aGUgYXBwbGljYXRpb24gdXNpbmcgdGhlIGxpYnJhcnlcbn0pXG5leHBvcnQgY2xhc3MgQXV0aEh0dHBTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogT3JpZ2luRm9ybUF1dGhTZXJ2aWNlXG4gICkge31cblxuICBwcml2YXRlIGdldEhlYWRlcnMoKTogSHR0cEhlYWRlcnMge1xuICAgIGNvbnN0IHRva2VuID0gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbigpO1xuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0PFQ+KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxUPih1cmwsIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgKCkgPT4gdGhpcy5nZXQ8VD4odXJsKSkpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0RXh0ZW5kZWQ8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxUIHwgSHR0cEV2ZW50PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxUPih1cmwsIHsgLi4ub3B0aW9ucywgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT5cbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yLCAoKSA9PiB0aGlzLmdldEV4dGVuZGVkPFQ+KHVybCwgb3B0aW9ucykpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBwb3N0PFQ+KHVybDogc3RyaW5nLCBib2R5OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxUPih1cmwsIGJvZHksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT5cbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yLCAoKSA9PiB0aGlzLnBvc3Q8VD4odXJsLCBib2R5KSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIHBvc3RFeHRlbmRlZDxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBhbnksXG4gICAgb3B0aW9uczogYW55IHwgbnVsbCA9IG51bGxcbiAgKTogT2JzZXJ2YWJsZTxUIHwgSHR0cEV2ZW50PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8VD4odXJsLCBib2R5LCB7IC4uLm9wdGlvbnMsIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+XG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgKCkgPT5cbiAgICAgICAgICAgIHRoaXMucG9zdEV4dGVuZGVkPFQ+KHVybCwgYm9keSwgb3B0aW9ucylcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBwdXQ8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wdXQ8VD4odXJsLCBib2R5LCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+XG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgKCkgPT4gdGhpcy5wdXQ8VD4odXJsLCBib2R5KSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZTxUPih1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5kZWxldGU8VD4odXJsLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+XG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgKCkgPT4gdGhpcy5kZWxldGU8VD4odXJsKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3I8VD4oXG4gICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIHJldHJ5UmVxdWVzdDogKCkgPT4gT2JzZXJ2YWJsZTxUPlxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZTQwMUVycm9yKHJldHJ5UmVxdWVzdCk7XG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlNDAxRXJyb3I8VD4ocmV0cnlSZXF1ZXN0OiAoKSA9PiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgaWYgKCF0aGlzLmlzUmVmcmVzaGluZykge1xuICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSB0cnVlO1xuXG4gICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5yZWZyZXNoVG9rZW4oKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKG5ld1Rva2VuKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm4gcmV0cnlSZXF1ZXN0KCk7IC8vIFJldHJ5IHRoZSBmYWlsZWQgcmVxdWVzdCB3aXRoIHRoZSBuZXcgdG9rZW5cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiByZXRyeVJlcXVlc3QoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|