@infrab4a/connect 4.0.0-beta.19 → 4.0.0-beta.20
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/domain/catalog/models/category.d.ts +4 -0
- package/domain/catalog/models/product.d.ts +6 -1
- package/domain/catalog/models/types/index.d.ts +1 -0
- package/domain/catalog/models/types/product-evaluation.type.d.ts +6 -0
- package/domain/users/models/lead.d.ts +1 -0
- package/esm2020/domain/catalog/models/category.mjs +5 -1
- package/esm2020/domain/catalog/models/product.mjs +24 -1
- package/esm2020/domain/catalog/models/types/index.mjs +2 -1
- package/esm2020/domain/catalog/models/types/product-evaluation.type.mjs +2 -0
- package/esm2020/domain/users/models/lead.mjs +1 -1
- package/esm2020/infra/elasticsearch/adapters/axios.adapter.mjs +28 -11
- package/esm2020/infra/elasticsearch/adapters/elastic-search.adapter.mjs +1 -1
- package/esm2020/infra/elasticsearch/indexes/products-index.mjs +58 -52
- package/esm2020/infra/elasticsearch/types/elastic-search-result.mjs +1 -1
- package/esm2020/infra/hasura-graphql/mixins/helpers/graphql-field.helper.mjs +8 -5
- package/esm2020/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.mjs +2 -2
- package/esm2020/infra/hasura-graphql/models/product-hasura-graphql.mjs +1 -1
- package/esm2020/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.mjs +2 -1
- package/esm2020/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.mjs +12 -1
- package/esm2020/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.mjs +2 -1
- package/esm2020/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.mjs +2 -1
- package/esm2020/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.mjs +19 -11
- package/fesm2015/infrab4a-connect.mjs +152 -72
- package/fesm2015/infrab4a-connect.mjs.map +1 -1
- package/fesm2020/infrab4a-connect.mjs +149 -75
- package/fesm2020/infrab4a-connect.mjs.map +1 -1
- package/infra/elasticsearch/adapters/axios.adapter.d.ts +6 -4
- package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +3 -2
- package/infra/elasticsearch/indexes/products-index.d.ts +8 -10
- package/infra/elasticsearch/types/elastic-search-result.d.ts +2 -0
- package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +1 -0
- package/package.json +1 -1
|
@@ -19,6 +19,10 @@ export declare class Category extends BaseModel<Category> {
|
|
|
19
19
|
shop: Shops;
|
|
20
20
|
published: boolean;
|
|
21
21
|
metadata: CategoryMetadata;
|
|
22
|
+
isCollection?: boolean;
|
|
23
|
+
reference?: string;
|
|
24
|
+
parentId?: number;
|
|
25
|
+
parent?: Category;
|
|
22
26
|
filters?: Filter[];
|
|
23
27
|
identifierFields(): NonFunctionPropertyNames<Category>[];
|
|
24
28
|
static get identifiersFields(): GenericIdentifier[];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseModel, GenericIdentifier, NonFunctionPropertyNames } from '../../generic/model';
|
|
2
|
+
import { Category } from './category';
|
|
2
3
|
import { KitProduct } from './kit-product';
|
|
3
|
-
import { ProductGender, ProductMetadata, ProductReview, ShopDescription, ShopPrice, Stock } from './types';
|
|
4
|
+
import { ProductEvaluation, ProductGender, ProductMetadata, ProductReview, ShopDescription, ShopPrice, Stock } from './types';
|
|
4
5
|
import { Variant } from './variant';
|
|
5
6
|
export declare class Product extends BaseModel<Product> {
|
|
6
7
|
id: string;
|
|
@@ -34,7 +35,11 @@ export declare class Product extends BaseModel<Product> {
|
|
|
34
35
|
gender?: ProductGender;
|
|
35
36
|
shoppingCount?: number;
|
|
36
37
|
metadata: ProductMetadata;
|
|
38
|
+
category: Category;
|
|
37
39
|
kitProducts?: KitProduct[];
|
|
40
|
+
private reviewsTotal?;
|
|
41
|
+
get evaluation(): ProductEvaluation;
|
|
42
|
+
set evaluation(evaluation: ProductEvaluation);
|
|
38
43
|
identifierFields(): NonFunctionPropertyNames<Product>[];
|
|
39
44
|
static get identifiersFields(): GenericIdentifier[];
|
|
40
45
|
}
|
|
@@ -10,8 +10,12 @@ export class Category extends BaseModel {
|
|
|
10
10
|
return ['id'];
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
+
__decorate([
|
|
14
|
+
Type(() => Category),
|
|
15
|
+
__metadata("design:type", Category)
|
|
16
|
+
], Category.prototype, "parent", void 0);
|
|
13
17
|
__decorate([
|
|
14
18
|
Type(() => Filter),
|
|
15
19
|
__metadata("design:type", Array)
|
|
16
20
|
], Category.prototype, "filters", void 0);
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vY2F0YWxvZy9tb2RlbHMvY2F0ZWdvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUErQyxNQUFNLHFCQUFxQixDQUFBO0FBRTVGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFHakMsTUFBTSxPQUFPLFFBQVMsU0FBUSxTQUFtQjtJQTJCL0MsZ0JBQWdCO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2YsQ0FBQztJQUVELE1BQU0sS0FBSyxpQkFBaUI7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2YsQ0FBQztDQUNGO0FBYkM7SUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDOzhCQUNaLFFBQVE7d0NBQUE7QUFFakI7SUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzt5Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcbmltcG9ydCB7IEJhc2VNb2RlbCwgR2VuZXJpY0lkZW50aWZpZXIsIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lcyB9IGZyb20gJy4uLy4uL2dlbmVyaWMvbW9kZWwnXG5pbXBvcnQgeyBTaG9wcyB9IGZyb20gJy4vZW51bXMnXG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuL2ZpbHRlcidcbmltcG9ydCB7IENhdGVnb3J5Q29uZGl0aW9uLCBDYXRlZ29yeU1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGNsYXNzIENhdGVnb3J5IGV4dGVuZHMgQmFzZU1vZGVsPENhdGVnb3J5PiB7XG4gIGlkOiBzdHJpbmdcbiAgYnJhbmRDYXRlZ29yeTogYm9vbGVhblxuICBicmFuZExvZ28/OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNsdWc6IHN0cmluZ1xuICBpbWFnZT86IHN0cmluZ1xuICBicmFuZENhdGVnb3J5QmFubmVyPzogc3RyaW5nXG4gIGJyYW5kQ2F0ZWdvcnlCYW5uZXJNb2JpbGU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBjb25kaXRpb25zPzogQ2F0ZWdvcnlDb25kaXRpb25cbiAgcHJvZHVjdHM/OiBzdHJpbmdbXVxuICBjcmVhdGVkQXQ/OiBEYXRlXG4gIHVwZGF0ZWRBdD86IERhdGVcbiAgc2hvcDogU2hvcHNcbiAgcHVibGlzaGVkOiBib29sZWFuXG4gIG1ldGFkYXRhOiBDYXRlZ29yeU1ldGFkYXRhXG4gIGlzQ29sbGVjdGlvbj86IGJvb2xlYW5cbiAgcmVmZXJlbmNlPzogc3RyaW5nXG4gIHBhcmVudElkPzogbnVtYmVyXG5cbiAgQFR5cGUoKCkgPT4gQ2F0ZWdvcnkpXG4gIHBhcmVudD86IENhdGVnb3J5XG5cbiAgQFR5cGUoKCkgPT4gRmlsdGVyKVxuICBmaWx0ZXJzPzogRmlsdGVyW11cblxuICBpZGVudGlmaWVyRmllbGRzKCk6IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxDYXRlZ29yeT5bXSB7XG4gICAgcmV0dXJuIFsnaWQnXVxuICB9XG5cbiAgc3RhdGljIGdldCBpZGVudGlmaWVyc0ZpZWxkcygpOiBHZW5lcmljSWRlbnRpZmllcltdIHtcbiAgICByZXR1cm4gWydpZCddXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { Type } from 'class-transformer';
|
|
3
3
|
import { BaseModel } from '../../generic/model';
|
|
4
|
+
import { Category } from './category';
|
|
4
5
|
import { KitProduct } from './kit-product';
|
|
5
6
|
export class Product extends BaseModel {
|
|
7
|
+
get evaluation() {
|
|
8
|
+
return {
|
|
9
|
+
reviews: this.reviews,
|
|
10
|
+
count: this.reviewsTotal,
|
|
11
|
+
rating: this.rate,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
set evaluation(evaluation) {
|
|
15
|
+
if (!evaluation) {
|
|
16
|
+
this.reviews = null;
|
|
17
|
+
this.reviewsTotal = null;
|
|
18
|
+
this.rate = null;
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
this.reviews = evaluation.reviews || this.reviews;
|
|
22
|
+
this.reviewsTotal = evaluation.count || this.reviewsTotal;
|
|
23
|
+
this.rate = evaluation.rating || this.rate;
|
|
24
|
+
}
|
|
6
25
|
identifierFields() {
|
|
7
26
|
return ['id'];
|
|
8
27
|
}
|
|
@@ -10,8 +29,12 @@ export class Product extends BaseModel {
|
|
|
10
29
|
return ['id'];
|
|
11
30
|
}
|
|
12
31
|
}
|
|
32
|
+
__decorate([
|
|
33
|
+
Type(() => Category),
|
|
34
|
+
__metadata("design:type", Category)
|
|
35
|
+
], Product.prototype, "category", void 0);
|
|
13
36
|
__decorate([
|
|
14
37
|
Type(() => KitProduct),
|
|
15
38
|
__metadata("design:type", Array)
|
|
16
39
|
], Product.prototype, "kitProducts", void 0);
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi9jYXRhbG9nL21vZGVscy9wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBK0MsTUFBTSxxQkFBcUIsQ0FBQTtBQUU1RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFZMUMsTUFBTSxPQUFPLE9BQVEsU0FBUSxTQUFrQjtJQXlDN0MsSUFBSSxVQUFVO1FBQ1osT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2xCLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsVUFBNkI7UUFDMUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1lBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1lBRWhCLE9BQU07U0FDUDtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFBO1FBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFBO1FBQ3pELElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQzVDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0lBRUQsTUFBTSxLQUFLLGlCQUFpQjtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0NBQ0Y7QUFyQ0M7SUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDOzhCQUNYLFFBQVE7eUNBQUE7QUFFbEI7SUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDOzs0Q0FDRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcbmltcG9ydCB7IEJhc2VNb2RlbCwgR2VuZXJpY0lkZW50aWZpZXIsIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lcyB9IGZyb20gJy4uLy4uL2dlbmVyaWMvbW9kZWwnXG5cbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnLi9jYXRlZ29yeSdcbmltcG9ydCB7IEtpdFByb2R1Y3QgfSBmcm9tICcuL2tpdC1wcm9kdWN0J1xuaW1wb3J0IHtcbiAgUHJvZHVjdEV2YWx1YXRpb24sXG4gIFByb2R1Y3RHZW5kZXIsXG4gIFByb2R1Y3RNZXRhZGF0YSxcbiAgUHJvZHVjdFJldmlldyxcbiAgU2hvcERlc2NyaXB0aW9uLFxuICBTaG9wUHJpY2UsXG4gIFN0b2NrLFxufSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgVmFyaWFudCB9IGZyb20gJy4vdmFyaWFudCdcblxuZXhwb3J0IGNsYXNzIFByb2R1Y3QgZXh0ZW5kcyBCYXNlTW9kZWw8UHJvZHVjdD4ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzbHVnOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IFNob3BEZXNjcmlwdGlvblxuICBza3U6IHN0cmluZ1xuICBwcmljZTogU2hvcFByaWNlXG4gIGhhc1ZhcmlhbnRzOiBib29sZWFuXG4gIE5DTTogc3RyaW5nXG4gIEVBTjogc3RyaW5nXG4gIENFU1Q6IHN0cmluZ1xuICB3ZWlnaHQ6IG51bWJlclxuICBzdG9jazogU3RvY2tcbiAgY29zdFByaWNlOiBudW1iZXJcbiAgaW1hZ2VzPzogc3RyaW5nW11cbiAgbWluaWF0dXJlcz86IHN0cmluZ1tdXG4gIHB1Ymxpc2hlZDogYm9vbGVhblxuICBjcmVhdGVkQXQ/OiBEYXRlXG4gIHVwZGF0ZWRBdD86IERhdGVcbiAgYnJhbmQ6IHN0cmluZ1xuICB0YWdzPzogc3RyaW5nW11cbiAgZmlsdGVycz86IHN0cmluZ1tdXG4gIHR5cGU/OiBzdHJpbmdcbiAgY2F0ZWdvcmllcz86IHN0cmluZ1tdXG4gIHJldmlld3M/OiBQcm9kdWN0UmV2aWV3W11cbiAgdmFyaWFudD86IFZhcmlhbnRcbiAgdmlkZW8/OiBzdHJpbmdcbiAgaXNLaXQ/OiBib29sZWFuXG4gIHJhdGU/OiBudW1iZXJcbiAgZ2VuZGVyPzogUHJvZHVjdEdlbmRlclxuICBzaG9wcGluZ0NvdW50PzogbnVtYmVyXG4gIG1ldGFkYXRhOiBQcm9kdWN0TWV0YWRhdGFcblxuICBAVHlwZSgoKSA9PiBDYXRlZ29yeSlcbiAgY2F0ZWdvcnk6IENhdGVnb3J5XG5cbiAgQFR5cGUoKCkgPT4gS2l0UHJvZHVjdClcbiAga2l0UHJvZHVjdHM/OiBLaXRQcm9kdWN0W11cblxuICBwcml2YXRlIHJldmlld3NUb3RhbD86IG51bWJlclxuXG4gIGdldCBldmFsdWF0aW9uKCk6IFByb2R1Y3RFdmFsdWF0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmV2aWV3czogdGhpcy5yZXZpZXdzLFxuICAgICAgY291bnQ6IHRoaXMucmV2aWV3c1RvdGFsLFxuICAgICAgcmF0aW5nOiB0aGlzLnJhdGUsXG4gICAgfVxuICB9XG5cbiAgc2V0IGV2YWx1YXRpb24oZXZhbHVhdGlvbjogUHJvZHVjdEV2YWx1YXRpb24pIHtcbiAgICBpZiAoIWV2YWx1YXRpb24pIHtcbiAgICAgIHRoaXMucmV2aWV3cyA9IG51bGxcbiAgICAgIHRoaXMucmV2aWV3c1RvdGFsID0gbnVsbFxuICAgICAgdGhpcy5yYXRlID0gbnVsbFxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLnJldmlld3MgPSBldmFsdWF0aW9uLnJldmlld3MgfHwgdGhpcy5yZXZpZXdzXG4gICAgdGhpcy5yZXZpZXdzVG90YWwgPSBldmFsdWF0aW9uLmNvdW50IHx8IHRoaXMucmV2aWV3c1RvdGFsXG4gICAgdGhpcy5yYXRlID0gZXZhbHVhdGlvbi5yYXRpbmcgfHwgdGhpcy5yYXRlXG4gIH1cblxuICBpZGVudGlmaWVyRmllbGRzKCk6IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxQcm9kdWN0PltdIHtcbiAgICByZXR1cm4gWydpZCddXG4gIH1cblxuICBzdGF0aWMgZ2V0IGlkZW50aWZpZXJzRmllbGRzKCk6IEdlbmVyaWNJZGVudGlmaWVyW10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './category-condition.type';
|
|
2
2
|
export * from './category-metadata.type';
|
|
3
|
+
export * from './product-evaluation.type';
|
|
3
4
|
export * from './product-gender.type';
|
|
4
5
|
export * from './product-metadata.type';
|
|
5
6
|
export * from './product-review.type';
|
|
@@ -7,4 +8,4 @@ export * from './shop-description.type';
|
|
|
7
8
|
export * from './shop-price.type';
|
|
8
9
|
export * from './stock.type';
|
|
9
10
|
export * from './variant-grade.type';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vY2F0YWxvZy9tb2RlbHMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsY0FBYyxDQUFBO0FBQzVCLGNBQWMsc0JBQXNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LWNvbmRpdGlvbi50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9jYXRlZ29yeS1tZXRhZGF0YS50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LWV2YWx1YXRpb24udHlwZSdcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1nZW5kZXIudHlwZSdcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1tZXRhZGF0YS50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LXJldmlldy50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9zaG9wLWRlc2NyaXB0aW9uLnR5cGUnXG5leHBvcnQgKiBmcm9tICcuL3Nob3AtcHJpY2UudHlwZSdcbmV4cG9ydCAqIGZyb20gJy4vc3RvY2sudHlwZSdcbmV4cG9ydCAqIGZyb20gJy4vdmFyaWFudC1ncmFkZS50eXBlJ1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1ldmFsdWF0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vY2F0YWxvZy9tb2RlbHMvdHlwZXMvcHJvZHVjdC1ldmFsdWF0aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3RSZXZpZXcgfSBmcm9tICcuL3Byb2R1Y3QtcmV2aWV3LnR5cGUnXG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RFdmFsdWF0aW9uID0ge1xuICByZXZpZXdzPzogUHJvZHVjdFJldmlld1tdXG4gIHJhdGluZz86IG51bWJlclxuICBjb3VudD86IG51bWJlclxufVxuIl19
|
|
@@ -4,4 +4,4 @@ export class Lead extends BaseModel {
|
|
|
4
4
|
return ['id'];
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi91c2Vycy9tb2RlbHMvbGVhZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGdDQUFnQyxDQUFBO0FBRTdFLE1BQU0sT0FBTyxJQUFLLFNBQVEsU0FBZTtJQU12QyxNQUFNLEtBQUssaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCwgR2VuZXJpY0lkZW50aWZpZXIgfSBmcm9tICcuLi8uLi9nZW5lcmljL21vZGVsL2Jhc2UubW9kZWwnXG5cbmV4cG9ydCBjbGFzcyBMZWFkIGV4dGVuZHMgQmFzZU1vZGVsPExlYWQ+IHtcbiAgaWQ6IHN0cmluZ1xuICBhY2NlcHRzTmV3c2xldHRlcjogYm9vbGVhblxuICBlbWFpbDogc3RyaW5nXG4gIHNvdXJjZTogc3RyaW5nXG5cbiAgc3RhdGljIGdldCBpZGVudGlmaWVyc0ZpZWxkcygpOiBHZW5lcmljSWRlbnRpZmllcltdIHtcbiAgICByZXR1cm4gWydpZCddXG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,12 +4,16 @@ export class AxiosAdapter {
|
|
|
4
4
|
constructor(config) {
|
|
5
5
|
this.config = config;
|
|
6
6
|
}
|
|
7
|
-
async get(index) {
|
|
7
|
+
async get(index, id) {
|
|
8
8
|
try {
|
|
9
9
|
const { data } = await axios({
|
|
10
|
-
url: `${this.config.url}/${index}`,
|
|
10
|
+
url: `${this.config.url}/${index}/_doc/${id}`,
|
|
11
11
|
method: 'GET',
|
|
12
|
-
|
|
12
|
+
responseType: 'json',
|
|
13
|
+
headers: {
|
|
14
|
+
'Content-Type': 'application/json',
|
|
15
|
+
Authorization: `ApiKey ${this.config.credential}`,
|
|
16
|
+
},
|
|
13
17
|
});
|
|
14
18
|
return data._source;
|
|
15
19
|
}
|
|
@@ -21,9 +25,14 @@ export class AxiosAdapter {
|
|
|
21
25
|
}
|
|
22
26
|
async query(index, query) {
|
|
23
27
|
const { data } = await axios({
|
|
24
|
-
url: `${this.config.url}/${index}`,
|
|
28
|
+
url: `${this.config.url}/${index}/_search`,
|
|
25
29
|
method: 'POST',
|
|
26
|
-
|
|
30
|
+
responseType: 'json',
|
|
31
|
+
headers: {
|
|
32
|
+
Accept: 'application/vnd.elasticsearch+json;compatible-with=7',
|
|
33
|
+
'Content-Type': 'application/vnd.elasticsearch+json;compatible-with=7',
|
|
34
|
+
Authorization: `ApiKey ${this.config.credential}`,
|
|
35
|
+
},
|
|
27
36
|
data: query,
|
|
28
37
|
});
|
|
29
38
|
return {
|
|
@@ -33,18 +42,26 @@ export class AxiosAdapter {
|
|
|
33
42
|
}
|
|
34
43
|
async save(index, data) {
|
|
35
44
|
await axios({
|
|
36
|
-
url: `${this.config.url}/${index}`,
|
|
45
|
+
url: `${this.config.url}/${index}/_doc`,
|
|
46
|
+
method: 'POST',
|
|
47
|
+
headers: { Authorization: `ApiKey ${this.config.credential}` },
|
|
48
|
+
data,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async update(index, id, data) {
|
|
52
|
+
await axios({
|
|
53
|
+
url: `${this.config.url}/${index}/_update/${id}`,
|
|
37
54
|
method: 'PUT',
|
|
38
|
-
headers: { Authorization: `
|
|
55
|
+
headers: { Authorization: `ApiKey ${this.config.credential}` },
|
|
39
56
|
data,
|
|
40
57
|
});
|
|
41
58
|
}
|
|
42
|
-
async delete(index) {
|
|
59
|
+
async delete(index, id) {
|
|
43
60
|
await axios({
|
|
44
|
-
url: `${this.config.url}/${index}`,
|
|
61
|
+
url: `${this.config.url}/${index}/_doc/${id}`,
|
|
45
62
|
method: 'DELETE',
|
|
46
|
-
headers: { Authorization: `
|
|
63
|
+
headers: { Authorization: `ApiKey ${this.config.credential}` },
|
|
47
64
|
});
|
|
48
65
|
}
|
|
49
66
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3MuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2VsYXN0aWNzZWFyY2gvYWRhcHRlcnMvYXhpb3MuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFHekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBUy9DLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQTZCLE1BQWdDO1FBQWhDLFdBQU0sR0FBTixNQUFNLENBQTBCO0lBQUcsQ0FBQztJQUVqRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFVO1FBQ2pDLElBQUk7WUFDRixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUM7Z0JBQzNCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssU0FBUyxFQUFFLEVBQUU7Z0JBQzdDLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFlBQVksRUFBRSxNQUFNO2dCQUNwQixPQUFPLEVBQUU7b0JBQ1AsY0FBYyxFQUFFLGtCQUFrQjtvQkFDbEMsYUFBYSxFQUFFLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7aUJBQ2xEO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO1NBQ3BCO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDO2dCQUFFLE1BQU0sS0FBSyxDQUFBO1lBRTFDLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBYSxFQUFFLEtBQVU7UUFDbkMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDO1lBQzNCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssVUFBVTtZQUMxQyxNQUFNLEVBQUUsTUFBTTtZQUNkLFlBQVksRUFBRSxNQUFNO1lBQ3BCLE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUUsc0RBQXNEO2dCQUM5RCxjQUFjLEVBQUUsc0RBQXNEO2dCQUN0RSxhQUFhLEVBQUUsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTthQUNsRDtZQUNELElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFBO1FBRUYsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7U0FDckIsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQWEsRUFBRSxJQUFnQjtRQUN4QyxNQUFNLEtBQUssQ0FBQztZQUNWLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssT0FBTztZQUN2QyxNQUFNLEVBQUUsTUFBTTtZQUNkLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDOUQsSUFBSTtTQUNMLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQWEsRUFBRSxFQUFVLEVBQUUsSUFBZ0I7UUFDdEQsTUFBTSxLQUFLLENBQUM7WUFDVixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLFlBQVksRUFBRSxFQUFFO1lBQ2hELE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUM5RCxJQUFJO1NBQ0wsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBYSxFQUFFLEVBQVU7UUFDcEMsTUFBTSxLQUFLLENBQUM7WUFDVixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLFNBQVMsRUFBRSxFQUFFO1lBQzdDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7U0FDL0QsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJ1xuXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBOb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgRWxhc3RpY1NlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzL2VsYXN0aWMtc2VhcmNoLXJlc3VsdCdcbmltcG9ydCB7IEVsYXN0aWNTZWFyY2hBZGFwdGVyIH0gZnJvbSAnLi9lbGFzdGljLXNlYXJjaC5hZGFwdGVyJ1xuXG5leHBvcnQgdHlwZSBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcgPSB7XG4gIHVybDogc3RyaW5nXG4gIGNyZWRlbnRpYWw6IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgQXhpb3NBZGFwdGVyPFQgZXh0ZW5kcyBCYXNlTW9kZWw8VD4+IGltcGxlbWVudHMgRWxhc3RpY1NlYXJjaEFkYXB0ZXI8VD4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnKSB7fVxuXG4gIGFzeW5jIGdldChpbmRleDogc3RyaW5nLCBpZDogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnVybH0vJHtpbmRleH0vX2RvYy8ke2lkfWAsXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQXBpS2V5ICR7dGhpcy5jb25maWcuY3JlZGVudGlhbH1gLFxuICAgICAgICB9LFxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIGRhdGEuX3NvdXJjZVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkgdGhyb3cgZXJyb3JcblxuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoZXJyb3IubWVzc2FnZSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBxdWVyeShpbmRleDogc3RyaW5nLCBxdWVyeTogYW55KTogUHJvbWlzZTxFbGFzdGljU2VhcmNoUmVzdWx0PFQ+PiB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCBheGlvcyh7XG4gICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnVybH0vJHtpbmRleH0vX3NlYXJjaGAsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi92bmQuZWxhc3RpY3NlYXJjaCtqc29uO2NvbXBhdGlibGUtd2l0aD03JyxcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi92bmQuZWxhc3RpY3NlYXJjaCtqc29uO2NvbXBhdGlibGUtd2l0aD03JyxcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEFwaUtleSAke3RoaXMuY29uZmlnLmNyZWRlbnRpYWx9YCxcbiAgICAgIH0sXG4gICAgICBkYXRhOiBxdWVyeSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRvdGFsOiBkYXRhLmhpdHMudG90YWwudmFsdWUsXG4gICAgICBoaXRzOiBkYXRhLmhpdHMuaGl0cyxcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlKGluZGV4OiBzdHJpbmcsIGRhdGE6IFBhcnRpYWw8VD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBheGlvcyh7XG4gICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnVybH0vJHtpbmRleH0vX2RvY2AsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHsgQXV0aG9yaXphdGlvbjogYEFwaUtleSAke3RoaXMuY29uZmlnLmNyZWRlbnRpYWx9YCB9LFxuICAgICAgZGF0YSxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlKGluZGV4OiBzdHJpbmcsIGlkOiBzdHJpbmcsIGRhdGE6IFBhcnRpYWw8VD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBheGlvcyh7XG4gICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnVybH0vJHtpbmRleH0vX3VwZGF0ZS8ke2lkfWAsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgaGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQXBpS2V5ICR7dGhpcy5jb25maWcuY3JlZGVudGlhbH1gIH0sXG4gICAgICBkYXRhLFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBkZWxldGUoaW5kZXg6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgIHVybDogYCR7dGhpcy5jb25maWcudXJsfS8ke2luZGV4fS9fZG9jLyR7aWR9YCxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBoZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBBcGlLZXkgJHt0aGlzLmNvbmZpZy5jcmVkZW50aWFsfWAgfSxcbiAgICB9KVxuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1zZWFyY2guYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2VsYXN0aWNzZWFyY2gvYWRhcHRlcnMvZWxhc3RpYy1zZWFyY2guYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxhc3RpY1NlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzL2VsYXN0aWMtc2VhcmNoLXJlc3VsdCdcblxuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljU2VhcmNoQWRhcHRlcjxUID0gYW55PiB7XG4gIGdldChpbmRleDogc3RyaW5nLCBpZDogc3RyaW5nKTogUHJvbWlzZTxUPlxuICBxdWVyeShpbmRleDogc3RyaW5nLCBxdWVyeTogYW55KTogUHJvbWlzZTxFbGFzdGljU2VhcmNoUmVzdWx0PFQ+PlxuICBzYXZlKGluZGV4OiBzdHJpbmcsIGRhdGE6IFBhcnRpYWw8VD4pOiBQcm9taXNlPHZvaWQ+XG4gIHVwZGF0ZShpbmRleDogc3RyaW5nLCBpZDogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPFQ+KTogUHJvbWlzZTx2b2lkPlxuICBkZWxldGUoaW5kZXg6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD5cbn1cbiJdfQ==
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { Product } from '../../../domain';
|
|
1
|
+
import { Product, Shops } from '../../../domain';
|
|
2
2
|
export class ProductsIndex {
|
|
3
3
|
constructor(adapter) {
|
|
4
4
|
this.adapter = adapter;
|
|
5
|
+
this.index = `products`;
|
|
5
6
|
}
|
|
6
|
-
async
|
|
7
|
-
const data = await this.adapter.get(
|
|
7
|
+
async getById(id) {
|
|
8
|
+
const data = await this.adapter.get(this.index, id);
|
|
8
9
|
return Product.toInstance(data);
|
|
9
10
|
}
|
|
10
|
-
async
|
|
11
|
+
async search(searchTerm, total, shop) {
|
|
12
|
+
const size = total >= 10 ? 500 : 9;
|
|
11
13
|
const fields = [
|
|
14
|
+
'EAN',
|
|
12
15
|
'brand',
|
|
13
16
|
'id',
|
|
14
17
|
'images',
|
|
@@ -19,75 +22,78 @@ export class ProductsIndex {
|
|
|
19
22
|
'stock',
|
|
20
23
|
'slug',
|
|
21
24
|
'reviews',
|
|
22
|
-
'pricePaid',
|
|
23
|
-
'isGift',
|
|
24
|
-
'stock',
|
|
25
|
-
'weight',
|
|
26
|
-
'tags',
|
|
27
|
-
'filters',
|
|
28
25
|
'hasVariants',
|
|
29
|
-
'
|
|
26
|
+
'rate',
|
|
30
27
|
];
|
|
31
|
-
const {
|
|
28
|
+
const filter = [{ term: { published: true } }];
|
|
29
|
+
if (size > 9) {
|
|
30
|
+
fields.push(...['pricePaid', 'isGift', 'stock', 'weight', 'tags']);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
filter.push({ term: { tags: shop == Shops.GLAMSHOP ? 'feminino' : 'masculino' } });
|
|
34
|
+
}
|
|
35
|
+
const search = await this.adapter.query(this.index, {
|
|
36
|
+
size,
|
|
32
37
|
_source: fields,
|
|
33
38
|
query: {
|
|
34
39
|
bool: {
|
|
35
|
-
|
|
36
|
-
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
must: {
|
|
41
|
+
multi_match: {
|
|
42
|
+
query: `${searchTerm}`,
|
|
43
|
+
type: 'bool_prefix',
|
|
44
|
+
fields: [
|
|
45
|
+
'name',
|
|
46
|
+
'name.folded',
|
|
47
|
+
'name.search',
|
|
48
|
+
'description',
|
|
49
|
+
'description.search',
|
|
50
|
+
'description.folded',
|
|
51
|
+
'brand',
|
|
52
|
+
'brand.search',
|
|
53
|
+
'brand.folded',
|
|
54
|
+
],
|
|
55
|
+
fuzziness: 2,
|
|
40
56
|
},
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
57
|
+
},
|
|
58
|
+
should: {
|
|
59
|
+
match_phrase_prefix: {
|
|
60
|
+
'name.search': {
|
|
61
|
+
query: `${searchTerm}`,
|
|
62
|
+
slop: 10,
|
|
44
63
|
},
|
|
45
64
|
},
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
{
|
|
49
|
-
range: {
|
|
50
|
-
'stock.quantity': {
|
|
51
|
-
gt: 0,
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
]
|
|
56
|
-
: []),
|
|
57
|
-
],
|
|
65
|
+
},
|
|
66
|
+
filter,
|
|
58
67
|
},
|
|
59
68
|
},
|
|
60
|
-
...(options?.size ? { size: options?.size } : {}),
|
|
61
69
|
});
|
|
62
|
-
|
|
70
|
+
search.hits = search.hits.filter((e) => e._source.name !== '');
|
|
71
|
+
return search;
|
|
63
72
|
}
|
|
64
73
|
async save(product) {
|
|
65
|
-
delete product.createdAt;
|
|
66
|
-
delete product.updatedAt;
|
|
67
|
-
delete product.kitProducts;
|
|
68
74
|
try {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
75
|
+
const { createdAt, updatedAt, kitProducts, ...data } = product;
|
|
76
|
+
this.adapter.save(this.index, data);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.error(error);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async update(product) {
|
|
83
|
+
try {
|
|
84
|
+
await this.adapter.update(this.index, product.id, product);
|
|
73
85
|
}
|
|
74
86
|
catch (error) {
|
|
75
|
-
|
|
76
|
-
throw error;
|
|
77
|
-
console.error(error.message);
|
|
78
|
-
await this.adapter.save(`products/_doc/${product.id}`, product.toPlain());
|
|
87
|
+
console.error(error);
|
|
79
88
|
}
|
|
80
89
|
}
|
|
81
|
-
async delete(
|
|
82
|
-
if (!product.firestoreId)
|
|
83
|
-
return;
|
|
90
|
+
async delete(id) {
|
|
84
91
|
try {
|
|
85
|
-
await this.
|
|
86
|
-
await this.adapter.delete(`products/_doc/${product.firestoreId}`);
|
|
92
|
+
await this.adapter.delete(this.index, id);
|
|
87
93
|
}
|
|
88
94
|
catch (error) {
|
|
89
|
-
|
|
95
|
+
console.error(error);
|
|
90
96
|
}
|
|
91
97
|
}
|
|
92
98
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUloRCxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUE2QixPQUFzQztRQUF0QyxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUQzRCxVQUFLLEdBQUcsVUFBVSxDQUFBO0lBQzRDLENBQUM7SUFFdkUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFVO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNuRCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBa0IsRUFBRSxLQUFhLEVBQUUsSUFBWTtRQUMxRCxNQUFNLElBQUksR0FBVyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxQyxNQUFNLE1BQU0sR0FBRztZQUNiLEtBQUs7WUFDTCxPQUFPO1lBQ1AsSUFBSTtZQUNKLFFBQVE7WUFDUixZQUFZO1lBQ1osTUFBTTtZQUNOLE9BQU87WUFDUCxLQUFLO1lBQ0wsT0FBTztZQUNQLE1BQU07WUFDTixTQUFTO1lBQ1QsYUFBYTtZQUNiLE1BQU07U0FDUCxDQUFBO1FBRUQsTUFBTSxNQUFNLEdBQWtFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRTdHLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1NBQ25FO2FBQU07WUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQTtTQUNuRjtRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNsRCxJQUFJO1lBQ0osT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRTt3QkFDSixXQUFXLEVBQUU7NEJBQ1gsS0FBSyxFQUFFLEdBQUcsVUFBVSxFQUFFOzRCQUN0QixJQUFJLEVBQUUsYUFBYTs0QkFDbkIsTUFBTSxFQUFFO2dDQUNOLE1BQU07Z0NBQ04sYUFBYTtnQ0FDYixhQUFhO2dDQUNiLGFBQWE7Z0NBQ2Isb0JBQW9CO2dDQUNwQixvQkFBb0I7Z0NBQ3BCLE9BQU87Z0NBQ1AsY0FBYztnQ0FDZCxjQUFjOzZCQUNmOzRCQUNELFNBQVMsRUFBRSxDQUFDO3lCQUNiO3FCQUNGO29CQUNELE1BQU0sRUFBRTt3QkFDTixtQkFBbUIsRUFBRTs0QkFDbkIsYUFBYSxFQUFFO2dDQUNiLEtBQUssRUFBRSxHQUFHLFVBQVUsRUFBRTtnQ0FDdEIsSUFBSSxFQUFFLEVBQUU7NkJBQ1Q7eUJBQ0Y7cUJBQ0Y7b0JBQ0QsTUFBTTtpQkFDUDthQUNGO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUE7UUFFbkUsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUE2QjtRQUN0QyxJQUFJO1lBQ0YsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFBO1lBRTlELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7U0FDcEM7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckI7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUE2QjtRQUN4QyxJQUFJO1lBQ0YsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FDM0Q7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckI7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFVO1FBQ3JCLElBQUk7WUFDRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDMUM7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9kdWN0LCBTaG9wcyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IFByb2R1Y3RIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vaGFzdXJhLWdyYXBocWwnXG5pbXBvcnQgeyBFbGFzdGljU2VhcmNoQWRhcHRlciB9IGZyb20gJy4uL2FkYXB0ZXJzJ1xuXG5leHBvcnQgY2xhc3MgUHJvZHVjdHNJbmRleCB7XG4gIHByaXZhdGUgaW5kZXggPSBgcHJvZHVjdHNgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWRhcHRlcjogRWxhc3RpY1NlYXJjaEFkYXB0ZXI8UHJvZHVjdD4pIHt9XG5cbiAgYXN5bmMgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxQcm9kdWN0PiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWRhcHRlci5nZXQodGhpcy5pbmRleCwgaWQpXG4gICAgcmV0dXJuIFByb2R1Y3QudG9JbnN0YW5jZShkYXRhKVxuICB9XG5cbiAgYXN5bmMgc2VhcmNoKHNlYXJjaFRlcm06IHN0cmluZywgdG90YWw6IG51bWJlciwgc2hvcDogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2l6ZTogbnVtYmVyID0gdG90YWwgPj0gMTAgPyA1MDAgOiA5XG5cbiAgICBjb25zdCBmaWVsZHMgPSBbXG4gICAgICAnRUFOJyxcbiAgICAgICdicmFuZCcsXG4gICAgICAnaWQnLFxuICAgICAgJ2ltYWdlcycsXG4gICAgICAnbWluaWF0dXJlcycsXG4gICAgICAnbmFtZScsXG4gICAgICAncHJpY2UnLFxuICAgICAgJ3NrdScsXG4gICAgICAnc3RvY2snLFxuICAgICAgJ3NsdWcnLFxuICAgICAgJ3Jldmlld3MnLFxuICAgICAgJ2hhc1ZhcmlhbnRzJyxcbiAgICAgICdyYXRlJyxcbiAgICBdXG5cbiAgICBjb25zdCBmaWx0ZXI6IEFycmF5PHsgdGVybTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyIH0gfT4gPSBbeyB0ZXJtOiB7IHB1Ymxpc2hlZDogdHJ1ZSB9IH1dXG5cbiAgICBpZiAoc2l6ZSA+IDkpIHtcbiAgICAgIGZpZWxkcy5wdXNoKC4uLlsncHJpY2VQYWlkJywgJ2lzR2lmdCcsICdzdG9jaycsICd3ZWlnaHQnLCAndGFncyddKVxuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXIucHVzaCh7IHRlcm06IHsgdGFnczogc2hvcCA9PSBTaG9wcy5HTEFNU0hPUCA/ICdmZW1pbmlubycgOiAnbWFzY3VsaW5vJyB9IH0pXG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoID0gYXdhaXQgdGhpcy5hZGFwdGVyLnF1ZXJ5KHRoaXMuaW5kZXgsIHtcbiAgICAgIHNpemUsXG4gICAgICBfc291cmNlOiBmaWVsZHMsXG4gICAgICBxdWVyeToge1xuICAgICAgICBib29sOiB7XG4gICAgICAgICAgbXVzdDoge1xuICAgICAgICAgICAgbXVsdGlfbWF0Y2g6IHtcbiAgICAgICAgICAgICAgcXVlcnk6IGAke3NlYXJjaFRlcm19YCxcbiAgICAgICAgICAgICAgdHlwZTogJ2Jvb2xfcHJlZml4JyxcbiAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgJ25hbWUnLFxuICAgICAgICAgICAgICAgICduYW1lLmZvbGRlZCcsXG4gICAgICAgICAgICAgICAgJ25hbWUuc2VhcmNoJyxcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbi5zZWFyY2gnLFxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbi5mb2xkZWQnLFxuICAgICAgICAgICAgICAgICdicmFuZCcsXG4gICAgICAgICAgICAgICAgJ2JyYW5kLnNlYXJjaCcsXG4gICAgICAgICAgICAgICAgJ2JyYW5kLmZvbGRlZCcsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIGZ1enppbmVzczogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzaG91bGQ6IHtcbiAgICAgICAgICAgIG1hdGNoX3BocmFzZV9wcmVmaXg6IHtcbiAgICAgICAgICAgICAgJ25hbWUuc2VhcmNoJzoge1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBgJHtzZWFyY2hUZXJtfWAsXG4gICAgICAgICAgICAgICAgc2xvcDogMTAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmlsdGVyLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgc2VhcmNoLmhpdHMgPSBzZWFyY2guaGl0cy5maWx0ZXIoKGU6IGFueSkgPT4gZS5fc291cmNlLm5hbWUgIT09ICcnKVxuXG4gICAgcmV0dXJuIHNlYXJjaFxuICB9XG5cbiAgYXN5bmMgc2F2ZShwcm9kdWN0OiBQcm9kdWN0SGFzdXJhR3JhcGhRTCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGNyZWF0ZWRBdCwgdXBkYXRlZEF0LCBraXRQcm9kdWN0cywgLi4uZGF0YSB9ID0gcHJvZHVjdFxuXG4gICAgICB0aGlzLmFkYXB0ZXIuc2F2ZSh0aGlzLmluZGV4LCBkYXRhKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShwcm9kdWN0OiBQcm9kdWN0SGFzdXJhR3JhcGhRTCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIudXBkYXRlKHRoaXMuaW5kZXgsIHByb2R1Y3QuaWQsIHByb2R1Y3QpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLmRlbGV0ZSh0aGlzLmluZGV4LCBpZClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1zZWFyY2gtcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZWxhc3RpY3NlYXJjaC90eXBlcy9lbGFzdGljLXNlYXJjaC1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVsYXN0aWNTZWFyY2hSZXN1bHQ8VD4gPSB7XG4gIHRvdGFsOiBudW1iZXJcbiAgaGl0czoge1xuICAgIF9pbmRleDogc3RyaW5nXG4gICAgX2lkOiBzdHJpbmdcbiAgICBfc2NvcmU6IG51bWJlclxuICAgIF9zb3VyY2U6IFRcbiAgfVtdXG59XG4iXX0=
|
|
@@ -78,10 +78,13 @@ GraphQLFieldHelper.ConvertFieldValueTo = (instance, fields, update = false) => {
|
|
|
78
78
|
if (!!foreignKeyColumn &&
|
|
79
79
|
!isEmpty(foreignKeyColumn) &&
|
|
80
80
|
!Object.keys(foreignKeyColumn).filter((key) => !is(data[attributeName])?.[key]).length)
|
|
81
|
-
return Object.keys(foreignKeyColumn).reduce((object, current) =>
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
return Object.keys(foreignKeyColumn).reduce((object, current) => {
|
|
82
|
+
const { columnName: foreignColumnName } = AttributeOptionHelper.FindByAttribute(foreignKeyColumn[current], fields);
|
|
83
|
+
return {
|
|
84
|
+
...object,
|
|
85
|
+
[foreignColumnName]: data[attributeName]?.[current],
|
|
86
|
+
};
|
|
87
|
+
}, { ...result });
|
|
85
88
|
if (update &&
|
|
86
89
|
isObject(data[attributeName]) &&
|
|
87
90
|
!isNil(attributeFields) &&
|
|
@@ -114,4 +117,4 @@ GraphQLFieldHelper.ConvertFieldValueTo = (instance, fields, update = false) => {
|
|
|
114
117
|
return { ...result, [columnName]: data[attributeName] };
|
|
115
118
|
}, {});
|
|
116
119
|
};
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1maWVsZC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9ncmFwaHFsLWZpZWxkLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUlWLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBR2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRWxFLE1BQU0sT0FBTyxrQkFBa0I7O0FBQ3RCLHVDQUFvQixHQUFHLENBQzVCLE1BQXVDLEVBQ0wsRUFBRSxDQUNwQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0FBRXBGLG9EQUFpQyxHQUFHLENBQ3pDLE1BQWtDLEVBQzFCLEVBQUU7SUFDVixPQUFPLE1BQU07UUFDWCxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2QsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDNUMsSUFBSSxLQUFLLEtBQUssZUFBZTtZQUFFLE9BQU8sS0FBSyxDQUFBO1FBRTNDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxD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QyxJQUFJLENBQUMsYUFBeUQsQ0FBQyxDQUFBO1lBRXJFLE9BQU87Z0JBQ0wsR0FBRyxNQUFNO2dCQUNULEdBQUcsQ0FBQyxTQUFTLEtBQUssU0FBUztvQkFDekIsQ0FBQyxDQUFDO3dCQUNFLENBQUMsVUFBVSxDQUFDLEVBQUU7NEJBQ1osSUFBSSxFQUNGLFFBQVEsQ0FBQyxhQUE2RCxDQUFDLFlBQVksU0FBUztnQ0FDMUYsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUNwQyxJQUFJLENBQUMsYUFBeUQsQ0FBQyxFQUMvRCxlQUE2QyxDQUM5QztnQ0FDSCxDQUFDLENBQUMsU0FBUzt5QkFDaEI7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUNSLENBQUE7U0FDRjtRQUVELElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDTixPQUFPO2dCQUNMLEdBQUcsTUFBTTtnQkFDVCxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBeUQsQ0FBQyxFQUFFLFFBQVEsQ0FBQzthQUNoRyxDQUFBO1FBRUgsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQXlELENBQUMsRUFBRSxDQUFBO0lBQ3JHLENBQUMsRUFBRSxFQUFjLENBQUMsQ0FBQTtBQUNwQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlTW9kZWwsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0aWVzLFxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBpcywgaXNEYXRlLCBpc0VtcHR5LCBpc05pbCwgaXNPYmplY3QsIGlzU3RyaW5nLCBwYXJzZURhdGVUaW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaWVsZHMsIEdyYXBoUUxQYXJhbXMsIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcbmltcG9ydCB7IEJpbmRGaWx0ZXJRdWVyeUhlbHBlciB9IGZyb20gJy4vYmluZC1maWx0ZXItcXVlcnkuaGVscGVyJ1xuXG5leHBvcnQgY2xhc3MgR3JhcGhRTEZpZWxkSGVscGVyIHtcbiAgc3RhdGljIENoZWNrSXNHcmFwaFFMUGFyYW1zID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBwYXJhbXM6IHN0cmluZyB8IEdyYXBoUUxQYXJhbXM8TW9kZWw+W10sXG4gICk6IHBhcmFtcyBpcyBHcmFwaFFMUGFyYW1zPE1vZGVsPltdID0+XG4gICAgIWlzU3RyaW5nKHBhcmFtcykgJiYgQXJyYXkuaXNBcnJheShwYXJhbXMpICYmIHBhcmFtcy5sZW5ndGggPj0gMCAmJiAhIXBhcmFtc1swXS5vcGVyYXRpb25cblxuICBzdGF0aWMgQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+LFxuICApOiBGaWVsZHMgPT4ge1xuICAgIHJldHVybiBmaWVsZHNcbiAgICAgID8ubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBpZiAoaXNTdHJpbmcoZmllbGQpKSByZXR1cm4gZmllbGQudG9TdHJpbmcoKVxuICAgICAgICBpZiAoZmllbGQgPT09ICdhZmZlY3RlZF9yb3dzJykgcmV0dXJuIGZpZWxkXG5cbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gT2JqZWN0LmtleXMoZmllbGQpLnNoaWZ0KClcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IGZpZWxkW2ZpZWxkTmFtZSBhcyBrZXlvZiB0eXBlb2YgZmllbGRdXG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRWYWx1ZSkpXG4gICAgICAgICAgcmV0dXJuIHsgW2ZpZWxkTmFtZV06IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRWYWx1ZSkgfVxuICAgICAgICBpZiAoIUF0dHJpYnV0ZU9wdGlvbkhlbHBlci5DaGVja0lzQ29sdW1uT3B0aW9uKGZpZWxkVmFsdWUpKSByZXR1cm4gbnVsbFxuICAgICAgICBpZiAoZmllbGRWYWx1ZS5maWVsZHMpXG4gICAgICAgICAgcmV0dXJuICFmaWVsZFZhbHVlLmZpbHRlcnNcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIFtmaWVsZFZhbHVlLmNvbHVtbk5hbWUgfHwgZmllbGROYW1lXTogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhcbiAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUuZmllbGRzLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogZmllbGRWYWx1ZS5jb2x1bW5OYW1lIHx8IGZpZWxkTmFtZSxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRWYWx1ZS5maWVsZHMpLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgW2Ake2ZpZWxkVmFsdWUuY29sdW1uTmFtZX1fd2hlcmVgXToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnd2hlcmUnLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBmaWVsZFZhbHVlLmZpbHRlcnMuZmlsdGVyVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5NYWtlR3JhcGhRTFdoZXJlKGZpZWxkVmFsdWUuZmlsdGVycy5maWx0ZXJzLCBmaWVsZFZhbHVlLmZpZWxkcyksXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkVmFsdWUuY29sdW1uTmFtZVxuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKGZpZWxkKSA9PiAhIWZpZWxkKVxuICB9XG5cbiAgc3RhdGljIENvbnZlcnRGaWVsZFZhbHVlRnJvbSA9IDxcbiAgICBNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgICBSZWNvcmREYXRhVHlwZSBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZSxcbiAgICBEYXRhVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIFJlY29yZERhdGFUeXBlIHwgUmVjb3JkRGF0YVR5cGVbXT4sXG4gID4oXG4gICAgZGF0YTogRGF0YVR5cGUsXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPixcbiAgKTogUGFydGlhbDxOb25GdW5jdGlvblByb3BlcnRpZXM8TW9kZWw+PiA9PlxuICAgIE9iamVjdC5rZXlzKGRhdGEpLnJlZHVjZSgocmVzdWx0LCBjb2x1bW5OYW1lKSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGF0dHJpYnV0ZU5hbWUsXG4gICAgICAgIGZpZWxkczogYXR0cmlidXRlRmllbGRzLFxuICAgICAgICBmcm9tLFxuICAgICAgfSA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQ29sdW1uT3B0aW9uRnJvbUxpc3QoY29sdW1uTmFtZSwgZmllbGRzKVxuXG4gICAgICBpZiAoISFhdHRyaWJ1dGVGaWVsZHMgJiYgQXJyYXkuaXNBcnJheShhdHRyaWJ1dGVGaWVsZHMpKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFbY29sdW1uTmFtZV0pKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBbYXR0cmlidXRlTmFtZV06IGZyb21cbiAgICAgICAgICAgICAgPyBmcm9tKGRhdGFbY29sdW1uTmFtZV0sIGRhdGEpXG4gICAgICAgICAgICAgIDogaXM8UmVjb3JkRGF0YVR5cGVbXT4oZGF0YVtjb2x1bW5OYW1lXSkubWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgICAgICAgIEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZUZyb20oaXM8RGF0YVR5cGU+KHZhbHVlKSwgYXR0cmlidXRlRmllbGRzKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgIH1cbiAgICAgICAgaWYgKGlzT2JqZWN0KGRhdGFbY29sdW1uTmFtZV0pKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBbYXR0cmlidXRlTmFtZV06ICEhZnJvbVxuICAgICAgICAgICAgICA/IGZyb20oZGF0YVtjb2x1bW5OYW1lXSlcbiAgICAgICAgICAgICAgOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVGcm9tKGlzPERhdGFUeXBlPihkYXRhW2NvbHVtbk5hbWVdKSwgYXR0cmlidXRlRmllbGRzKSxcbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghIWZyb20pIHJldHVybiB7IC4uLnJlc3VsdCwgW2F0dHJpYnV0ZU5hbWVdOiBmcm9tKGRhdGFbY29sdW1uTmFtZV0sIGRhdGEpIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICBbYXR0cmlidXRlTmFtZV06IGlzU3RyaW5nKGRhdGFbY29sdW1uTmFtZV0pID8gcGFyc2VEYXRlVGltZShkYXRhW2NvbHVtbk5hbWVdLnRvU3RyaW5nKCkpIDogZGF0YVtjb2x1bW5OYW1lXSxcbiAgICAgIH1cbiAgICB9LCB7fSlcblxuICBzdGF0aWMgQ29udmVydEZpZWxkVmFsdWVUbyA9IDxcbiAgICBNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgICBEYXRhVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZT4sXG4gID4oXG4gICAgaW5zdGFuY2U6IE1vZGVsLFxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4sXG4gICAgdXBkYXRlID0gZmFsc2UsXG4gICk6IERhdGFUeXBlID0+IHtcbiAgICBjb25zdCBkYXRhOiBQYXJ0aWFsPE1vZGVsPiA9IGluc3RhbmNlLnRvUGxhaW4/LigpIHx8IGluc3RhbmNlXG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZGF0YSkucmVkdWNlKChyZXN1bHQsIGF0dHJpYnV0ZU5hbWUpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgY29sdW1uTmFtZSxcbiAgICAgICAgZmllbGRzOiBhdHRyaWJ1dGVGaWVsZHMsXG4gICAgICAgIGZvcmVpZ25LZXlDb2x1bW4sXG4gICAgICAgIHRvLFxuICAgICAgICBiaW5kUGVyc2lzdERhdGEsXG4gICAgICB9ID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TW9kZWw+LCBmaWVsZHMpXG5cbiAgICAgIGlmIChiaW5kUGVyc2lzdERhdGEpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgIC4uLmJpbmRQZXJzaXN0RGF0YShkYXRhW2F0dHJpYnV0ZU5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNb2RlbD5dLCBpbnN0YW5jZSksXG4gICAgICAgIH1cbiAgICAgIGlmIChpc05pbChjb2x1bW5OYW1lKSkgcmV0dXJuIHJlc3VsdFxuICAgICAgaWYgKFxuICAgICAgICAhIWZvcmVpZ25LZXlDb2x1bW4gJiZcbiAgICAgICAgIWlzRW1wdHkoZm9yZWlnbktleUNvbHVtbikgJiZcbiAgICAgICAgIU9iamVjdC5rZXlzKGZvcmVpZ25LZXlDb2x1bW4pLmZpbHRlcihcbiAgICAgICAgICAoa2V5KSA9PlxuICAgICAgICAgICAgIWlzPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KGRhdGFbYXR0cmlidXRlTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPl0pPy5ba2V5XSxcbiAgICAgICAgKS5sZW5ndGhcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvcmVpZ25LZXlDb2x1bW4pLnJlZHVjZShcbiAgICAgICAgICAob2JqZWN0LCBjdXJyZW50KSA9PiAoe1xuICAgICAgICAgICAgLi4ub2JqZWN0LFxuICAgICAgICAgICAgW2ZvcmVpZ25LZXlDb2x1bW5bY3VycmVudCBhcyBrZXlvZiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPltudW1iZXJdXV06XG4gICAgICAgICAgICAgIGRhdGFbYXR0cmlidXRlTmFtZSBhcyBrZXlvZiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPltudW1iZXJdXT8uW2N1cnJlbnRdLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHsgLi4ucmVzdWx0IH0sXG4gICAgICAgIClcblxuICAgICAgaWYgKFxuICAgICAgICB1cGRhdGUgJiZcbiAgICAgICAgaXNPYmplY3QoZGF0YVthdHRyaWJ1dGVOYW1lIGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dKSAmJlxuICAgICAgICAhaXNOaWwoYXR0cmlidXRlRmllbGRzKSAmJlxuICAgICAgICAhaXNEYXRlKGRhdGFbYXR0cmlidXRlTmFtZSBhcyBrZXlvZiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPltudW1iZXJdXSlcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuXG4gICAgICBpZiAoXG4gICAgICAgICEhY29sdW1uTmFtZSAmJlxuICAgICAgICBBcnJheS5pc0FycmF5KGF0dHJpYnV0ZUZpZWxkcykgJiZcbiAgICAgICAgaXNPYmplY3QoZGF0YVthdHRyaWJ1dGVOYW1lIGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZCA9XG4gICAgICAgICAgIWlzTmlsKGNvbHVtbk5hbWUpICYmIHRvXG4gICAgICAgICAgICA/IHRvKGluc3RhbmNlW2F0dHJpYnV0ZU5hbWUgYXMga2V5b2YgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5bbnVtYmVyXV0sIGluc3RhbmNlKVxuICAgICAgICAgICAgOiBkYXRhW2F0dHJpYnV0ZU5hbWUgYXMga2V5b2YgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5bbnVtYmVyXV1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAuLi4oY29udmVydGVkICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIFtjb2x1bW5OYW1lXToge1xuICAgICAgICAgICAgICAgICAgZGF0YTpcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VbYXR0cmlidXRlTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPl0gaW5zdGFuY2VvZiBCYXNlTW9kZWxcbiAgICAgICAgICAgICAgICAgICAgICA/IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZVRvKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2F0dHJpYnV0ZU5hbWUgYXMga2V5b2YgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5bbnVtYmVyXV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpZWxkcyBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPixcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IGNvbnZlcnRlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoISF0bylcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgW2NvbHVtbk5hbWVdOiB0byhpbnN0YW5jZVthdHRyaWJ1dGVOYW1lIGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dLCBpbnN0YW5jZSksXG4gICAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgLi4ucmVzdWx0LCBbY29sdW1uTmFtZV06IGRhdGFbYXR0cmlidXRlTmFtZSBhcyBrZXlvZiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPltudW1iZXJdXSB9XG4gICAgfSwge30gYXMgRGF0YVR5cGUpXG4gIH1cbn1cbiJdfQ==
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1maWVsZC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9ncmFwaHFsLWZpZWxkLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUlWLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBR2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRWxFLE1BQU0sT0FBTyxrQkFBa0I7O0FBQ3RCLHVDQUFvQixHQUFHLENBQzVCLE1BQXVDLEVBQ0wsRUFBRSxDQUNwQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0FBRXBGLG9EQUFpQyxHQUFHLENBQ3pDLE1BQWtDLEVBQzFCLEVBQUU7SUFDVixPQUFPLE1BQU07UUFDWCxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2QsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDNUMsSUFBSSxLQUFLLEtBQUssZUFBZTtZQUFFLE9BQU8sS0FBSyxDQUFBO1FBRTNDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxD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SyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3RCLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQXlELENBQUMsRUFBRSxRQUFRLENBQUM7Z0JBQ25GLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBeUQsQ0FBQyxDQUFBO1lBRXJFLE9BQU87Z0JBQ0wsR0FBRyxNQUFNO2dCQUNULEdBQUcsQ0FBQyxTQUFTLEtBQUssU0FBUztvQkFDekIsQ0FBQyxDQUFDO3dCQUNFLENBQUMsVUFBVSxDQUFDLEVBQUU7NEJBQ1osSUFBSSxFQUNGLFFBQVEsQ0FBQyxhQUE2RCxDQUFDLFlBQVksU0FBUztnQ0FDMUYsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUNwQyxJQUFJLENBQUMsYUFBeUQsQ0FBQyxFQUMvRCxlQUE2QyxDQUM5QztnQ0FDSCxDQUFDLENBQUMsU0FBUzt5QkFDaEI7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUNSLENBQUE7U0FDRjtRQUVELElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDTixPQUFPO2dCQUNMLEdBQUcsTUFBTTtnQkFDVCxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBeUQsQ0FBQyxFQUFFLFFBQVEsQ0FBQzthQUNoRyxDQUFBO1FBRUgsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQXlELENBQUMsRUFBRSxDQUFBO0lBQ3JHLENBQUMsRUFBRSxFQUFjLENBQUMsQ0FBQTtBQUNwQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlTW9kZWwsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0aWVzLFxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBpcywgaXNEYXRlLCBpc0VtcHR5LCBpc05pbCwgaXNPYmplY3QsIGlzU3RyaW5nLCBwYXJzZURhdGVUaW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaWVsZHMsIEdyYXBoUUxQYXJhbXMsIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcbmltcG9ydCB7IEJpbmRGaWx0ZXJRdWVyeUhlbHBlciB9IGZyb20gJy4vYmluZC1maWx0ZXItcXVlcnkuaGVscGVyJ1xuXG5leHBvcnQgY2xhc3MgR3JhcGhRTEZpZWxkSGVscGVyIHtcbiAgc3RhdGljIENoZWNrSXNHcmFwaFFMUGFyYW1zID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBwYXJhbXM6IHN0cmluZyB8IEdyYXBoUUxQYXJhbXM8TW9kZWw+W10sXG4gICk6IHBhcmFtcyBpcyBHcmFwaFFMUGFyYW1zPE1vZGVsPltdID0+XG4gICAgIWlzU3RyaW5nKHBhcmFtcykgJiYgQXJyYXkuaXNBcnJheShwYXJhbXMpICYmIHBhcmFtcy5sZW5ndGggPj0gMCAmJiAhIXBhcmFtc1swXS5vcGVyYXRpb25cblxuICBzdGF0aWMgQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+LFxuICApOiBGaWVsZHMgPT4ge1xuICAgIHJldHVybiBmaWVsZHNcbiAgICAgID8ubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBpZiAoaXNTdHJpbmcoZmllbGQpKSByZXR1cm4gZmllbGQudG9TdHJpbmcoKVxuICAgICAgICBpZiAoZmllbGQgPT09ICdhZmZlY3RlZF9yb3dzJykgcmV0dXJuIGZpZWxkXG5cbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gT2JqZWN0LmtleXMoZmllbGQpLnNoaWZ0KClcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IGZpZWxkW2ZpZWxkTmFtZSBhcyBrZXlvZiB0eXBlb2YgZmllbGRdXG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRWYWx1ZSkpXG4gICAgICAgICAgcmV0dXJuIHsgW2ZpZWxkTmFtZV06IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRWYWx1ZSkgfVxuICAgICAgICBpZiAoIUF0dHJpYnV0ZU9wdGlvbkhlbHBlci5DaGVja0lzQ29sdW1uT3B0aW9uKGZpZWxkVmFsdWUpKSByZXR1cm4gbnVsbFxuICAgICAgICBpZiAoZmllbGRWYWx1ZS5maWVsZHMpXG4gICAgICAgICAgcmV0dXJuICFmaWVsZFZhbHVlLmZpbHRlcnNcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIFtmaWVsZFZhbHVlLmNvbHVtbk5hbWUgfHwgZmllbGROYW1lXTogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhcbiAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUuZmllbGRzLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogZmllbGRWYWx1ZS5jb2x1bW5OYW1lIHx8IGZpZWxkTmFtZSxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRWYWx1ZS5maWVsZHMpLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgW2Ake2ZpZWxkVmFsdWUuY29sdW1uTmFtZX1fd2hlcmVgXToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnd2hlcmUnLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBmaWVsZFZhbHVlLmZpbHRlcnMuZmlsdGVyVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5NYWtlR3JhcGhRTFdoZXJlKGZpZWxkVmFsdWUuZmlsdGVycy5maWx0ZXJzLCBmaWVsZFZhbHVlLmZpZWxkcyksXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkVmFsdWUuY29sdW1uTmFtZVxuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKGZpZWxkKSA9PiAhIWZpZWxkKVxuICB9XG5cbiAgc3RhdGljIENvbnZlcnRGaWVsZFZhbHVlRnJvbSA9IDxcbiAgICBNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgICBSZWNvcmREYXRhVHlwZSBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZSxcbiAgICBEYXRhVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIFJlY29yZERhdGFUeXBlIHwgUmVjb3JkRGF0YVR5cGVbXT4sXG4gID4oXG4gICAgZGF0YTogRGF0YVR5cGUsXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPixcbiAgKTogUGFydGlhbDxOb25GdW5jdGlvblByb3BlcnRpZXM8TW9kZWw+PiA9PlxuICAgIE9iamVjdC5rZXlzKGRhdGEpLnJlZHVjZSgocmVzdWx0LCBjb2x1bW5OYW1lKSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGF0dHJpYnV0ZU5hbWUsXG4gICAgICAgIGZpZWxkczogYXR0cmlidXRlRmllbGRzLFxuICAgICAgICBmcm9tLFxuICAgICAgfSA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQ29sdW1uT3B0aW9uRnJvbUxpc3QoY29sdW1uTmFtZSwgZmllbGRzKVxuXG4gICAgICBpZiAoISFhdHRyaWJ1dGVGaWVsZHMgJiYgQXJyYXkuaXNBcnJheShhdHRyaWJ1dGVGaWVsZHMpKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFbY29sdW1uTmFtZV0pKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBbYXR0cmlidXRlTmFtZV06IGZyb21cbiAgICAgICAgICAgICAgPyBmcm9tKGRhdGFbY29sdW1uTmFtZV0sIGRhdGEpXG4gICAgICAgICAgICAgIDogaXM8UmVjb3JkRGF0YVR5cGVbXT4oZGF0YVtjb2x1bW5OYW1lXSkubWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgICAgICAgIEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZUZyb20oaXM8RGF0YVR5cGU+KHZhbHVlKSwgYXR0cmlidXRlRmllbGRzKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgIH1cbiAgICAgICAgaWYgKGlzT2JqZWN0KGRhdGFbY29sdW1uTmFtZV0pKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBbYXR0cmlidXRlTmFtZV06ICEhZnJvbVxuICAgICAgICAgICAgICA/IGZyb20oZGF0YVtjb2x1bW5OYW1lXSlcbiAgICAgICAgICAgICAgOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVGcm9tKGlzPERhdGFUeXBlPihkYXRhW2NvbHVtbk5hbWVdKSwgYXR0cmlidXRlRmllbGRzKSxcbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghIWZyb20pIHJldHVybiB7IC4uLnJlc3VsdCwgW2F0dHJpYnV0ZU5hbWVdOiBmcm9tKGRhdGFbY29sdW1uTmFtZV0sIGRhdGEpIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICBbYXR0cmlidXRlTmFtZV06IGlzU3RyaW5nKGRhdGFbY29sdW1uTmFtZV0pID8gcGFyc2VEYXRlVGltZShkYXRhW2NvbHVtbk5hbWVdLnRvU3RyaW5nKCkpIDogZGF0YVtjb2x1bW5OYW1lXSxcbiAgICAgIH1cbiAgICB9LCB7fSlcblxuICBzdGF0aWMgQ29udmVydEZpZWxkVmFsdWVUbyA9IDxcbiAgICBNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgICBEYXRhVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZT4sXG4gID4oXG4gICAgaW5zdGFuY2U6IE1vZGVsLFxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4sXG4gICAgdXBkYXRlID0gZmFsc2UsXG4gICk6IERhdGFUeXBlID0+IHtcbiAgICBjb25zdCBkYXRhOiBQYXJ0aWFsPE1vZGVsPiA9IGluc3RhbmNlLnRvUGxhaW4/LigpIHx8IGluc3RhbmNlXG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZGF0YSkucmVkdWNlKChyZXN1bHQsIGF0dHJpYnV0ZU5hbWUpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgY29sdW1uTmFtZSxcbiAgICAgICAgZmllbGRzOiBhdHRyaWJ1dGVGaWVsZHMsXG4gICAgICAgIGZvcmVpZ25LZXlDb2x1bW4sXG4gICAgICAgIHRvLFxuICAgICAgICBiaW5kUGVyc2lzdERhdGEsXG4gICAgICB9ID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TW9kZWw+LCBmaWVsZHMpXG5cbiAgICAgIGlmIChiaW5kUGVyc2lzdERhdGEpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgIC4uLmJpbmRQZXJzaXN0RGF0YShkYXRhW2F0dHJpYnV0ZU5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNb2RlbD5dLCBpbnN0YW5jZSksXG4gICAgICAgIH1cbiAgICAgIGlmIChpc05pbChjb2x1bW5OYW1lKSkgcmV0dXJuIHJlc3VsdFxuICAgICAgaWYgKFxuICAgICAgICAhIWZvcmVpZ25LZXlDb2x1bW4gJiZcbiAgICAgICAgIWlzRW1wdHkoZm9yZWlnbktleUNvbHVtbikgJiZcbiAgICAgICAgIU9iamVjdC5rZXlzKGZvcmVpZ25LZXlDb2x1bW4pLmZpbHRlcihcbiAgICAgICAgICAoa2V5KSA9PlxuICAgICAgICAgICAgIWlzPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KGRhdGFbYXR0cmlidXRlTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPl0pPy5ba2V5XSxcbiAgICAgICAgKS5sZW5ndGhcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvcmVpZ25LZXlDb2x1bW4pLnJlZHVjZShcbiAgICAgICAgICAob2JqZWN0LCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGNvbHVtbk5hbWU6IGZvcmVpZ25Db2x1bW5OYW1lIH0gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgICAgICBmb3JlaWduS2V5Q29sdW1uW2N1cnJlbnQgYXMga2V5b2YgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5bbnVtYmVyXV0sXG4gICAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4ub2JqZWN0LFxuICAgICAgICAgICAgICBbZm9yZWlnbkNvbHVtbk5hbWVdOiBkYXRhW2F0dHJpYnV0ZU5hbWUgYXMga2V5b2YgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5bbnVtYmVyXV0/LltjdXJyZW50XSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgLi4ucmVzdWx0IH0sXG4gICAgICAgIClcblxuICAgICAgaWYgKFxuICAgICAgICB1cGRhdGUgJiZcbiAgICAgICAgaXNPYmplY3QoZGF0YVthdHRyaWJ1dGVOYW1lIGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dKSAmJlxuICAgICAgICAhaXNOaWwoYXR0cmlidXRlRmllbGRzKSAmJlxuICAgICAgICAhaXNEYXRlKGRhdGFbYXR0cmlidXRlTmFtZSBhcyBrZXlvZiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPltudW1iZXJdXSlcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuXG4gICAgICBpZiAoXG4gICAgICAgICEhY29sdW1uTmFtZSAmJlxuICAgICAgICBBcnJheS5pc0FycmF5KGF0dHJpYnV0ZUZpZWxkcykgJiZcbiAgICAgICAgaXNPYmplY3QoZGF0YVthdHRyaWJ1dGVOYW1lIGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZCA9XG4gICAgICAgICAgIWlzTmlsKGNvbHVtbk5hbWUpICYmIHRvXG4gICAgICAgICAgICA/IHRvKGluc3RhbmNlW2F0dHJpYnV0ZU5hbWUgYXMga2V5b2YgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5bbnVtYmVyXV0sIGluc3RhbmNlKVxuICAgICAgICAgICAgOiBkYXRhW2F0dHJpYnV0ZU5hbWUgYXMga2V5b2YgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5bbnVtYmVyXV1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAuLi4oY29udmVydGVkICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIFtjb2x1bW5OYW1lXToge1xuICAgICAgICAgICAgICAgICAgZGF0YTpcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VbYXR0cmlidXRlTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPl0gaW5zdGFuY2VvZiBCYXNlTW9kZWxcbiAgICAgICAgICAgICAgICAgICAgICA/IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZVRvKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2F0dHJpYnV0ZU5hbWUgYXMga2V5b2YgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5bbnVtYmVyXV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpZWxkcyBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPixcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IGNvbnZlcnRlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoISF0bylcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgW2NvbHVtbk5hbWVdOiB0byhpbnN0YW5jZVthdHRyaWJ1dGVOYW1lIGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dLCBpbnN0YW5jZSksXG4gICAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgLi4ucmVzdWx0LCBbY29sdW1uTmFtZV06IGRhdGFbYXR0cmlidXRlTmFtZSBhcyBrZXlvZiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPltudW1iZXJdXSB9XG4gICAgfSwge30gYXMgRGF0YVR5cGUpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -18,7 +18,7 @@ export const withCreateHasuraGraphQL = (MixinBase) => {
|
|
|
18
18
|
const columnOptions = Object.values(field).shift();
|
|
19
19
|
return (AttributeOptionHelper.CheckIsColumnOption(columnOptions) &&
|
|
20
20
|
columnOptions.foreignKeyColumn && [
|
|
21
|
-
...Object.values(columnOptions.foreignKeyColumn),
|
|
21
|
+
...Object.values(columnOptions.foreignKeyColumn).map((foreignKeyName) => AttributeOptionHelper.FindByAttribute(foreignKeyName, this.fields)?.columnName),
|
|
22
22
|
{
|
|
23
23
|
[columnOptions.columnName]: Object.keys(columnOptions.foreignKeyColumn).map((foreignKeyField) => AttributeOptionHelper.FindByAttribute(foreignKeyField, columnOptions?.fields)?.columnName ||
|
|
24
24
|
foreignKeyField),
|
|
@@ -34,4 +34,4 @@ export const withCreateHasuraGraphQL = (MixinBase) => {
|
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBT2pELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBSXJDLFNBQTJELEVBSTNELEVBQUU7SUFDRixPQUFPLE1BQU0sd0JBQXlCLFNBQVEsU0FBUztRQUlyRCxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBNEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFcEQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxVQUFVLElBQUksQ0FBQyxTQUFTLE1BQU0sQ0FBQTtZQUMvRixJQUFJLENBQUMsdUJBQXVCLEdBQUcsT0FBTyxFQUFFLHVCQUF1QixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsZUFBZSxDQUFBO1FBQ3JHLENBQUM7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQW1DO1lBQzlDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFXLENBQUMsQ0FBQyxDQUFBO1lBRW5FLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdkMsQ0FBQztRQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBVztZQUNwQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUN4RCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUNsRCxDQUFBO1lBQy9CLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU07aUJBQ2xDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNiLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBRWxELE9BQU8sQ0FDTCxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7b0JBQ3hELGFBQWEsQ0FBQyxnQkFBZ0IsSUFBSTtvQkFDaEMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FDbEQsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUNqQixxQkFBcUIsQ0FBQyxlQUFlLENBQUMsY0FBcUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVSxDQUN4RjtvQkFDRDt3QkFDRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FDekUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUNsQixxQkFBcUIsQ0FBQyxlQUFlLENBQUMsZUFBc0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLEVBQUUsVUFBVTs0QkFDaEcsZUFBZSxDQUNsQjtxQkFDRjtpQkFDRixDQUNGLENBQUE7WUFDSCxDQUFDLENBQUM7aUJBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQztpQkFDZixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFFdkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUNoQyxJQUFJLENBQUMsc0JBQXNCLEVBQzNCLENBQUMsR0FBRyxpQkFBaUIsRUFBRSxHQUFHLGlCQUFpQixDQUErQixFQUMxRTtnQkFDRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRTthQUN0RyxDQUNGLENBQUE7WUFFRCxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQTtRQUM1RyxDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWF0ZVJlcG9zaXRvcnksIENyZWF0ZVJlcG9zaXRvcnlQYXJhbXMsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgdHlwZSBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcyA9IHtcbiAgaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbj86IHN0cmluZ1xuICBpbnNlcnRHcmFwaFFMT2JqZWN0VHlwZT86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aENyZWF0ZUhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+ICYgVE1peGluQmFzZSxcbik6IE1peGluQ3RvcjxcbiAgR3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+ICYgQ3JlYXRlUmVwb3NpdG9yeTxNQmFzZT4sXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8W0NyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zLCAuLi5hbnlbXV0sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgQ3JlYXRlSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgQ3JlYXRlUmVwb3NpdG9yeTxNQmFzZT4ge1xuICAgIGluc2VydEdyYXBoUUxPcGVyYXRpb246IHN0cmluZ1xuICAgIGluc2VydEdyYXBoUUxPYmplY3RUeXBlOiBzdHJpbmdcblxuICAgIGNvbnN0cnVjdG9yKC4uLnBhcmFtczogYW55W10pIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cblxuICAgICAgc3VwZXIoLi4ucGFyYW1zKVxuXG4gICAgICB0aGlzLmluc2VydEdyYXBoUUxPcGVyYXRpb24gPSBvcHRpb25zPy5pbnNlcnRHcmFwaFFMT3BlcmF0aW9uIHx8IGBpbnNlcnRfJHt0aGlzLnRhYmxlTmFtZX1fb25lYFxuICAgICAgdGhpcy5pbnNlcnRHcmFwaFFMT2JqZWN0VHlwZSA9IG9wdGlvbnM/Lmluc2VydEdyYXBoUUxPYmplY3RUeXBlIHx8IGAke3RoaXMudGFibGVOYW1lfV9pbnNlcnRfaW5wdXRgXG4gICAgfVxuXG4gICAgYXN5bmMgY3JlYXRlKGRhdGE6IENyZWF0ZVJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTxNQmFzZT4ge1xuICAgICAgY29uc3QgbmV3RGF0YSA9IGF3YWl0IHRoaXMuc2F2ZSh0aGlzLm1vZGVsLnRvSW5zdGFuY2UoZGF0YSBhcyBhbnkpKVxuXG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC50b0luc3RhbmNlKG5ld0RhdGEpXG4gICAgfVxuXG4gICAgYXN5bmMgc2F2ZShkYXRhOiBNQmFzZSk6IFByb21pc2U8UGFydGlhbDxNQmFzZT4+IHtcbiAgICAgIGNvbnN0IHByaW1hcnlLZXlDb2x1bW5zID0gdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5tYXAoXG4gICAgICAgIChmaWVsZCkgPT4gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShmaWVsZCwgdGhpcy5maWVsZHMpLmNvbHVtbk5hbWUsXG4gICAgICApIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+XG4gICAgICBjb25zdCBmb3JlaWduS2V5Q29sdW1ucyA9IHRoaXMuZmllbGRzXG4gICAgICAgIC5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29sdW1uT3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoZmllbGQpLnNoaWZ0KClcblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuQ2hlY2tJc0NvbHVtbk9wdGlvbihjb2x1bW5PcHRpb25zKSAmJlxuICAgICAgICAgICAgY29sdW1uT3B0aW9ucy5mb3JlaWduS2V5Q29sdW1uICYmIFtcbiAgICAgICAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhjb2x1bW5PcHRpb25zLmZvcmVpZ25LZXlDb2x1bW4pLm1hcChcbiAgICAgICAgICAgICAgICAoZm9yZWlnbktleU5hbWUpID0+XG4gICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZvcmVpZ25LZXlOYW1lIGFzIGFueSwgdGhpcy5maWVsZHMpPy5jb2x1bW5OYW1lLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgW2NvbHVtbk9wdGlvbnMuY29sdW1uTmFtZV06IE9iamVjdC5rZXlzKGNvbHVtbk9wdGlvbnMuZm9yZWlnbktleUNvbHVtbikubWFwKFxuICAgICAgICAgICAgICAgICAgKGZvcmVpZ25LZXlGaWVsZCkgPT5cbiAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShmb3JlaWduS2V5RmllbGQgYXMgYW55LCBjb2x1bW5PcHRpb25zPy5maWVsZHMpPy5jb2x1bW5OYW1lIHx8XG4gICAgICAgICAgICAgICAgICAgIGZvcmVpZ25LZXlGaWVsZCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXVxuICAgICAgICAgIClcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAucmVkdWNlKChrZXlzLCBjdXJyZW50KSA9PiBbLi4ua2V5cywgLi4uY3VycmVudF0sIFtdKVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm11dGF0aW9uPFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+PihcbiAgICAgICAgdGhpcy5pbnNlcnRHcmFwaFFMT3BlcmF0aW9uLFxuICAgICAgICBbLi4ucHJpbWFyeUtleUNvbHVtbnMsIC4uLmZvcmVpZ25LZXlDb2x1bW5zXSBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogeyB0eXBlOiB0aGlzLmluc2VydEdyYXBoUUxPYmplY3RUeXBlLCByZXF1aXJlZDogdHJ1ZSwgdmFsdWU6IHRoaXMuY29udmVydERhdGFUb0hhc3VyYShkYXRhKSB9LFxuICAgICAgICB9LFxuICAgICAgKVxuXG4gICAgICByZXR1cm4geyAuLi5kYXRhLnRvUGxhaW4oKSwgLi4udGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocmVzdWx0W3RoaXMuaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbl0pLnRvUGxhaW4oKSB9XG4gICAgfVxuICB9IGFzIGFueVxufVxuIl19
|
|
@@ -8,4 +8,4 @@ __decorate([
|
|
|
8
8
|
Type(() => KitProductHasuraGraphQL),
|
|
9
9
|
__metadata("design:type", Array)
|
|
10
10
|
], ProductHasuraGraphQL.prototype, "kitProducts", void 0);
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21vZGVscy9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRXRFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxPQUFPO0NBY2hEO0FBRkM7SUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7O3lEQUNZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuXG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuXG5pbXBvcnQgeyBLaXRQcm9kdWN0SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4va2l0LXByb2R1Y3QtaGFzdXJhLWdyYXBocWwnXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGFzdXJhR3JhcGhRTCBleHRlbmRzIFByb2R1Y3Qge1xuICBmaXJlc3RvcmVJZD86IHN0cmluZ1xuICBmdWxsUHJpY2U/OiBudW1iZXJcbiAgc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZT86IG51bWJlclxuICBzdWJzY3JpYmVyUHJpY2U/OiBudW1iZXJcbiAgcHJvZHVjdElkPzogbnVtYmVyXG4gIGRpZmZlcmVudGlhbHM/OiBzdHJpbmdcbiAgd2hvTXVzdFVzZT86IHN0cmluZ1xuICBob3dUb1VzZT86IHN0cmluZ1xuICBicmFuZERlc2NyaXB0aW9uPzogc3RyaW5nXG4gIGNhdGVnb3J5SWQ/OiBudW1iZXJcblxuICBAVHlwZSgoKSA9PiBLaXRQcm9kdWN0SGFzdXJhR3JhcGhRTClcbiAgb3ZlcnJpZGUga2l0UHJvZHVjdHM/OiBLaXRQcm9kdWN0SGFzdXJhR3JhcGhRTFtdXG59XG4iXX0=
|