zek 17.3.119 → 19.0.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.
- package/README.md +49 -10
- package/fesm2022/zek.mjs +1056 -751
- package/fesm2022/zek.mjs.map +1 -1
- package/lib/components/base.component.d.ts +1 -1
- package/lib/components/core-ui.component.d.ts +1 -1
- package/lib/components/core.component.d.ts +1 -1
- package/lib/components/edit-base.component.d.ts +3 -3
- package/lib/components/list-base.component.d.ts +1 -1
- package/lib/modules/bb/bb-modal-base.d.ts +1 -1
- package/lib/modules/dropdown/dropdown.d.ts +38 -0
- package/lib/modules/dropdown/index.d.ts +1 -0
- package/lib/modules/index.d.ts +1 -0
- package/lib/modules/validators/directive.d.ts +1 -1
- package/package.json +3 -5
- package/esm2022/lib/components/args.mjs +0 -2
- package/esm2022/lib/components/base.component.mjs +0 -101
- package/esm2022/lib/components/core-ui.component.mjs +0 -193
- package/esm2022/lib/components/core.component.mjs +0 -46
- package/esm2022/lib/components/edit-base.component.mjs +0 -226
- package/esm2022/lib/components/index.mjs +0 -8
- package/esm2022/lib/components/list-base.component.mjs +0 -311
- package/esm2022/lib/components/types.mjs +0 -2
- package/esm2022/lib/directives/delayed-input.directive.mjs +0 -57
- package/esm2022/lib/directives/index.mjs +0 -2
- package/esm2022/lib/models/alert-type.mjs +0 -2
- package/esm2022/lib/models/api.mjs +0 -2
- package/esm2022/lib/models/approve.moodel.mjs +0 -2
- package/esm2022/lib/models/batch.model.mjs +0 -2
- package/esm2022/lib/models/captcha.model.mjs +0 -2
- package/esm2022/lib/models/ctor.mjs +0 -2
- package/esm2022/lib/models/edit-base.model.mjs +0 -3
- package/esm2022/lib/models/file.model.mjs +0 -2
- package/esm2022/lib/models/filter.model.mjs +0 -12
- package/esm2022/lib/models/gender.model.mjs +0 -6
- package/esm2022/lib/models/index.mjs +0 -22
- package/esm2022/lib/models/key-pair.model.mjs +0 -14
- package/esm2022/lib/models/list-base.model.mjs +0 -3
- package/esm2022/lib/models/login.model.mjs +0 -2
- package/esm2022/lib/models/modal-size.mjs +0 -2
- package/esm2022/lib/models/month.model.mjs +0 -16
- package/esm2022/lib/models/nav.model.mjs +0 -2
- package/esm2022/lib/models/pager.model.mjs +0 -33
- package/esm2022/lib/models/print.model.mjs +0 -6
- package/esm2022/lib/models/tree.mjs +0 -2
- package/esm2022/lib/models/tree.model.mjs +0 -7
- package/esm2022/lib/models/valid-event-args.model.mjs +0 -6
- package/esm2022/lib/modules/age/age.pipe.mjs +0 -22
- package/esm2022/lib/modules/age/index.mjs +0 -2
- package/esm2022/lib/modules/alert/alert/alert.mjs +0 -48
- package/esm2022/lib/modules/alert/index.mjs +0 -5
- package/esm2022/lib/modules/alert/toast/toast.mjs +0 -119
- package/esm2022/lib/modules/alert/validation/validation.mjs +0 -56
- package/esm2022/lib/modules/autocomplete/autocomplete.directive.mjs +0 -25
- package/esm2022/lib/modules/autocomplete/index.mjs +0 -2
- package/esm2022/lib/modules/bb/bb-modal-base.mjs +0 -74
- package/esm2022/lib/modules/bb/bb-modal-toolbar.mjs +0 -44
- package/esm2022/lib/modules/bb/bb.component.mjs +0 -207
- package/esm2022/lib/modules/bb/bb.module.mjs +0 -37
- package/esm2022/lib/modules/bb/index.mjs +0 -5
- package/esm2022/lib/modules/callback/callback.pipe.mjs +0 -23
- package/esm2022/lib/modules/callback/index.mjs +0 -2
- package/esm2022/lib/modules/card/card/card.mjs +0 -48
- package/esm2022/lib/modules/card/index.mjs +0 -2
- package/esm2022/lib/modules/countdown/countdown.mjs +0 -103
- package/esm2022/lib/modules/countdown/index.mjs +0 -2
- package/esm2022/lib/modules/date-ago/date-ago.pipe.mjs +0 -45
- package/esm2022/lib/modules/date-ago/index.mjs +0 -2
- package/esm2022/lib/modules/datepicker/date-value-accessor.mjs +0 -188
- package/esm2022/lib/modules/datepicker/datepicker.module.mjs +0 -31
- package/esm2022/lib/modules/datepicker/index.mjs +0 -3
- package/esm2022/lib/modules/edit-toolbar/edit-toolbar.mjs +0 -94
- package/esm2022/lib/modules/edit-toolbar/index.mjs +0 -2
- package/esm2022/lib/modules/file/file-size.pipe.mjs +0 -50
- package/esm2022/lib/modules/file/index.mjs +0 -2
- package/esm2022/lib/modules/file-input/file-input.mjs +0 -79
- package/esm2022/lib/modules/file-input/index.mjs +0 -2
- package/esm2022/lib/modules/file-viewer/file-viewer.mjs +0 -53
- package/esm2022/lib/modules/file-viewer/index.mjs +0 -2
- package/esm2022/lib/modules/google-login-button/google-login-button.mjs +0 -135
- package/esm2022/lib/modules/google-login-button/index.mjs +0 -3
- package/esm2022/lib/modules/google-login-button/loader.mjs +0 -10
- package/esm2022/lib/modules/google-login-button/module.mjs +0 -40
- package/esm2022/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.mjs +0 -147
- package/esm2022/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.mjs +0 -16
- package/esm2022/lib/modules/grid-toolbar/index.mjs +0 -3
- package/esm2022/lib/modules/index.mjs +0 -39
- package/esm2022/lib/modules/list-toolbar/index.mjs +0 -2
- package/esm2022/lib/modules/list-toolbar/list-toolbar.mjs +0 -112
- package/esm2022/lib/modules/loading/index.mjs +0 -4
- package/esm2022/lib/modules/loading/loading-interceptor.mjs +0 -59
- package/esm2022/lib/modules/loading/loading.mjs +0 -33
- package/esm2022/lib/modules/loading/loading.module.mjs +0 -32
- package/esm2022/lib/modules/modal/filter-modal/filter-modal.component.mjs +0 -23
- package/esm2022/lib/modules/modal/index.mjs +0 -5
- package/esm2022/lib/modules/modal/modal/modal.component.mjs +0 -355
- package/esm2022/lib/modules/modal/modal.module.mjs +0 -62
- package/esm2022/lib/modules/modal/sum-modal/sum-modal.component.mjs +0 -27
- package/esm2022/lib/modules/numeric/index.mjs +0 -2
- package/esm2022/lib/modules/numeric/numeric.directive.mjs +0 -92
- package/esm2022/lib/modules/page-title/index.mjs +0 -2
- package/esm2022/lib/modules/page-title/page-title.component.mjs +0 -33
- package/esm2022/lib/modules/pager/index.mjs +0 -2
- package/esm2022/lib/modules/pager/pager/pager.mjs +0 -52
- package/esm2022/lib/modules/password/index.mjs +0 -2
- package/esm2022/lib/modules/password/password.mjs +0 -48
- package/esm2022/lib/modules/progress/index.mjs +0 -2
- package/esm2022/lib/modules/progress/progress.mjs +0 -97
- package/esm2022/lib/modules/radio/index.mjs +0 -2
- package/esm2022/lib/modules/radio/radio.mjs +0 -133
- package/esm2022/lib/modules/readonly/index.mjs +0 -2
- package/esm2022/lib/modules/readonly/readonly.directive.mjs +0 -29
- package/esm2022/lib/modules/recaptcha/index.mjs +0 -4
- package/esm2022/lib/modules/recaptcha/loader.mjs +0 -13
- package/esm2022/lib/modules/recaptcha/recaptcha.model.mjs +0 -2
- package/esm2022/lib/modules/recaptcha/recaptcha.module.mjs +0 -32
- package/esm2022/lib/modules/recaptcha/recaptcha.service.mjs +0 -119
- package/esm2022/lib/modules/safe/index.mjs +0 -2
- package/esm2022/lib/modules/safe/safe.pipe.mjs +0 -40
- package/esm2022/lib/modules/select/index.mjs +0 -2
- package/esm2022/lib/modules/select/model.mjs +0 -4
- package/esm2022/lib/modules/select/select.mjs +0 -201
- package/esm2022/lib/modules/select2/index.mjs +0 -2
- package/esm2022/lib/modules/select2/select2.mjs +0 -172
- package/esm2022/lib/modules/select2-multiple/index.mjs +0 -2
- package/esm2022/lib/modules/select2-multiple/select2-multiple.mjs +0 -137
- package/esm2022/lib/modules/sort/index.mjs +0 -3
- package/esm2022/lib/modules/sort/sort-button-group/sort-button-group.mjs +0 -81
- package/esm2022/lib/modules/sort/sort.mjs +0 -120
- package/esm2022/lib/modules/tag/index.mjs +0 -2
- package/esm2022/lib/modules/tag/tag.mjs +0 -111
- package/esm2022/lib/modules/time/index.mjs +0 -4
- package/esm2022/lib/modules/time/time.module.mjs +0 -27
- package/esm2022/lib/modules/time/time.pipe.mjs +0 -40
- package/esm2022/lib/modules/time/timer-service.mjs +0 -89
- package/esm2022/lib/modules/tooltip/index.mjs +0 -2
- package/esm2022/lib/modules/tooltip/tooltip.mjs +0 -27
- package/esm2022/lib/modules/utc-to-local/index.mjs +0 -3
- package/esm2022/lib/modules/utc-to-local/local-to-utc.pipe.mjs +0 -39
- package/esm2022/lib/modules/utc-to-local/utc-to-local.pipe.mjs +0 -38
- package/esm2022/lib/modules/validator/field-validator.mjs +0 -17
- package/esm2022/lib/modules/validator/index.mjs +0 -2
- package/esm2022/lib/modules/validators/directive.mjs +0 -107
- package/esm2022/lib/modules/validators/index.mjs +0 -4
- package/esm2022/lib/modules/validators/module.mjs +0 -28
- package/esm2022/lib/modules/validators/validator.mjs +0 -119
- package/esm2022/lib/modules/wizard/index.mjs +0 -3
- package/esm2022/lib/modules/wizard/wizard/wizard.mjs +0 -66
- package/esm2022/lib/modules/wizard/wizard2/wizard2.mjs +0 -14
- package/esm2022/lib/services/alert.service.mjs +0 -74
- package/esm2022/lib/services/auth-guard.service.mjs +0 -13
- package/esm2022/lib/services/auth.service.mjs +0 -194
- package/esm2022/lib/services/base.service.mjs +0 -8
- package/esm2022/lib/services/cache-helper.mjs +0 -35
- package/esm2022/lib/services/crud.service.mjs +0 -48
- package/esm2022/lib/services/file.service.mjs +0 -32
- package/esm2022/lib/services/http-error-handler.service.mjs +0 -141
- package/esm2022/lib/services/index.mjs +0 -9
- package/esm2022/lib/services/web.api.mjs +0 -139
- package/esm2022/lib/tokens.mjs +0 -7
- package/esm2022/lib/utils/array-helper.mjs +0 -216
- package/esm2022/lib/utils/base64-helper.mjs +0 -18
- package/esm2022/lib/utils/bitwise-helper.mjs +0 -14
- package/esm2022/lib/utils/bootstrap.helper.mjs +0 -124
- package/esm2022/lib/utils/convert.mjs +0 -35
- package/esm2022/lib/utils/css-helper.mjs +0 -41
- package/esm2022/lib/utils/date-helper.mjs +0 -264
- package/esm2022/lib/utils/error-helper.mjs +0 -32
- package/esm2022/lib/utils/excel-helper.mjs +0 -13
- package/esm2022/lib/utils/file.helper.mjs +0 -75
- package/esm2022/lib/utils/filter-helper.mjs +0 -13
- package/esm2022/lib/utils/handler.mjs +0 -24
- package/esm2022/lib/utils/html-helper.mjs +0 -73
- package/esm2022/lib/utils/index.mjs +0 -28
- package/esm2022/lib/utils/interval-helper.mjs +0 -32
- package/esm2022/lib/utils/jwt-helper.mjs +0 -11
- package/esm2022/lib/utils/math-helper.mjs +0 -19
- package/esm2022/lib/utils/object-helper.mjs +0 -80
- package/esm2022/lib/utils/overlap-helper.mjs +0 -73
- package/esm2022/lib/utils/pager-helper.mjs +0 -63
- package/esm2022/lib/utils/random-helper.mjs +0 -16
- package/esm2022/lib/utils/storage-helper.mjs +0 -28
- package/esm2022/lib/utils/string-helper.mjs +0 -84
- package/esm2022/lib/utils/thenBy.mjs +0 -41
- package/esm2022/lib/utils/time-helper.mjs +0 -46
- package/esm2022/lib/utils/tmp-helper.mjs +0 -25
- package/esm2022/lib/utils/url-helper.mjs +0 -44
- package/esm2022/lib/utils/validation-helper.mjs +0 -10
- package/esm2022/lib/zek.module.mjs +0 -28
- package/esm2022/public-api.mjs +0 -12
- package/esm2022/zek.mjs +0 -5
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { of, tap } from "rxjs";
|
|
2
|
-
export class CacheHelper {
|
|
3
|
-
static { this._cache = new Map(); }
|
|
4
|
-
static get(key) {
|
|
5
|
-
const data = this._cache.get(key);
|
|
6
|
-
if (!data) {
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
const now = new Date().getTime();
|
|
10
|
-
if (now > data.expiry) {
|
|
11
|
-
this._cache.delete(key);
|
|
12
|
-
return undefined;
|
|
13
|
-
}
|
|
14
|
-
return of(data.value);
|
|
15
|
-
}
|
|
16
|
-
// Set data to cache
|
|
17
|
-
static set(key, value, minutes = 5) {
|
|
18
|
-
const expiry = new Date().getTime() + minutes * 60000;
|
|
19
|
-
this._cache.set(key, { expiry, value });
|
|
20
|
-
return of(value);
|
|
21
|
-
}
|
|
22
|
-
// Cache and return the Observable
|
|
23
|
-
static getOrCreate(key, fallback, minutes) {
|
|
24
|
-
const cached = this.get(key);
|
|
25
|
-
if (cached) {
|
|
26
|
-
return cached;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
return fallback.pipe(tap(value => {
|
|
30
|
-
this.set(key, value, minutes);
|
|
31
|
-
}));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvY2FjaGUtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTzNDLE1BQU0sT0FBTyxXQUFXO2FBQ0wsV0FBTSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO0lBRXhELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVUsRUFBRSxVQUFrQixDQUFDO1FBQ25ELE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVyxFQUFFLFFBQXlCLEVBQUUsT0FBZ0I7UUFDdkUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbnRlcmZhY2UgQ2FjaGVDb250ZW50IHtcclxuICAgIGV4cGlyeTogbnVtYmVyO1xyXG4gICAgdmFsdWU6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENhY2hlSGVscGVyIHtcclxuICAgIHByaXZhdGUgc3RhdGljIF9jYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBDYWNoZUNvbnRlbnQ+KCk7XHJcblxyXG4gICAgc3RhdGljIGdldChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuX2NhY2hlLmdldChrZXkpO1xyXG4gICAgICAgIGlmICghZGF0YSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgaWYgKG5vdyA+IGRhdGEuZXhwaXJ5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NhY2hlLmRlbGV0ZShrZXkpO1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9mKGRhdGEudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNldCBkYXRhIHRvIGNhY2hlXHJcbiAgICBzdGF0aWMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBtaW51dGVzOiBudW1iZXIgPSA1KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBleHBpcnkgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSArIG1pbnV0ZXMgKiA2MDAwMDtcclxuICAgICAgICB0aGlzLl9jYWNoZS5zZXQoa2V5LCB7IGV4cGlyeSwgdmFsdWUgfSk7XHJcbiAgICAgICAgcmV0dXJuIG9mKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDYWNoZSBhbmQgcmV0dXJuIHRoZSBPYnNlcnZhYmxlXHJcbiAgICBzdGF0aWMgZ2V0T3JDcmVhdGUoa2V5OiBzdHJpbmcsIGZhbGxiYWNrOiBPYnNlcnZhYmxlPGFueT4sIG1pbnV0ZXM/OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuZ2V0KGtleSk7XHJcbiAgICAgICAgaWYgKGNhY2hlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxsYmFjay5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFwKHZhbHVlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldChrZXksIHZhbHVlLCBtaW51dGVzKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { catchError } from "rxjs";
|
|
2
|
-
import { BaseService } from "./base.service";
|
|
3
|
-
import { UrlHelper } from "../utils";
|
|
4
|
-
export class CrudService extends BaseService {
|
|
5
|
-
constructor(controller, api, httpErrorHandler) {
|
|
6
|
-
super(controller, api, httpErrorHandler);
|
|
7
|
-
}
|
|
8
|
-
get(id) {
|
|
9
|
-
const url = UrlHelper.combine(`api/${this.controller}`, id);
|
|
10
|
-
return this.api.get(url).pipe(catchError(this.handleError(this.get.name, null)));
|
|
11
|
-
}
|
|
12
|
-
get2(id, id2) {
|
|
13
|
-
return this.api.get(`api/${this.controller}/${id}/${id2}`).pipe(catchError(this.handleError(this.get2.name, null)));
|
|
14
|
-
}
|
|
15
|
-
getAll(filter) {
|
|
16
|
-
return this.api.get(`api/${this.controller}`, filter).pipe(catchError(this.handleError(this.getAll.name)));
|
|
17
|
-
}
|
|
18
|
-
sum(filter) {
|
|
19
|
-
return this.api.get(`api/${this.controller}/Sum`, filter).pipe(catchError(this.handleError(this.sum.name)));
|
|
20
|
-
}
|
|
21
|
-
save(model) {
|
|
22
|
-
return !model.id
|
|
23
|
-
? this.api.post(`api/${this.controller}`, model).pipe(catchError(this.handleError(this.save.name, null)))
|
|
24
|
-
: this.api.put(`api/${this.controller}/${model.id}`, model).pipe(catchError(this.handleError(this.save.name, null)));
|
|
25
|
-
}
|
|
26
|
-
delete(id) {
|
|
27
|
-
return this.api.delete(`api/${this.controller}/${id}`).pipe(catchError(this.handleError(this.delete.name, null)));
|
|
28
|
-
}
|
|
29
|
-
delete2(id, id2) {
|
|
30
|
-
return this.api.delete(`api/${this.controller}/${id}/${id2}`).pipe(catchError(this.handleError(this.delete2.name, null)));
|
|
31
|
-
}
|
|
32
|
-
restore(id) {
|
|
33
|
-
return this.api.patch(`api/${this.controller}/${id}/Restore`).pipe(catchError(this.handleError(this.restore.name, null)));
|
|
34
|
-
}
|
|
35
|
-
approve(model) {
|
|
36
|
-
return this.api.patch(`api/${this.controller}/Approve`, model).pipe(catchError(this.handleError(this.approve.name, null)));
|
|
37
|
-
}
|
|
38
|
-
disapprove(model) {
|
|
39
|
-
return this.api.patch(`api/${this.controller}/Disapprove`, model).pipe(catchError(this.handleError(this.disapprove.name, null)));
|
|
40
|
-
}
|
|
41
|
-
batch(model) {
|
|
42
|
-
return this.api.post(`api/${this.controller}/Batch`, model).pipe(catchError(this.handleError(this.batch.name, null)));
|
|
43
|
-
}
|
|
44
|
-
export(model, fileTypeId) {
|
|
45
|
-
return this.api.getBlob(`api/${this.controller}/Export/${fileTypeId}`, model).pipe(catchError(this.handleError('export', null)));
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvY3J1ZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFJOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFpQnJDLE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBVztJQUN4QyxZQUNJLFVBQWtCLEVBQ2xCLEdBQWlCLEVBQ2pCLGdCQUFrQztRQUNsQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxHQUFHLENBQUMsRUFBTztRQUNQLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFDRCxJQUFJLENBQUMsRUFBTyxFQUFFLEdBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQVk7UUFDZixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBQ0QsR0FBRyxDQUFDLE1BQVk7UUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVU7UUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDWixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQU0sT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDOUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFNLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsSSxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQU87UUFDVixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUNELE9BQU8sQ0FBQyxFQUFPLEVBQUUsR0FBUTtRQUNyQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlILENBQUM7SUFFRCxPQUFPLENBQUMsRUFBTztRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5SCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVU7UUFDZCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0gsQ0FBQztJQUNELFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySSxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUdELE1BQU0sQ0FBQyxLQUFVLEVBQUUsVUFBZTtRQUM5QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsV0FBVyxVQUFVLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYXRjaEVycm9yLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmltcG9ydCB7IEh0dHBFcnJvckhhbmRsZXIgfSBmcm9tIFwiLi9odHRwLWVycm9yLWhhbmRsZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYWdlZExpc3QgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSBcIi4vYmFzZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFdlYkFwaUNsaWVudCB9IGZyb20gXCIuL3dlYi5hcGlcIjtcclxuaW1wb3J0IHsgVXJsSGVscGVyIH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTZXJ2aWNlIHtcclxuICAgIGdldEFsbChmaWx0ZXI6IGFueSk6IE9ic2VydmFibGU8UGFnZWRMaXN0PjtcclxuICAgIGRlbGV0ZShpZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgZGVsZXRlMihpZDogYW55LCBpZDI6IGFueSk6IE9ic2VydmFibGU8YW55PjtcclxuICAgIGV4cG9ydChmaWx0ZXI6IGFueSwgZmlsZVR5cGVJZDogYW55KTogT2JzZXJ2YWJsZTxCbG9iIHwgbnVsbD47XHJcbiAgICBzdW0oZmlsdGVyOiBhbnkpOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gICAgZ2V0KGlkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBnZXQyKGlkOiBhbnksIGlkMjogYW55KTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgc2F2ZShtb2RlbDogYW55KTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgcmVzdG9yZShpZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgYXBwcm92ZShtb2RlbDogYW55KTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgZGlzYXBwcm92ZShtb2RlbDogYW55KTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgYmF0Y2gobW9kZWw6IGFueSk6IE9ic2VydmFibGU8YW55PjtcclxufVxyXG5leHBvcnQgY2xhc3MgQ3J1ZFNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSBpbXBsZW1lbnRzIElTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGNvbnRyb2xsZXI6IHN0cmluZyxcclxuICAgICAgICBhcGk6IFdlYkFwaUNsaWVudCxcclxuICAgICAgICBodHRwRXJyb3JIYW5kbGVyOiBIdHRwRXJyb3JIYW5kbGVyKSB7XHJcbiAgICAgICAgc3VwZXIoY29udHJvbGxlciwgYXBpLCBodHRwRXJyb3JIYW5kbGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQoaWQ6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IFVybEhlbHBlci5jb21iaW5lKGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9YCwgaWQpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQodXJsKS5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih0aGlzLmdldC5uYW1lLCBudWxsKSkpO1xyXG4gICAgfVxyXG4gICAgZ2V0MihpZDogYW55LCBpZDI6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYGFwaS8ke3RoaXMuY29udHJvbGxlcn0vJHtpZH0vJHtpZDJ9YCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodGhpcy5nZXQyLm5hbWUsIG51bGwpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QWxsKGZpbHRlcj86IGFueSk6IE9ic2VydmFibGU8UGFnZWRMaXN0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldChgYXBpLyR7dGhpcy5jb250cm9sbGVyfWAsIGZpbHRlcikucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodGhpcy5nZXRBbGwubmFtZSkpKTtcclxuICAgIH1cclxuICAgIHN1bShmaWx0ZXI/OiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0KGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9L1N1bWAsIGZpbHRlcikucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodGhpcy5zdW0ubmFtZSkpKTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlKG1vZGVsOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gIW1vZGVsLmlkXHJcbiAgICAgICAgICAgID8gdGhpcy5hcGkucG9zdDxhbnk+KGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9YCwgbW9kZWwpLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKHRoaXMuc2F2ZS5uYW1lLCBudWxsKSkpXHJcbiAgICAgICAgICAgIDogdGhpcy5hcGkucHV0PGFueT4oYGFwaS8ke3RoaXMuY29udHJvbGxlcn0vJHttb2RlbC5pZH1gLCBtb2RlbCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodGhpcy5zYXZlLm5hbWUsIG51bGwpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlKGlkOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZGVsZXRlKGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9LyR7aWR9YCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodGhpcy5kZWxldGUubmFtZSwgbnVsbCkpKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZTIoaWQ6IGFueSwgaWQyOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZGVsZXRlKGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9LyR7aWR9LyR7aWQyfWApLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKHRoaXMuZGVsZXRlMi5uYW1lLCBudWxsKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc3RvcmUoaWQ6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wYXRjaChgYXBpLyR7dGhpcy5jb250cm9sbGVyfS8ke2lkfS9SZXN0b3JlYCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodGhpcy5yZXN0b3JlLm5hbWUsIG51bGwpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwcm92ZShtb2RlbDogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBhdGNoKGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9L0FwcHJvdmVgLCBtb2RlbCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodGhpcy5hcHByb3ZlLm5hbWUsIG51bGwpKSk7XHJcbiAgICB9XHJcbiAgICBkaXNhcHByb3ZlKG1vZGVsOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGkucGF0Y2goYGFwaS8ke3RoaXMuY29udHJvbGxlcn0vRGlzYXBwcm92ZWAsIG1vZGVsKS5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih0aGlzLmRpc2FwcHJvdmUubmFtZSwgbnVsbCkpKTtcclxuICAgIH1cclxuXHJcbiAgICBiYXRjaChtb2RlbDogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBvc3QoYGFwaS8ke3RoaXMuY29udHJvbGxlcn0vQmF0Y2hgLCBtb2RlbCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodGhpcy5iYXRjaC5uYW1lLCBudWxsKSkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBleHBvcnQobW9kZWw6IGFueSwgZmlsZVR5cGVJZDogYW55KTogT2JzZXJ2YWJsZTxCbG9iIHwgbnVsbD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRCbG9iKGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9L0V4cG9ydC8ke2ZpbGVUeXBlSWR9YCwgbW9kZWwpLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdleHBvcnQnLCBudWxsKSkpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { catchError } from 'rxjs';
|
|
3
|
-
import { CrudService } from './crud.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./web.api";
|
|
6
|
-
import * as i2 from "./http-error-handler.service";
|
|
7
|
-
export class FileService extends CrudService {
|
|
8
|
-
constructor(api, httpErrorHandler) {
|
|
9
|
-
super('files', api, httpErrorHandler);
|
|
10
|
-
}
|
|
11
|
-
download(id, hash) {
|
|
12
|
-
return this.api.getBlob(`api/${this.controller}`, { id, hash }).pipe(catchError(this.handleError(this.download.name, null)));
|
|
13
|
-
}
|
|
14
|
-
presignedUrl(id, hash) {
|
|
15
|
-
return this.api.get(`api/${this.controller}/${id}/${hash}/presigned-url`).pipe(catchError(this.handleError(this.presignedUrl.name, null)));
|
|
16
|
-
}
|
|
17
|
-
downloadFile(file) {
|
|
18
|
-
if (!file)
|
|
19
|
-
return;
|
|
20
|
-
this.presignedUrl(file.id, file.hash).subscribe(data => {
|
|
21
|
-
if (data?.success) {
|
|
22
|
-
window.open(data.value, '_blank');
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileService, deps: [{ token: i1.WebApiClient }, { token: i2.HttpErrorHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileService }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileService, decorators: [{
|
|
30
|
-
type: Injectable
|
|
31
|
-
}], ctorParameters: () => [{ type: i1.WebApiClient }, { type: i2.HttpErrorHandler }] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNN0MsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXO0lBQ3hDLFlBQVksR0FBaUIsRUFBRSxnQkFBa0M7UUFDN0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQU8sRUFBRSxJQUFTO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pJLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBTyxFQUFFLElBQVM7UUFDM0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxJQUFJLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9JLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBZTtRQUN4QixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkQsSUFBSSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN0QyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXBCUSxXQUFXO2tIQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3J1ZFNlcnZpY2UgfSBmcm9tICcuL2NydWQuc2VydmljZSc7XHJcbmltcG9ydCB7IFdlYkFwaUNsaWVudCB9IGZyb20gJy4vd2ViLmFwaSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvckhhbmRsZXIgfSBmcm9tICcuL2h0dHAtZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUZpbGVCYXNlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZpbGVTZXJ2aWNlIGV4dGVuZHMgQ3J1ZFNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoYXBpOiBXZWJBcGlDbGllbnQsIGh0dHBFcnJvckhhbmRsZXI6IEh0dHBFcnJvckhhbmRsZXIpIHtcclxuICAgICAgICBzdXBlcignZmlsZXMnLCBhcGksIGh0dHBFcnJvckhhbmRsZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGRvd25sb2FkKGlkOiBhbnksIGhhc2g6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRCbG9iKGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9YCwgeyBpZCwgaGFzaCB9KS5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih0aGlzLmRvd25sb2FkLm5hbWUsIG51bGwpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJlc2lnbmVkVXJsKGlkOiBhbnksIGhhc2g6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYGFwaS8ke3RoaXMuY29udHJvbGxlcn0vJHtpZH0vJHtoYXNofS9wcmVzaWduZWQtdXJsYCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodGhpcy5wcmVzaWduZWRVcmwubmFtZSwgbnVsbCkpKTtcclxuICAgIH1cclxuXHJcbiAgICBkb3dubG9hZEZpbGUoZmlsZTogSUZpbGVCYXNlKSB7XHJcbiAgICAgICAgaWYgKCFmaWxlKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5wcmVzaWduZWRVcmwoZmlsZS5pZCwgZmlsZS5oYXNoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChkYXRhPy5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihkYXRhLnZhbHVlLCAnX2JsYW5rJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { of } from 'rxjs';
|
|
3
|
-
import { ObjectHelper } from '../utils/object-helper';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./alert.service";
|
|
6
|
-
import * as i2 from "@ngx-translate/core";
|
|
7
|
-
import * as i3 from "@angular/router";
|
|
8
|
-
/** Handles HttpClient errors */
|
|
9
|
-
export class HttpErrorHandler {
|
|
10
|
-
constructor(alert, translate, router) {
|
|
11
|
-
this.alert = alert;
|
|
12
|
-
this.translate = translate;
|
|
13
|
-
this.router = router;
|
|
14
|
-
/** Create curried handleError function that already knows the service name */
|
|
15
|
-
this.createHandleError = (serviceName = '') => (operation = 'operation', result = {}, show = true) => this.handleError(serviceName, operation, result, show);
|
|
16
|
-
this.createHandleErrorResult = (serviceName = '') => (operation = 'operation', result = {}, show = true) => this.handleErrorResult(serviceName, operation, result, show);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Returns a function that handles Http operation failures.
|
|
20
|
-
* This error handler lets the app continue to run as if no error occurred.
|
|
21
|
-
* @param serviceName = name of the data service that attempted the operation
|
|
22
|
-
* @param operation - name of the operation that failed
|
|
23
|
-
* @param result - optional value to return as the observable result
|
|
24
|
-
* @param show - optional value to show error
|
|
25
|
-
*/
|
|
26
|
-
handleError(serviceName = '', operation = 'operation', result = {}, show) {
|
|
27
|
-
return (response) => {
|
|
28
|
-
console.error(response);
|
|
29
|
-
if (show) {
|
|
30
|
-
this.showError(serviceName, operation, response);
|
|
31
|
-
}
|
|
32
|
-
return of(result);
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Returns a function that handles Http operation failures.
|
|
37
|
-
* This error handler lets the app continue to run as if no error occurred.
|
|
38
|
-
* @param serviceName = name of the data service that attempted the operation
|
|
39
|
-
* @param operation - name of the operation that failed
|
|
40
|
-
* @param result - optional value to return as the observable result
|
|
41
|
-
* @param show - optional value to show error
|
|
42
|
-
*/
|
|
43
|
-
handleErrorResult(serviceName = '', operation = 'operation', result = {}, show) {
|
|
44
|
-
return (response) => {
|
|
45
|
-
console.error(response);
|
|
46
|
-
if (show) {
|
|
47
|
-
this.showError(serviceName, operation, response);
|
|
48
|
-
}
|
|
49
|
-
let error;
|
|
50
|
-
if (typeof response.error === 'string' && response.error[0] === '{') {
|
|
51
|
-
error = JSON.parse(response.error);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
error = response.error;
|
|
55
|
-
}
|
|
56
|
-
if (error instanceof ErrorEvent) {
|
|
57
|
-
error = response.error.message;
|
|
58
|
-
}
|
|
59
|
-
return ObjectHelper.isDefined(error) ? of(error) : of(result);
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
showError(serviceName, operation, response) {
|
|
63
|
-
switch (response.status) {
|
|
64
|
-
case 0: //No Connection
|
|
65
|
-
this.alert.error(`Can't connect to api server.`);
|
|
66
|
-
break;
|
|
67
|
-
case 400: //Bad Request
|
|
68
|
-
let error;
|
|
69
|
-
if (typeof response.error === 'string' && response.error[0] === '{') {
|
|
70
|
-
error = JSON.parse(response.error);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
error = response.error;
|
|
74
|
-
}
|
|
75
|
-
if (error instanceof ErrorEvent) {
|
|
76
|
-
this.alert.error(`${serviceName}: ${operation} failed: ${response.error.message}`);
|
|
77
|
-
}
|
|
78
|
-
if (typeof error === 'string') {
|
|
79
|
-
this.alert.error(response.error);
|
|
80
|
-
}
|
|
81
|
-
else if (typeof error === 'object') {
|
|
82
|
-
const errors = error.traceId || error.success === false
|
|
83
|
-
? error.errors
|
|
84
|
-
: error;
|
|
85
|
-
const errorMessages = [];
|
|
86
|
-
const properties = Object.getOwnPropertyNames(errors);
|
|
87
|
-
for (const property of properties) {
|
|
88
|
-
const messages = errors[property];
|
|
89
|
-
if (messages instanceof Array) {
|
|
90
|
-
for (const message of messages) {
|
|
91
|
-
const messageKey = `Validation.${message}`;
|
|
92
|
-
let translatedMessage = this.translate.instant(messageKey);
|
|
93
|
-
// if translation not found then use message
|
|
94
|
-
if (messageKey == translatedMessage) {
|
|
95
|
-
translatedMessage = message;
|
|
96
|
-
}
|
|
97
|
-
if (property) {
|
|
98
|
-
const propertyKey = `Fields.${property}`;
|
|
99
|
-
let translatedProperty = this.translate.instant(`Fields.${property}`);
|
|
100
|
-
// if translation not found then use property
|
|
101
|
-
if (propertyKey == translatedProperty) {
|
|
102
|
-
translatedProperty = property;
|
|
103
|
-
}
|
|
104
|
-
errorMessages.push(translatedProperty + ' - ' + translatedMessage);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
errorMessages.push(translatedMessage);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
this.alert.addRange('danger', errorMessages);
|
|
113
|
-
}
|
|
114
|
-
break;
|
|
115
|
-
case 401: //Unauthorized
|
|
116
|
-
this.alert.error('Unauthorized');
|
|
117
|
-
this.router.navigate(['/login']);
|
|
118
|
-
break;
|
|
119
|
-
case 403: //Forbidden
|
|
120
|
-
this.alert.error('Forbidden');
|
|
121
|
-
break;
|
|
122
|
-
case 404: //Not Found
|
|
123
|
-
this.alert.error('Not Found');
|
|
124
|
-
break;
|
|
125
|
-
case 402: //Payment Required
|
|
126
|
-
this.alert.error('License Payment Required');
|
|
127
|
-
break;
|
|
128
|
-
case 500: //Internal Server Error
|
|
129
|
-
this.alert.error('Internal Server Error');
|
|
130
|
-
break;
|
|
131
|
-
default:
|
|
132
|
-
break;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HttpErrorHandler, deps: [{ token: i1.AlertService }, { token: i2.TranslateService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
136
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HttpErrorHandler }); }
|
|
137
|
-
}
|
|
138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HttpErrorHandler, decorators: [{
|
|
139
|
-
type: Injectable
|
|
140
|
-
}], ctorParameters: () => [{ type: i1.AlertService }, { type: i2.TranslateService }, { type: i3.Router }] });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9zZXJ2aWNlcy9odHRwLWVycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQU10RCxnQ0FBZ0M7QUFFaEMsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUNxQixLQUFtQixFQUNuQixTQUEyQixFQUMzQixNQUFjO1FBRmQsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRW5DLDhFQUE4RTtRQUM5RSxzQkFBaUIsR0FBRyxDQUFDLFdBQVcsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUksU0FBUyxHQUFHLFdBQVcsRUFBRSxTQUFTLEVBQU8sRUFBRSxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hLLDRCQUF1QixHQUFHLENBQUMsV0FBVyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBSSxTQUFTLEdBQUcsV0FBVyxFQUFFLFNBQVMsRUFBTyxFQUFFLElBQUksR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUpySSxDQUFDO0lBTXhDOzs7Ozs7O09BT0c7SUFDSCxXQUFXLENBQUksV0FBVyxHQUFHLEVBQUUsRUFBRSxTQUFTLEdBQUcsV0FBVyxFQUFFLFNBQVMsRUFBTyxFQUFFLElBQWM7UUFDdEYsT0FBTyxDQUFDLFFBQTJCLEVBQWlCLEVBQUU7WUFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV4QixJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUNwRCxDQUFDO1lBRUQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUlEOzs7Ozs7O09BT0c7SUFDSCxpQkFBaUIsQ0FBSSxXQUFXLEdBQUcsRUFBRSxFQUFFLFNBQVMsR0FBRyxXQUFXLEVBQUUsU0FBUyxFQUFPLEVBQUUsSUFBYztRQUM1RixPQUFPLENBQUMsUUFBMkIsRUFBbUIsRUFBRTtZQUNwRCxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXhCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBQ3BELENBQUM7WUFHRCxJQUFJLEtBQVUsQ0FBQztZQUNmLElBQUksT0FBTyxRQUFRLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNsRSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQzNCLENBQUM7WUFFRCxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUUsQ0FBQztnQkFDOUIsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ25DLENBQUM7WUFFRCxPQUFPLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztJQUNOLENBQUM7SUFHTyxTQUFTLENBQUMsV0FBbUIsRUFBRSxTQUFpQixFQUFFLFFBQTJCO1FBQ2pGLFFBQVEsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLEtBQUssQ0FBQyxFQUFDLGVBQWU7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7Z0JBQ2pELE1BQU07WUFFVixLQUFLLEdBQUcsRUFBQyxhQUFhO2dCQUNsQixJQUFJLEtBQVUsQ0FBQztnQkFDZixJQUFJLE9BQU8sUUFBUSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDbEUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQzNCLENBQUM7Z0JBRUQsSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFLENBQUM7b0JBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsV0FBVyxLQUFLLFNBQVMsWUFBWSxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ3ZGLENBQUM7Z0JBQUMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQWUsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDO3FCQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQ25DLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLO3dCQUNuRCxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU07d0JBQ2QsQ0FBQyxDQUFDLEtBQUssQ0FBQztvQkFFWixNQUFNLGFBQWEsR0FBYSxFQUFFLENBQUM7b0JBQ25DLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFFdEQsS0FBSyxNQUFNLFFBQVEsSUFBSSxVQUFVLEVBQUUsQ0FBQzt3QkFDaEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNsQyxJQUFJLFFBQVEsWUFBWSxLQUFLLEVBQUUsQ0FBQzs0QkFDNUIsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztnQ0FDN0IsTUFBTSxVQUFVLEdBQUcsY0FBYyxPQUFPLEVBQUUsQ0FBQztnQ0FDM0MsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQ0FDM0QsNENBQTRDO2dDQUM1QyxJQUFJLFVBQVUsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO29DQUNsQyxpQkFBaUIsR0FBRyxPQUFPLENBQUM7Z0NBQ2hDLENBQUM7Z0NBRUQsSUFBSSxRQUFRLEVBQUUsQ0FBQztvQ0FDWCxNQUFNLFdBQVcsR0FBRyxVQUFVLFFBQVEsRUFBRSxDQUFDO29DQUN6QyxJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsUUFBUSxFQUFFLENBQUMsQ0FBQztvQ0FDdEUsNkNBQTZDO29DQUM3QyxJQUFJLFdBQVcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO3dDQUNwQyxrQkFBa0IsR0FBRyxRQUFRLENBQUE7b0NBQ2pDLENBQUM7b0NBQ0QsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztnQ0FDdkUsQ0FBQztxQ0FDSSxDQUFDO29DQUNGLGFBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQ0FDMUMsQ0FBQzs0QkFDTCxDQUFDO3dCQUNMLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ2pELENBQUM7Z0JBQ0QsTUFBTTtZQUVWLEtBQUssR0FBRyxFQUFDLGNBQWM7Z0JBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLE1BQU07WUFFVixLQUFLLEdBQUcsRUFBQyxXQUFXO2dCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUIsTUFBTTtZQUVWLEtBQUssR0FBRyxFQUFDLFdBQVc7Z0JBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM5QixNQUFNO1lBRVYsS0FBSyxHQUFHLEVBQUMsa0JBQWtCO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUM3QyxNQUFNO1lBRVYsS0FBSyxHQUFHLEVBQUMsdUJBQXVCO2dCQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUMxQyxNQUFNO1lBRVY7Z0JBQ0ksTUFBTTtRQUNkLENBQUM7SUFDTCxDQUFDOzhHQWpKUSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi9hbGVydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JqZWN0SGVscGVyIH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0LWhlbHBlcic7XHJcblxyXG4vKiogVHlwZSBvZiB0aGUgaGFuZGxlRXJyb3IgZnVuY3Rpb24gcmV0dXJuZWQgYnkgSHR0cEVycm9ySGFuZGxlci5jcmVhdGVIYW5kbGVFcnJvciAqL1xyXG5leHBvcnQgdHlwZSBIYW5kbGVFcnJvciA9IDxUID0gYW55PihvcGVyYXRpb24/OiBzdHJpbmcsIHJlc3VsdD86IFQsIHNob3c/OiBib29sZWFuKSA9PiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBPYnNlcnZhYmxlPFQ+O1xyXG5leHBvcnQgdHlwZSBIYW5kbGVFcnJvclJlc3VsdCA9IDxUID0gYW55PihvcGVyYXRpb24/OiBzdHJpbmcsIHJlc3VsdD86IFQsIHNob3c/OiBib29sZWFuKSA9PiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBPYnNlcnZhYmxlPFQ+O1xyXG5cclxuLyoqIEhhbmRsZXMgSHR0cENsaWVudCBlcnJvcnMgKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cEVycm9ySGFuZGxlciB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0OiBBbGVydFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikgeyB9XHJcblxyXG4gICAgLyoqIENyZWF0ZSBjdXJyaWVkIGhhbmRsZUVycm9yIGZ1bmN0aW9uIHRoYXQgYWxyZWFkeSBrbm93cyB0aGUgc2VydmljZSBuYW1lICovXHJcbiAgICBjcmVhdGVIYW5kbGVFcnJvciA9IChzZXJ2aWNlTmFtZSA9ICcnKSA9PiA8VD4ob3BlcmF0aW9uID0gJ29wZXJhdGlvbicsIHJlc3VsdCA9IHt9IGFzIFQsIHNob3cgPSB0cnVlKSA9PiB0aGlzLmhhbmRsZUVycm9yKHNlcnZpY2VOYW1lLCBvcGVyYXRpb24sIHJlc3VsdCwgc2hvdyk7XHJcbiAgICBjcmVhdGVIYW5kbGVFcnJvclJlc3VsdCA9IChzZXJ2aWNlTmFtZSA9ICcnKSA9PiA8VD4ob3BlcmF0aW9uID0gJ29wZXJhdGlvbicsIHJlc3VsdCA9IHt9IGFzIFQsIHNob3cgPSB0cnVlKSA9PiB0aGlzLmhhbmRsZUVycm9yUmVzdWx0KHNlcnZpY2VOYW1lLCBvcGVyYXRpb24sIHJlc3VsdCwgc2hvdyk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIEh0dHAgb3BlcmF0aW9uIGZhaWx1cmVzLlxyXG4gICAgICogVGhpcyBlcnJvciBoYW5kbGVyIGxldHMgdGhlIGFwcCBjb250aW51ZSB0byBydW4gYXMgaWYgbm8gZXJyb3Igb2NjdXJyZWQuXHJcbiAgICAgKiBAcGFyYW0gc2VydmljZU5hbWUgPSBuYW1lIG9mIHRoZSBkYXRhIHNlcnZpY2UgdGhhdCBhdHRlbXB0ZWQgdGhlIG9wZXJhdGlvblxyXG4gICAgICogQHBhcmFtIG9wZXJhdGlvbiAtIG5hbWUgb2YgdGhlIG9wZXJhdGlvbiB0aGF0IGZhaWxlZFxyXG4gICAgICogQHBhcmFtIHJlc3VsdCAtIG9wdGlvbmFsIHZhbHVlIHRvIHJldHVybiBhcyB0aGUgb2JzZXJ2YWJsZSByZXN1bHRcclxuICAgICAqIEBwYXJhbSBzaG93IC0gb3B0aW9uYWwgdmFsdWUgdG8gc2hvdyBlcnJvclxyXG4gICAgICovXHJcbiAgICBoYW5kbGVFcnJvcjxUPihzZXJ2aWNlTmFtZSA9ICcnLCBvcGVyYXRpb24gPSAnb3BlcmF0aW9uJywgcmVzdWx0ID0ge30gYXMgVCwgc2hvdz86IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8VD4gPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKHJlc3BvbnNlKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzaG93KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dFcnJvcihzZXJ2aWNlTmFtZSwgb3BlcmF0aW9uLCByZXNwb25zZSlcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIG9mKHJlc3VsdCk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgaGFuZGxlcyBIdHRwIG9wZXJhdGlvbiBmYWlsdXJlcy5cclxuICAgICAqIFRoaXMgZXJyb3IgaGFuZGxlciBsZXRzIHRoZSBhcHAgY29udGludWUgdG8gcnVuIGFzIGlmIG5vIGVycm9yIG9jY3VycmVkLlxyXG4gICAgICogQHBhcmFtIHNlcnZpY2VOYW1lID0gbmFtZSBvZiB0aGUgZGF0YSBzZXJ2aWNlIHRoYXQgYXR0ZW1wdGVkIHRoZSBvcGVyYXRpb25cclxuICAgICAqIEBwYXJhbSBvcGVyYXRpb24gLSBuYW1lIG9mIHRoZSBvcGVyYXRpb24gdGhhdCBmYWlsZWRcclxuICAgICAqIEBwYXJhbSByZXN1bHQgLSBvcHRpb25hbCB2YWx1ZSB0byByZXR1cm4gYXMgdGhlIG9ic2VydmFibGUgcmVzdWx0XHJcbiAgICAgKiBAcGFyYW0gc2hvdyAtIG9wdGlvbmFsIHZhbHVlIHRvIHNob3cgZXJyb3JcclxuICAgICAqL1xyXG4gICAgaGFuZGxlRXJyb3JSZXN1bHQ8VD4oc2VydmljZU5hbWUgPSAnJywgb3BlcmF0aW9uID0gJ29wZXJhdGlvbicsIHJlc3VsdCA9IHt9IGFzIFQsIHNob3c/OiBib29sZWFuKSB7XHJcbiAgICAgICAgcmV0dXJuIChyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKHJlc3BvbnNlKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzaG93KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dFcnJvcihzZXJ2aWNlTmFtZSwgb3BlcmF0aW9uLCByZXNwb25zZSlcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgIGxldCBlcnJvcjogYW55OyAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuZXJyb3IgPT09ICdzdHJpbmcnICYmIHJlc3BvbnNlLmVycm9yWzBdID09PSAneycpIHtcclxuICAgICAgICAgICAgICAgIGVycm9yID0gSlNPTi5wYXJzZShyZXNwb25zZS5lcnJvcik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBlcnJvciA9IHJlc3BvbnNlLmVycm9yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICBlcnJvciA9IHJlc3BvbnNlLmVycm9yLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKGVycm9yKSA/IG9mKGVycm9yKSA6IG9mKHJlc3VsdCk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBzaG93RXJyb3Ioc2VydmljZU5hbWU6IHN0cmluZywgb3BlcmF0aW9uOiBzdHJpbmcsIHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgIHN3aXRjaCAocmVzcG9uc2Uuc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIGNhc2UgMDovL05vIENvbm5lY3Rpb25cclxuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoYENhbid0IGNvbm5lY3QgdG8gYXBpIHNlcnZlci5gKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA0MDA6Ly9CYWQgUmVxdWVzdFxyXG4gICAgICAgICAgICAgICAgbGV0IGVycm9yOiBhbnk7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmVycm9yID09PSAnc3RyaW5nJyAmJiByZXNwb25zZS5lcnJvclswXSA9PT0gJ3snKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmVycm9yKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSByZXNwb25zZS5lcnJvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcihgJHtzZXJ2aWNlTmFtZX06ICR7b3BlcmF0aW9ufSBmYWlsZWQ6ICR7cmVzcG9uc2UuZXJyb3IubWVzc2FnZX1gKTtcclxuICAgICAgICAgICAgICAgIH0gaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKHJlc3BvbnNlLmVycm9yIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvcnMgPSBlcnJvci50cmFjZUlkIHx8IGVycm9yLnN1Y2Nlc3MgPT09IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZXJyb3IuZXJyb3JzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXJyb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGVycm9ycyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlcyA9IGVycm9yc1twcm9wZXJ0eV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlcyBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgbWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlS2V5ID0gYFZhbGlkYXRpb24uJHttZXNzYWdlfWA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRyYW5zbGF0ZWRNZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChtZXNzYWdlS2V5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB0cmFuc2xhdGlvbiBub3QgZm91bmQgdGhlbiB1c2UgbWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlS2V5ID09IHRyYW5zbGF0ZWRNZXNzYWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRNZXNzYWdlID0gbWVzc2FnZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9wZXJ0eUtleSA9IGBGaWVsZHMuJHtwcm9wZXJ0eX1gO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHJhbnNsYXRlZFByb3BlcnR5ID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgRmllbGRzLiR7cHJvcGVydHl9YCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRyYW5zbGF0aW9uIG5vdCBmb3VuZCB0aGVuIHVzZSBwcm9wZXJ0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHlLZXkgPT0gdHJhbnNsYXRlZFByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGVkUHJvcGVydHkgPSBwcm9wZXJ0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZXMucHVzaCh0cmFuc2xhdGVkUHJvcGVydHkgKyAnIC0gJyArIHRyYW5zbGF0ZWRNZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZXMucHVzaCh0cmFuc2xhdGVkTWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuYWRkUmFuZ2UoJ2RhbmdlcicsIGVycm9yTWVzc2FnZXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIDQwMTovL1VuYXV0aG9yaXplZFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcignVW5hdXRob3JpemVkJyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA0MDM6Ly9Gb3JiaWRkZW5cclxuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoJ0ZvcmJpZGRlbicpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIDQwNDovL05vdCBGb3VuZFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcignTm90IEZvdW5kJyk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNDAyOi8vUGF5bWVudCBSZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcignTGljZW5zZSBQYXltZW50IFJlcXVpcmVkJyk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNTAwOi8vSW50ZXJuYWwgU2VydmVyIEVycm9yXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKCdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './auth.service';
|
|
2
|
-
export * from './auth-guard.service';
|
|
3
|
-
export * from './base.service';
|
|
4
|
-
export * from './cache-helper';
|
|
5
|
-
export * from './crud.service';
|
|
6
|
-
export * from './http-error-handler.service';
|
|
7
|
-
export * from './file.service';
|
|
8
|
-
export * from './web.api';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2F1dGgtZ3VhcmQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jYWNoZS1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2NydWQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd2ViLmFwaSc7Il19
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { Injectable, Inject } from '@angular/core';
|
|
2
|
-
import { HttpHeaders, HttpParams /*, HttpErrorResponse*/ } from '@angular/common/http';
|
|
3
|
-
import { API_BASE_URL } from '../tokens';
|
|
4
|
-
import { UrlHelper } from '../utils';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
import * as i2 from "./auth.service";
|
|
8
|
-
export class WebApiClient {
|
|
9
|
-
constructor(http, auth, baseUrl) {
|
|
10
|
-
this.http = http;
|
|
11
|
-
this.auth = auth;
|
|
12
|
-
this.baseUrl = baseUrl;
|
|
13
|
-
}
|
|
14
|
-
get(url, params) {
|
|
15
|
-
const combinedUrl = UrlHelper.combine(this.baseUrl, url);
|
|
16
|
-
return this.http.get(combinedUrl, { headers: this.getHeaders(), params: this.toHttpParams(params) });
|
|
17
|
-
/*.catch(catchError(this.handleError(url)))
|
|
18
|
-
.do((res: Response) => {
|
|
19
|
-
// Handle success, maybe display notification
|
|
20
|
-
}, (error: any) => {
|
|
21
|
-
// Handle errors
|
|
22
|
-
})
|
|
23
|
-
.finally(() => {
|
|
24
|
-
// Request completed
|
|
25
|
-
});
|
|
26
|
-
*/
|
|
27
|
-
}
|
|
28
|
-
getString(url, params) {
|
|
29
|
-
const combinedUrl = UrlHelper.combine(this.baseUrl, url);
|
|
30
|
-
return this.http.get(combinedUrl, { headers: this.getHeaders(), responseType: 'text', params: this.toHttpParams(params) });
|
|
31
|
-
}
|
|
32
|
-
getBytes(url, params) {
|
|
33
|
-
const combinedUrl = UrlHelper.combine(this.baseUrl, url);
|
|
34
|
-
return this.http.get(combinedUrl, { headers: this.getHeaders(), responseType: 'arraybuffer', params: this.toHttpParams(params) });
|
|
35
|
-
}
|
|
36
|
-
getBlob(url, params) {
|
|
37
|
-
const combinedUrl = UrlHelper.combine(this.baseUrl, url);
|
|
38
|
-
return this.http.get(combinedUrl, { headers: this.getHeaders(), responseType: 'blob', params: this.toHttpParams(params) });
|
|
39
|
-
}
|
|
40
|
-
postBlob(url, body) {
|
|
41
|
-
const combinedUrl = UrlHelper.combine(this.baseUrl, url);
|
|
42
|
-
return this.http.post(combinedUrl, body, { headers: this.getHeaders(), responseType: 'blob' });
|
|
43
|
-
}
|
|
44
|
-
toHttpParams(obj) {
|
|
45
|
-
if (!obj)
|
|
46
|
-
return undefined;
|
|
47
|
-
let params = new HttpParams({ encoder: new CustomHttpParamEncoder() });
|
|
48
|
-
for (const key of Object.keys(obj)) {
|
|
49
|
-
const field = obj[key];
|
|
50
|
-
if (field === undefined || field === null || (typeof field === 'string' && field.length === 0))
|
|
51
|
-
continue;
|
|
52
|
-
const value = field;
|
|
53
|
-
// if (typeof field === 'string' && field.length > 0) {
|
|
54
|
-
// value = field.replace(/\+/gi, '%2B');
|
|
55
|
-
// }
|
|
56
|
-
params = params.append(key, value);
|
|
57
|
-
// if (field instanceof Array) {
|
|
58
|
-
// field.forEach((item: any) => {
|
|
59
|
-
// params = params.append(`${key}[]`, item);
|
|
60
|
-
// });
|
|
61
|
-
// } else {
|
|
62
|
-
// params = params.append(key, field);
|
|
63
|
-
// }
|
|
64
|
-
}
|
|
65
|
-
return params;
|
|
66
|
-
//deleteNullProperties(obj);
|
|
67
|
-
//comment because int[] not sending in c# it send "1,2,3,4"
|
|
68
|
-
// return obj
|
|
69
|
-
// ? Object.getOwnPropertyNames(obj).reduce((p, key) => p.set(key, obj[key]), new HttpParams())
|
|
70
|
-
// : undefined;
|
|
71
|
-
}
|
|
72
|
-
//toKeyPairs(obj: any): KeyPair[] | undefined {
|
|
73
|
-
// if (obj instanceof Object) {
|
|
74
|
-
// const properties = Object.getOwnPropertyNames(obj);
|
|
75
|
-
// const result = new Array<KeyPair>();
|
|
76
|
-
// for (let property of properties) {
|
|
77
|
-
// const value = obj[property];
|
|
78
|
-
// result.push({ key: property, value: value });
|
|
79
|
-
// }
|
|
80
|
-
// return result;
|
|
81
|
-
// }
|
|
82
|
-
// return undefined;
|
|
83
|
-
//}
|
|
84
|
-
post(url, body) {
|
|
85
|
-
return this.http.post(UrlHelper.combine(this.baseUrl, url), body, { headers: this.getHeaders(body) });
|
|
86
|
-
//.pipe(
|
|
87
|
-
//catchError(this.handleError(url))
|
|
88
|
-
//);
|
|
89
|
-
}
|
|
90
|
-
put(url, body) {
|
|
91
|
-
return this.http.put(UrlHelper.combine(this.baseUrl, url), body, { headers: this.getHeaders(body) });
|
|
92
|
-
//.pipe(
|
|
93
|
-
//catchError(this.handleError(url))
|
|
94
|
-
//);
|
|
95
|
-
}
|
|
96
|
-
delete(url, body) {
|
|
97
|
-
return this.http.request('delete', UrlHelper.combine(this.baseUrl, url), { body, headers: this.getHeaders(body) });
|
|
98
|
-
//return this.http.delete(environment.url + url, { headers: this.getHeaders() });
|
|
99
|
-
//.pipe(
|
|
100
|
-
//catchError(this.handleError(url))
|
|
101
|
-
//);
|
|
102
|
-
}
|
|
103
|
-
patch(url, body) {
|
|
104
|
-
return this.http.patch(UrlHelper.combine(this.baseUrl, url), body, { headers: this.getHeaders(body) });
|
|
105
|
-
}
|
|
106
|
-
getHeaders(body) {
|
|
107
|
-
let httpHeaders = new HttpHeaders();
|
|
108
|
-
if (!(body instanceof FormData))
|
|
109
|
-
httpHeaders = httpHeaders.set('Content-Type', 'application/json');
|
|
110
|
-
const tmp = this.auth.user;
|
|
111
|
-
const token = tmp ? tmp.token : undefined;
|
|
112
|
-
if (token)
|
|
113
|
-
httpHeaders = httpHeaders.set('Authorization', token);
|
|
114
|
-
return httpHeaders;
|
|
115
|
-
}
|
|
116
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: WebApiClient, deps: [{ token: i1.HttpClient }, { token: i2.AuthService }, { token: API_BASE_URL }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
117
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: WebApiClient }); }
|
|
118
|
-
}
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: WebApiClient, decorators: [{
|
|
120
|
-
type: Injectable
|
|
121
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: undefined, decorators: [{
|
|
122
|
-
type: Inject,
|
|
123
|
-
args: [API_BASE_URL]
|
|
124
|
-
}] }] });
|
|
125
|
-
export class CustomHttpParamEncoder {
|
|
126
|
-
encodeKey(key) {
|
|
127
|
-
return encodeURIComponent(key);
|
|
128
|
-
}
|
|
129
|
-
encodeValue(value) {
|
|
130
|
-
return encodeURIComponent(value);
|
|
131
|
-
}
|
|
132
|
-
decodeKey(key) {
|
|
133
|
-
return decodeURIComponent(key);
|
|
134
|
-
}
|
|
135
|
-
decodeValue(value) {
|
|
136
|
-
return decodeURIComponent(value);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3NlcnZpY2VzL3dlYi5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLENBQUEsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVNsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFPckMsTUFBTSxPQUFPLFlBQVk7SUFDckIsWUFDdUIsSUFBZ0IsRUFDaEIsSUFBaUIsRUFDRyxPQUFlO1FBRm5DLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNHLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFDMUQsQ0FBQztJQUVELEdBQUcsQ0FBVSxHQUFXLEVBQUUsTUFBWTtRQUNsQyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4Rzs7Ozs7Ozs7O01BU0Y7SUFDRixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUFlO1FBQ2xDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxJ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Y3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMvKiwgSHR0cEVycm9yUmVzcG9uc2UqLyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG4vL2ltcG9ydCB7IG9mIH0gZnJvbSAncnhqcy9vYnNlcnZhYmxlL29mJztcclxuLy9pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcbi8vaW1wb3J0IHsgZGVsZXRlTnVsbFByb3BlcnRpZXMgfSBmcm9tICcuLi91dGlscyc7XHJcbi8vaW1wb3J0IHsgSHR0cEVycm9ySGFuZGxlciwgSGFuZGxlRXJyb3IgfSBmcm9tICcuL2h0dHAtZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cFBhcmFtZXRlckNvZGVjIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBUElfQkFTRV9VUkwgfSBmcm9tICcuLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBVcmxIZWxwZXIgfSBmcm9tICcuLi91dGlscyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdlYkFwaUNvbmZpZyB7XHJcbiAgICBiYXNlVXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFdlYkFwaUNsaWVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV0aDogQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgQEluamVjdChBUElfQkFTRV9VUkwpIHByaXZhdGUgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nKSB7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0PFQgPSBhbnk+KHVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICBjb25zdCBjb21iaW5lZFVybCA9IFVybEhlbHBlci5jb21iaW5lKHRoaXMuYmFzZVVybCwgdXJsKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPihjb21iaW5lZFVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcGFyYW1zOiB0aGlzLnRvSHR0cFBhcmFtcyhwYXJhbXMpIH0pO1xyXG4gICAgICAgIC8qLmNhdGNoKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih1cmwpKSlcclxuICAgICAgICAuZG8oKHJlczogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgLy8gSGFuZGxlIHN1Y2Nlc3MsIG1heWJlIGRpc3BsYXkgbm90aWZpY2F0aW9uXHJcbiAgICAgICAgfSwgKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgLy8gSGFuZGxlIGVycm9yc1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgICAgICAvLyBSZXF1ZXN0IGNvbXBsZXRlZFxyXG4gICAgICAgIH0pO1xyXG4gICAgKi9cclxuICAgIH1cclxuXHJcbiAgICBnZXRTdHJpbmcodXJsOiBzdHJpbmcsIHBhcmFtcz86IG9iamVjdCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xyXG4gICAgICAgIGNvbnN0IGNvbWJpbmVkVXJsID0gVXJsSGVscGVyLmNvbWJpbmUodGhpcy5iYXNlVXJsLCB1cmwpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGNvbWJpbmVkVXJsLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLCByZXNwb25zZVR5cGU6ICd0ZXh0JywgcGFyYW1zOiB0aGlzLnRvSHR0cFBhcmFtcyhwYXJhbXMpIH0pO1xyXG4gICAgfVxyXG4gICAgZ2V0Qnl0ZXModXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8QXJyYXlCdWZmZXI+IHtcclxuICAgICAgICBjb25zdCBjb21iaW5lZFVybCA9IFVybEhlbHBlci5jb21iaW5lKHRoaXMuYmFzZVVybCwgdXJsKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChjb21iaW5lZFVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInLCBwYXJhbXM6IHRoaXMudG9IdHRwUGFyYW1zKHBhcmFtcykgfSk7XHJcbiAgICB9XHJcbiAgICBnZXRCbG9iKHVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPEJsb2I+IHtcclxuICAgICAgICBjb25zdCBjb21iaW5lZFVybCA9IFVybEhlbHBlci5jb21iaW5lKHRoaXMuYmFzZVVybCwgdXJsKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChjb21iaW5lZFVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcmVzcG9uc2VUeXBlOiAnYmxvYicsIHBhcmFtczogdGhpcy50b0h0dHBQYXJhbXMocGFyYW1zKSB9KTtcclxuICAgIH1cclxuICAgIHBvc3RCbG9iKHVybDogc3RyaW5nLCBib2R5OiBhbnkpOiBPYnNlcnZhYmxlPEJsb2I+IHtcclxuICAgICAgICBjb25zdCBjb21iaW5lZFVybCA9IFVybEhlbHBlci5jb21iaW5lKHRoaXMuYmFzZVVybCwgdXJsKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoY29tYmluZWRVcmwsIGJvZHksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCksIHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgdG9IdHRwUGFyYW1zKG9iajogYW55KSB7XHJcbiAgICAgICAgaWYgKCFvYmopXHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGVuY29kZXI6IG5ldyBDdXN0b21IdHRwUGFyYW1FbmNvZGVyKCkgfSk7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqKSkge1xyXG4gICAgICAgICAgICBjb25zdCBmaWVsZCA9IG9ialtrZXldO1xyXG5cclxuICAgICAgICAgICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQgfHwgZmllbGQgPT09IG51bGwgfHwgKHR5cGVvZiBmaWVsZCA9PT0gJ3N0cmluZycgJiYgZmllbGQubGVuZ3RoID09PSAwKSlcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBmaWVsZDtcclxuICAgICAgICAgICAgLy8gaWYgKHR5cGVvZiBmaWVsZCA9PT0gJ3N0cmluZycgJiYgZmllbGQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyAgICAgdmFsdWUgPSBmaWVsZC5yZXBsYWNlKC9cXCsvZ2ksICclMkInKTtcclxuICAgICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcclxuICAgICAgICAgICAgLy8gaWYgKGZpZWxkIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgLy8gICAgIGZpZWxkLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoYCR7a2V5fVtdYCwgaXRlbSk7XHJcbiAgICAgICAgICAgIC8vICAgICB9KTtcclxuICAgICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoa2V5LCBmaWVsZCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcclxuXHJcblxyXG4gICAgICAgIC8vZGVsZXRlTnVsbFByb3BlcnRpZXMob2JqKTtcclxuICAgICAgICAvL2NvbW1lbnQgYmVjYXVzZSBpbnRbXSBub3Qgc2VuZGluZyBpbiBjIyBpdCBzZW5kIFwiMSwyLDMsNFwiXHJcbiAgICAgICAgLy8gcmV0dXJuIG9ialxyXG4gICAgICAgIC8vICAgICA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikucmVkdWNlKChwLCBrZXkpID0+IHAuc2V0KGtleSwgb2JqW2tleV0pLCBuZXcgSHR0cFBhcmFtcygpKVxyXG4gICAgICAgIC8vICAgICA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvL3RvS2V5UGFpcnMob2JqOiBhbnkpOiBLZXlQYWlyW10gfCB1bmRlZmluZWQge1xyXG4gICAgLy8gICAgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgLy8gICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopO1xyXG4gICAgLy8gICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxLZXlQYWlyPigpO1xyXG4gICAgLy8gICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcclxuICAgIC8vICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvYmpbcHJvcGVydHldO1xyXG4gICAgLy8gICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogcHJvcGVydHksIHZhbHVlOiB2YWx1ZSB9KTtcclxuICAgIC8vICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIC8vICAgIH1cclxuICAgIC8vICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAvL31cclxuXHJcbiAgICBwb3N0PFQgPSBhbnk+KHVybDogc3RyaW5nLCBib2R5PzogYW55IHwgbnVsbCk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPihVcmxIZWxwZXIuY29tYmluZSh0aGlzLmJhc2VVcmwsIHVybCksIGJvZHksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKGJvZHkpIH0pO1xyXG4gICAgICAgIC8vLnBpcGUoXHJcbiAgICAgICAgLy9jYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodXJsKSlcclxuICAgICAgICAvLyk7XHJcbiAgICB9XHJcbiAgICBwdXQ8VCA9IGFueT4odXJsOiBzdHJpbmcsIGJvZHk/OiBhbnkgfCBudWxsKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4oVXJsSGVscGVyLmNvbWJpbmUodGhpcy5iYXNlVXJsLCB1cmwpLCBib2R5LCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyhib2R5KSB9KTtcclxuICAgICAgICAvLy5waXBlKFxyXG4gICAgICAgIC8vY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKHVybCkpXHJcbiAgICAgICAgLy8pO1xyXG4gICAgfVxyXG4gICAgZGVsZXRlPFQgPSBhbnk+KHVybDogc3RyaW5nLCBib2R5PzogYW55IHwgbnVsbCk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucmVxdWVzdDxUPignZGVsZXRlJywgVXJsSGVscGVyLmNvbWJpbmUodGhpcy5iYXNlVXJsLCB1cmwpLCB7IGJvZHksIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyhib2R5KSB9KTtcclxuICAgICAgICAvL3JldHVybiB0aGlzLmh0dHAuZGVsZXRlKGVudmlyb25tZW50LnVybCArIHVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KTtcclxuICAgICAgICAvLy5waXBlKFxyXG4gICAgICAgIC8vY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKHVybCkpXHJcbiAgICAgICAgLy8pO1xyXG4gICAgfVxyXG4gICAgcGF0Y2g8VCA9IGFueT4odXJsOiBzdHJpbmcsIGJvZHk/OiBhbnkgfCBudWxsKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDxUPihVcmxIZWxwZXIuY29tYmluZSh0aGlzLmJhc2VVcmwsIHVybCksIGJvZHksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKGJvZHkpIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SGVhZGVycyhib2R5PzogYW55IHwgbnVsbCk6IEh0dHBIZWFkZXJzIHtcclxuICAgICAgICBsZXQgaHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgICAgICBpZiAoIShib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpKVxyXG4gICAgICAgICAgICBodHRwSGVhZGVycyA9IGh0dHBIZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcclxuICAgICAgICBjb25zdCB0bXAgPSB0aGlzLmF1dGgudXNlcjtcclxuICAgICAgICBjb25zdCB0b2tlbiA9IHRtcCA/IHRtcC50b2tlbiA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodG9rZW4pXHJcbiAgICAgICAgICAgIGh0dHBIZWFkZXJzID0gaHR0cEhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgdG9rZW4pO1xyXG4gICAgICAgIHJldHVybiBodHRwSGVhZGVycztcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC8vcHJpdmF0ZSBnZXRQYXJhbXMocGFyYW1zPzogS2V5UGFpcltdIHwgbnVsbCkge1xyXG4gICAgLy8gICAgaWYgKCFwYXJhbXMgfHwgcGFyYW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAvLyAgICB9XHJcbiAgICAvLyAgICBsZXQgaHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAvLyAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAvLyAgICAgICAgZm9yIChsZXQgcGFyYW0gb2YgcGFyYW1zKSB7XHJcbiAgICAvLyAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldChwYXJhbS5rZXksIHBhcmFtLnZhbHVlKTtcclxuICAgIC8vICAgICAgICB9XHJcbiAgICAvLyAgICB9XHJcbiAgICAvLyAgICByZXR1cm4gaHR0cFBhcmFtcztcclxuICAgIC8vfVxyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21IdHRwUGFyYW1FbmNvZGVyIGltcGxlbWVudHMgSHR0cFBhcmFtZXRlckNvZGVjIHtcclxuICAgIGVuY29kZUtleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChrZXkpO1xyXG4gICAgfVxyXG4gICAgZW5jb2RlVmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBkZWNvZGVLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoa2V5KTtcclxuICAgIH1cclxuICAgIGRlY29kZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpO1xyXG4gICAgfVxyXG59Il19
|
package/esm2022/lib/tokens.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from "@angular/core";
|
|
2
|
-
export const API_BASE_URL = new InjectionToken('API_BASE_URL');
|
|
3
|
-
export const DATE_FORMAT = new InjectionToken('DATE_FORMAT');
|
|
4
|
-
export const LANGUAGE = new InjectionToken('LANGUAGE');
|
|
5
|
-
export const RECAPTCHA_SITE_KEY = new InjectionToken('RECAPTCHA_SITE_KEY');
|
|
6
|
-
export const GOOGLE_CLIENT_ID = new InjectionToken('GOOGLE_CLIENT_ID');
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFTLGNBQWMsQ0FBQyxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBUyxhQUFhLENBQUMsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQVMsVUFBVSxDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQVMsb0JBQW9CLENBQUMsQ0FBQztBQUNuRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFQSV9CQVNFX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdBUElfQkFTRV9VUkwnKTtcclxuZXhwb3J0IGNvbnN0IERBVEVfRk9STUFUID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0RBVEVfRk9STUFUJyk7XHJcbmV4cG9ydCBjb25zdCBMQU5HVUFHRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdMQU5HVUFHRScpO1xyXG5leHBvcnQgY29uc3QgUkVDQVBUQ0hBX1NJVEVfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ1JFQ0FQVENIQV9TSVRFX0tFWScpO1xyXG5leHBvcnQgY29uc3QgR09PR0xFX0NMSUVOVF9JRCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdHT09HTEVfQ0xJRU5UX0lEJyk7Il19
|