bx-rest 0.0.22 → 0.0.24
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/esm2020/request/lists/element.mjs +13 -1
- package/esm2020/services/http/sessionKey.mjs +10 -8
- package/esm2020/settings.mjs +8 -0
- package/esm2020/typification/settings.mjs +2 -0
- package/fesm2015/bx-rest.mjs +94 -47
- package/fesm2015/bx-rest.mjs.map +1 -1
- package/fesm2020/bx-rest.mjs +94 -47
- package/fesm2020/bx-rest.mjs.map +1 -1
- package/package.json +1 -1
- package/request/lists/element.d.ts +3 -0
- package/services/http/sessionKey.d.ts +1 -1
- package/settings.d.ts +2 -0
- package/typification/settings.d.ts +7 -0
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { $add, $delete, $element, $file, $get, $lists, $update, $url } from '../../consts/part-name-metods';
|
|
2
2
|
import { map } from 'rxjs/operators';
|
|
3
|
+
import HttpBXServices from '../../services/http/HttpBX';
|
|
4
|
+
import BXRestListsElementMap from '../../map/lists/element';
|
|
5
|
+
import { Injectable } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
3
7
|
export class BXRestListsElement {
|
|
4
8
|
constructor(http, mapResult) {
|
|
5
9
|
this.http = http;
|
|
@@ -19,4 +23,12 @@ export class BXRestListsElement {
|
|
|
19
23
|
: undefined));
|
|
20
24
|
}
|
|
21
25
|
}
|
|
22
|
-
|
|
26
|
+
BXRestListsElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, deps: [{ token: HttpBXServices }, { token: BXRestListsElementMap }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
+
BXRestListsElement.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, providedIn: 'root' });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, decorators: [{
|
|
29
|
+
type: Injectable,
|
|
30
|
+
args: [{
|
|
31
|
+
providedIn: 'root'
|
|
32
|
+
}]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: HttpBXServices }, { type: BXRestListsElementMap }]; } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvbGlzdHMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQzNHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwQyxPQUFPLGNBQWMsTUFBTSw0QkFBNEIsQ0FBQTtBQUN2RCxPQUFPLHFCQUFxQixNQUFNLHlCQUF5QixDQUFBO0FBRTNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBSzFDLE1BQU0sT0FBTyxrQkFBa0I7SUFTN0IsWUFDVSxJQUFvQixFQUNwQixTQUFnQztRQURoQyxTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUNwQixjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQVYxQyxRQUFHLEdBQUc7WUFDSixHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQztZQUM3QixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQztZQUNuQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQztZQUM3QixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQztZQUNuQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUUsZ0NBQWdDO1NBQ3BGLENBQUE7SUFNRCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQWlDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTJDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQzthQUNoRixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUN0QixDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7WUFDdEUsQ0FBQyxDQUFDLFNBQVMsQ0FDWixDQUNGLENBQUE7SUFDTCxDQUFDOzsrR0F2QlUsa0JBQWtCLGtCQVJ4QixjQUFjLGFBQ2QscUJBQXFCO21IQU9mLGtCQUFrQixjQUZqQixNQUFNOzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7MERBUE0sY0FBYyxZQUNkLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICRhZGQsICRkZWxldGUsICRlbGVtZW50LCAkZmlsZSwgJGdldCwgJGxpc3RzLCAkdXBkYXRlLCAkdXJsIH0gZnJvbSAnLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRvZHMnXHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgaUh0dHBBbnN3ZXJCWCBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXNlL2h0dHBBbnN3ZXJCWCdcclxuaW1wb3J0IEh0dHBCWFNlcnZpY2VzIGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvSHR0cEJYJ1xyXG5pbXBvcnQgQlhSZXN0TGlzdHNFbGVtZW50TWFwIGZyb20gJy4uLy4uL21hcC9saXN0cy9lbGVtZW50J1xyXG5pbXBvcnQgeyBpQlhSZXN0SHR0cExpc3RzRWxlbWVudCwgaUJYUmVzdFBhcmFtTGlzdHNFbGVtZW50R2V0IH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvbGlzdHMvZWxlbWVudC9nZXQnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TGlzdHNFbGVtZW50IHtcclxuICB1cmwgPSB7XHJcbiAgICBhZGQ6IFskbGlzdHMsICRlbGVtZW50LCAkYWRkXSwgLy8g0JzQtdGC0L7QtCDRgdC+0LfQtNCw0ZHRgiDRjdC70LXQvNC10L3RgiDRgdC/0LjRgdC60LBcclxuICAgIGRlbGV0ZTogWyRsaXN0cywgJGVsZW1lbnQsICRkZWxldGVdLCAvLyDQnNC10YLQvtC0INGD0LTQsNC70Y/QtdGCINGN0LvQtdC80LXQvdGCINGB0L/QuNGB0LrQsFxyXG4gICAgZ2V0OiBbJGxpc3RzLCAkZWxlbWVudCwgJGdldF0sIC8vINCc0LXRgtC+0LQg0LLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INGN0LvQtdC80LXQvdGC0L7QsiDQuNC70Lgg0Y3Qu9C10LzQtdC90YJcclxuICAgIHVwZGF0ZTogWyRsaXN0cywgJGVsZW1lbnQsICR1cGRhdGVdLCAvL1x00JzQtdGC0L7QtCDQvtCx0L3QvtCy0LvRj9C10YIg0Y3Qu9C10LzQtdC90YIg0YHQv9C40YHQutCwXHJcbiAgICBnZXRGaWxlVXJsOiBbJGxpc3RzLCAkZWxlbWVudCwgJGdldCwgJGZpbGUsICR1cmxdICAvLyDQnNC10YLQvtC0INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YPRgtGMINC6INGE0LDQudC70YNcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQlhTZXJ2aWNlcyxcclxuICAgIHByaXZhdGUgbWFwUmVzdWx0OiBCWFJlc3RMaXN0c0VsZW1lbnRNYXBcclxuICApIHtcclxuICB9XHJcblxyXG4gIGdldChwcmFtOiBpQlhSZXN0UGFyYW1MaXN0c0VsZW1lbnRHZXQpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpSHR0cEFuc3dlckJYPGlCWFJlc3RIdHRwTGlzdHNFbGVtZW50W10+Pih0aGlzLnVybC5nZXQsIHByYW0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCh2ID0+ICh2ICYmIHYucmVzdWx0KVxyXG4gICAgICAgICAgPyBPYmplY3QuYXNzaWduKHYsIHtyZXN1bHQ6IHYucmVzdWx0Lm1hcChpID0+IHRoaXMubWFwUmVzdWx0LmdldChpKSl9KVxyXG4gICAgICAgICAgOiB1bmRlZmluZWRcclxuICAgICAgICApXHJcbiAgICAgIClcclxuICB9XHJcblxyXG4gIC8vIGFkZChwYXJhbTogaVJlc3RCWFBhcmFtTGlzdHNFbGVtZW50QWRkKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDxudW1iZXI+Pih0aGlzLnVybC5hZGQsIHBhcmFtKVxyXG4gIC8vIH1cclxufVxyXG4iXX0=
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import Cookies from '../../services/vanilla/сookies';
|
|
3
3
|
// import { environment as env } from 'bx-rest/environments/environment'
|
|
4
|
-
import { filter, Subscription, take } from 'rxjs';
|
|
4
|
+
import { filter, of, Subscription, take } from 'rxjs';
|
|
5
5
|
import { saveAccessToken } from '../../store/auth';
|
|
6
6
|
import { map } from 'rxjs/operators';
|
|
7
|
-
import { BaseServices } from '
|
|
7
|
+
import { BaseServices } from '../base';
|
|
8
8
|
import { LocalStorageServices as LocalStorage } from '../../services/vanilla/localStorage';
|
|
9
|
+
import { REST_SETTINGS } from '../../settings';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "@ngrx/store";
|
|
11
12
|
import * as i2 from "@angular/router";
|
|
@@ -159,11 +160,12 @@ export default class SessionKeyServices extends BaseServices {
|
|
|
159
160
|
return false;
|
|
160
161
|
}
|
|
161
162
|
getAuthParams() {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
switch (REST_SETTINGS.auth) {
|
|
164
|
+
case 'cookies':
|
|
165
|
+
return of(this.getAuth());
|
|
166
|
+
default:
|
|
167
|
+
return this.authData$.pipe(take(1), map(v => (v) ? v.access_token : undefined));
|
|
168
|
+
}
|
|
167
169
|
}
|
|
168
170
|
getBaseUrl() {
|
|
169
171
|
return this.authData$.pipe(map(v => (v && v.domain) ? this.prepareBaseAddress(v.domain, 'b24.trace-studio.com') : undefined));
|
|
@@ -177,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
177
179
|
providedIn: 'root'
|
|
178
180
|
}]
|
|
179
181
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.ActivatedRoute }, { type: i3.RestServices }]; } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sT0FBTyxNQUFNLGdDQUFnQyxDQUFBO0FBR3BELHdFQUF3RTtBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFjLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBMkIsTUFBTSxrQkFBa0IsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTs7Ozs7QUFRMUYsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0lBU3hELFlBQ1csS0FBMkMsRUFDMUMsS0FBcUIsRUFDdEIsUUFBc0I7UUFFN0IsS0FBSyxFQUFFLENBQUE7UUFKQSxVQUFLLEdBQUwsS0FBSyxDQUFzQztRQUMxQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBVmpDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHaEIsY0FBUyxHQUFHO1lBQ1IsUUFBUSxFQUFFLElBQUksWUFBWSxFQUFFO1NBQy9CLENBQUE7UUFRRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLElB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Q0YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDdEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FDcEcsQ0FBQTtJQUNULENBQUM7OytHQXJMZ0Isa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGdkIsTUFBTTsyRkFFRCxrQkFBa0I7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgQ29va2llcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL9GBb29raWVzJ1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCBzYXZlQXBwbGljYXRpb25BdXRoIGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9hdXRoL3NhdmUnXG4vLyBpbXBvcnQgeyBlbnZpcm9ubWVudCBhcyBlbnYgfSBmcm9tICdieC1yZXN0L2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCdcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0YWtlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IHNhdmVBY2Nlc3NUb2tlbiwgc2F2ZUFwcGxpY2F0aW9uQXV0aFBhdGggfSBmcm9tICcuLi8uLi9zdG9yZS9hdXRoJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBCYXNlU2VydmljZXMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iYXNlJ1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZXMgYXMgTG9jYWxTdG9yYWdlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFuaWxsYS9sb2NhbFN0b3JhZ2UnXG5pbXBvcnQgeyBSZXN0U2VydmljZXMgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9hcGktbGliJ1xuXG50eXBlIElLZXlBdXRoID0gJ3Nlc3NpZCcgfCAnYXV0aCcgfCBzdHJpbmdcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlc3Npb25LZXlTZXJ2aWNlcyBleHRlbmRzIEJhc2VTZXJ2aWNlcyB7XG5cbiAgICBhdXRoSGF2ZSA9IGZhbHNlXG4gICAgYXV0aERhdGEkOiBPYnNlcnZhYmxlPHNhdmVBcHBsaWNhdGlvbkF1dGg+XG4gICAgYXV0aERhdGE6IHNhdmVBcHBsaWNhdGlvbkF1dGggfCB1bmRlZmluZWRcbiAgICBzdWJzY3JpYmUgPSB7XG4gICAgICAgIGF1dGhEYXRhOiBuZXcgU3Vic2NyaXB0aW9uKClcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHN0b3JlOiBTdG9yZTx7IGF1dGg6IHNhdmVBcHBsaWNhdGlvbkF1dGggfT4sXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwdWJsaWMgQnhBcGlMaWI6IFJlc3RTZXJ2aWNlcyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKVxuICAgICAgICB0aGlzLmF1dGhEYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KCdhdXRoJylcbiAgICAgICAgdGhpcy5hdXRoRGF0YSQuc3Vic2NyaWJlKGF1dGhEYXRhID0+IHtcbiAgICAgICAgICAgIGlmICgoYXV0aERhdGEgJiYgIWF1dGhEYXRhLmFjY2Vzc190b2tlbi5sZW5ndGgpIHx8ICFhdXRoRGF0YSkge1xuICAgICAgICAgICAgICAgIC8vINC/0L7Qu9GD0YfQsNC10Lwg0YLQvtC60LXQvSDQv9C+INGB0L7QsdGB0YLQstC10L3QvdGL0Lwg0LrQsNC90LDQu9C+0LwgKNCyINCx0LjRgtGA0LjQutGB0LUg0L/RgNC40LvQvtC20LXQvdC40LUgdHJhY2U6YXBwcy50cmFjZSlcbiAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gIT09IHdpbmRvdy5vcmlnaW4pIHsgLy8g0L/RgNC+0LLQtdGA0Y/QtdC8INGH0YLQviDRjdGC0L4g0L3QtSDQvdCw0YjQtSDRgdC+0L7QsdGJ0LXQvdC40LUgKNGBINGC0LXQutGD0YnQtdCz0L4g0L/RgNC40LvQvtC20LXQvdC40Y8pXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLnBhcmFtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBldmVudC5kYXRhLnBhcmFtID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5kYXRhLnBhcmFtID0gSlNPTi5wYXJzZShldmVudC5kYXRhLnBhcmFtKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzYXZlOiBzYXZlQXBwbGljYXRpb25BdXRoUGF0aCA9IHt9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5wYXJhbS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmFtID0gZXZlbnQuZGF0YS5wYXJhbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZS5hY2Nlc3NfdG9rZW4gPSBldmVudC5kYXRhLnBhcmFtLmFjY2Vzc190b2tlblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzX3Rva2VuOiAocGFyYW0uYWNjZXNzX3Rva2VuKSA/IHBhcmFtLmFjY2Vzc190b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9lbmRwb2ludDogKHBhcmFtLmNsaWVudF9lbmRwb2ludCkgPyBwYXJhbS5jbGllbnRfZW5kcG9pbnQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW46IChwYXJhbS5kb21haW4pID8gcGFyYW0uZG9tYWluIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlczogKHBhcmFtLmV4cGlyZXMpID8gcGFyYW0uZXhwaXJlcyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXNfaW46IChwYXJhbS5leHBpcmVzX2luKSA/IHBhcmFtLmV4cGlyZXNfaW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1iZXJfaWQ6IChwYXJhbS5tZW1iZXJfaWQpID8gcGFyYW0ubWVtYmVyX2lkIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaF90b2tlbjogKHBhcmFtLnJlZnJlc2hfdG9rZW4pID8gcGFyYW0ucmVmcmVzaF90b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlOiAocGFyYW0uc2NvcGUpID8gcGFyYW0uc2NvcGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfZW5kcG9pbnQ6IChwYXJhbS5zZXJ2ZXJfZW5kcG9pbnQpID8gcGFyYW0uc2VydmVyX2VuZHBvaW50IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAocGFyYW0uc3RhdHVzKSA/IHBhcmFtLnN0YXR1cyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IChwYXJhbS51c2VyX2lkKSA/IHBhcmFtLnVzZXJfaWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAocGFyYW0udHlwZSkgPyBwYXJhbS50eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNhdmUpLmxlbmd0aCAmJiBzYXZlLmFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihzYXZlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVBbGwoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZS5hdXRoRGF0YSA9IHRoaXMucm91dGUucXVlcnlQYXJhbU1hcFxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihwYXJhbSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtLmhhcygnQVVUSF9JRCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgcGFyYW0uaGFzKCdhY2Nlc3NfdG9rZW4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnUkVGUkVTSF9JRCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgcGFyYW0uaGFzKCdET01BSU4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHBhcmFtOiBQYXJhbU1hcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNhdmU6IHNhdmVBcHBsaWNhdGlvbkF1dGhQYXRoID0ge31cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ0FVVEhfSUQnKSAmJiAhYXV0aERhdGEuYWNjZXNzX3Rva2VuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnQVVUSF9JRCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb29raWVzLnNldCgnYXV0aCcsIGdldCkgLy8g0L/QvtGC0L7QvCDRg9Cx0YDQsNGC0YxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZS5hY2Nlc3NfdG9rZW4gPSBnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ2FjY2Vzc190b2tlbicpICYmICFhdXRoRGF0YS5hY2Nlc3NfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdhY2Nlc3NfdG9rZW4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcy5zZXQoJ2F1dGgnLCBnZXQpIC8vINC/0L7RgtC+0Lwg0YPQsdGA0LDRgtGMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyYW0uaGFzKCdSRUZSRVNIX0lEJykgJiYgIWF1dGhEYXRhLnJlZnJlc2hfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdSRUZSRVNIX0lEJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUucmVmcmVzaF90b2tlbiA9IGdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnRE9NQUlOJykgJiYgIWF1dGhEYXRhLmRvbWFpbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnZXQgPSBwYXJhbS5nZXQoJ0RPTUFJTicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlLmRvbWFpbiA9IGdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzYXZlKS5sZW5ndGggJiYgc2F2ZS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihzYXZlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZUFsbCgpXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vINC10YHQu9C4INCx0LjRgtGA0LjQutGBINC90LUg0YjQu9GR0YIg0L3Rg9C20L3Ri9C1INC80L3QtSDQv9Cw0YDQsNC80LXRgtGA0Ysg0L3QsCDQv9GA0Y/QvNGD0Y5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDQv9GA0L7RgdC40Lwg0LjRhSDQvNC90LUg0L7RgtC00LDRgtGMINGC0LDQuiDQutCw0Log0L7Qv9C40YHQsNC90L4g0Y3RgtC+INCyINC00L7QutGD0LzQtdC90YLQsNGG0LjQuFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5CeEFwaUxpYi5CWDI0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbml0RGF0ZSA9IHRoaXMuQnhBcGlMaWIuQlgyNC5nZXRBdXRoKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZUFjY2Vzc1Rva2VuKGluaXREYXRlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuQnhBcGlMaWIuaW5pdChmKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0QXV0aCgpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXV0aEhhdmUgPSB0cnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuYXV0aERhdGEgPSBhdXRoRGF0YVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIHN1YnNjcmliZUFsbCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmUuYXV0aERhdGEudW5zdWJzY3JpYmUoKVxuICAgIH1cblxuICAgIGdldEF1dGgoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCg8YW55PndpbmRvdykuQlggJiYgKDxhbnk+d2luZG93KS5CWC5iaXRyaXhfc2Vzc2lkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgc3RyID0gdGhpcy5nZXRTZXNzaWQoKVxuICAgICAgICAgICAgcmV0dXJuIChzdHIpID8gc3RyIDogJydcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRLZXlBdXRoKCk6IElLZXlBdXRoIHtcbiAgICAgICAgaWYgKCg8YW55PndpbmRvdykuQlggJiYgKDxhbnk+d2luZG93KS5CWC5iaXRyaXhfc2Vzc2lkKClcbiAgICAgICAgICAgIHx8IHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3Nlc3NpZCdcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnYXV0aCdcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNlc3NpZCgpIHtcbiAgICAgICAgY29uc3QgY2hlY2sgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdzZXNzaWQnKVxuICAgICAgICBpZiAoY2hlY2spIHtcbiAgICAgICAgICAgIExvY2FsU3RvcmFnZS5zZXQoJ3Nlc3NpZCcsIGNoZWNrKVxuICAgICAgICAgICAgcmV0dXJuIGNoZWNrXG4gICAgICAgIH0gZWxzZSBpZiAoTG9jYWxTdG9yYWdlLmdldCgnc2Vzc2lkJykpIHtcbiAgICAgICAgICAgIHJldHVybiBMb2NhbFN0b3JhZ2UuZ2V0KCdzZXNzaWQnKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJ1xuICAgIH1cblxuICAgIHNldEF1dGhQYXJhbXM8VD4ocGFyYW1zOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qga2V5QXV0aCA9IHRoaXMuZ2V0S2V5QXV0aCgpXG4gICAgICAgIGlmIChwYXJhbXNba2V5QXV0aF0pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH0gZWxzZSBpZiAoa2V5QXV0aCkge1xuICAgICAgICAgICAgcGFyYW1zW2tleUF1dGhdID0gdGhpcy5nZXRBdXRoKClcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgZ2V0QXV0aFBhcmFtcygpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICAvLyBpZiAoZW52LnByb2R1Y3Rpb24gJiYgIWVudi5jb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmF1dGhEYXRhJC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgbWFwKHYgPT4gKHYpID8gdi5hY2Nlc3NfdG9rZW4gOiB1bmRlZmluZWQpXG4gICAgICAgICAgICApXG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICByZXR1cm4gb2YodGhpcy5nZXRBdXRoKCkpXG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBnZXRCYXNlVXJsKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hdXRoRGF0YSQucGlwZShcbiAgICAgICAgICAgICAgICBtYXAodiA9PiAodiAmJiB2LmRvbWFpbikgPyB0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh2LmRvbWFpbiwgJ2IyNC50cmFjZS1zdHVkaW8uY29tJykgOiB1bmRlZmluZWQpXG4gICAgICAgICAgICApXG4gICAgfVxuXG4gICAgLy8gZ2V0SG9tZVVybCgpOiBzdHJpbmcge1xuICAgIC8vICAgICByZXR1cm4gZW52LnVybHMuaG9tZVxuICAgIC8vIH1cbn1cbiJdfQ==
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sT0FBTyxNQUFNLGdDQUFnQyxDQUFBO0FBR3BELHdFQUF3RTtBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRWpFLE9BQU8sRUFBRSxlQUFlLEVBQTJCLE1BQU0sa0JBQWtCLENBQUE7QUFDM0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDdEMsT0FBTyxFQUFFLG9CQUFvQixJQUFJLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBRTFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFPL0MsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0lBUzFELFlBQ1MsS0FBMkMsRUFDMUMsS0FBcUIsRUFDdEIsUUFBc0I7UUFFN0IsS0FBSyxFQUFFLENBQUE7UUFKQSxVQUFLLEdBQUwsS0FBSyxDQUFzQztRQUMxQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBVi9CLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHaEIsY0FBUyxHQUFHO1lBQ1YsUUFBUSxFQUFFLElBQUksWUFBWSxFQUFFO1NBQzdCLENBQUE7UUFRQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxTQUFTLENB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QUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUMzQyxDQUFBO1NBQ0o7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQ2xHLENBQUE7SUFDSCxDQUFDOzsrR0F0TGtCLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRnpCLE1BQU07MkZBRUMsa0JBQWtCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IENvb2tpZXMgZnJvbSAnLi4vLi4vc2VydmljZXMvdmFuaWxsYS/RgW9va2llcydcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQgc2F2ZUFwcGxpY2F0aW9uQXV0aCBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vYXV0aC9zYXZlJ1xuLy8gaW1wb3J0IHsgZW52aXJvbm1lbnQgYXMgZW52IH0gZnJvbSAnYngtcmVzdC9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnXG5pbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24sIHRha2UgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtTWFwIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgc2F2ZUFjY2Vzc1Rva2VuLCBzYXZlQXBwbGljYXRpb25BdXRoUGF0aCB9IGZyb20gJy4uLy4uL3N0b3JlL2F1dGgnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEJhc2VTZXJ2aWNlcyB9IGZyb20gJy4uL2Jhc2UnXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlcyBhcyBMb2NhbFN0b3JhZ2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL2xvY2FsU3RvcmFnZSdcbmltcG9ydCB7IFJlc3RTZXJ2aWNlcyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2FwaS1saWInXG5pbXBvcnQgeyBSRVNUX1NFVFRJTkdTIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3MnO1xuXG50eXBlIElLZXlBdXRoID0gJ3Nlc3NpZCcgfCAnYXV0aCcgfCBzdHJpbmdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXNzaW9uS2V5U2VydmljZXMgZXh0ZW5kcyBCYXNlU2VydmljZXMge1xuXG4gIGF1dGhIYXZlID0gZmFsc2VcbiAgYXV0aERhdGEkOiBPYnNlcnZhYmxlPHNhdmVBcHBsaWNhdGlvbkF1dGg+XG4gIGF1dGhEYXRhOiBzYXZlQXBwbGljYXRpb25BdXRoIHwgdW5kZWZpbmVkXG4gIHN1YnNjcmliZSA9IHtcbiAgICBhdXRoRGF0YTogbmV3IFN1YnNjcmlwdGlvbigpXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc3RvcmU6IFN0b3JlPHsgYXV0aDogc2F2ZUFwcGxpY2F0aW9uQXV0aCB9PixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgQnhBcGlMaWI6IFJlc3RTZXJ2aWNlcyxcbiAgKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuYXV0aERhdGEkID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2F1dGgnKVxuICAgIHRoaXMuYXV0aERhdGEkLnN1YnNjcmliZShhdXRoRGF0YSA9PiB7XG4gICAgICBpZiAoKGF1dGhEYXRhICYmICFhdXRoRGF0YS5hY2Nlc3NfdG9rZW4ubGVuZ3RoKSB8fCAhYXV0aERhdGEpIHtcbiAgICAgICAgLy8g0L/QvtC70YPRh9Cw0LXQvCDRgtC+0LrQtdC9INC/0L4g0YHQvtCx0YHRgtCy0LXQvdC90YvQvCDQutCw0L3QsNC70L7QvCAo0LIg0LHQuNGC0YDQuNC60YHQtSDQv9GA0LjQu9C+0LbQtdC90LjQtSB0cmFjZTphcHBzLnRyYWNlKVxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiAhPT0gd2luZG93Lm9yaWdpbikgeyAvLyDQv9GA0L7QstC10YDRj9C10Lwg0YfRgtC+INGN0YLQviDQvdC1INC90LDRiNC1INGB0L7QvtCx0YnQtdC90LjQtSAo0YEg0YLQtdC60YPRidC10LPQviDQv9GA0LjQu9C+0LbQtdC90LjRjylcbiAgICAgICAgICAgIGlmIChldmVudC5kYXRhICYmIGV2ZW50LmRhdGEucGFyYW0pIHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBldmVudC5kYXRhLnBhcmFtID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGV2ZW50LmRhdGEucGFyYW0gPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEucGFyYW0pXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBsZXQgc2F2ZTogc2F2ZUFwcGxpY2F0aW9uQXV0aFBhdGggPSB7fVxuXG4gICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLnBhcmFtLmFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgICAgIGxldCBwYXJhbSA9IGV2ZW50LmRhdGEucGFyYW07XG4gICAgICAgICAgICAgICAgc2F2ZS5hY2Nlc3NfdG9rZW4gPSBldmVudC5kYXRhLnBhcmFtLmFjY2Vzc190b2tlblxuICAgICAgICAgICAgICAgIHNhdmUgPSB7XG4gICAgICAgICAgICAgICAgICBhY2Nlc3NfdG9rZW46IChwYXJhbS5hY2Nlc3NfdG9rZW4pID8gcGFyYW0uYWNjZXNzX3Rva2VuIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgY2xpZW50X2VuZHBvaW50OiAocGFyYW0uY2xpZW50X2VuZHBvaW50KSA/IHBhcmFtLmNsaWVudF9lbmRwb2ludCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGRvbWFpbjogKHBhcmFtLmRvbWFpbikgPyBwYXJhbS5kb21haW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBleHBpcmVzOiAocGFyYW0uZXhwaXJlcykgPyBwYXJhbS5leHBpcmVzIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgZXhwaXJlc19pbjogKHBhcmFtLmV4cGlyZXNfaW4pID8gcGFyYW0uZXhwaXJlc19pbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIG1lbWJlcl9pZDogKHBhcmFtLm1lbWJlcl9pZCkgPyBwYXJhbS5tZW1iZXJfaWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICByZWZyZXNoX3Rva2VuOiAocGFyYW0ucmVmcmVzaF90b2tlbikgPyBwYXJhbS5yZWZyZXNoX3Rva2VuIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgc2NvcGU6IChwYXJhbS5zY29wZSkgPyBwYXJhbS5zY29wZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHNlcnZlcl9lbmRwb2ludDogKHBhcmFtLnNlcnZlcl9lbmRwb2ludCkgPyBwYXJhbS5zZXJ2ZXJfZW5kcG9pbnQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBzdGF0dXM6IChwYXJhbS5zdGF0dXMpID8gcGFyYW0uc3RhdHVzIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgdXNlcl9pZDogKHBhcmFtLnVzZXJfaWQpID8gcGFyYW0udXNlcl9pZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHR5cGU6IChwYXJhbS50eXBlKSA/IHBhcmFtLnR5cGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNhdmUpLmxlbmd0aCAmJiBzYXZlLmFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZUFjY2Vzc1Rva2VuKHNhdmUpKVxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlQWxsKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzLnN1YnNjcmliZS5hdXRoRGF0YSA9IHRoaXMucm91dGUucXVlcnlQYXJhbU1hcFxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHBhcmFtID0+XG4gICAgICAgICAgICAgIHBhcmFtLmhhcygnQVVUSF9JRCcpXG4gICAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnYWNjZXNzX3Rva2VuJylcbiAgICAgICAgICAgICAgfHwgcGFyYW0uaGFzKCdSRUZSRVNIX0lEJylcbiAgICAgICAgICAgICAgfHwgcGFyYW0uaGFzKCdET01BSU4nKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKChwYXJhbTogUGFyYW1NYXApID0+IHtcbiAgICAgICAgICAgIGxldCBzYXZlOiBzYXZlQXBwbGljYXRpb25BdXRoUGF0aCA9IHt9XG4gICAgICAgICAgICBpZiAocGFyYW0uaGFzKCdBVVRIX0lEJykgJiYgIWF1dGhEYXRhLmFjY2Vzc190b2tlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdBVVRIX0lEJylcbiAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgIENvb2tpZXMuc2V0KCdhdXRoJywgZ2V0KSAvLyDQv9C+0YLQvtC8INGD0LHRgNCw0YLRjFxuICAgICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnYWNjZXNzX3Rva2VuJykgJiYgIWF1dGhEYXRhLmFjY2Vzc190b2tlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdhY2Nlc3NfdG9rZW4nKVxuICAgICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgICAgQ29va2llcy5zZXQoJ2F1dGgnLCBnZXQpIC8vINC/0L7RgtC+0Lwg0YPQsdGA0LDRgtGMXG4gICAgICAgICAgICAgICAgc2F2ZS5hY2Nlc3NfdG9rZW4gPSBnZXRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocGFyYW0uaGFzKCdSRUZSRVNIX0lEJykgJiYgIWF1dGhEYXRhLnJlZnJlc2hfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnUkVGUkVTSF9JRCcpXG4gICAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgICBzYXZlLnJlZnJlc2hfdG9rZW4gPSBnZXRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocGFyYW0uaGFzKCdET01BSU4nKSAmJiAhYXV0aERhdGEuZG9tYWluLmxlbmd0aCkge1xuICAgICAgICAgICAgICBjb25zdCBnZXQgPSBwYXJhbS5nZXQoJ0RPTUFJTicpXG4gICAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgICBzYXZlLmRvbWFpbiA9IGdldFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoc2F2ZSkubGVuZ3RoICYmIHNhdmUuYWNjZXNzX3Rva2VuKSB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZUFjY2Vzc1Rva2VuKHNhdmUpKVxuICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZUFsbCgpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyDQtdGB0LvQuCDQsdC40YLRgNC40LrRgSDQvdC1INGI0LvRkdGCINC90YPQttC90YvQtSDQvNC90LUg0L/QsNGA0LDQvNC10YLRgNGLINC90LAg0L/RgNGP0LzRg9GOXG4gICAgICAgICAgICAgIC8vINC/0YDQvtGB0LjQvCDQuNGFINC80L3QtSDQvtGC0LTQsNGC0Ywg0YLQsNC6INC60LDQuiDQvtC/0LjRgdCw0L3QviDRjdGC0L4g0LIg0LTQvtC60YPQvNC10L3RgtCw0YbQuNC4XG4gICAgICAgICAgICAgIGxldCBmID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLkJ4QXBpTGliLkJYMjQpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGluaXREYXRlID0gdGhpcy5CeEFwaUxpYi5CWDI0LmdldEF1dGgoKVxuICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlQWNjZXNzVG9rZW4oaW5pdERhdGUpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRoaXMuQnhBcGlMaWIuaW5pdChmKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5nZXRBdXRoKCkubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuYXV0aEhhdmUgPSB0cnVlXG4gICAgICB9XG5cbiAgICAgIHRoaXMuYXV0aERhdGEgPSBhdXRoRGF0YVxuICAgIH0pXG4gIH1cblxuICBzdWJzY3JpYmVBbGwoKSB7XG4gICAgdGhpcy5zdWJzY3JpYmUuYXV0aERhdGEudW5zdWJzY3JpYmUoKVxuICB9XG5cbiAgZ2V0QXV0aCgpOiBzdHJpbmcge1xuICAgIGlmICgoPGFueT53aW5kb3cpLkJYICYmICg8YW55PndpbmRvdykuQlguYml0cml4X3Nlc3NpZCgpKSB7XG4gICAgICByZXR1cm4gKDxhbnk+d2luZG93KS5CWC5iaXRyaXhfc2Vzc2lkKClcbiAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoKSB7XG4gICAgICBsZXQgc3RyID0gdGhpcy5nZXRTZXNzaWQoKVxuICAgICAgcmV0dXJuIChzdHIpID8gc3RyIDogJydcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIENvb2tpZXMuZ2V0KCdhdXRoJylcbiAgICB9XG4gIH1cblxuICBnZXRLZXlBdXRoKCk6IElLZXlBdXRoIHtcbiAgICBpZiAoKDxhbnk+d2luZG93KS5CWCAmJiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgfHwgdGhpcy5nZXRTZXNzaWQoKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiAnc2Vzc2lkJ1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ2F1dGgnXG4gICAgfVxuICB9XG5cbiAgZ2V0U2Vzc2lkKCkge1xuICAgIGNvbnN0IGNoZWNrID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhkb2N1bWVudC5sb2NhdGlvbi5zZWFyY2gpLmdldCgnc2Vzc2lkJylcbiAgICBpZiAoY2hlY2spIHtcbiAgICAgIExvY2FsU3RvcmFnZS5zZXQoJ3Nlc3NpZCcsIGNoZWNrKVxuICAgICAgcmV0dXJuIGNoZWNrXG4gICAgfSBlbHNlIGlmIChMb2NhbFN0b3JhZ2UuZ2V0KCdzZXNzaWQnKSkge1xuICAgICAgcmV0dXJuIExvY2FsU3RvcmFnZS5nZXQoJ3Nlc3NpZCcpXG4gICAgfVxuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgc2V0QXV0aFBhcmFtczxUPihwYXJhbXM6IGFueSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGtleUF1dGggPSB0aGlzLmdldEtleUF1dGgoKVxuICAgIGlmIChwYXJhbXNba2V5QXV0aF0pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBlbHNlIGlmIChrZXlBdXRoKSB7XG4gICAgICBwYXJhbXNba2V5QXV0aF0gPSB0aGlzLmdldEF1dGgoKVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBnZXRBdXRoUGFyYW1zKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgc3dpdGNoIChSRVNUX1NFVFRJTkdTLmF1dGgpIHtcbiAgICAgIGNhc2UgJ2Nvb2tpZXMnOlxuICAgICAgICByZXR1cm4gb2YodGhpcy5nZXRBdXRoKCkpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5hdXRoRGF0YSQucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIG1hcCh2ID0+ICh2KSA/IHYuYWNjZXNzX3Rva2VuIDogdW5kZWZpbmVkKVxuICAgICAgICApXG4gICAgfVxuICB9XG5cbiAgZ2V0QmFzZVVybCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmF1dGhEYXRhJC5waXBlKFxuICAgICAgbWFwKHYgPT4gKHYgJiYgdi5kb21haW4pID8gdGhpcy5wcmVwYXJlQmFzZUFkZHJlc3Modi5kb21haW4sICdiMjQudHJhY2Utc3R1ZGlvLmNvbScpIDogdW5kZWZpbmVkKVxuICAgIClcbiAgfVxuXG4gIC8vIGdldEhvbWVVcmwoKTogc3RyaW5nIHtcbiAgLy8gICAgIHJldHVybiBlbnYudXJscy5ob21lXG4gIC8vIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const REST_SETTINGS = {
|
|
2
|
+
support: {
|
|
3
|
+
map: true,
|
|
4
|
+
result: true
|
|
5
|
+
},
|
|
6
|
+
auth: 'cookies'
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQzFDLE9BQU8sRUFBRTtRQUNQLEdBQUcsRUFBRSxJQUFJO1FBQ1QsTUFBTSxFQUFFLElBQUk7S0FDYjtJQUNELElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpUmVzdFNldHRpbmdzIH0gZnJvbSAnLi90eXBpZmljYXRpb24vc2V0dGluZ3MnXHJcblxyXG5leHBvcnQgY29uc3QgUkVTVF9TRVRUSU5HUzogaVJlc3RTZXR0aW5ncyA9IHtcclxuICBzdXBwb3J0OiB7XHJcbiAgICBtYXA6IHRydWUsXHJcbiAgICByZXN1bHQ6IHRydWVcclxuICB9LFxyXG4gIGF1dGg6ICdjb29raWVzJ1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgaVJlc3RTZXR0aW5ncyB7XHJcbiAgc3VwcG9ydDoge1xyXG4gICAgbWFwOiBib29sZWFuXHJcbiAgICByZXN1bHQ6IGJvb2xlYW5cclxuICB9XHJcbiAgYXV0aDogJ2Nvb2tpZXMnXHJcbn1cclxuIl19
|
package/fesm2015/bx-rest.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { NgModule, inject, Component, ViewEncapsulation, Inject, Injectable } from '@angular/core';
|
|
3
3
|
import { map, catchError, tap, mergeMap as mergeMap$1, first } from 'rxjs/operators';
|
|
4
4
|
import { Subscription, filter, take, of, throwError, forkJoin, mergeMap } from 'rxjs';
|
|
5
5
|
import clone from 'just-clone';
|
|
@@ -93,47 +93,6 @@ const $id = 'id';
|
|
|
93
93
|
const $element = 'element';
|
|
94
94
|
const $url = 'url';
|
|
95
95
|
|
|
96
|
-
class BXRestListsElement {
|
|
97
|
-
constructor(http, mapResult) {
|
|
98
|
-
this.http = http;
|
|
99
|
-
this.mapResult = mapResult;
|
|
100
|
-
this.url = {
|
|
101
|
-
add: [$lists, $element, $add],
|
|
102
|
-
delete: [$lists, $element, $delete],
|
|
103
|
-
get: [$lists, $element, $get],
|
|
104
|
-
update: [$lists, $element, $update],
|
|
105
|
-
getFileUrl: [$lists, $element, $get, $file, $url] // Метод возвращает путь к файлу
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
get(pram) {
|
|
109
|
-
return this.http.post(this.url.get, pram)
|
|
110
|
-
.pipe(map(v => (v && v.result)
|
|
111
|
-
? Object.assign(v, { result: v.result.map(i => this.mapResult.get(i)) })
|
|
112
|
-
: undefined));
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
class BXRestLists {
|
|
117
|
-
constructor(element) {
|
|
118
|
-
this.element = element;
|
|
119
|
-
this.url = {
|
|
120
|
-
add: [$lists, $add],
|
|
121
|
-
delete: [$lists, $delete],
|
|
122
|
-
get: [$lists, $get],
|
|
123
|
-
update: [$lists, $update],
|
|
124
|
-
getIblockTypeId: [$lists, $get, $iblock, $type, $id], // Метод возвращает id типа инфоблока
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
BXRestLists.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestLists, deps: [{ token: BXRestListsElement }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
129
|
-
BXRestLists.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestLists, providedIn: 'root' });
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestLists, decorators: [{
|
|
131
|
-
type: Injectable,
|
|
132
|
-
args: [{
|
|
133
|
-
providedIn: 'root'
|
|
134
|
-
}]
|
|
135
|
-
}], ctorParameters: function () { return [{ type: BXRestListsElement }]; } });
|
|
136
|
-
|
|
137
96
|
class BxRestModule {
|
|
138
97
|
}
|
|
139
98
|
BxRestModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BxRestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -710,6 +669,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
710
669
|
}]
|
|
711
670
|
}] });
|
|
712
671
|
|
|
672
|
+
const REST_SETTINGS = {
|
|
673
|
+
support: {
|
|
674
|
+
map: true,
|
|
675
|
+
result: true
|
|
676
|
+
},
|
|
677
|
+
auth: 'cookies'
|
|
678
|
+
};
|
|
679
|
+
|
|
713
680
|
class RestServices {
|
|
714
681
|
constructor() {
|
|
715
682
|
this.BX24 = false;
|
|
@@ -878,11 +845,12 @@ class SessionKeyServices extends BaseServices {
|
|
|
878
845
|
return false;
|
|
879
846
|
}
|
|
880
847
|
getAuthParams() {
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
848
|
+
switch (REST_SETTINGS.auth) {
|
|
849
|
+
case 'cookies':
|
|
850
|
+
return of(this.getAuth());
|
|
851
|
+
default:
|
|
852
|
+
return this.authData$.pipe(take(1), map(v => (v) ? v.access_token : undefined));
|
|
853
|
+
}
|
|
886
854
|
}
|
|
887
855
|
getBaseUrl() {
|
|
888
856
|
return this.authData$.pipe(map(v => (v && v.domain) ? this.prepareBaseAddress(v.domain, 'b24.trace-studio.com') : undefined));
|
|
@@ -1312,6 +1280,85 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
1312
1280
|
}]
|
|
1313
1281
|
}] });
|
|
1314
1282
|
|
|
1283
|
+
let BaseMapServices$1 = class BaseMapServices extends BaseServices {
|
|
1284
|
+
};
|
|
1285
|
+
BaseMapServices$1.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseMapServices$1, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
1286
|
+
BaseMapServices$1.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseMapServices$1, providedIn: 'root' });
|
|
1287
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseMapServices$1, decorators: [{
|
|
1288
|
+
type: Injectable,
|
|
1289
|
+
args: [{
|
|
1290
|
+
providedIn: 'root'
|
|
1291
|
+
}]
|
|
1292
|
+
}] });
|
|
1293
|
+
|
|
1294
|
+
class BXRestListsElementMap extends BaseMapServices$1 {
|
|
1295
|
+
get(item) {
|
|
1296
|
+
return Object.assign(item, {
|
|
1297
|
+
BP_PUBLISHED: item.BP_PUBLISHED === 'Y',
|
|
1298
|
+
CREATED_BY: this.toNum(item.CREATED_BY),
|
|
1299
|
+
IBLOCK_ID: this.toNum(item.IBLOCK_ID),
|
|
1300
|
+
ID: this.toNum(item.ID)
|
|
1301
|
+
});
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
BXRestListsElementMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElementMap, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
1305
|
+
BXRestListsElementMap.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElementMap, providedIn: 'root' });
|
|
1306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElementMap, decorators: [{
|
|
1307
|
+
type: Injectable,
|
|
1308
|
+
args: [{
|
|
1309
|
+
providedIn: 'root'
|
|
1310
|
+
}]
|
|
1311
|
+
}] });
|
|
1312
|
+
|
|
1313
|
+
class BXRestListsElement {
|
|
1314
|
+
constructor(http, mapResult) {
|
|
1315
|
+
this.http = http;
|
|
1316
|
+
this.mapResult = mapResult;
|
|
1317
|
+
this.url = {
|
|
1318
|
+
add: [$lists, $element, $add],
|
|
1319
|
+
delete: [$lists, $element, $delete],
|
|
1320
|
+
get: [$lists, $element, $get],
|
|
1321
|
+
update: [$lists, $element, $update],
|
|
1322
|
+
getFileUrl: [$lists, $element, $get, $file, $url] // Метод возвращает путь к файлу
|
|
1323
|
+
};
|
|
1324
|
+
}
|
|
1325
|
+
get(pram) {
|
|
1326
|
+
return this.http.post(this.url.get, pram)
|
|
1327
|
+
.pipe(map(v => (v && v.result)
|
|
1328
|
+
? Object.assign(v, { result: v.result.map(i => this.mapResult.get(i)) })
|
|
1329
|
+
: undefined));
|
|
1330
|
+
}
|
|
1331
|
+
}
|
|
1332
|
+
BXRestListsElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, deps: [{ token: HttpBXServices }, { token: BXRestListsElementMap }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1333
|
+
BXRestListsElement.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, providedIn: 'root' });
|
|
1334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, decorators: [{
|
|
1335
|
+
type: Injectable,
|
|
1336
|
+
args: [{
|
|
1337
|
+
providedIn: 'root'
|
|
1338
|
+
}]
|
|
1339
|
+
}], ctorParameters: function () { return [{ type: HttpBXServices }, { type: BXRestListsElementMap }]; } });
|
|
1340
|
+
|
|
1341
|
+
class BXRestLists {
|
|
1342
|
+
constructor(element) {
|
|
1343
|
+
this.element = element;
|
|
1344
|
+
this.url = {
|
|
1345
|
+
add: [$lists, $add],
|
|
1346
|
+
delete: [$lists, $delete],
|
|
1347
|
+
get: [$lists, $get],
|
|
1348
|
+
update: [$lists, $update],
|
|
1349
|
+
getIblockTypeId: [$lists, $get, $iblock, $type, $id], // Метод возвращает id типа инфоблока
|
|
1350
|
+
};
|
|
1351
|
+
}
|
|
1352
|
+
}
|
|
1353
|
+
BXRestLists.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestLists, deps: [{ token: BXRestListsElement }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1354
|
+
BXRestLists.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestLists, providedIn: 'root' });
|
|
1355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestLists, decorators: [{
|
|
1356
|
+
type: Injectable,
|
|
1357
|
+
args: [{
|
|
1358
|
+
providedIn: 'root'
|
|
1359
|
+
}]
|
|
1360
|
+
}], ctorParameters: function () { return [{ type: BXRestListsElement }]; } });
|
|
1361
|
+
|
|
1315
1362
|
const save = createAction('[Users Component] Save', props());
|
|
1316
1363
|
const saveArr = createAction('[Users Component] Save Arr', props());
|
|
1317
1364
|
const update = createAction('[Users Component] Update', props());
|