bx-rest 0.0.35 → 0.1.1
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 +60 -4
- package/esm2020/functions/mapResult.mjs +2 -2
- package/esm2020/map/disk/base.mjs +57 -0
- package/esm2020/map/disk/folder.mjs +17 -0
- package/esm2020/map/disk/storage.mjs +17 -0
- package/esm2020/map/lists/element.mjs +8 -8
- package/esm2020/map/lists.mjs +19 -0
- package/esm2020/map/task.mjs +115 -0
- package/esm2020/map/user.mjs +89 -0
- package/esm2020/public-api.mjs +4 -2
- package/esm2020/request/disk/file.mjs +38 -0
- package/esm2020/request/disk/folder.mjs +46 -0
- package/esm2020/request/disk/storage.mjs +46 -0
- package/esm2020/request/disk.mjs +19 -0
- package/esm2020/request/lists/element.mjs +5 -7
- package/esm2020/request/tasks/task.mjs +61 -0
- package/esm2020/request/tasks.mjs +17 -0
- package/esm2020/request/user.mjs +29 -132
- package/esm2020/request-navvy/disk/file.mjs +39 -0
- package/esm2020/request-navvy/disk/folder.mjs +44 -0
- package/esm2020/request-navvy/disk/operation.mjs +95 -0
- package/esm2020/request-navvy/disk/storage.mjs +59 -0
- package/esm2020/request-navvy/disk.mjs +21 -0
- package/esm2020/request-navvy/lists/element.mjs +25 -0
- package/esm2020/request-navvy/lists.mjs +25 -0
- package/esm2020/request-navvy/tasks/task.mjs +64 -0
- package/esm2020/request-navvy/tasks.mjs +17 -0
- package/esm2020/request-navvy/user.mjs +65 -0
- package/esm2020/rest.mjs +42 -4
- package/esm2020/services/base.mjs +3 -2
- package/esm2020/services/http/HttpBX.mjs +23 -59
- package/esm2020/services/http/HttpData.mjs +2 -8
- package/esm2020/services/http/base/base.mjs +3 -4
- package/esm2020/services/http/base/http.mjs +6 -21
- package/esm2020/services/http/http.mjs +7 -71
- package/esm2020/services/http/sessionKey.mjs +36 -20
- package/esm2020/services/navvy.mjs +26 -0
- package/esm2020/services/vanilla/sessionStorage.mjs +23 -0
- package/esm2020/settings.mjs +4 -5
- package/esm2020/typification/rest/base/answer.mjs +2 -0
- package/esm2020/typification/rest/base/filterGenerator.mjs +2 -0
- package/esm2020/typification/rest/batch/batchRequestParam.mjs +1 -1
- package/esm2020/typification/rest/disk/file.mjs +2 -0
- package/esm2020/typification/rest/disk/folder.mjs +2 -0
- package/esm2020/typification/rest/disk/map.mjs +2 -0
- package/esm2020/typification/rest/disk/storage/uploadfile.mjs +2 -0
- package/esm2020/typification/rest/lists/element/get.mjs +1 -1
- package/esm2020/typification/rest/task/fieldsForSend.mjs +2 -0
- package/esm2020/typification/rest/task/people/base.mjs +2 -0
- package/esm2020/typification/rest/task/task.mjs +2 -0
- package/esm2020/typification/rest/user/get.mjs +1 -1
- package/esm2020/typification/settings.mjs +1 -1
- package/fesm2015/bx-rest.mjs +1032 -427
- package/fesm2015/bx-rest.mjs.map +1 -1
- package/fesm2020/bx-rest.mjs +1030 -427
- package/fesm2020/bx-rest.mjs.map +1 -1
- package/functions/mapResult.d.ts +4 -2
- package/map/disk/base.d.ts +12 -0
- package/map/disk/folder.d.ts +9 -0
- package/map/disk/storage.d.ts +9 -0
- package/map/lists/element.d.ts +4 -4
- package/map/lists.d.ts +9 -0
- package/map/task.d.ts +8 -0
- package/map/user.d.ts +12 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -1
- package/request/disk/file.d.ts +25 -0
- package/request/disk/folder.d.ts +26 -0
- package/request/disk/storage.d.ts +34 -0
- package/request/disk.d.ts +10 -0
- package/request/lists/element.d.ts +3 -5
- package/request/tasks/task.d.ts +55 -0
- package/request/tasks.d.ts +8 -0
- package/request/user.d.ts +12 -23
- package/request-navvy/disk/file.d.ts +17 -0
- package/request-navvy/disk/folder.d.ts +13 -0
- package/request-navvy/disk/operation.d.ts +23 -0
- package/request-navvy/disk/storage.d.ts +28 -0
- package/request-navvy/disk.d.ts +12 -0
- package/request-navvy/lists/element.d.ts +14 -0
- package/request-navvy/lists.d.ts +15 -0
- package/request-navvy/tasks/task.d.ts +16 -0
- package/request-navvy/tasks.d.ts +8 -0
- package/request-navvy/user.d.ts +24 -0
- package/rest.d.ts +25 -1
- package/services/http/HttpBX.d.ts +7 -16
- package/services/http/HttpData.d.ts +1 -3
- package/services/http/base/base.d.ts +4 -4
- package/services/http/base/http.d.ts +3 -3
- package/services/http/http.d.ts +3 -17
- package/services/http/sessionKey.d.ts +13 -2
- package/services/navvy.d.ts +11 -0
- package/services/vanilla/sessionStorage.d.ts +7 -0
- package/typification/rest/base/{httpAnswerBX.d.ts → answer.d.ts} +1 -1
- package/typification/rest/base/filterGenerator.d.ts +5 -0
- package/typification/rest/batch/batchRequestParam.d.ts +2 -2
- package/typification/rest/disk/file.d.ts +14 -0
- package/typification/rest/disk/folder.d.ts +47 -0
- package/typification/rest/disk/map.d.ts +6 -0
- package/typification/rest/disk/storage/uploadfile.d.ts +9 -0
- package/typification/rest/lists/element/get.d.ts +9 -1
- package/typification/rest/task/fieldsForSend.d.ts +61 -0
- package/typification/rest/task/people/base.d.ts +12 -0
- package/typification/rest/task/task.d.ts +102 -0
- package/typification/rest/user/get.d.ts +1 -1
- package/typification/settings.d.ts +3 -4
- package/esm2020/services/map/base.mjs +0 -14
- package/esm2020/services/map/rest/user.mjs +0 -89
- package/esm2020/store/users.mjs +0 -67
- package/esm2020/typification/rest/base/httpAnswerBX.mjs +0 -2
- package/services/map/base.d.ts +0 -6
- package/services/map/rest/user.d.ts +0 -12
- package/store/users.d.ts +0 -34
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { $disk, $get, $getchildren, $getFields, $getlist, $getTypes, $rename, $storage, $uploadfile } from '../../consts/part-name-metods';
|
|
3
|
+
import HttpBXServices from '../../services/http/HttpBX';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class BXRestDiskStorage {
|
|
6
|
+
constructor(http) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
this.url = {
|
|
9
|
+
getfields: [$disk, $storage, $getFields],
|
|
10
|
+
get: [$disk, $storage, $get],
|
|
11
|
+
rename: [$disk, $storage, $rename],
|
|
12
|
+
// Допустимо переименование только хранилища приложения (см. disk.storage.getforapp)
|
|
13
|
+
getlist: [$disk, $storage, $getlist],
|
|
14
|
+
gettypes: [$disk, $storage, $getTypes],
|
|
15
|
+
addfolder: [$disk, $storage, 'addfolder'],
|
|
16
|
+
getchildren: [$disk, $storage, $getchildren],
|
|
17
|
+
// которые находятся непосредственно в корне хранилища
|
|
18
|
+
uploadfile: [$disk, $storage, $uploadfile],
|
|
19
|
+
getforapp: [$disk, $storage, 'getforapp'] // Возвращает описание хранилища,
|
|
20
|
+
// с которым может работать приложение для хранения своих данных (файлов и папок)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
getforapp() {
|
|
24
|
+
return this.http.post(this.url.getforapp, {});
|
|
25
|
+
}
|
|
26
|
+
// TODO: разобраться с фильтром
|
|
27
|
+
getchildren(param) {
|
|
28
|
+
return this.http.post(this.url.getchildren, param);
|
|
29
|
+
}
|
|
30
|
+
// TODO: разобраться что возвращает и что вставлять
|
|
31
|
+
addfolder(param) {
|
|
32
|
+
return this.http.post(this.url.addfolder, param);
|
|
33
|
+
}
|
|
34
|
+
uploadfile(param) {
|
|
35
|
+
return this.http.post(this.url.uploadfile, param);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
BXRestDiskStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskStorage, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
+
BXRestDiskStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskStorage, providedIn: 'root' });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskStorage, decorators: [{
|
|
41
|
+
type: Injectable,
|
|
42
|
+
args: [{
|
|
43
|
+
providedIn: 'root'
|
|
44
|
+
}]
|
|
45
|
+
}], ctorParameters: function () { return [{ type: HttpBXServices }]; } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvZGlzay9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUNMLEtBQUssRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUMzRixNQUFNLCtCQUErQixDQUFBO0FBQ3RDLE9BQU8sY0FBYyxNQUFNLDRCQUE0QixDQUFBOztBQVF2RCxNQUFNLE9BQU8saUJBQWlCO0lBZ0I1QixZQUNVLElBQW9CO1FBQXBCLFNBQUksR0FBSixJQUFJLENBQWdCO1FBaEI5QixRQUFHLEdBQUc7WUFDSixTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQztZQUN4QyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQztZQUM1QixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQztZQUNsQyxvRkFBb0Y7WUFDcEYsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7WUFDcEMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUM7WUFDdEMsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUM7WUFDekMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUM7WUFDNUMsc0RBQXNEO1lBQ3RELFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDO1lBQzFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUMsaUNBQWlDO1lBQzNFLGlGQUFpRjtTQUNsRixDQUFBO0lBS0QsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQ3ZCLENBQUE7SUFDSCxDQUFDO0lBRUQsK0JBQStCO0lBQy9CLFdBQVcsQ0FBQyxLQUFpQztRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFDcEIsS0FBSyxDQUNOLENBQUE7SUFDSCxDQUFDO0lBRUQsbURBQW1EO0lBQ25ELFNBQVMsQ0FBQyxLQUF5QztRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBNkI7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBYyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNoRSxDQUFDOzs4R0ExQ1UsaUJBQWlCLGtCQVJ2QixjQUFjO2tIQVFSLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7MERBUE0sY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1xyXG4gICRkaXNrLCAkZ2V0LCAkZ2V0Y2hpbGRyZW4sICRnZXRGaWVsZHMsICRnZXRsaXN0LCAkZ2V0VHlwZXMsICRyZW5hbWUsICRzdG9yYWdlLCAkdXBsb2FkZmlsZVxyXG59IGZyb20gJy4uLy4uL2NvbnN0cy9wYXJ0LW5hbWUtbWV0b2RzJ1xyXG5pbXBvcnQgSHR0cEJYU2VydmljZXMgZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9IdHRwQlgnXHJcbmltcG9ydCB7IGlCWFJlc3RGaWxlLCBpQlhSZXN0RmlsZUh0dHAgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9kaXNrL2ZpbGUnXHJcbmltcG9ydCB7IGlCWFJlc3RGb2xkZXJIdHRwLCBpQlhSZXN0Rm9sZGVySW5mbyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Rpc2svZm9sZGVyJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1VcGxvYWRGaWxlIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvZGlzay9zdG9yYWdlL3VwbG9hZGZpbGUnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3REaXNrU3RvcmFnZSB7XHJcbiAgdXJsID0ge1xyXG4gICAgZ2V0ZmllbGRzOiBbJGRpc2ssICRzdG9yYWdlLCAkZ2V0RmllbGRzXSwgIC8vINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC+0L/QuNGB0LDQvdC40LUg0L/QvtC70LXQuSDRhdGA0LDQvdC40LvQuNGJ0LBcclxuICAgIGdldDogWyRkaXNrLCAkc3RvcmFnZSwgJGdldF0sIC8vXHTQktC+0LfQstGA0LDRidCw0LXRgiDRhdGA0LDQvdC40LvQuNGJ0LUg0L/QviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDXHJcbiAgICByZW5hbWU6IFskZGlzaywgJHN0b3JhZ2UsICRyZW5hbWVdLCAvLyDQn9C10YDQtdC40LzQtdC90L7QstGL0LLQsNC10YIg0YXRgNCw0L3QuNC70LjRidC1LlxyXG4gICAgLy8g0JTQvtC/0YPRgdGC0LjQvNC+INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40LUg0YLQvtC70YzQutC+INGF0YDQsNC90LjQu9C40YnQsCDQv9GA0LjQu9C+0LbQtdC90LjRjyAo0YHQvC4gZGlzay5zdG9yYWdlLmdldGZvcmFwcClcclxuICAgIGdldGxpc3Q6IFskZGlzaywgJHN0b3JhZ2UsICRnZXRsaXN0XSwgLy9cdNCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDQtNC+0YHRgtGD0L/QvdGL0YUg0YXRgNCw0L3QuNC70LjRiVxyXG4gICAgZ2V0dHlwZXM6IFskZGlzaywgJHN0b3JhZ2UsICRnZXRUeXBlc10sIC8vINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDRgtC40L/QvtCyINGF0YDQsNC90LjQu9C40YlcclxuICAgIGFkZGZvbGRlcjogWyRkaXNrLCAkc3RvcmFnZSwgJ2FkZGZvbGRlciddLCAvLyDQodC+0LfQtNCw0LXRgiDQv9Cw0L/QutGDINCyINC60L7RgNC90LUg0YXRgNCw0L3QuNC70LjRidCwXHJcbiAgICBnZXRjaGlsZHJlbjogWyRkaXNrLCAkc3RvcmFnZSwgJGdldGNoaWxkcmVuXSwgLy9cdNCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDRhNCw0LnQu9C+0LIg0Lgg0L/QsNC/0L7QuixcclxuICAgIC8vINC60L7RgtC+0YDRi9C1INC90LDRhdC+0LTRj9GC0YHRjyDQvdC10L/QvtGB0YDQtdC00YHRgtCy0LXQvdC90L4g0LIg0LrQvtGA0L3QtSDRhdGA0LDQvdC40LvQuNGJ0LBcclxuICAgIHVwbG9hZGZpbGU6IFskZGlzaywgJHN0b3JhZ2UsICR1cGxvYWRmaWxlXSwgLy9cdNCX0LDQs9GA0YPQttCw0LXRgiDQvdC+0LLRi9C5INGE0LDQudC7INCyINC60L7RgNC90LUg0YXRgNCw0L3QuNC70LjRidCwXHJcbiAgICBnZXRmb3JhcHA6IFskZGlzaywgJHN0b3JhZ2UsICdnZXRmb3JhcHAnXSAvL1x00JLQvtC30LLRgNCw0YnQsNC10YIg0L7Qv9C40YHQsNC90LjQtSDRhdGA0LDQvdC40LvQuNGJ0LAsXHJcbiAgICAvLyDRgSDQutC+0YLQvtGA0YvQvCDQvNC+0LbQtdGCINGA0LDQsdC+0YLQsNGC0Ywg0L/RgNC40LvQvtC20LXQvdC40LUg0LTQu9GPINGF0YDQsNC90LXQvdC40Y8g0YHQstC+0LjRhSDQtNCw0L3QvdGL0YUgKNGE0LDQudC70L7QsiDQuCDQv9Cw0L/QvtC6KVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBCWFNlcnZpY2VzLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgZ2V0Zm9yYXBwKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RGb2xkZXJJbmZvPihcclxuICAgICAgdGhpcy51cmwuZ2V0Zm9yYXBwLCB7fVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgLy8gVE9ETzog0YDQsNC30L7QsdGA0LDRgtGM0YHRjyDRgSDRhNC40LvRjNGC0YDQvtC8XHJcbiAgZ2V0Y2hpbGRyZW4ocGFyYW06IHtpZDogbnVtYmVyLCBmaWx0ZXI/OiBhbnl9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8KGlCWFJlc3RGb2xkZXJIdHRwIHwgaUJYUmVzdEZpbGVIdHRwKVtdPihcclxuICAgICAgdGhpcy51cmwuZ2V0Y2hpbGRyZW4sXHJcbiAgICAgIHBhcmFtXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINGH0YLQviDQstC+0LfQstGA0LDRidCw0LXRgiDQuCDRh9GC0L4g0LLRgdGC0LDQstC70Y/RgtGMXHJcbiAgYWRkZm9sZGVyKHBhcmFtOiB7aWQ6IG51bWJlciwgZGF0YToge05BTUU6IHN0cmluZ319KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLnVybC5hZGRmb2xkZXIsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgdXBsb2FkZmlsZShwYXJhbTogaUJYUmVzdFBhcmFtVXBsb2FkRmlsZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RGaWxlPih0aGlzLnVybC51cGxvYWRmaWxlLCBwYXJhbSlcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./disk/file";
|
|
4
|
+
import * as i2 from "./disk/folder";
|
|
5
|
+
export class BXRestDisk {
|
|
6
|
+
constructor(file, folder) {
|
|
7
|
+
this.file = file;
|
|
8
|
+
this.folder = folder;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
BXRestDisk.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDisk, deps: [{ token: i1.BXRestDiskFile }, { token: i2.BXRestDiskFolder }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
BXRestDisk.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDisk, providedIn: 'root' });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDisk, decorators: [{
|
|
14
|
+
type: Injectable,
|
|
15
|
+
args: [{
|
|
16
|
+
providedIn: 'root'
|
|
17
|
+
}]
|
|
18
|
+
}], ctorParameters: function () { return [{ type: i1.BXRestDiskFile }, { type: i2.BXRestDiskFolder }]; } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvZGlzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7O0FBTzFDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQ1MsSUFBb0IsRUFDcEIsTUFBd0I7UUFEeEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7SUFFakMsQ0FBQzs7dUdBTFUsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBCWFJlc3REaXNrRmlsZSB9IGZyb20gJy4vZGlzay9maWxlJ1xyXG5pbXBvcnQgeyBCWFJlc3REaXNrRm9sZGVyIH0gZnJvbSAnLi9kaXNrL2ZvbGRlcidcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdERpc2sge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGZpbGU6IEJYUmVzdERpc2tGaWxlLFxyXG4gICAgcHVibGljIGZvbGRlcjogQlhSZXN0RGlza0ZvbGRlclxyXG4gICkge1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { $add, $delete, $element, $file, $get, $lists, $update, $url } from '../../consts/part-name-metods';
|
|
2
2
|
import HttpBXServices from '../../services/http/HttpBX';
|
|
3
|
-
import BXRestListsElementMap from '../../map/lists/element';
|
|
4
3
|
import { Injectable } from '@angular/core';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
export class BXRestListsElement {
|
|
7
|
-
constructor(http
|
|
6
|
+
constructor(http) {
|
|
8
7
|
this.http = http;
|
|
9
|
-
this.mapResult = mapResult;
|
|
10
8
|
this.url = {
|
|
11
9
|
add: [$lists, $element, $add],
|
|
12
10
|
delete: [$lists, $element, $delete],
|
|
@@ -16,17 +14,17 @@ export class BXRestListsElement {
|
|
|
16
14
|
};
|
|
17
15
|
}
|
|
18
16
|
get(pram) {
|
|
19
|
-
return this.http.post(this.url.get, pram
|
|
17
|
+
return this.http.post(this.url.get, pram);
|
|
20
18
|
}
|
|
21
19
|
customPipe() {
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
|
-
BXRestListsElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, deps: [{ token: HttpBXServices }
|
|
22
|
+
BXRestListsElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
23
|
BXRestListsElement.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, providedIn: 'root' });
|
|
26
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, decorators: [{
|
|
27
25
|
type: Injectable,
|
|
28
26
|
args: [{
|
|
29
27
|
providedIn: 'root'
|
|
30
28
|
}]
|
|
31
|
-
}], ctorParameters: function () { return [{ type: HttpBXServices }
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
}], ctorParameters: function () { return [{ type: HttpBXServices }]; } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvbGlzdHMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRTNHLE9BQU8sY0FBYyxNQUFNLDRCQUE0QixDQUFBO0FBS3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBSzFDLE1BQU0sT0FBTyxrQkFBa0I7SUFTN0IsWUFDVSxJQUFvQjtRQUFwQixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQVQ5QixRQUFHLEdBQUc7WUFDSixHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQztZQUM3QixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQztZQUNuQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQztZQUM3QixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQztZQUNuQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUUsZ0NBQWdDO1NBQ3BGLENBQUE7SUFNRCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQWlDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUNaLElBQUksQ0FDTCxDQUFBO0lBQ0gsQ0FBQztJQUVELFVBQVU7SUFFVixDQUFDOzsrR0F4QlUsa0JBQWtCLGtCQVZ4QixjQUFjO21IQVVSLGtCQUFrQixjQUZqQixNQUFNOzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7MERBVE0sY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICRhZGQsICRkZWxldGUsICRlbGVtZW50LCAkZmlsZSwgJGdldCwgJGxpc3RzLCAkdXBkYXRlLCAkdXJsIH0gZnJvbSAnLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRvZHMnXHJcblxyXG5pbXBvcnQgSHR0cEJYU2VydmljZXMgZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9IdHRwQlgnXHJcbmltcG9ydCB7XHJcbiAgaUJYUmVzdEh0dHBMaXN0c0VsZW1lbnQsXHJcbiAgaUJYUmVzdFBhcmFtTGlzdHNFbGVtZW50R2V0XHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvbGlzdHMvZWxlbWVudC9nZXQnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TGlzdHNFbGVtZW50IHtcclxuICB1cmwgPSB7XHJcbiAgICBhZGQ6IFskbGlzdHMsICRlbGVtZW50LCAkYWRkXSwgLy8g0JzQtdGC0L7QtCDRgdC+0LfQtNCw0ZHRgiDRjdC70LXQvNC10L3RgiDRgdC/0LjRgdC60LBcclxuICAgIGRlbGV0ZTogWyRsaXN0cywgJGVsZW1lbnQsICRkZWxldGVdLCAvLyDQnNC10YLQvtC0INGD0LTQsNC70Y/QtdGCINGN0LvQtdC80LXQvdGCINGB0L/QuNGB0LrQsFxyXG4gICAgZ2V0OiBbJGxpc3RzLCAkZWxlbWVudCwgJGdldF0sIC8vINCc0LXRgtC+0LQg0LLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INGN0LvQtdC80LXQvdGC0L7QsiDQuNC70Lgg0Y3Qu9C10LzQtdC90YJcclxuICAgIHVwZGF0ZTogWyRsaXN0cywgJGVsZW1lbnQsICR1cGRhdGVdLCAvL1x00JzQtdGC0L7QtCDQvtCx0L3QvtCy0LvRj9C10YIg0Y3Qu9C10LzQtdC90YIg0YHQv9C40YHQutCwXHJcbiAgICBnZXRGaWxlVXJsOiBbJGxpc3RzLCAkZWxlbWVudCwgJGdldCwgJGZpbGUsICR1cmxdICAvLyDQnNC10YLQvtC0INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YPRgtGMINC6INGE0LDQudC70YNcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQlhTZXJ2aWNlcyxcclxuICAgIC8vIHByaXZhdGUgbWFwUmVzdWx0OiBCWFJlc3RMaXN0c0VsZW1lbnRNYXBcclxuICApIHtcclxuICB9XHJcblxyXG4gIGdldChwcmFtOiBpQlhSZXN0UGFyYW1MaXN0c0VsZW1lbnRHZXQpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0SHR0cExpc3RzRWxlbWVudFtdPihcclxuICAgICAgdGhpcy51cmwuZ2V0LFxyXG4gICAgICBwcmFtXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBjdXN0b21QaXBlKCkge1xyXG5cclxuICB9XHJcblxyXG4gIC8vIGFkZChwYXJhbTogaVJlc3RCWFBhcmFtTGlzdHNFbGVtZW50QWRkKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDxudW1iZXI+Pih0aGlzLnVybC5hZGQsIHBhcmFtKVxyXG4gIC8vIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { $add, $approve, $attach, $complete, $counters, $deger, $delegate, $delete, $disapprove, $favorite, $files, $get, $getaccess, $getFields, $getlist, $history, $list, $pause, $planner, $renew, $result, $start, $task, $tasks, $update } from '../../consts/part-name-metods';
|
|
3
|
+
import HttpBXServices from '../../services/http/HttpBX';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class BXRestTasksTask {
|
|
6
|
+
constructor(http) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
this.url = {
|
|
9
|
+
add: [$tasks, $task, $add],
|
|
10
|
+
approve: [$tasks, $task, $approve],
|
|
11
|
+
complete: [$tasks, $task, $complete],
|
|
12
|
+
counters: {
|
|
13
|
+
get: [$tasks, $task, $counters, $get], //Получает счетчики пользователя
|
|
14
|
+
},
|
|
15
|
+
deger: [$tasks, $task, $deger],
|
|
16
|
+
delegate: [$tasks, $task, $delegate],
|
|
17
|
+
delete: [$tasks, $task, $delete],
|
|
18
|
+
disapprove: [$tasks, $task, $disapprove],
|
|
19
|
+
favorite: {
|
|
20
|
+
add: [$tasks, $task, $favorite, $add],
|
|
21
|
+
delete: [$tasks, $task, $favorite, $delete], // Удаляет задачи из "Избранного"
|
|
22
|
+
},
|
|
23
|
+
files: {
|
|
24
|
+
attach: [$tasks, $task, $files, $attach], // Прикрепляет загруженный на диск файл к задаче
|
|
25
|
+
},
|
|
26
|
+
get: [$tasks, $task, $get],
|
|
27
|
+
getFields: [$tasks, $task, $getFields],
|
|
28
|
+
getaccess: [$tasks, $task, $getaccess],
|
|
29
|
+
history: {
|
|
30
|
+
list: [$tasks, $task, $history, $list], // Получает историю задачи
|
|
31
|
+
},
|
|
32
|
+
list: [$tasks, $task, $list],
|
|
33
|
+
pause: [$tasks, $task, $pause],
|
|
34
|
+
renew: [$tasks, $task, $renew],
|
|
35
|
+
start: [$tasks, $task, $start],
|
|
36
|
+
startwatch: [$tasks, $task, 'startwatch'],
|
|
37
|
+
stopwatch: [$tasks, $task, 'stopwatch'],
|
|
38
|
+
update: [$tasks, $task, $update],
|
|
39
|
+
result: {
|
|
40
|
+
list: [$tasks, $task, $result, $list],
|
|
41
|
+
addFromComment: [$tasks, $task, $result, 'addFromComment'],
|
|
42
|
+
deleteFromComment: [$tasks, $task, $result, 'deleteFromComment'], // Удаление результата задачи по комментарию из которого он был создан
|
|
43
|
+
},
|
|
44
|
+
planner: {
|
|
45
|
+
getlist: [$task, $planner, $getlist], // Возвращает массив, содержащий идентификаторы задач в плане на день
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
add(param) {
|
|
50
|
+
return this.http.post(this.url.add, param);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
BXRestTasksTask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestTasksTask, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
54
|
+
BXRestTasksTask.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestTasksTask, providedIn: 'root' });
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestTasksTask, decorators: [{
|
|
56
|
+
type: Injectable,
|
|
57
|
+
args: [{
|
|
58
|
+
providedIn: 'root'
|
|
59
|
+
}]
|
|
60
|
+
}], ctorParameters: function () { return [{ type: HttpBXServices }]; } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdGFza3MvdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFDTCxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUN6RyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUNsRyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFDdkIsTUFBTSwrQkFBK0IsQ0FBQTtBQUN0QyxPQUFPLGNBQWMsTUFBTSw0QkFBNEIsQ0FBQTs7QUFPdkQsTUFBTSxPQUFPLGVBQWU7SUEyQzFCLFlBQ1UsSUFBb0I7UUFBcEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUExQzlCLFFBQUcsR0FBRztZQUNKLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDO1lBQ2xDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDO1lBQ3BDLFFBQVEsRUFBRTtnQkFDUixHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxnQ0FBZ0M7YUFDeEU7WUFDRCxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUM5QixRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQztZQUNwQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUNoQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQztZQUN4QyxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDO2dCQUNyQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxpQ0FBaUM7YUFDL0U7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsZ0RBQWdEO2FBQzNGO1lBQ0QsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7WUFDMUIsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUM7WUFDdEMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUM7WUFDdEMsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLDBCQUEwQjthQUNuRTtZQUNELElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQzVCLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO1lBQzlCLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO1lBQzlCLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDO1lBQ3pDLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDO1lBQ3ZDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQ2hDLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7Z0JBQ3JDLGNBQWMsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDO2dCQUMxRCxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsc0VBQXNFO2FBQ3pJO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUscUVBQXFFO2FBQzVHO1NBQ0YsQ0FBQTtJQUtELENBQUM7SUFFRCxHQUFHLENBQUMsS0FBc0M7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdkUsQ0FBQzs7NEdBbERVLGVBQWUsa0JBUHJCLGNBQWM7Z0hBT1IsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7MERBTk0sY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgJGFkZCwgJGFwcHJvdmUsICRhdHRhY2gsICRjb21wbGV0ZSwgJGNvdW50ZXJzLCAkZGVnZXIsICRkZWxlZ2F0ZSwgJGRlbGV0ZSwgJGRpc2FwcHJvdmUsICRmYXZvcml0ZSwgJGZpbGVzLFxuICAkZ2V0LCAkZ2V0YWNjZXNzLCAkZ2V0RmllbGRzLCAkZ2V0bGlzdCwgJGhpc3RvcnksICRsaXN0LCAkcGF1c2UsICRwbGFubmVyLCAkcmVuZXcsICRyZXN1bHQsICRzdGFydCxcbiAgJHRhc2ssICR0YXNrcywgJHVwZGF0ZVxufSBmcm9tICcuLi8uLi9jb25zdHMvcGFydC1uYW1lLW1ldG9kcydcbmltcG9ydCBIdHRwQlhTZXJ2aWNlcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL0h0dHBCWCdcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVRhc2tBZGQgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2ZpZWxkc0ZvclNlbmQnXG5pbXBvcnQgeyBpQlhSZXN0SHR0cFRhc2sgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL3Rhc2snXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJYUmVzdFRhc2tzVGFzayB7XG5cbiAgdXJsID0ge1xuICAgIGFkZDogWyR0YXNrcywgJHRhc2ssICRhZGRdLCAvLyDQodC+0LfQtNCw0LXRgiDQt9Cw0LTQsNGH0YNcbiAgICBhcHByb3ZlOiBbJHRhc2tzLCAkdGFzaywgJGFwcHJvdmVdLCAvLyDQn9C+0LfQstC+0LvRj9C10YIg0L/RgNC40L3Rj9GC0Ywg0LfQsNC00LDRh9GDXG4gICAgY29tcGxldGU6IFskdGFza3MsICR0YXNrLCAkY29tcGxldGVdLCAvLyDQn9C10YDQtdCy0L7QtNC40YIg0LfQsNC00LDRh9GDINCyINGB0YLQsNGC0YPRgSDCq9C30LDQstC10YDRiNC10L3QsMK7XG4gICAgY291bnRlcnM6IHtcbiAgICAgIGdldDogWyR0YXNrcywgJHRhc2ssICRjb3VudGVycywgJGdldF0sIC8v0J/QvtC70YPRh9Cw0LXRgiDRgdGH0LXRgtGH0LjQutC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj1xuICAgIH0sXG4gICAgZGVnZXI6IFskdGFza3MsICR0YXNrLCAkZGVnZXJdLCAvLyDQn9C10YDQtdCy0L7QtNC40YIg0LfQsNC00LDRh9GDINCyINGB0YLQsNGC0YPRgSDCq9C+0YLQu9C+0LbQtdC90LDCu1xuICAgIGRlbGVnYXRlOiBbJHRhc2tzLCAkdGFzaywgJGRlbGVnYXRlXSwgLy8g0JzQtdGC0L7QtCDQtNC70Y8g0LTQtdC70LXQs9C40YDQvtCy0LDQvdC40Y8g0LfQsNC00LDRh9C4XG4gICAgZGVsZXRlOiBbJHRhc2tzLCAkdGFzaywgJGRlbGV0ZV0sIC8vINCj0LTQsNC70Y/QtdGCINC30LDQtNCw0YfRg1xuICAgIGRpc2FwcHJvdmU6IFskdGFza3MsICR0YXNrLCAkZGlzYXBwcm92ZV0sIC8vINCf0L7Qt9Cy0L7Qu9GP0LXRgiDQvtGC0LrQu9C+0L3QuNGC0Ywg0LfQsNC00LDRh9GDXG4gICAgZmF2b3JpdGU6IHtcbiAgICAgIGFkZDogWyR0YXNrcywgJHRhc2ssICRmYXZvcml0ZSwgJGFkZF0sIC8vINCU0L7QsdCw0LLQu9GP0LXRgiDQt9Cw0LTQsNGH0Lgg0LIgXCLQmNC30LHRgNCw0L3QvdC+0LVcIlxuICAgICAgZGVsZXRlOiBbJHRhc2tzLCAkdGFzaywgJGZhdm9yaXRlLCAkZGVsZXRlXSwgLy8g0KPQtNCw0LvRj9C10YIg0LfQsNC00LDRh9C4INC40LcgXCLQmNC30LHRgNCw0L3QvdC+0LPQvlwiXG4gICAgfSxcbiAgICBmaWxlczoge1xuICAgICAgYXR0YWNoOiBbJHRhc2tzLCAkdGFzaywgJGZpbGVzLCAkYXR0YWNoXSwgLy8g0J/RgNC40LrRgNC10L/Qu9GP0LXRgiDQt9Cw0LPRgNGD0LbQtdC90L3Ri9C5INC90LAg0LTQuNGB0Log0YTQsNC50Lsg0Log0LfQsNC00LDRh9C1XG4gICAgfSxcbiAgICBnZXQ6IFskdGFza3MsICR0YXNrLCAkZ2V0XSwgLy8g0JLQvtC30LLRgNCw0YnQsNC10YIg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0LrQvtC90LrRgNC10YLQvdC+0Lkg0LfQsNC00LDRh9C1XG4gICAgZ2V0RmllbGRzOiBbJHRhc2tzLCAkdGFzaywgJGdldEZpZWxkc10sIC8vINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINCy0YHQtSDQtNC+0YHRgtGD0L/QvdGL0LUg0L/QvtC70Y9cbiAgICBnZXRhY2Nlc3M6IFskdGFza3MsICR0YXNrLCAkZ2V0YWNjZXNzXSwgLy8g0JzQtdGC0L7QtCDQtNC70Y8g0L/RgNC+0LLQtdGA0LrQuCDQtNC+0YHRgtGD0L/QsCDQuiDQt9Cw0LTQsNGH0LVcbiAgICBoaXN0b3J5OiB7XG4gICAgICBsaXN0OiBbJHRhc2tzLCAkdGFzaywgJGhpc3RvcnksICRsaXN0XSwgLy8g0J/QvtC70YPRh9Cw0LXRgiDQuNGB0YLQvtGA0LjRjiDQt9Cw0LTQsNGH0LhcbiAgICB9LFxuICAgIGxpc3Q6IFskdGFza3MsICR0YXNrLCAkbGlzdF0sIC8vINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC80LDRgdGB0LjQsiDQt9Cw0LTQsNGHLCDQutCw0LbQtNCw0Y8g0LjQtyDQutC+0YLQvtGA0YvRhSDRgdC+0LTQtdGA0LbQuNGCINC80LDRgdGB0LjQsiDQv9C+0LvQtdC5XG4gICAgcGF1c2U6IFskdGFza3MsICR0YXNrLCAkcGF1c2VdLCAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXRgiDQstGL0L/QvtC70L3QtdC90LjQtSDQt9Cw0LTQsNGH0LgsINC/0LXRgNC10LLQvtC00Y8g0LXQtSDQsiDRgdGC0LDRgtGD0YEgXCLQttC00LXRgiDQstGL0L/QvtC70L3QtdC90LjRj1wiXG4gICAgcmVuZXc6IFskdGFza3MsICR0YXNrLCAkcmVuZXddLCAvLyDQktC+0LfQvtCx0L3QvtCy0LvRj9C10YIg0LfQsNC00LDRh9GDINC/0L7RgdC70LUg0LXQtSDQt9Cw0LLQtdGA0YjQtdC90LjRj1xuICAgIHN0YXJ0OiBbJHRhc2tzLCAkdGFzaywgJHN0YXJ0XSwgLy8g0J/QtdGA0LXQstC+0LTQuNGCINC30LDQtNCw0YfRgyDQsiDRgdGC0LDRgtGD0YEgwqvQstGL0L/QvtC70L3Rj9C10YLRgdGPwrtcbiAgICBzdGFydHdhdGNoOiBbJHRhc2tzLCAkdGFzaywgJ3N0YXJ0d2F0Y2gnXSwgLy8g0J/QvtC30LLQvtC70Y/QtdGCINC90LDQsdC70Y7QtNCw0YLRjCDQt9CwINC30LDQtNCw0YfQtdC5XG4gICAgc3RvcHdhdGNoOiBbJHRhc2tzLCAkdGFzaywgJ3N0b3B3YXRjaCddLCAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXRgiDQvdCw0LHQu9GO0LTQtdC90LjQtSDQt9CwINC30LDQtNCw0YfQtdC5XG4gICAgdXBkYXRlOiBbJHRhc2tzLCAkdGFzaywgJHVwZGF0ZV0sIC8vINCe0LHQvdC+0LLQu9GP0LXRgiDQt9Cw0LTQsNGH0YNcbiAgICByZXN1bHQ6IHtcbiAgICAgIGxpc3Q6IFskdGFza3MsICR0YXNrLCAkcmVzdWx0LCAkbGlzdF0sIC8vINCf0YDQvtGB0LzQvtGC0YAg0YHQv9C40YHQutCwINGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0Log0LfQsNC00LDRh9C1XG4gICAgICBhZGRGcm9tQ29tbWVudDogWyR0YXNrcywgJHRhc2ssICRyZXN1bHQsICdhZGRGcm9tQ29tbWVudCddLCAvLyDQodC+0LfQtNCw0L3QuNC1INGA0LXQt9GD0LvRjNGC0LDRgtCwINC30LDQtNCw0YfQuCDQuNC3INC60L7QvNC80LXQvdGC0LDRgNC40Y9cbiAgICAgIGRlbGV0ZUZyb21Db21tZW50OiBbJHRhc2tzLCAkdGFzaywgJHJlc3VsdCwgJ2RlbGV0ZUZyb21Db21tZW50J10sIC8vINCj0LTQsNC70LXQvdC40LUg0YDQtdC30YPQu9GM0YLQsNGC0LAg0LfQsNC00LDRh9C4INC/0L4g0LrQvtC80LzQtdC90YLQsNGA0LjRjiDQuNC3INC60L7RgtC+0YDQvtCz0L4g0L7QvSDQsdGL0Lsg0YHQvtC30LTQsNC9XG4gICAgfSxcbiAgICBwbGFubmVyOiB7XG4gICAgICBnZXRsaXN0OiBbJHRhc2ssICRwbGFubmVyLCAkZ2V0bGlzdF0sIC8vINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC80LDRgdGB0LjQsiwg0YHQvtC00LXRgNC20LDRidC40Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRiyDQt9Cw0LTQsNGHINCyINC/0LvQsNC90LUg0L3QsCDQtNC10L3RjFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cEJYU2VydmljZXMsXG4gICkge1xuICB9XG5cbiAgYWRkKHBhcmFtOiB7IGZpZWxkczogaUJYUmVzdFBhcmFtVGFza0FkZCB9KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHsgdGFzazogaUJYUmVzdEh0dHBUYXNrIH0+KHRoaXMudXJsLmFkZCwgcGFyYW0pXG4gIH1cblxuICAvKlxuICB1cGRhdGUodGFza0lkOiBudW1iZXIsIHVwZGF0ZUZpZWxkczogaUJYUmVzdFRhc2tGaWVsZHNOYW1lW10sIHRhc2s6IGlCWFJlc3RUYXNrKSB7XG4gICAgbGV0IHNlbmRUYXNrOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgICBsZXQgdGFza1RTOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gdGFza1xuICAgIGlmICh1cGRhdGVGaWVsZHMubGVuZ3RoKSB7XG4gICAgICBmb3IgKGxldCB1cGRhdGVGaWVsZCBvZiB1cGRhdGVGaWVsZHMpIHtcbiAgICAgICAgaWYgKHRhc2tUU1tjYW1lbENhc2UodXBkYXRlRmllbGQpXSkge1xuICAgICAgICAgIHNlbmRUYXNrW3VwZGF0ZUZpZWxkXSA9IHRhc2tUU1tjYW1lbENhc2UodXBkYXRlRmllbGQpXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LnZhbHVlcyhzZW5kVGFzaykubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgICAgICB0aGlzLnVybC51cGRhdGUsXG4gICAgICAgICAge3Rhc2tJZDogdGFza0lkLCBmaWVsZHM6IHNlbmRUYXNrfSxcbiAgICAgICAgICAnZXJyb3IgdG8gdXBkYXRlIHRhc2snKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zbmFja0Jhci5lcnJvcignbm90IHZhbGlkIHNlbmQgZGF0YSB0YXNrJylcbiAgICAgICAgY29uc29sZS5lcnJvcignbm90IHZhbGlkIHNlbmQgZGF0YSB0YXNrJywgc2VuZFRhc2ssIHRhc2spXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zbmFja0Jhci53YXJuaW5nKCdub3QgaGF2ZSBmaWVsZCBmb3IgdXBkYXRlJylcbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICB9XG5cbiAgZ2V0KHJlcXVlc3RBcnJheTogUmVxdWVzdEFwaVRhc2tCWCk6IE9ic2VydmFibGU8VGFza0JYIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCFyZXF1ZXN0QXJyYXkuc2VsZWN0KSB7XG4gICAgICByZXF1ZXN0QXJyYXkuc2VsZWN0ID0gdGhpcy5kZWYuc2VsZWN0XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBbnN3ZXJBcGlUYXNrT25lQlhIdHRwPih0aGlzLnVybC5nZXQsIHJlcXVlc3RBcnJheSkucGlwZShcbiAgICAgIG1hcCh2ID0+IHRoaXMuaHR0cC5tYXBSZXN1bHQodikpLFxuICAgICAgbWFwKHYgPT4gKHYgJiYgdi50YXNrKSA/IHYudGFzayA6IHVuZGVmaW5lZCksXG4gICAgICBtYXAodiA9PiAodikgPyB0aGlzLnRhc2tCWE1hcC5UYXNrQlhIdHRwVG9UYXNrQlgodikgOiB1bmRlZmluZWQpXG4gICAgKVxuICB9XG5cbiAgbGlzdChyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYID0ge30pOiBPYnNlcnZhYmxlPEFuc3dlckFwaVRhc2tCWCB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghcmVxdWVzdEFycmF5LnNlbGVjdCkge1xuICAgICAgcmVxdWVzdEFycmF5LnNlbGVjdCA9IHRoaXMuZGVmLnNlbGVjdFxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QW5zd2VyQXBpVGFza0JYSHR0cCB8IHVuZGVmaW5lZD4odGhpcy51cmwubGlzdCwgcmVxdWVzdEFycmF5KS5waXBlKFxuICAgICAgbWFwKHYgPT4ge1xuICAgICAgICAgIGlmICh2ICYmIHYucmVzdWx0ICYmIHYucmVzdWx0LnRhc2tzKSB7XG4gICAgICAgICAgICBjb25zdCB0YXNrcyA9IHYucmVzdWx0LnRhc2tzLm1hcChpID0+IHRoaXMudGFza0JYTWFwLlRhc2tCWEh0dHBUb1Rhc2tCWChpKSlcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWRkVG9UYXNrTGlzdCh7ZGF0YTogdGFza3N9KSlcbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICB2LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVzdWx0OlxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0YXNrczogdGFza3NcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIGxpc3RBcnJheShyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5saXN0KHJlcXVlc3RBcnJheSkucGlwZShcbiAgICAgIG1hcCh2ID0+IHRoaXMuaHR0cC5tYXBSZXN1bHQodikpLFxuICAgICAgbWFwKHYgPT4gKHYgJiYgdi50YXNrcykgPyB2LnRhc2tzIDogW10pXG4gICAgKVxuICB9XG5cbiAgbGlzdEFsbChyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYID0ge30sIGNhY2hlID0gZmFsc2UpOiBPYnNlcnZhYmxlPFRhc2tCWFtdPiB7XG4gICAgaWYgKCFyZXF1ZXN0QXJyYXkuc2VsZWN0KSB7XG4gICAgICByZXF1ZXN0QXJyYXkuc2VsZWN0ID0gdGhpcy5kZWYuc2VsZWN0XG4gICAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmVUYXNrJC5waXBlKFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgbWVyZ2VNYXAodGFza3MgPT4ge1xuICAgICAgICAgICAgaWYgKHRhc2tzICYmIHRhc2tzLmRhdGEuaHR0cC5saXN0ICYmIHJlcXVlc3RBcnJheS5maWx0ZXIgJiYgcmVxdWVzdEFycmF5LmZpbHRlci5JRCkge1xuICAgICAgICAgICAgICBjb25zdCBpZHMgPSAodHlwZW9mIHJlcXVlc3RBcnJheS5maWx0ZXIuSUQgPT09ICdudW1iZXInKSA/IFtyZXF1ZXN0QXJyYXkuZmlsdGVyLklEXSA6IHJlcXVlc3RBcnJheS5maWx0ZXIuSURcbiAgICAgICAgICAgICAgbGV0IGZpbHRlciA9IHRhc2tzLmRhdGEuaHR0cC5saXN0LmZpbHRlcihpID0+IChpLmlkKSA/IGlkcy5pbmNsdWRlcyhpLmlkKSA6IGZhbHNlKVxuICAgICAgICAgICAgICBpZiAoZmlsdGVyLmxlbmd0aCA9PT0gaWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihmaWx0ZXIpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXkpXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RW5kTGlzdEFycmF5KHJlcXVlc3RBcnJheSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW5kTGlzdEFycmF5KHJlcXVlc3RBcnJheSlcbiAgfVxuXG4gIGdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYKTogT2JzZXJ2YWJsZTxUYXNrQlhbXT4ge1xuICAgIHJldHVybiB0aGlzLmxpc3QocmVxdWVzdEFycmF5KS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGl0ZW1zOiBBbnN3ZXJBcGlUYXNrQlggfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlSW5wdXQ8YW55PiB8IE9ic2VydmFibGU8QW5zd2VyQXBpVGFza0JYW10+ID0+IHtcbiAgICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLnJlc3VsdCAmJiB0eXBlb2YgaXRlbXMucmVzdWx0LnRhc2tzID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zJCA9IG9mKGl0ZW1zLnJlc3VsdC50YXNrcylcbiAgICAgICAgICBpZiAoaXRlbXMubmV4dCkge1xuICAgICAgICAgICAgdGhpcy5ub3dMb2FkJC5uZXh0KHtcbiAgICAgICAgICAgICAgdG90YWw6IChpdGVtcy50b3RhbCkgPyBpdGVtcy50b3RhbCA6IDAsXG4gICAgICAgICAgICAgIG5leHQ6IGl0ZW1zLm5leHRcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICByZXF1ZXN0QXJyYXkuc3RhcnQgPSBpdGVtcy5uZXh0XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRMaXN0QXJyYXkocmVxdWVzdEFycmF5KS5waXBlKFxuICAgICAgICAgICAgICBtYXAodkVuZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgaXRlbXMucmVzdWx0LnRhc2tzKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gWy4uLml0ZW1zLnJlc3VsdC50YXNrcywgLi4udkVuZF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIChpdGVtcy5yZXN1bHQudGFza3MpID8gaXRlbXMucmVzdWx0LnRhc2tzIDogW11cbiAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubm93TG9hZCQubmV4dCh7XG4gICAgICAgICAgICB0b3RhbDogMCxcbiAgICAgICAgICAgIG5leHQ6IDBcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVybiBpdGVtcyRcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0RmllbGRzKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlVGFzayQucGlwZShcbiAgICAgIG1lcmdlTWFwKHYgPT4ge1xuICAgICAgICBpZiAodiAmJiAhdi5kYXRhLmZpZWxkcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpSHR0cEFuc3dlckJYPHsgZmllbGRzOiBpR2V0RmllbGRzRGVzY3JpcHRpb24gfT4+KHRoaXMudXJsLmdldEZpZWxkcykucGlwZShcbiAgICAgICAgICAgIHRhcCh2ID0+IHtcbiAgICAgICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVGaWVsZHModi5yZXN1bHQpKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCh2ID0+IHtcbiAgICAgICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQgJiYgdi5yZXN1bHQuZmllbGRzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtyZXN1bHQ6IHYucmVzdWx0LmZpZWxkc31cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIGlmICh2LmRhdGEuZmllbGRzKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHtyZXN1bHQ6IGNsb25lPGlHZXRGaWVsZHNEZXNjcmlwdGlvbj4odi5kYXRhLmZpZWxkcyl9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZGVsZXRlUmVzdWx0RnJvbUNvbW1lbnQoY29tbWVudElEOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDxhbnk+Pih0aGlzLnVybC5yZXN1bHQuZGVsZXRlRnJvbUNvbW1lbnQsIHtjb21tZW50SWQ6IGNvbW1lbnRJRH0pXG4gIH1cblxuICBhZGRSZXN1bHRGcm9tQ29tbWVudChjb21tZW50SUQ6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpSHR0cEFuc3dlckJYPGlUYXNrUmVzdWx0SHR0cD4+KHRoaXMudXJsLnJlc3VsdC5hZGRGcm9tQ29tbWVudCwge2NvbW1lbnRJZDogY29tbWVudElEfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAodiA9PiB7XG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcbiAgICAgICAgICAgIHRoaXMudGFza1Jlc3VsdE1hcC5pVGFza1Jlc3VsdEh0dHBUb2lUYXNrUmVzdWx0KHYucmVzdWx0KVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgIH0pKVxuICB9XG5cbiAgZ2V0UmVzdWxMaXN0KHRhc2tJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxpVGFza1Jlc3VsdFtdIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlIdHRwQW5zd2VyQlg8aVRhc2tSZXN1bHRIdHRwW10+Pih0aGlzLnVybC5yZXN1bHQubGlzdCwge3Rhc2tJZDogdGFza0lkfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAodiA9PiB7XG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybiB2LnJlc3VsdC5tYXAoaSA9PiB0aGlzLnRhc2tSZXN1bHRNYXAuaVRhc2tSZXN1bHRIdHRwVG9pVGFza1Jlc3VsdChpKSlcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9KSlcbiAgfVxuXG4gIGdldFBsYW5uZXJMaXN0KCkge3NcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDwoc3RyaW5nIHwgbnVtYmVyKVtdPj4odGhpcy51cmwucGxhbm5lci5nZXRsaXN0KVxuICB9XG5cbiAgZ2V0YWNjZXNzKGlkOiBudW1iZXIsIHVzZXJzOiBudW1iZXJbXSA9IFtdKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlIdHRwQW5zd2VyQlg8aUdldEFjY2Vzc1Rhc2s+Pih0aGlzLnVybC5nZXRhY2Nlc3MsIHt0YXNrSWQ6IGlkLCB1c2VyOiB1c2Vyc30pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHYgPT4gdGhpcy5odHRwLm1hcFJlc3VsdCh2KSksXG4gICAgICAgIG1hcCh2ID0+ICh2ICYmIHYuYWxsb3dlZEFjdGlvbnMpID8gdi5hbGxvd2VkQWN0aW9ucyA6IHVuZGVmaW5lZClcbiAgICAgIClcbiAgfVxuICAgKi9cbn1cblxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./tasks/task";
|
|
4
|
+
export class BXRestTasks {
|
|
5
|
+
constructor(task) {
|
|
6
|
+
this.task = task;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
BXRestTasks.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestTasks, deps: [{ token: i1.BXRestTasksTask }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10
|
+
BXRestTasks.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestTasks, providedIn: 'root' });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestTasks, decorators: [{
|
|
12
|
+
type: Injectable,
|
|
13
|
+
args: [{
|
|
14
|
+
providedIn: 'root'
|
|
15
|
+
}]
|
|
16
|
+
}], ctorParameters: function () { return [{ type: i1.BXRestTasksTask }]; } });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0L3Rhc2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQU0xQyxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUNTLElBQXFCO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQWlCO0lBRTlCLENBQUM7O3dHQUxVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJYUmVzdFRhc2tzVGFzayB9IGZyb20gJy4vdGFza3MvdGFzaydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQlhSZXN0VGFza3Mge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0YXNrOiBCWFJlc3RUYXNrc1Rhc2ssXG4gICkge1xuICB9XG5cbn1cblxuIl19
|
package/esm2020/request/user.mjs
CHANGED
|
@@ -1,24 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { first, mergeMap } from 'rxjs/operators';
|
|
1
|
+
import { throwError } from 'rxjs';
|
|
3
2
|
import clone from 'just-clone';
|
|
4
3
|
import HttpBXServices from '../services/http/HttpBX';
|
|
5
|
-
import { saveArr } from '../store/users';
|
|
6
|
-
// import DateTrace from 'bx-rest/services/api/trace/metods/date'
|
|
7
|
-
import SnackBarService from '../services/snack-bar/snack-bar.service';
|
|
8
4
|
import { $get, $list, $search, $update, $user } from '../consts/part-name-metods';
|
|
9
5
|
import { Injectable } from '@angular/core';
|
|
10
6
|
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "
|
|
12
|
-
import * as i2 from "../services/map/rest/user";
|
|
7
|
+
import * as i1 from "../map/user";
|
|
13
8
|
export class BXRestUser {
|
|
14
|
-
constructor(http,
|
|
15
|
-
// private img: ImgServices,
|
|
16
|
-
//private dateTrace: DateTrace,
|
|
17
|
-
store, userMap) {
|
|
9
|
+
constructor(http, BXRestUserMap) {
|
|
18
10
|
this.http = http;
|
|
19
|
-
this.
|
|
20
|
-
this.store = store;
|
|
21
|
-
this.userMap = userMap;
|
|
11
|
+
this.BXRestUserMap = BXRestUserMap;
|
|
22
12
|
this.url = {
|
|
23
13
|
admin: [$user, 'admin'],
|
|
24
14
|
get: [$user, $get],
|
|
@@ -37,7 +27,6 @@ export class BXRestUser {
|
|
|
37
27
|
this.def = {
|
|
38
28
|
params: { ACTIVE: 1, start: 0 }
|
|
39
29
|
};
|
|
40
|
-
this.user$ = this.store.select('users');
|
|
41
30
|
}
|
|
42
31
|
admin() {
|
|
43
32
|
return this.http.get(this.url.admin);
|
|
@@ -45,138 +34,46 @@ export class BXRestUser {
|
|
|
45
34
|
get(params = {}) {
|
|
46
35
|
let copyParams = clone(params);
|
|
47
36
|
this.setDefParam(copyParams);
|
|
48
|
-
return this.http.post(this.url.get, copyParams
|
|
49
|
-
// .pipe(
|
|
50
|
-
// tap(v => {
|
|
51
|
-
// if (v && v.result) {
|
|
52
|
-
// this.saveArrUser(v.result)
|
|
53
|
-
// }
|
|
54
|
-
// })
|
|
55
|
-
// )
|
|
37
|
+
return this.http.post(this.url.get, copyParams);
|
|
56
38
|
}
|
|
57
|
-
current(
|
|
58
|
-
|
|
59
|
-
return this.getSelfHttp();
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
return this.user$.pipe(mergeMap(v => {
|
|
63
|
-
if (v && v.self) {
|
|
64
|
-
return of(v.self);
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
return this.getSelfHttp();
|
|
68
|
-
}
|
|
69
|
-
}), first());
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
getSelfHttp() {
|
|
73
|
-
return this.http.get(this.url.current, {}, 'Не удалось получить пользователя');
|
|
74
|
-
// .pipe(
|
|
75
|
-
// tap(v => {
|
|
76
|
-
// if (v) {
|
|
77
|
-
// this.store.dispatch(saveSelf({self: v}))
|
|
78
|
-
// }
|
|
79
|
-
// }),
|
|
80
|
-
// )
|
|
81
|
-
}
|
|
82
|
-
access(access, textError = 'Не удалось получить права') {
|
|
83
|
-
return this.http.get(this.url.access, { ACCESS: access }, textError);
|
|
84
|
-
}
|
|
85
|
-
// getAll(params: iBXGetParam = {}): Observable<iBXRestUser [] | undefined> {
|
|
86
|
-
// if (!Object.keys(params).length) {
|
|
87
|
-
// params = clone(this.def.params)
|
|
88
|
-
// }
|
|
89
|
-
//
|
|
90
|
-
// const saveAllUser = compare(params, this.def.params)
|
|
91
|
-
// return this.user$.pipe(
|
|
92
|
-
// take(1),
|
|
93
|
-
// mergeMap(v => {
|
|
94
|
-
// if (v.load.all) {
|
|
95
|
-
// if (compare(this.def.params, params)) {
|
|
96
|
-
// return of(clone(v.data))
|
|
97
|
-
// }
|
|
98
|
-
// }
|
|
99
|
-
//
|
|
100
|
-
// return this.getEndArray(params).pipe(
|
|
101
|
-
// take(1),
|
|
102
|
-
// map(v => {
|
|
103
|
-
// if (v && v.result) {
|
|
104
|
-
// let cl = clone(v.result)
|
|
105
|
-
// return this.saveArrUser(cl)
|
|
106
|
-
// }
|
|
107
|
-
// return undefined
|
|
108
|
-
// }),
|
|
109
|
-
// )
|
|
110
|
-
// }),
|
|
111
|
-
// tap(v => {
|
|
112
|
-
// if (v && v.length && saveAllUser) {
|
|
113
|
-
// this.store.dispatch(loadAll({load: true}))
|
|
114
|
-
// }
|
|
115
|
-
// params.start = this.def.params.start
|
|
116
|
-
// })
|
|
117
|
-
// )
|
|
118
|
-
// }
|
|
119
|
-
saveArrUser(users) {
|
|
120
|
-
let result = [];
|
|
121
|
-
for (const user of users) {
|
|
122
|
-
result.push(this.userMap.HttpToBX(user));
|
|
123
|
-
}
|
|
124
|
-
this.store.dispatch(saveArr({ arr: result }));
|
|
125
|
-
return result;
|
|
126
|
-
}
|
|
127
|
-
search(params) {
|
|
128
|
-
if (typeof params === 'string') {
|
|
129
|
-
params = { FIND: params };
|
|
130
|
-
}
|
|
131
|
-
if (typeof params.ACTIVE !== 'boolean') {
|
|
132
|
-
params.ACTIVE = true;
|
|
133
|
-
}
|
|
134
|
-
return this.http.get(this.url.search, params, 'Сервер не отвечает на запрос поиска');
|
|
135
|
-
}
|
|
136
|
-
fields() {
|
|
137
|
-
return this.http.get(this.url.fields);
|
|
39
|
+
current() {
|
|
40
|
+
return this.http.get(this.url.current, {});
|
|
138
41
|
}
|
|
139
42
|
update(user, fieldUpdate) {
|
|
140
43
|
if (fieldUpdate && fieldUpdate.length) {
|
|
141
44
|
let sendData = {
|
|
142
45
|
ID: user.ID,
|
|
143
46
|
};
|
|
144
|
-
const userBX = this.
|
|
47
|
+
const userBX = this.BXRestUserMap.BXtoHttp(user);
|
|
145
48
|
for (const field of fieldUpdate) {
|
|
146
49
|
if (userBX[field]) {
|
|
147
50
|
sendData[field] = userBX[field];
|
|
148
51
|
}
|
|
149
52
|
else {
|
|
150
|
-
|
|
53
|
+
return throwError(() => 'One sent field is empty');
|
|
151
54
|
}
|
|
152
55
|
}
|
|
153
|
-
return this.http.post(this.url.update, sendData
|
|
56
|
+
return this.http.post(this.url.update, sendData);
|
|
154
57
|
}
|
|
155
58
|
else {
|
|
156
|
-
|
|
157
|
-
|
|
59
|
+
return throwError(() => 'All sent field for edit is empty');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
search(params) {
|
|
63
|
+
if (typeof params === 'string') {
|
|
64
|
+
params = { FIND: params };
|
|
65
|
+
}
|
|
66
|
+
if (typeof params.ACTIVE !== 'boolean') {
|
|
67
|
+
params.ACTIVE = true;
|
|
158
68
|
}
|
|
69
|
+
return this.http.get(this.url.search, params);
|
|
70
|
+
}
|
|
71
|
+
access(access) {
|
|
72
|
+
return this.http.get(this.url.access, { ACCESS: access });
|
|
73
|
+
}
|
|
74
|
+
fields() {
|
|
75
|
+
return this.http.get(this.url.fields);
|
|
159
76
|
}
|
|
160
|
-
// getEndArray(params: UserFilter = {}): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {
|
|
161
|
-
// return this.get(params).pipe(
|
|
162
|
-
// mergeMap(items => {
|
|
163
|
-
// if (items && items.result && typeof items.result === 'object') {
|
|
164
|
-
// if (items.next) {
|
|
165
|
-
// params.start = items.next
|
|
166
|
-
// return this.getEndArray(params).pipe(map(vEnd => {
|
|
167
|
-
// if (vEnd && items.result && vEnd.result) {
|
|
168
|
-
// return {result: [...items.result, ...vEnd.result]}
|
|
169
|
-
// }
|
|
170
|
-
// return (items) ? items : undefined
|
|
171
|
-
// }))
|
|
172
|
-
// }
|
|
173
|
-
// return of(items)
|
|
174
|
-
// } else {
|
|
175
|
-
// return of(undefined)
|
|
176
|
-
// }
|
|
177
|
-
// }),
|
|
178
|
-
// )
|
|
179
|
-
// }
|
|
180
77
|
setDefParam(params) {
|
|
181
78
|
if (!params.hasOwnProperty('ACTIVE')) {
|
|
182
79
|
params.ACTIVE = this.def.params.ACTIVE;
|
|
@@ -192,12 +89,12 @@ export class BXRestUser {
|
|
|
192
89
|
}
|
|
193
90
|
}
|
|
194
91
|
}
|
|
195
|
-
BXRestUser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUser, deps: [{ token: HttpBXServices }, { token:
|
|
92
|
+
BXRestUser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUser, deps: [{ token: HttpBXServices }, { token: i1.BXRestUserMap }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
196
93
|
BXRestUser.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUser, providedIn: 'root' });
|
|
197
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUser, decorators: [{
|
|
198
95
|
type: Injectable,
|
|
199
96
|
args: [{
|
|
200
97
|
providedIn: 'root'
|
|
201
98
|
}]
|
|
202
|
-
}], ctorParameters: function () { return [{ type: HttpBXServices }, { type:
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxLQUFLLEVBQUcsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakQsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sY0FBYyxNQUFNLHlCQUF5QixDQUFBO0FBR3BELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwRCxpRUFBaUU7QUFDakUsT0FBTyxlQUFlLE1BQU0seUNBQXlDLENBQUE7QUFHckUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNqRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7O0FBSzFDLE1BQU0sT0FBTyxVQUFVO0lBd0JyQixZQUNVLElBQW9CLEVBQ3BCLFFBQXlCO0lBQ2pDLDRCQUE0QjtJQUM1QiwrQkFBK0I7SUFDdkIsS0FBbUMsRUFDbkMsT0FBaUM7UUFMakMsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFHekIsVUFBSyxHQUFMLEtBQUssQ0FBOEI7UUFDbkMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUE1QjNDLFFBQUcsR0FBRztZQUNKLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7WUFDdkIsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO1lBQzNCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7WUFDeEIs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QUMvQixVQUFVO0lBQ1YsVUFBVTtJQUNWLE1BQU07SUFDTixJQUFJO0lBRUssV0FBVyxDQUFDLE1BQW1CO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFBO1NBQ3ZDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQTtTQUNyQjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO1NBQ3JDO1FBRUQsSUFBSSxNQUFNLENBQUMsYUFBYSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDeEQsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFBO1NBQzVCO0lBQ0gsQ0FBQzs7dUdBck5VLFVBQVUsa0JBZmhCLGNBQWMsYUFNZCxlQUFlOzJHQVNULFVBQVUsY0FGVCxNQUFNOzJGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzBEQWRNLGNBQWMsWUFNZCxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZmlyc3QsICBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IGNsb25lIGZyb20gJ2p1c3QtY2xvbmUnXG5pbXBvcnQgeyBpQlhHZXRQYXJhbSB9IGZyb20gJy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXIvZ2V0J1xuaW1wb3J0IEh0dHBCWFNlcnZpY2VzIGZyb20gJy4uL3NlcnZpY2VzL2h0dHAvSHR0cEJYJ1xuaW1wb3J0IFVzZXJGaWx0ZXJTZWFyY2ggZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlci9Vc2VyRmlsdGVyU2VhcmNoJ1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCB7IHNhdmVBcnIsIHN0b3JlVXNlcnMgfSBmcm9tICcuLi9zdG9yZS91c2VycydcbmltcG9ydCB7IEJpdHJpeEFwaVVzZXJNYXBTZXJ2aWNlcyB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC9yZXN0L3VzZXInXG4vLyBpbXBvcnQgRGF0ZVRyYWNlIGZyb20gJ2J4LXJlc3Qvc2VydmljZXMvYXBpL3RyYWNlL21ldG9kcy9kYXRlJ1xuaW1wb3J0IFNuYWNrQmFyU2VydmljZSBmcm9tICcuLi9zZXJ2aWNlcy9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnXG5pbXBvcnQgaUh0dHBBbnN3ZXJCWCBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC9iYXNlL2h0dHBBbnN3ZXJCWCdcbmltcG9ydCB7IGlCWFJlc3RVc2VyLCBpQlhSZXN0VXNlckh0dHAsIGlCWFJlc3RVc2VySHR0cEZpZWxkIH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlci91c2VyJ1xuaW1wb3J0IHsgJGdldCwgJGxpc3QsICRzZWFyY2gsICR1cGRhdGUsICR1c2VyIH0gZnJvbSAnLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRvZHMnXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQlhSZXN0VXNlciB7XG5cbiAgdXJsID0ge1xuICAgIGFkbWluOiBbJHVzZXIsICdhZG1pbiddLFxuICAgIGdldDogWyR1c2VyLCAkZ2V0XSxcbiAgICBjdXJyZW50OiBbJHVzZXIsICdjdXJyZW50J10sXG4gICAgdXBkYXRlOiBbJHVzZXIsICR1cGRhdGVdLFxuICAgIHNlYXJjaDogWyR1c2VyLCAkc2VhcmNoXSxcbiAgICBhY2Nlc3M6IFskdXNlciwgJ2FjY2VzcyddLCAvLyBVMSAtINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDRgSBpZCA9MVxuICAgIC8vIEFVIC0g0LLRgdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L3QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C4XG4gICAgLy8gRDEgLSDQv9C+0LTRgNCw0LfQtNC10LvQtdC90LjQtSDRgSBpZD0xXG4gICAgLy8gRzEgLSDQs9GA0YPQv9C/0LAg0YEgaWQ9MVxuICAgIGZpZWxkczogWyR1c2VyLCAnZmllbGRzJ10sXG4gICAgdXNlcmZpZWxkOiB7XG4gICAgICBsaXN0OiBbJHVzZXIsICd1c2VyZmllbGQnLCAkbGlzdF1cbiAgICB9XG4gIH1cblxuICBkZWY6IHsgcGFyYW1zOiB7IEFDVElWRTogMSwgc3RhcnQ6IDAgfSB9ID0ge1xuICAgIHBhcmFtczoge0FDVElWRTogMSwgc3RhcnQ6IDB9XG4gIH1cblxuICB1c2VyJDogT2JzZXJ2YWJsZTxzdG9yZVVzZXJzPlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cEJYU2VydmljZXMsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgIC8vIHByaXZhdGUgaW1nOiBJbWdTZXJ2aWNlcyxcbiAgICAvL3ByaXZhdGUgZGF0ZVRyYWNlOiBEYXRlVHJhY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8eyB1c2Vyczogc3RvcmVVc2VycyB9PixcbiAgICBwcml2YXRlIHVzZXJNYXA6IEJpdHJpeEFwaVVzZXJNYXBTZXJ2aWNlcyxcbiAgKSB7XG4gICAgdGhpcy51c2VyJCA9IHRoaXMuc3RvcmUuc2VsZWN0KCd1c2VycycpXG4gIH1cblxuICBhZG1pbigpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxib29sZWFuPih0aGlzLnVybC5hZG1pbilcbiAgfVxuXG4gIGdldChwYXJhbXM6IGlCWEdldFBhcmFtID0ge30pIHtcbiAgICBsZXQgY29weVBhcmFtcyA9IGNsb25lKHBhcmFtcylcbiAgICB0aGlzLnNldERlZlBhcmFtKGNvcHlQYXJhbXMpXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RVc2VySHR0cFtdLCBpQlhSZXN0VXNlcltdPlxuICAgIChcbiAgICAgIHRoaXMudXJsLmdldCxcbiAgICAgIGNvcHlQYXJhbXMsXG4gICAgICAn0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5JyxcbiAgICAgICh2OiBpQlhSZXN0VXNlckh0dHBbXSkgPT4ge3JldHVybiB2Lm1hcCggaSA9PiB0aGlzLnVzZXJNYXAuSHR0cFRvQlgoaSkpfVxuICAgIClcbiAgICAgIC8vIC5waXBlKFxuICAgICAgLy8gICB0YXAodiA9PiB7XG4gICAgICAvLyAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcbiAgICAgIC8vICAgICAgIHRoaXMuc2F2ZUFyclVzZXIodi5yZXN1bHQpXG4gICAgICAvLyAgICAgfVxuICAgICAgLy8gICB9KVxuICAgICAgLy8gKVxuICB9XG5cbiAgY3VycmVudCh1cGRhdGUgPSBmYWxzZSkge1xuICAgIGlmICh1cGRhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFNlbGZIdHRwKClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudXNlciQucGlwZShcbiAgICAgICAgbWVyZ2VNYXAodiA9PiB7XG4gICAgICAgICAgaWYgKHYgJiYgdi5zZWxmKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yodi5zZWxmKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWxmSHR0cCgpXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZmlyc3QoKVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZkh0dHAoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8aUJYUmVzdFVzZXJIdHRwLCBpQlhSZXN0VXNlcj5cbiAgICAodGhpcy51cmwuY3VycmVudCwge30sICfQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJylcbiAgICAgIC8vIC5waXBlKFxuICAgICAgLy8gICB0YXAodiA9PiB7XG4gICAgICAvLyAgICAgaWYgKHYpIHtcbiAgICAgIC8vICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZVNlbGYoe3NlbGY6IHZ9KSlcbiAgICAgIC8vICAgICB9XG4gICAgICAvLyAgIH0pLFxuICAgICAgLy8gKVxuICB9XG5cbiAgYWNjZXNzKGFjY2Vzczogc3RyaW5nW10sIHRleHRFcnJvciA9ICfQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0L/RgNCw0LLQsCcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxpSHR0cEFuc3dlckJYPGJvb2xlYW4+IHwgdW5kZWZpbmVkPih0aGlzLnVybC5hY2Nlc3MsIHtBQ0NFU1M6IGFjY2Vzc30sIHRleHRFcnJvcilcbiAgfVxuXG4gIC8vIGdldEFsbChwYXJhbXM6IGlCWEdldFBhcmFtID0ge30pOiBPYnNlcnZhYmxlPGlCWFJlc3RVc2VyIFtdIHwgdW5kZWZpbmVkPiB7XG4gIC8vICAgaWYgKCFPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCkge1xuICAvLyAgICAgcGFyYW1zID0gY2xvbmUodGhpcy5kZWYucGFyYW1zKVxuICAvLyAgIH1cbiAgLy9cbiAgLy8gICBjb25zdCBzYXZlQWxsVXNlciA9IGNvbXBhcmUocGFyYW1zLCB0aGlzLmRlZi5wYXJhbXMpXG4gIC8vICAgcmV0dXJuIHRoaXMudXNlciQucGlwZShcbiAgLy8gICAgIHRha2UoMSksXG4gIC8vICAgICBtZXJnZU1hcCh2ID0+IHtcbiAgLy8gICAgICAgaWYgKHYubG9hZC5hbGwpIHtcbiAgLy8gICAgICAgICBpZiAoY29tcGFyZSh0aGlzLmRlZi5wYXJhbXMsIHBhcmFtcykpIHtcbiAgLy8gICAgICAgICAgIHJldHVybiBvZihjbG9uZSh2LmRhdGEpKVxuICAvLyAgICAgICAgIH1cbiAgLy8gICAgICAgfVxuICAvL1xuICAvLyAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRBcnJheShwYXJhbXMpLnBpcGUoXG4gIC8vICAgICAgICAgdGFrZSgxKSxcbiAgLy8gICAgICAgICBtYXAodiA9PiB7XG4gIC8vICAgICAgICAgICBpZiAodiAmJiB2LnJlc3VsdCkge1xuICAvLyAgICAgICAgICAgICBsZXQgY2wgPSBjbG9uZSh2LnJlc3VsdClcbiAgLy8gICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2F2ZUFyclVzZXIoY2wpXG4gIC8vICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gIC8vICAgICAgICAgfSksXG4gIC8vICAgICAgIClcbiAgLy8gICAgIH0pLFxuICAvLyAgICAgdGFwKHYgPT4ge1xuICAvLyAgICAgICBpZiAodiAmJiB2Lmxlbmd0aCAmJiBzYXZlQWxsVXNlcikge1xuICAvLyAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobG9hZEFsbCh7bG9hZDogdHJ1ZX0pKVxuICAvLyAgICAgICB9XG4gIC8vICAgICAgIHBhcmFtcy5zdGFydCA9IHRoaXMuZGVmLnBhcmFtcy5zdGFydFxuICAvLyAgICAgfSlcbiAgLy8gICApXG4gIC8vIH1cblxuICBwcml2YXRlIHNhdmVBcnJVc2VyKHVzZXJzOiBpQlhSZXN0VXNlckh0dHBbXSkge1xuICAgIGxldCByZXN1bHQ6IGlCWFJlc3RVc2VyIFtdID0gW11cbiAgICBmb3IgKGNvbnN0IHVzZXIgb2YgdXNlcnMpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHRoaXMudXNlck1hcC5IdHRwVG9CWCh1c2VyKSlcbiAgICB9XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlQXJyKHthcnI6IHJlc3VsdH0pKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgc2VhcmNoKHBhcmFtczogc3RyaW5nIHwgVXNlckZpbHRlclNlYXJjaCkge1xuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAnc3RyaW5nJykge1xuICAgICAgcGFyYW1zID0ge0ZJTkQ6IHBhcmFtc31cbiAgICB9XG4gICAgaWYgKHR5cGVvZiBwYXJhbXMuQUNUSVZFICE9PSAnYm9vbGVhbicpIHtcbiAgICAgIHBhcmFtcy5BQ1RJVkUgPSB0cnVlXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGlIdHRwQW5zd2VyQlg8aUJYUmVzdFVzZXJIdHRwW10+PihcbiAgICAgIHRoaXMudXJsLnNlYXJjaCxcbiAgICAgIHBhcmFtcyxcbiAgICAgICfQodC10YDQstC10YAg0L3QtSDQvtGC0LLQtdGH0LDQtdGCINC90LAg0LfQsNC/0YDQvtGBINC/0L7QuNGB0LrQsCdcbiAgICApXG4gIH1cblxuICBmaWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8aUh0dHBBbnN3ZXJCWDxpQlhSZXN0VXNlckh0dHBGaWVsZD4+KHRoaXMudXJsLmZpZWxkcylcbiAgfVxuXG4gIHVwZGF0ZSh1c2VyOiBpQlhSZXN0VXNlciwgZmllbGRVcGRhdGU6IHN0cmluZ1tdKSB7XG4gICAgaWYgKGZpZWxkVXBkYXRlICYmIGZpZWxkVXBkYXRlLmxlbmd0aCkge1xuICAgICAgbGV0IHNlbmREYXRhOiBhbnkgPSB7XG4gICAgICAgIElEOiB1c2VyLklELFxuICAgICAgfVxuICAgICAgY29uc3QgdXNlckJYID0gdGhpcy51c2VyTWFwLkJYdG9IdHRwKHVzZXIpXG4gICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkVXBkYXRlKSB7XG4gICAgICAgIGlmICh1c2VyQlhbZmllbGRdKSB7XG4gICAgICAgICAgc2VuZERhdGFbZmllbGRdID0gdXNlckJYW2ZpZWxkXVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc25hY2tCYXIuZXJyb3IoJ9Ce0LTQvdC+INC40Lcg0YPQutCw0LfQsNC90L3Ri9GFINC/0L7Qu9C10Lkg0L7RgtC/0YDQsNCy0LvQtdC90L4g0L3QtSDQstC10YDQvdC+JylcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RVc2VySHR0cFtdPihcbiAgICAgICAgdGhpcy51cmwudXBkYXRlLFxuICAgICAgICBzZW5kRGF0YSxcbiAgICAgICAgJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0YEgSUQnICsgdXNlci5JRFxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNuYWNrQmFyLmVycm9yKCfQndC1INGD0LrQsNC30LDQvdC+INC90Lgg0L7QtNC90L4g0L/QvtC70LUg0LTQu9GPINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJylcbiAgICAgIHJldHVybiBvZih7fSlcbiAgICB9XG4gIH1cblxuICAvLyBnZXRFbmRBcnJheShwYXJhbXM6IFVzZXJGaWx0ZXIgPSB7fSk6IE9ic2VydmFibGU8aUh0dHBBbnN3ZXJCWDxpQlhSZXN0VXNlckh0dHBbXT4gfCB1bmRlZmluZWQ+IHtcbiAgLy8gICByZXR1cm4gdGhpcy5nZXQocGFyYW1zKS5waXBlKFxuICAvLyAgICAgbWVyZ2VNYXAoaXRlbXMgPT4ge1xuICAvLyAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMucmVzdWx0ICYmIHR5cGVvZiBpdGVtcy5yZXN1bHQgPT09ICdvYmplY3QnKSB7XG4gIC8vICAgICAgICAgaWYgKGl0ZW1zLm5leHQpIHtcbiAgLy8gICAgICAgICAgIHBhcmFtcy5zdGFydCA9IGl0ZW1zLm5leHRcbiAgLy8gICAgICAgICAgIHJldHVybiB0aGlzLmdldEVuZEFycmF5KHBhcmFtcykucGlwZShtYXAodkVuZCA9PiB7XG4gIC8vICAgICAgICAgICAgIGlmICh2RW5kICYmIGl0ZW1zLnJlc3VsdCAmJiB2RW5kLnJlc3VsdCkge1xuICAvLyAgICAgICAgICAgICAgIHJldHVybiB7cmVzdWx0OiBbLi4uaXRlbXMucmVzdWx0LCAuLi52RW5kLnJlc3VsdF19XG4gIC8vICAgICAgICAgICAgIH1cbiAgLy8gICAgICAgICAgICAgcmV0dXJuIChpdGVtcykgPyBpdGVtcyA6IHVuZGVmaW5lZFxuICAvLyAgICAgICAgICAgfSkpXG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgICAgIHJldHVybiBvZihpdGVtcylcbiAgLy8gICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAvLyAgICAgICB9XG4gIC8vICAgICB9KSxcbiAgLy8gICApXG4gIC8vIH1cblxuICAgcHJpdmF0ZSBzZXREZWZQYXJhbShwYXJhbXM6IGlCWEdldFBhcmFtKSB7XG4gICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ0FDVElWRScpKSB7XG4gICAgICBwYXJhbXMuQUNUSVZFID0gdGhpcy5kZWYucGFyYW1zLkFDVElWRVxuICAgIH1cbiAgICBpZiAocGFyYW1zLkFDVElWRSAmJiBwYXJhbXMuQUNUSVZFID09PSAyKSB7XG4gICAgICBkZWxldGUgcGFyYW1zLkFDVElWRVxuICAgIH1cbiAgICBpZiAoIXBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgnc3RhcnQnKSkge1xuICAgICAgcGFyYW1zLnN0YXJ0ID0gdGhpcy5kZWYucGFyYW1zLnN0YXJ0XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5VRl9ERVBBUlRNRU5UICYmICFwYXJhbXMuVUZfREVQQVJUTUVOVC5sZW5ndGgpIHtcbiAgICAgIGRlbGV0ZSBwYXJhbXMuVUZfREVQQVJUTUVOVFxuICAgIH1cbiAgfVxufVxuXG4iXX0=
|
|
99
|
+
}], ctorParameters: function () { return [{ type: HttpBXServices }, { type: i1.BXRestUserMap }]; } });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUU5QixPQUFPLGNBQWMsTUFBTSx5QkFBeUIsQ0FBQTtBQUdwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQU8xQyxNQUFNLE9BQU8sVUFBVTtJQXNCckIsWUFDVSxJQUFvQixFQUNwQixhQUE0QjtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUNwQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXRCdEMsUUFBRyxHQUFHO1lBQ0osS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUN2QixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7WUFDM0IsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUN4QixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQ3hCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7WUFDekIsdUNBQXVDO1lBQ3ZDLDRCQUE0QjtZQUM1QixxQkFBcUI7WUFDckIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztZQUN6QixTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUM7YUFDbEM7U0FDRixDQUFBO1FBRUQsUUFB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QUMsRUFBRTtZQUN4QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUE7U0FDckI7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtTQUNyQztRQUVELElBQUksTUFBTSxDQUFDLGFBQWEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ3hELE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQTtTQUM1QjtJQUNILENBQUM7O3VHQXZHVSxVQUFVLGtCQVhoQixjQUFjOzJHQVdSLFVBQVUsY0FGVCxNQUFNOzJGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzBEQVZNLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcydcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVXNlckdldCB9IGZyb20gJy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXIvZ2V0J1xuaW1wb3J0IEh0dHBCWFNlcnZpY2VzIGZyb20gJy4uL3NlcnZpY2VzL2h0dHAvSHR0cEJYJ1xuaW1wb3J0IFVzZXJGaWx0ZXJTZWFyY2ggZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlci9Vc2VyRmlsdGVyU2VhcmNoJ1xuaW1wb3J0IHsgaUJYUmVzdFVzZXIsIGlCWFJlc3RVc2VySHR0cCwgaUJYUmVzdFVzZXJIdHRwRmllbGQgfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL3VzZXInXG5pbXBvcnQgeyAkZ2V0LCAkbGlzdCwgJHNlYXJjaCwgJHVwZGF0ZSwgJHVzZXIgfSBmcm9tICcuLi9jb25zdHMvcGFydC1uYW1lLW1ldG9kcydcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgaUJYUmVzdEFuc3dlciB9IGZyb20gJy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Jhc2UvYW5zd2VyJ1xuaW1wb3J0IHsgQlhSZXN0VXNlck1hcCB9IGZyb20gJy4uL21hcC91c2VyJ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCWFJlc3RVc2VyIHtcblxuICB1cmwgPSB7XG4gICAgYWRtaW46IFskdXNlciwgJ2FkbWluJ10sXG4gICAgZ2V0OiBbJHVzZXIsICRnZXRdLFxuICAgIGN1cnJlbnQ6IFskdXNlciwgJ2N1cnJlbnQnXSxcbiAgICB1cGRhdGU6IFskdXNlciwgJHVwZGF0ZV0sXG4gICAgc2VhcmNoOiBbJHVzZXIsICRzZWFyY2hdLFxuICAgIGFjY2VzczogWyR1c2VyLCAnYWNjZXNzJ10sIC8vIFUxIC0g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINGBIGlkID0xXG4gICAgLy8gQVUgLSDQstGB0LUg0LDQstGC0L7RgNC40LfQvtCy0LDQvdC90YvQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LhcbiAgICAvLyBEMSAtINC/0L7QtNGA0LDQt9C00LXQu9C10L3QuNC1INGBIGlkPTFcbiAgICAvLyBHMSAtINCz0YDRg9C/0L/QsCDRgSBpZD0xXG4gICAgZmllbGRzOiBbJHVzZXIsICdmaWVsZHMnXSxcbiAgICB1c2VyZmllbGQ6IHtcbiAgICAgIGxpc3Q6IFskdXNlciwgJ3VzZXJmaWVsZCcsICRsaXN0XVxuICAgIH1cbiAgfVxuXG4gIGRlZjogeyBwYXJhbXM6IHsgQUNUSVZFOiAxLCBzdGFydDogMCB9IH0gPSB7XG4gICAgcGFyYW1zOiB7QUNUSVZFOiAxLCBzdGFydDogMH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cEJYU2VydmljZXMsXG4gICAgcHJpdmF0ZSBCWFJlc3RVc2VyTWFwOiBCWFJlc3RVc2VyTWFwXG4gICkge1xuICB9XG5cbiAgYWRtaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Ym9vbGVhbj4odGhpcy51cmwuYWRtaW4pXG4gIH1cblxuICBnZXQocGFyYW1zOiBpQlhSZXN0UGFyYW1Vc2VyR2V0ID0ge30pIHtcbiAgICBsZXQgY29weVBhcmFtcyA9IGNsb25lKHBhcmFtcylcbiAgICB0aGlzLnNldERlZlBhcmFtKGNvcHlQYXJhbXMpXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RVc2VySHR0cFtdPlxuICAgIChcbiAgICAgIHRoaXMudXJsLmdldCxcbiAgICAgIGNvcHlQYXJhbXNcbiAgICApXG4gIH1cblxuICBjdXJyZW50KCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGlCWFJlc3RVc2VySHR0cD4odGhpcy51cmwuY3VycmVudCwge30pXG4gIH1cblxuICB1cGRhdGUodXNlcjogaUJYUmVzdFVzZXIsIGZpZWxkVXBkYXRlOiBzdHJpbmdbXSkge1xuICAgIGlmIChmaWVsZFVwZGF0ZSAmJiBmaWVsZFVwZGF0ZS5sZW5ndGgpIHtcbiAgICAgIGxldCBzZW5kRGF0YTogYW55ID0ge1xuICAgICAgICBJRDogdXNlci5JRCxcbiAgICAgIH1cbiAgICAgIGNvbnN0IHVzZXJCWCA9IHRoaXMuQlhSZXN0VXNlck1hcC5CWHRvSHR0cCh1c2VyKVxuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZFVwZGF0ZSkge1xuICAgICAgICBpZiAodXNlckJYW2ZpZWxkXSkge1xuICAgICAgICAgIHNlbmREYXRhW2ZpZWxkXSA9IHVzZXJCWFtmaWVsZF1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnT25lIHNlbnQgZmllbGQgaXMgZW1wdHknKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFVzZXJIdHRwW10+KFxuICAgICAgICB0aGlzLnVybC51cGRhdGUsXG4gICAgICAgIHNlbmREYXRhXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdBbGwgc2VudCBmaWVsZCBmb3IgZWRpdCBpcyBlbXB0eScpXG4gICAgfVxuICB9XG5cbiAgc2VhcmNoKHBhcmFtczogc3RyaW5nIHwgVXNlckZpbHRlclNlYXJjaCkge1xuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAnc3RyaW5nJykge1xuICAgICAgcGFyYW1zID0ge0ZJTkQ6IHBhcmFtc31cbiAgICB9XG4gICAgaWYgKHR5cGVvZiBwYXJhbXMuQUNUSVZFICE9PSAnYm9vbGVhbicpIHtcbiAgICAgIHBhcmFtcy5BQ1RJVkUgPSB0cnVlXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGlCWFJlc3RBbnN3ZXI8aUJYUmVzdFVzZXJIdHRwW10+PihcbiAgICAgIHRoaXMudXJsLnNlYXJjaCxcbiAgICAgIHBhcmFtc1xuICAgIClcbiAgfVxuXG4gIGFjY2VzcyhhY2Nlc3M6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8aUJYUmVzdEFuc3dlcjxib29sZWFuPiB8IHVuZGVmaW5lZD4odGhpcy51cmwuYWNjZXNzLCB7QUNDRVNTOiBhY2Nlc3N9KVxuICB9XG5cbiAgZmllbGRzKCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGlCWFJlc3RBbnN3ZXI8aUJYUmVzdFVzZXJIdHRwRmllbGQ+Pih0aGlzLnVybC5maWVsZHMpXG4gIH1cblxuICBwcml2YXRlIHNldERlZlBhcmFtKHBhcmFtczogaUJYUmVzdFBhcmFtVXNlckdldCkge1xuICAgIGlmICghcGFyYW1zLmhhc093blByb3BlcnR5KCdBQ1RJVkUnKSkge1xuICAgICAgcGFyYW1zLkFDVElWRSA9IHRoaXMuZGVmLnBhcmFtcy5BQ1RJVkVcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5BQ1RJVkUgJiYgcGFyYW1zLkFDVElWRSA9PT0gMikge1xuICAgICAgZGVsZXRlIHBhcmFtcy5BQ1RJVkVcbiAgICB9XG4gICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3N0YXJ0JykpIHtcbiAgICAgIHBhcmFtcy5zdGFydCA9IHRoaXMuZGVmLnBhcmFtcy5zdGFydFxuICAgIH1cblxuICAgIGlmIChwYXJhbXMuVUZfREVQQVJUTUVOVCAmJiAhcGFyYW1zLlVGX0RFUEFSVE1FTlQubGVuZ3RoKSB7XG4gICAgICBkZWxldGUgcGFyYW1zLlVGX0RFUEFSVE1FTlRcbiAgICB9XG4gIH1cbn1cblxuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BaseServices } from '../../services/base';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../request/disk/file";
|
|
6
|
+
import * as i2 from "../../services/navvy";
|
|
7
|
+
export class BXRestNavvyDiskFile extends BaseServices {
|
|
8
|
+
constructor(BXRestDiskFile, Navvy) {
|
|
9
|
+
super();
|
|
10
|
+
this.BXRestDiskFile = BXRestDiskFile;
|
|
11
|
+
this.Navvy = Navvy;
|
|
12
|
+
}
|
|
13
|
+
get(id) {
|
|
14
|
+
return this.Navvy.mapAndSnackBarError(this.BXRestDiskFile.get(id), 'Не удалось получить файл').pipe(map(v => {
|
|
15
|
+
if (v) {
|
|
16
|
+
return Object.assign(v, { SIZE: this.toNum(v.SIZE) });
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
markDel(id) {
|
|
22
|
+
return this.Navvy.mapAndSnackBarError(this.BXRestDiskFile.markDel(id), 'Не удалось переместить файл в корзину')
|
|
23
|
+
.pipe(map(v => {
|
|
24
|
+
if (v) {
|
|
25
|
+
return Object.assign(v, { SIZE: this.toNum(v.SIZE) });
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
BXRestNavvyDiskFile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskFile, deps: [{ token: i1.BXRestDiskFile }, { token: i2.Navvy }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
BXRestNavvyDiskFile.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskFile, providedIn: 'root' });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskFile, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{
|
|
36
|
+
providedIn: 'root'
|
|
37
|
+
}]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.BXRestDiskFile }, { type: i2.Navvy }]; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvZGlzay9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7OztBQU9wQyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQUVuRCxZQUNVLGNBQThCLEVBQzlCLEtBQVk7UUFFcEIsS0FBSyxFQUFFLENBQUE7UUFIQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUd0QixDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQ2pHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxFQUFFO2dCQUNMLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFBO2FBQ3BEO1lBQ0QsT0FBTyxTQUFTLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsdUNBQXVDLENBQUM7YUFDNUcsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxFQUFFO2dCQUNMLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFBO2FBQ3BEO1lBQ0QsT0FBTyxTQUFTLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNMLENBQUM7O2dIQTlCVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYmFzZSdcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IEJYUmVzdERpc2tGaWxlIH0gZnJvbSAnLi4vLi4vcmVxdWVzdC9kaXNrL2ZpbGUnXHJcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmF2dnknXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3ROYXZ2eURpc2tGaWxlIGV4dGVuZHMgQmFzZVNlcnZpY2VzIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIEJYUmVzdERpc2tGaWxlOiBCWFJlc3REaXNrRmlsZSxcclxuICAgIHByaXZhdGUgTmF2dnk6IE5hdnZ5LFxyXG4gICkge1xyXG4gICAgc3VwZXIoKVxyXG4gIH1cclxuXHJcbiAgZ2V0KGlkOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5Lm1hcEFuZFNuYWNrQmFyRXJyb3IodGhpcy5CWFJlc3REaXNrRmlsZS5nZXQoaWQpLCAn0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGE0LDQudC7JykucGlwZShcclxuICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgIGlmICh2KSB7XHJcbiAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih2LCB7U0laRTogdGhpcy50b051bSh2LlNJWkUpfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbWFya0RlbChpZDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5tYXBBbmRTbmFja0JhckVycm9yKHRoaXMuQlhSZXN0RGlza0ZpbGUubWFya0RlbChpZCksICfQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LzQtdGB0YLQuNGC0Ywg0YTQsNC50Lsg0LIg0LrQvtGA0LfQuNC90YMnKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAodiA9PiB7XHJcbiAgICAgICAgICBpZiAodikge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih2LCB7U0laRTogdGhpcy50b051bSh2LlNJWkUpfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import BXRestMapDiskFolder from '../../map/disk/folder';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../request/disk/folder";
|
|
6
|
+
import * as i2 from "../../services/navvy";
|
|
7
|
+
export class BXRestDiskNavvyFolder {
|
|
8
|
+
constructor(BXRestDiskFolder, BXRestMapDiskFolder, Navvy) {
|
|
9
|
+
this.BXRestDiskFolder = BXRestDiskFolder;
|
|
10
|
+
this.BXRestMapDiskFolder = BXRestMapDiskFolder;
|
|
11
|
+
this.Navvy = Navvy;
|
|
12
|
+
}
|
|
13
|
+
// uploadfile(id: number, fileContent: string[]) {
|
|
14
|
+
// return this.httpPost(
|
|
15
|
+
// this.url.uploadfile,
|
|
16
|
+
// {
|
|
17
|
+
// id: id, // Идентификатор папки. В текущем API загружать файл по пути к папке невозможно. Необходимо обязательно вычислить ID папки
|
|
18
|
+
// fileContent: fileContent, // Аналогично 'DETAIL_PICTURE' в примере Обработка файлов (['имя файла', 'содержимое в base64'])
|
|
19
|
+
// data: {
|
|
20
|
+
// NAME: fileContent[0]
|
|
21
|
+
// } // Обязательное поле NAME - имя нового файла
|
|
22
|
+
// // generateUniqueName Необязательный, по умолчанию false. При указании true, для загружаемого файла будет уникализировано имя, добавлением суффикса (1), (2) и т.п.
|
|
23
|
+
// // rights Необязательный, по умолчанию пустой массив. Массив прав доступа на загружаемый файл.
|
|
24
|
+
// }
|
|
25
|
+
// )
|
|
26
|
+
// }
|
|
27
|
+
getchildren(id) {
|
|
28
|
+
return this.Navvy.mapAndSnackBarError(this.BXRestDiskFolder.getchildren(id), 'get folders and files').pipe(map(v => {
|
|
29
|
+
if (v) {
|
|
30
|
+
return this.BXRestMapDiskFolder.getContent(v);
|
|
31
|
+
}
|
|
32
|
+
return { file: [], folder: [] };
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
BXRestDiskNavvyFolder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskNavvyFolder, deps: [{ token: i1.BXRestDiskFolder }, { token: BXRestMapDiskFolder }, { token: i2.Navvy }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
BXRestDiskNavvyFolder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskNavvyFolder, providedIn: 'root' });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskNavvyFolder, decorators: [{
|
|
39
|
+
type: Injectable,
|
|
40
|
+
args: [{
|
|
41
|
+
providedIn: 'root'
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.BXRestDiskFolder }, { type: BXRestMapDiskFolder }, { type: i2.Navvy }]; } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvcmVxdWVzdC1uYXZ2eS9kaXNrL2ZvbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLG1CQUFtQixNQUFNLHVCQUF1QixDQUFBOzs7O0FBT3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFDVSxnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLEtBQVk7UUFGWixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUd0QixDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsUUFBUTtJQUNSLDJJQUEySTtJQUMzSSxtSUFBbUk7SUFDbkksZ0JBQWdCO0lBQ2hCLCtCQUErQjtJQUMvQix1REFBdUQ7SUFDdkQsNEtBQTRLO0lBQzVLLHVHQUF1RztJQUN2RyxRQUFRO0lBQ1IsTUFBTTtJQUNOLElBQUk7SUFFSixXQUFXLENBQUMsRUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLElBQUksQ0FDeEcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQzlDO1lBQ0QsT0FBTyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBQyxDQUFBO1FBQy9CLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDOztrSEFsQ1UscUJBQXFCLGtEQVAzQixtQkFBbUI7c0hBT2IscUJBQXFCLGNBRnBCLE1BQU07MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjt5RkFOTSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCBCWFJlc3RNYXBEaXNrRm9sZGVyIGZyb20gJy4uLy4uL21hcC9kaXNrL2ZvbGRlcidcclxuaW1wb3J0IHsgQlhSZXN0RGlza0ZvbGRlciB9IGZyb20gJy4uLy4uL3JlcXVlc3QvZGlzay9mb2xkZXInXHJcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmF2dnknXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3REaXNrTmF2dnlGb2xkZXIge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgQlhSZXN0RGlza0ZvbGRlcjogQlhSZXN0RGlza0ZvbGRlcixcclxuICAgIHByaXZhdGUgQlhSZXN0TWFwRGlza0ZvbGRlcjogQlhSZXN0TWFwRGlza0ZvbGRlcixcclxuICAgIHByaXZhdGUgTmF2dnk6IE5hdnZ5LFxyXG4gICAgLy8gcHJpdmF0ZSBkaXNrRmlsZUJhc2VNYXA6IGRpc2tGaWxlQmFzZU1hcFNlcnZpY2VzXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICAvLyB1cGxvYWRmaWxlKGlkOiBudW1iZXIsIGZpbGVDb250ZW50OiBzdHJpbmdbXSkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cFBvc3QoXHJcbiAgLy8gICAgIHRoaXMudXJsLnVwbG9hZGZpbGUsXHJcbiAgLy8gICAgIHtcclxuICAvLyAgICAgICBpZDogaWQsIC8vINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC/0LDQv9C60LguINCSINGC0LXQutGD0YnQtdC8IEFQSSDQt9Cw0LPRgNGD0LbQsNGC0Ywg0YTQsNC50Lsg0L/QviDQv9GD0YLQuCDQuiDQv9Cw0L/QutC1INC90LXQstC+0LfQvNC+0LbQvdC+LiDQndC10L7QsdGF0L7QtNC40LzQviDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdC+INCy0YvRh9C40YHQu9C40YLRjCBJRCDQv9Cw0L/QutC4XHJcbiAgLy8gICAgICAgZmlsZUNvbnRlbnQ6IGZpbGVDb250ZW50LCAvLyDQkNC90LDQu9C+0LPQuNGH0L3QviAnREVUQUlMX1BJQ1RVUkUnINCyINC/0YDQuNC80LXRgNC1INCe0LHRgNCw0LHQvtGC0LrQsCDRhNCw0LnQu9C+0LIgKFsn0LjQvNGPINGE0LDQudC70LAnLCAn0YHQvtC00LXRgNC20LjQvNC+0LUg0LIgYmFzZTY0J10pXHJcbiAgLy8gICAgICAgZGF0YToge1xyXG4gIC8vICAgICAgICAgTkFNRTogZmlsZUNvbnRlbnRbMF1cclxuICAvLyAgICAgICB9IC8vINCe0LHRj9C30LDRgtC10LvRjNC90L7QtSDQv9C+0LvQtSBOQU1FIC0g0LjQvNGPINC90L7QstC+0LPQviDRhNCw0LnQu9CwXHJcbiAgLy8gICAgICAgLy8gZ2VuZXJhdGVVbmlxdWVOYW1lXHTQndC10L7QsdGP0LfQsNGC0LXQu9GM0L3Ri9C5LCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiBmYWxzZS4g0J/RgNC4INGD0LrQsNC30LDQvdC40LggdHJ1ZSwg0LTQu9GPINC30LDQs9GA0YPQttCw0LXQvNC+0LPQviDRhNCw0LnQu9CwINCx0YPQtNC10YIg0YPQvdC40LrQsNC70LjQt9C40YDQvtCy0LDQvdC+INC40LzRjywg0LTQvtCx0LDQstC70LXQvdC40LXQvCDRgdGD0YTRhNC40LrRgdCwICgxKSwgKDIpINC4INGCLtC/LlxyXG4gIC8vICAgICAgIC8vIHJpZ2h0c1x00J3QtdC+0LHRj9C30LDRgtC10LvRjNC90YvQuSwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0L/Rg9GB0YLQvtC5INC80LDRgdGB0LjQsi4g0JzQsNGB0YHQuNCyINC/0YDQsNCyINC00L7RgdGC0YPQv9CwINC90LAg0LfQsNCz0YDRg9C20LDQtdC80YvQuSDRhNCw0LnQuy5cclxuICAvLyAgICAgfVxyXG4gIC8vICAgKVxyXG4gIC8vIH1cclxuXHJcbiAgZ2V0Y2hpbGRyZW4oaWQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkubWFwQW5kU25hY2tCYXJFcnJvcih0aGlzLkJYUmVzdERpc2tGb2xkZXIuZ2V0Y2hpbGRyZW4oaWQpLCAnZ2V0IGZvbGRlcnMgYW5kIGZpbGVzJykucGlwZShcclxuICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgIGlmICh2KSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3RNYXBEaXNrRm9sZGVyLmdldENvbnRlbnQodilcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtmaWxlOiBbXSwgZm9sZGVyOiBbXX1cclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|