@infrab4a/connect-angular 5.0.0-alpha.9 → 5.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular-connect.module.d.ts +9 -22
- package/angular-hasura-graphql.module.d.ts +6 -4
- package/consts/firebase-const.d.ts +0 -1
- package/consts/index.d.ts +0 -2
- package/esm2022/angular-connect.module.mjs +97 -0
- package/esm2022/angular-elastic-search.module.mjs +34 -0
- package/esm2022/angular-firebase-auth.module.mjs +115 -0
- package/esm2022/angular-firestore.module.mjs +483 -0
- package/esm2022/angular-hasura-graphql.module.mjs +265 -0
- package/{esm2020 → esm2022}/consts/backend-url.const.mjs +1 -1
- package/{esm2020 → esm2022}/consts/firebase-const.mjs +1 -2
- package/{esm2020 → esm2022}/consts/index.mjs +1 -3
- package/{esm2020 → esm2022}/index.mjs +1 -2
- package/{esm2020 → esm2022}/services/auth.service.mjs +6 -6
- package/esm2022/services/cart.service.mjs +281 -0
- package/esm2022/services/catalog/adapters/new-category-structure.adapter.mjs +41 -0
- package/{esm2020 → esm2022}/services/catalog/adapters/old-category-structure.adapter.mjs +6 -6
- package/esm2022/services/catalog/catalog.service.mjs +170 -0
- package/esm2022/services/catalog/category.service.mjs +51 -0
- package/{esm2020 → esm2022}/services/catalog/models/category-with-tree.model.mjs +1 -1
- package/esm2022/services/catalog/types/index.mjs +2 -0
- package/esm2022/services/catalog/wishlist.service.mjs +116 -0
- package/esm2022/services/checkout-subscription.service.mjs +53 -0
- package/esm2022/services/checkout.service.mjs +71 -0
- package/esm2022/services/coupon.service.mjs +218 -0
- package/{esm2020 → esm2022}/services/helpers/util.helper.mjs +3 -3
- package/esm2022/services/home-shop.service.mjs +115 -0
- package/{esm2020 → esm2022}/services/index.mjs +2 -1
- package/{esm2020 → esm2022}/services/order.service.mjs +6 -6
- package/esm2022/services/shipping.service.mjs +96 -0
- package/esm2022/services/types/shipping-methods.type.mjs +2 -0
- package/fesm2022/infrab4a-connect-angular.mjs +2247 -0
- package/fesm2022/infrab4a-connect-angular.mjs.map +1 -0
- package/index.d.ts +0 -1
- package/package.json +10 -18
- package/services/cart.service.d.ts +24 -8
- package/services/catalog/catalog.service.d.ts +73 -14
- package/services/catalog/category.service.d.ts +9 -16
- package/services/catalog/types/index.d.ts +0 -4
- package/services/catalog/wishlist.service.d.ts +5 -24
- package/services/checkout-subscription.service.d.ts +5 -6
- package/services/checkout.service.d.ts +10 -17
- package/services/coupon.service.d.ts +9 -17
- package/services/home-shop.service.d.ts +6 -7
- package/services/index.d.ts +1 -0
- package/services/shipping.service.d.ts +19 -0
- package/services/types/shipping-methods.type.d.ts +12 -0
- package/angular-vertex-search.module.d.ts +0 -9
- package/consts/persistence.const.d.ts +0 -1
- package/consts/storage-base-url.const.d.ts +0 -1
- package/consts/vertex-config.const.d.ts +0 -1
- package/esm2020/angular-connect.module.mjs +0 -289
- package/esm2020/angular-elastic-search.module.mjs +0 -34
- package/esm2020/angular-firebase-auth.module.mjs +0 -141
- package/esm2020/angular-firestore.module.mjs +0 -541
- package/esm2020/angular-hasura-graphql.module.mjs +0 -333
- package/esm2020/angular-vertex-search.module.mjs +0 -34
- package/esm2020/consts/persistence.const.mjs +0 -2
- package/esm2020/consts/storage-base-url.const.mjs +0 -2
- package/esm2020/consts/vertex-config.const.mjs +0 -2
- package/esm2020/interfaces/catalog-strategies.interface.mjs +0 -2
- package/esm2020/interfaces/category-facades.interface.mjs +0 -2
- package/esm2020/interfaces/index.mjs +0 -3
- package/esm2020/persistence/cookie-data-persistence.mjs +0 -22
- package/esm2020/persistence/data-persistence.mjs +0 -2
- package/esm2020/persistence/index.mjs +0 -3
- package/esm2020/services/cart/cart-services.facade.mjs +0 -21
- package/esm2020/services/cart/index.mjs +0 -2
- package/esm2020/services/cart.service.mjs +0 -73
- package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +0 -43
- package/esm2020/services/catalog/catalog.service.mjs +0 -111
- package/esm2020/services/catalog/category.service.mjs +0 -39
- package/esm2020/services/catalog/context/catalog-search.context.mjs +0 -40
- package/esm2020/services/catalog/facades/catalog-service.facade.mjs +0 -32
- package/esm2020/services/catalog/facades/catalog-strategies.facade.mjs +0 -17
- package/esm2020/services/catalog/facades/category-repository.facade.mjs +0 -20
- package/esm2020/services/catalog/facades/category-service.facade.mjs +0 -30
- package/esm2020/services/catalog/facades/index.mjs +0 -6
- package/esm2020/services/catalog/facades/product-catalog.facade.mjs +0 -21
- package/esm2020/services/catalog/helpers/brand-manager.helper.mjs +0 -57
- package/esm2020/services/catalog/helpers/catalog-filter.helper.mjs +0 -44
- package/esm2020/services/catalog/helpers/catalog-sort.helper.mjs +0 -52
- package/esm2020/services/catalog/helpers/index.mjs +0 -5
- package/esm2020/services/catalog/helpers/product-fields.helper.mjs +0 -39
- package/esm2020/services/catalog/services/catalog-helpers.service.mjs +0 -33
- package/esm2020/services/catalog/services/catalog-operations.facade.mjs +0 -26
- package/esm2020/services/catalog/services/catalog-repository.service.mjs +0 -25
- package/esm2020/services/catalog/services/index.mjs +0 -5
- package/esm2020/services/catalog/services/product-management.facade.mjs +0 -25
- package/esm2020/services/catalog/strategies/category-search.strategy.mjs +0 -133
- package/esm2020/services/catalog/strategies/index.mjs +0 -4
- package/esm2020/services/catalog/strategies/profile-search.strategy.mjs +0 -42
- package/esm2020/services/catalog/strategies/term-search.strategy.mjs +0 -126
- package/esm2020/services/catalog/strategies/types/strategy-params.type.mjs +0 -2
- package/esm2020/services/catalog/types/fetch-products-options.type.mjs +0 -2
- package/esm2020/services/catalog/types/fetch-products-params.type.mjs +0 -2
- package/esm2020/services/catalog/types/fetch-products-response.type.mjs +0 -2
- package/esm2020/services/catalog/types/index.mjs +0 -6
- package/esm2020/services/catalog/types/method-params.type.mjs +0 -2
- package/esm2020/services/catalog/wishlist.service.mjs +0 -256
- package/esm2020/services/checkout/checkout-dependencies.facade.mjs +0 -20
- package/esm2020/services/checkout/checkout-repositories.facade.mjs +0 -20
- package/esm2020/services/checkout/index.mjs +0 -3
- package/esm2020/services/checkout-subscription.service.mjs +0 -55
- package/esm2020/services/checkout.service.mjs +0 -106
- package/esm2020/services/coupon/coupon-repositories.facade.mjs +0 -24
- package/esm2020/services/coupon/index.mjs +0 -2
- package/esm2020/services/coupon/types/coupon-params.type.mjs +0 -2
- package/esm2020/services/coupon.service.mjs +0 -248
- package/esm2020/services/home-shop/home-shop-repositories.facade.mjs +0 -24
- package/esm2020/services/home-shop/index.mjs +0 -2
- package/esm2020/services/home-shop.service.mjs +0 -119
- package/esm2020/services/shared/configuration.facade.mjs +0 -29
- package/esm2020/services/shared/index.mjs +0 -2
- package/fesm2015/infrab4a-connect-angular.mjs +0 -3373
- package/fesm2015/infrab4a-connect-angular.mjs.map +0 -1
- package/fesm2020/infrab4a-connect-angular.mjs +0 -3278
- package/fesm2020/infrab4a-connect-angular.mjs.map +0 -1
- package/interfaces/catalog-strategies.interface.d.ts +0 -31
- package/interfaces/category-facades.interface.d.ts +0 -6
- package/interfaces/index.d.ts +0 -2
- package/persistence/cookie-data-persistence.d.ts +0 -10
- package/persistence/data-persistence.d.ts +0 -6
- package/persistence/index.d.ts +0 -2
- package/services/cart/cart-services.facade.d.ts +0 -12
- package/services/cart/index.d.ts +0 -1
- package/services/catalog/context/catalog-search.context.d.ts +0 -14
- package/services/catalog/facades/catalog-service.facade.d.ts +0 -15
- package/services/catalog/facades/catalog-strategies.facade.d.ts +0 -10
- package/services/catalog/facades/category-repository.facade.d.ts +0 -9
- package/services/catalog/facades/category-service.facade.d.ts +0 -15
- package/services/catalog/facades/index.d.ts +0 -5
- package/services/catalog/facades/product-catalog.facade.d.ts +0 -10
- package/services/catalog/helpers/brand-manager.helper.d.ts +0 -14
- package/services/catalog/helpers/catalog-filter.helper.d.ts +0 -8
- package/services/catalog/helpers/catalog-sort.helper.d.ts +0 -7
- package/services/catalog/helpers/index.d.ts +0 -4
- package/services/catalog/helpers/product-fields.helper.d.ts +0 -7
- package/services/catalog/services/catalog-helpers.service.d.ts +0 -17
- package/services/catalog/services/catalog-operations.facade.d.ts +0 -13
- package/services/catalog/services/catalog-repository.service.d.ts +0 -12
- package/services/catalog/services/index.d.ts +0 -4
- package/services/catalog/services/product-management.facade.d.ts +0 -12
- package/services/catalog/strategies/category-search.strategy.d.ts +0 -19
- package/services/catalog/strategies/index.d.ts +0 -3
- package/services/catalog/strategies/profile-search.strategy.d.ts +0 -14
- package/services/catalog/strategies/term-search.strategy.d.ts +0 -20
- package/services/catalog/strategies/types/strategy-params.type.d.ts +0 -58
- package/services/catalog/types/fetch-products-options.type.d.ts +0 -8
- package/services/catalog/types/fetch-products-params.type.d.ts +0 -25
- package/services/catalog/types/fetch-products-response.type.d.ts +0 -19
- package/services/catalog/types/method-params.type.d.ts +0 -17
- package/services/checkout/checkout-dependencies.facade.d.ts +0 -10
- package/services/checkout/checkout-repositories.facade.d.ts +0 -9
- package/services/checkout/index.d.ts +0 -2
- package/services/coupon/coupon-repositories.facade.d.ts +0 -10
- package/services/coupon/index.d.ts +0 -1
- package/services/coupon/types/coupon-params.type.d.ts +0 -13
- package/services/home-shop/home-shop-repositories.facade.d.ts +0 -10
- package/services/home-shop/index.d.ts +0 -1
- package/services/shared/configuration.facade.d.ts +0 -12
- package/services/shared/index.d.ts +0 -1
- /package/{esm2020 → esm2022}/consts/category-structure.mjs +0 -0
- /package/{esm2020 → esm2022}/consts/default-shop.const.mjs +0 -0
- /package/{esm2020 → esm2022}/consts/es-config.const.mjs +0 -0
- /package/{esm2020 → esm2022}/consts/hasura-options.const.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/mobile-operation-system-checker.helper.mjs +0 -0
- /package/{esm2020 → esm2022}/infrab4a-connect-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/adapters/category-structure.adapter.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/adapters/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/enums/product-sorts.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/types/product-sort.type.mjs +0 -0
- /package/{esm2020 → esm2022}/services/helpers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/types/required-checkout-data.type.mjs +0 -0
- /package/{esm2020 → esm2022}/services/types/required-checkout-subscription-data.type.mjs +0 -0
- /package/{esm2020 → esm2022}/types/firebase-app-config.type.mjs +0 -0
- /package/{esm2020 → esm2022}/types/index.mjs +0 -0
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { isNil, Where } from '@infrab4a/connect';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NewCategoryStructureAdapter {
|
|
5
|
-
constructor(categoryRepository) {
|
|
6
|
-
this.categoryRepository = categoryRepository;
|
|
7
|
-
}
|
|
8
|
-
async buildProductFilterByCategory(category) {
|
|
9
|
-
const loadedCategory = await this.getCategory(category);
|
|
10
|
-
if (loadedCategory.isCollection)
|
|
11
|
-
return { id: { operator: Where.IN, value: loadedCategory.products } };
|
|
12
|
-
const categoryIds = [...(await this.getAllCategoriesIdFromCategory(category)), category.id.toString()];
|
|
13
|
-
return {
|
|
14
|
-
category: {
|
|
15
|
-
id: {
|
|
16
|
-
operator: Where.IN,
|
|
17
|
-
value: categoryIds,
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
async getAllCategoriesIdFromCategory(category) {
|
|
23
|
-
return this.categoryRepository
|
|
24
|
-
.getChildren(+category.id)
|
|
25
|
-
.then((categories) => categories.map((category) => category.id.toString()));
|
|
26
|
-
}
|
|
27
|
-
async getCategory(category) {
|
|
28
|
-
const collectionCategory = category.isCollection ||
|
|
29
|
-
(isNil(category.isCollection) && !category.products?.length) ||
|
|
30
|
-
category.isWishlist ||
|
|
31
|
-
category.brandCategory;
|
|
32
|
-
return collectionCategory ? this.categoryRepository.get({ id: category.id }) : category;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
NewCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
-
NewCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter });
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
|
|
38
|
-
type: Injectable
|
|
39
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
40
|
-
type: Inject,
|
|
41
|
-
args: ['CategoryRepository']
|
|
42
|
-
}] }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhdGVnb3J5LXN0cnVjdHVyZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2FkYXB0ZXJzL25ldy1jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQWdDLEtBQUssRUFBbUMsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7O0FBSy9HLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFBMkQsa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFBRyxDQUFDO0lBRXJHLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxRQUFrQjtRQUNuRCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkQsSUFBSSxjQUFjLENBQUMsWUFBWTtZQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUE7UUFFdEcsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsOEJBQThCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFFdEcsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDUixFQUFFLEVBQUU7b0JBQ0YsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNsQixLQUFLLEVBQUUsV0FBVztpQkFDbkI7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLDhCQUE4QixDQUFDLFFBQWtCO1FBQzdELE9BQU8sSUFBSSxDQUFDLGtCQUFrQjthQUMzQixXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2FBQ3pCLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDL0UsQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBa0I7UUFDMUMsTUFBTSxrQkFBa0IsR0FDdEIsUUFBUSxDQUFDLFlBQVk7WUFDckIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7WUFDNUQsUUFBUSxDQUFDLFVBQVU7WUFDbkIsUUFBUSxDQUFDLGFBQWEsQ0FBQTtRQUV4QixPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDekYsQ0FBQzs7d0hBbENVLDJCQUEyQixrQkFDbEIsb0JBQW9COzRIQUQ3QiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBRUksTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ2F0ZWdvcnksIENhdGVnb3J5UmVwb3NpdG9yeSwgaXNOaWwsIFByb2R1Y3QsIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsIFdoZXJlIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB9IGZyb20gJy4vY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXInXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZXdDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgaW1wbGVtZW50cyBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdDYXRlZ29yeVJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UmVwb3NpdG9yeTogQ2F0ZWdvcnlSZXBvc2l0b3J5KSB7fVxuXG4gIGFzeW5jIGJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+PiB7XG4gICAgY29uc3QgbG9hZGVkQ2F0ZWdvcnkgPSBhd2FpdCB0aGlzLmdldENhdGVnb3J5KGNhdGVnb3J5KVxuXG4gICAgaWYgKGxvYWRlZENhdGVnb3J5LmlzQ29sbGVjdGlvbikgcmV0dXJuIHsgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogbG9hZGVkQ2F0ZWdvcnkucHJvZHVjdHMgfSB9XG5cbiAgICBjb25zdCBjYXRlZ29yeUlkcyA9IFsuLi4oYXdhaXQgdGhpcy5nZXRBbGxDYXRlZ29yaWVzSWRGcm9tQ2F0ZWdvcnkoY2F0ZWdvcnkpKSwgY2F0ZWdvcnkuaWQudG9TdHJpbmcoKV1cblxuICAgIHJldHVybiB7XG4gICAgICBjYXRlZ29yeToge1xuICAgICAgICBpZDoge1xuICAgICAgICAgIG9wZXJhdG9yOiBXaGVyZS5JTixcbiAgICAgICAgICB2YWx1ZTogY2F0ZWdvcnlJZHMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0QWxsQ2F0ZWdvcmllc0lkRnJvbUNhdGVnb3J5KGNhdGVnb3J5OiBDYXRlZ29yeSk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeVJlcG9zaXRvcnlcbiAgICAgIC5nZXRDaGlsZHJlbigrY2F0ZWdvcnkuaWQpXG4gICAgICAudGhlbigoY2F0ZWdvcmllcykgPT4gY2F0ZWdvcmllcy5tYXAoKGNhdGVnb3J5KSA9PiBjYXRlZ29yeS5pZC50b1N0cmluZygpKSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxDYXRlZ29yeT4ge1xuICAgIGNvbnN0IGNvbGxlY3Rpb25DYXRlZ29yeSA9XG4gICAgICBjYXRlZ29yeS5pc0NvbGxlY3Rpb24gfHxcbiAgICAgIChpc05pbChjYXRlZ29yeS5pc0NvbGxlY3Rpb24pICYmICFjYXRlZ29yeS5wcm9kdWN0cz8ubGVuZ3RoKSB8fFxuICAgICAgY2F0ZWdvcnkuaXNXaXNobGlzdCB8fFxuICAgICAgY2F0ZWdvcnkuYnJhbmRDYXRlZ29yeVxuXG4gICAgcmV0dXJuIGNvbGxlY3Rpb25DYXRlZ29yeSA/IHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldCh7IGlkOiBjYXRlZ29yeS5pZCB9KSA6IGNhdGVnb3J5XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { InvalidArgumentError, RoundProductPricesHelper, Shops, } from '@infrab4a/connect';
|
|
3
|
-
import { DEFAULT_SHOP } from '../../consts';
|
|
4
|
-
import { CatalogSearchContext } from './context/catalog-search.context';
|
|
5
|
-
import { CatalogHelpersService } from './services';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./context/catalog-search.context";
|
|
8
|
-
import * as i2 from "./services";
|
|
9
|
-
import * as i3 from "@infrab4a/connect";
|
|
10
|
-
export class CatalogService {
|
|
11
|
-
constructor(searchContext, helpersService, shop) {
|
|
12
|
-
this.searchContext = searchContext;
|
|
13
|
-
this.helpersService = helpersService;
|
|
14
|
-
this.shop = shop;
|
|
15
|
-
}
|
|
16
|
-
async fetchProducts(options, optionsCache) {
|
|
17
|
-
this.validateRequest(options);
|
|
18
|
-
const searchParams = this.buildSearchParams(options);
|
|
19
|
-
const { data, count: total, maximum, minimal, distinct, } = await this.searchContext.executeSearch(searchParams, this.shop, optionsCache);
|
|
20
|
-
await this.helpersService.getBrandManager().setBrandsList(searchParams, distinct?.brand);
|
|
21
|
-
return this.buildResponse({
|
|
22
|
-
data,
|
|
23
|
-
total,
|
|
24
|
-
maximum,
|
|
25
|
-
minimal,
|
|
26
|
-
searchParams,
|
|
27
|
-
options,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
async addCustomerToStockNotification(params) {
|
|
31
|
-
const { shop, productId, name, email } = params;
|
|
32
|
-
const productServices = this.helpersService.getProductServices();
|
|
33
|
-
return productServices.productStockNotificationRepository.addCustomerEmail({
|
|
34
|
-
shop,
|
|
35
|
-
productId,
|
|
36
|
-
name,
|
|
37
|
-
email,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
validateRequest(options) {
|
|
41
|
-
if (this.hasProfile(options) && options.filters?.customOptions) {
|
|
42
|
-
throw new InvalidArgumentError(`It couldn't filled customOptions when profile is given`);
|
|
43
|
-
}
|
|
44
|
-
if (this.hasProfile(options) && options.filters?.tags) {
|
|
45
|
-
throw new InvalidArgumentError(`It couldn't filled tags when profile is given`);
|
|
46
|
-
}
|
|
47
|
-
if (this.hasTerm(options) && options.filters?.customOptions) {
|
|
48
|
-
throw new InvalidArgumentError(`It couldn't filled customOptions when term is given`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
buildSearchParams(options) {
|
|
52
|
-
const limits = this.buildLimitQuery(options);
|
|
53
|
-
return {
|
|
54
|
-
category: this.hasCategory(options) ? options.category : undefined,
|
|
55
|
-
profile: this.hasProfile(options) ? options.profile : undefined,
|
|
56
|
-
term: this.hasTerm(options) ? options.term : undefined,
|
|
57
|
-
filters: options.filters,
|
|
58
|
-
mainGender: options.mainGender,
|
|
59
|
-
sort: options.sort,
|
|
60
|
-
limits,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
buildResponse(params) {
|
|
64
|
-
const { data, total, maximum, minimal, searchParams } = params;
|
|
65
|
-
const limits = searchParams.limits;
|
|
66
|
-
const indexKey = this.helpersService.getBrandManager().buildIndexBrands(searchParams);
|
|
67
|
-
return {
|
|
68
|
-
products: {
|
|
69
|
-
data: data.map((product) => RoundProductPricesHelper.roundProductPrices(product)),
|
|
70
|
-
total,
|
|
71
|
-
},
|
|
72
|
-
pages: Math.ceil(total / limits.limit),
|
|
73
|
-
prices: {
|
|
74
|
-
price: {
|
|
75
|
-
min: +(minimal?.price?.price?.toFixed(2) || 0),
|
|
76
|
-
max: +(maximum?.price?.price?.toFixed(2) || 0),
|
|
77
|
-
},
|
|
78
|
-
subscriberPrice: {
|
|
79
|
-
min: +(minimal?.price?.subscriberPrice?.toFixed(2) || 0),
|
|
80
|
-
max: +(maximum?.price?.subscriberPrice?.toFixed(2) || 0),
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
brands: this.helpersService.getBrandManager().getBrandsList(indexKey),
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
buildLimitQuery(options) {
|
|
87
|
-
const limit = options?.perPage || 20;
|
|
88
|
-
return {
|
|
89
|
-
limit,
|
|
90
|
-
offset: ((options?.page || 1) - 1) * limit,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
hasProfile(options) {
|
|
94
|
-
return 'profile' in options;
|
|
95
|
-
}
|
|
96
|
-
hasTerm(options) {
|
|
97
|
-
return 'term' in options;
|
|
98
|
-
}
|
|
99
|
-
hasCategory(options) {
|
|
100
|
-
return 'category' in options;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
CatalogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, deps: [{ token: i1.CatalogSearchContext }, { token: i2.CatalogHelpersService }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
104
|
-
CatalogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService });
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, decorators: [{
|
|
106
|
-
type: Injectable
|
|
107
|
-
}], ctorParameters: function () { return [{ type: i1.CatalogSearchContext }, { type: i2.CatalogHelpersService }, { type: i3.Shops, decorators: [{
|
|
108
|
-
type: Inject,
|
|
109
|
-
args: [DEFAULT_SHOP]
|
|
110
|
-
}] }]; } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2NhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLHdCQUF3QixFQUN4QixLQUFLLEdBQ04sTUFBTSxtQkFBbUIsQ0FBQTtBQUUxQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQTs7Ozs7QUFXbEQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDbUIsYUFBbUMsRUFDbkMsY0FBcUMsRUFDZixJQUFXO1FBRmpDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFPO0lBQ2pELENBQUM7SUFFSixLQUFLLENBQUMsYUFBYSxDQUNqQixPQUErQixFQUMvQixZQUFpRDtRQUVqRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTdCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwRCxNQUFNLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFBRSxLQUFLLEVBQ1osT0FBTyxFQUNQLE9BQU8sRUFDUCxRQUFRLEdBQ1QsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBRWpGLE1BQU0sSUFBSSxD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Q0FBQTtJQUM5QixDQUFDOzsyR0EvSFUsY0FBYywyRkFJZixZQUFZOytHQUpYLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBS04sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENhdGVnb3J5LFxuICBJbnZhbGlkQXJndW1lbnRFcnJvcixcbiAgUmVwb3NpdG9yeUNhY2hlT3B0aW9ucyxcbiAgUm91bmRQcm9kdWN0UHJpY2VzSGVscGVyLFxuICBTaG9wcyxcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IERFRkFVTFRfU0hPUCB9IGZyb20gJy4uLy4uL2NvbnN0cydcbmltcG9ydCB7IENhdGFsb2dGaWx0ZXJzLCBDYXRhbG9nU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcydcblxuaW1wb3J0IHsgQ2F0YWxvZ1NlYXJjaENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQvY2F0YWxvZy1zZWFyY2guY29udGV4dCdcbmltcG9ydCB7IENhdGFsb2dIZWxwZXJzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnXG5pbXBvcnQge1xuICBCdWlsZFJlc3BvbnNlUGFyYW1zLFxuICBGZXRjaFByb2R1Y3RzTWFpblBhcmFtcyxcbiAgRmV0Y2hQcm9kdWN0c09wdGlvbnMsXG4gIEZldGNoUHJvZHVjdHNQYXJhbXMsXG4gIEZldGNoUHJvZHVjdHNSZXNwb25zZSxcbiAgU3RvY2tOb3RpZmljYXRpb25QYXJhbXMsXG59IGZyb20gJy4vdHlwZXMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXRhbG9nU2VydmljZTxUIGV4dGVuZHMgQ2F0ZWdvcnkgPSBDYXRlZ29yeT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaENvbnRleHQ6IENhdGFsb2dTZWFyY2hDb250ZXh0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGVscGVyc1NlcnZpY2U6IENhdGFsb2dIZWxwZXJzU2VydmljZSxcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHJpdmF0ZSByZWFkb25seSBzaG9wOiBTaG9wcyxcbiAgKSB7fVxuXG4gIGFzeW5jIGZldGNoUHJvZHVjdHMoXG4gICAgb3B0aW9uczogRmV0Y2hQcm9kdWN0c1BhcmFtczxUPixcbiAgICBvcHRpb25zQ2FjaGU/OiB7IGNhY2hlPzogUmVwb3NpdG9yeUNhY2hlT3B0aW9ucyB9LFxuICApOiBQcm9taXNlPEZldGNoUHJvZHVjdHNSZXNwb25zZT4ge1xuICAgIHRoaXMudmFsaWRhdGVSZXF1ZXN0KG9wdGlvbnMpXG5cbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSB0aGlzLmJ1aWxkU2VhcmNoUGFyYW1zKG9wdGlvbnMpXG4gICAgY29uc3Qge1xuICAgICAgZGF0YSxcbiAgICAgIGNvdW50OiB0b3RhbCxcbiAgICAgIG1heGltdW0sXG4gICAgICBtaW5pbWFsLFxuICAgICAgZGlzdGluY3QsXG4gICAgfSA9IGF3YWl0IHRoaXMuc2VhcmNoQ29udGV4dC5leGVjdXRlU2VhcmNoKHNlYXJjaFBhcmFtcywgdGhpcy5zaG9wLCBvcHRpb25zQ2FjaGUpXG5cbiAgICBhd2FpdCB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEJyYW5kTWFuYWdlcigpLnNldEJyYW5kc0xpc3Qoc2VhcmNoUGFyYW1zLCBkaXN0aW5jdD8uYnJhbmQpXG5cbiAgICByZXR1cm4gdGhpcy5idWlsZFJlc3BvbnNlKHtcbiAgICAgIGRhdGEsXG4gICAgICB0b3RhbCxcbiAgICAgIG1heGltdW0sXG4gICAgICBtaW5pbWFsLFxuICAgICAgc2VhcmNoUGFyYW1zLFxuICAgICAgb3B0aW9ucyxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgYWRkQ3VzdG9tZXJUb1N0b2NrTm90aWZpY2F0aW9uKHBhcmFtczogU3RvY2tOb3RpZmljYXRpb25QYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IHNob3AsIHByb2R1Y3RJZCwgbmFtZSwgZW1haWwgfSA9IHBhcmFtc1xuICAgIGNvbnN0IHByb2R1Y3RTZXJ2aWNlcyA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0UHJvZHVjdFNlcnZpY2VzKClcblxuICAgIHJldHVybiBwcm9kdWN0U2VydmljZXMucHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uUmVwb3NpdG9yeS5hZGRDdXN0b21lckVtYWlsKHtcbiAgICAgIHNob3AsXG4gICAgICBwcm9kdWN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgZW1haWwsXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVSZXF1ZXN0KG9wdGlvbnM6IEZldGNoUHJvZHVjdHNQYXJhbXM8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNQcm9maWxlKG9wdGlvbnMpICYmIG9wdGlvbnMuZmlsdGVycz8uY3VzdG9tT3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKGBJdCBjb3VsZG4ndCBmaWxsZWQgY3VzdG9tT3B0aW9ucyB3aGVuIHByb2ZpbGUgaXMgZ2l2ZW5gKVxuICAgIH1cblxuICAgIGlmICh0aGlzLmhhc1Byb2ZpbGUob3B0aW9ucykgJiYgb3B0aW9ucy5maWx0ZXJzPy50YWdzKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoYEl0IGNvdWxkbid0IGZpbGxlZCB0YWdzIHdoZW4gcHJvZmlsZSBpcyBnaXZlbmApXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGFzVGVybShvcHRpb25zKSAmJiBvcHRpb25zLmZpbHRlcnM/LmN1c3RvbU9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgSXQgY291bGRuJ3QgZmlsbGVkIGN1c3RvbU9wdGlvbnMgd2hlbiB0ZXJtIGlzIGdpdmVuYClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkU2VhcmNoUGFyYW1zKG9wdGlvbnM6IEZldGNoUHJvZHVjdHNQYXJhbXM8VD4pOiBDYXRhbG9nU2VhcmNoUGFyYW1zIHtcbiAgICBjb25zdCBsaW1pdHMgPSB0aGlzLmJ1aWxkTGltaXRRdWVyeShvcHRpb25zKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNhdGVnb3J5OiB0aGlzLmhhc0NhdGVnb3J5KG9wdGlvbnMpID8gb3B0aW9ucy5jYXRlZ29yeSA6IHVuZGVmaW5lZCxcbiAgICAgIHByb2ZpbGU6IHRoaXMuaGFzUHJvZmlsZShvcHRpb25zKSA/IG9wdGlvbnMucHJvZmlsZSA6IHVuZGVmaW5lZCxcbiAgICAgIHRlcm06IHRoaXMuaGFzVGVybShvcHRpb25zKSA/IG9wdGlvbnMudGVybSA6IHVuZGVmaW5lZCxcbiAgICAgIGZpbHRlcnM6IG9wdGlvbnMuZmlsdGVycyxcbiAgICAgIG1haW5HZW5kZXI6IG9wdGlvbnMubWFpbkdlbmRlcixcbiAgICAgIHNvcnQ6IG9wdGlvbnMuc29ydCxcbiAgICAgIGxpbWl0cyxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUmVzcG9uc2UocGFyYW1zOiBCdWlsZFJlc3BvbnNlUGFyYW1zPFQ+KTogRmV0Y2hQcm9kdWN0c1Jlc3BvbnNlIHtcbiAgICBjb25zdCB7IGRhdGEsIHRvdGFsLCBtYXhpbXVtLCBtaW5pbWFsLCBzZWFyY2hQYXJhbXMgfSA9IHBhcmFtc1xuICAgIGNvbnN0IGxpbWl0cyA9IHNlYXJjaFBhcmFtcy5saW1pdHNcbiAgICBjb25zdCBpbmRleEtleSA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0QnJhbmRNYW5hZ2VyKCkuYnVpbGRJbmRleEJyYW5kcyhzZWFyY2hQYXJhbXMpXG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJvZHVjdHM6IHtcbiAgICAgICAgZGF0YTogZGF0YS5tYXAoKHByb2R1Y3QpID0+IFJvdW5kUHJvZHVjdFByaWNlc0hlbHBlci5yb3VuZFByb2R1Y3RQcmljZXMocHJvZHVjdCkpLFxuICAgICAgICB0b3RhbCxcbiAgICAgIH0sXG4gICAgICBwYWdlczogTWF0aC5jZWlsKHRvdGFsIC8gbGltaXRzLmxpbWl0KSxcbiAgICAgIHByaWNlczoge1xuICAgICAgICBwcmljZToge1xuICAgICAgICAgIG1pbjogKyhtaW5pbWFsPy5wcmljZT8ucHJpY2U/LnRvRml4ZWQoMikgfHwgMCksXG4gICAgICAgICAgbWF4OiArKG1heGltdW0/LnByaWNlPy5wcmljZT8udG9GaXhlZCgyKSB8fCAwKSxcbiAgICAgICAgfSxcbiAgICAgICAgc3Vic2NyaWJlclByaWNlOiB7XG4gICAgICAgICAgbWluOiArKG1pbmltYWw/LnByaWNlPy5zdWJzY3JpYmVyUHJpY2U/LnRvRml4ZWQoMikgfHwgMCksXG4gICAgICAgICAgbWF4OiArKG1heGltdW0/LnByaWNlPy5zdWJzY3JpYmVyUHJpY2U/LnRvRml4ZWQoMikgfHwgMCksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgYnJhbmRzOiB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEJyYW5kTWFuYWdlcigpLmdldEJyYW5kc0xpc3QoaW5kZXhLZXkpLFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRMaW1pdFF1ZXJ5KG9wdGlvbnM6IHsgcGFnZT86IG51bWJlcjsgcGVyUGFnZT86IG51bWJlciB9KTogeyBsaW1pdDogbnVtYmVyOyBvZmZzZXQ6IG51bWJlciB9IHtcbiAgICBjb25zdCBsaW1pdCA9IG9wdGlvbnM/LnBlclBhZ2UgfHwgMjBcblxuICAgIHJldHVybiB7XG4gICAgICBsaW1pdCxcbiAgICAgIG9mZnNldDogKChvcHRpb25zPy5wYWdlIHx8IDEpIC0gMSkgKiBsaW1pdCxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc1Byb2ZpbGUob3B0aW9uczogUGFydGlhbDxGZXRjaFByb2R1Y3RzUGFyYW1zPFQ+Pik6IG9wdGlvbnMgaXMgRmV0Y2hQcm9kdWN0c09wdGlvbnMgJiB7XG4gICAgcHJvZmlsZTogRmV0Y2hQcm9kdWN0c01haW5QYXJhbXM8VD5bJ3Byb2ZpbGUnXVxuICAgIGZpbHRlcnM/OiBDYXRhbG9nRmlsdGVycyAmIHsgY3VzdG9tT3B0aW9ucz86IG5ldmVyOyB0YWdzPzogbmV2ZXIgfVxuICB9IHtcbiAgICByZXR1cm4gJ3Byb2ZpbGUnIGluIG9wdGlvbnNcbiAgfVxuXG4gIHByaXZhdGUgaGFzVGVybShvcHRpb25zOiBQYXJ0aWFsPEZldGNoUHJvZHVjdHNQYXJhbXM8VD4+KTogb3B0aW9ucyBpcyBGZXRjaFByb2R1Y3RzT3B0aW9ucyAmIHtcbiAgICB0ZXJtOiBGZXRjaFByb2R1Y3RzTWFpblBhcmFtczxUPlsndGVybSddXG4gICAgZmlsdGVycz86IENhdGFsb2dGaWx0ZXJzICYgeyBjdXN0b21PcHRpb25zPzogbmV2ZXIgfVxuICB9IHtcbiAgICByZXR1cm4gJ3Rlcm0nIGluIG9wdGlvbnNcbiAgfVxuXG4gIHByaXZhdGUgaGFzQ2F0ZWdvcnkob3B0aW9uczogUGFydGlhbDxGZXRjaFByb2R1Y3RzUGFyYW1zPFQ+Pik6IG9wdGlvbnMgaXMgRmV0Y2hQcm9kdWN0c09wdGlvbnMgJiB7XG4gICAgY2F0ZWdvcnk6IEZldGNoUHJvZHVjdHNNYWluUGFyYW1zPFQ+WydjYXRlZ29yeSddXG4gICAgZmlsdGVycz86IENhdGFsb2dGaWx0ZXJzICYgeyBjdXN0b21PcHRpb25zPzogbmV2ZXIgfVxuICB9IHtcbiAgICByZXR1cm4gJ2NhdGVnb3J5JyBpbiBvcHRpb25zXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { Shops } from '@infrab4a/connect';
|
|
3
|
-
import { DEFAULT_SHOP } from '../../consts';
|
|
4
|
-
import { CategoryRepositoryFacade, ProductCatalogFacade } from './facades';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./facades";
|
|
7
|
-
import * as i2 from "@infrab4a/connect";
|
|
8
|
-
export class CategoryService {
|
|
9
|
-
constructor(categoryFacade, productCatalog, shop) {
|
|
10
|
-
this.categoryFacade = categoryFacade;
|
|
11
|
-
this.productCatalog = productCatalog;
|
|
12
|
-
this.shop = shop;
|
|
13
|
-
}
|
|
14
|
-
async fetchBrands(category, options, optionsCache) {
|
|
15
|
-
const brands = await this.productCatalog.productRepository
|
|
16
|
-
.findCatalog({
|
|
17
|
-
filters: await this.productCatalog.categoryStructureAdapter.buildProductFilterByCategory(category),
|
|
18
|
-
fields: ['brand'],
|
|
19
|
-
}, options?.mainGender ? options?.mainGender : this.shop === Shops.MENSMARKET ? 'male' : 'female', optionsCache)
|
|
20
|
-
.then(({ data }) => Object.keys(data.map((product) => product.brand).reduce((brands, brand) => ({ ...brands, [brand]: true }), {})));
|
|
21
|
-
return this.categoryFacade.categoryRepository
|
|
22
|
-
.find({ filters: { brandCategory: true, shop: options?.shop || this.shop }, orderBy: { name: 'asc' } }, optionsCache)
|
|
23
|
-
.then(({ data }) => data.filter((category) => brands.includes(category.conditions.brand)));
|
|
24
|
-
}
|
|
25
|
-
async fetchFilterOptions(category, optionsCache) {
|
|
26
|
-
return await this.categoryFacade.categoryFilterRepository
|
|
27
|
-
.find({ filters: { categoryId: +category.id } }, optionsCache)
|
|
28
|
-
.then(({ data }) => data.map((categoryFilter) => categoryFilter.filter));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, deps: [{ token: i1.CategoryRepositoryFacade }, { token: i1.ProductCatalogFacade }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
-
CategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, decorators: [{
|
|
34
|
-
type: Injectable
|
|
35
|
-
}], ctorParameters: function () { return [{ type: i1.CategoryRepositoryFacade }, { type: i1.ProductCatalogFacade }, { type: i2.Shops, decorators: [{
|
|
36
|
-
type: Inject,
|
|
37
|
-
args: [DEFAULT_SHOP]
|
|
38
|
-
}] }]; } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFBMkQsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUE7Ozs7QUFRMUUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFDbUIsY0FBd0MsRUFDeEMsY0FBb0MsRUFDZCxJQUFXO1FBRmpDLG1CQUFjLEdBQWQsY0FBYyxDQUEwQjtRQUN4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFPO0lBQ2pELENBQUM7SUFFSixLQUFLLENBQUMsV0FBVyxDQUNmLFFBQWtCLEVBQ2xCLE9BQTRCLEVBQzVCLFlBQWlEO1FBRWpELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUI7YUFDdkQsV0FBVyxDQUNWO1lBQ0UsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUM7WUFDbEcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO1NBQ2xCLEVBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFDOUYsWUFBWSxDQUNiO2FBQ0EsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDaEgsQ0FBQTtRQUVILE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0I7YUFDMUMsSUFBSSxDQUNILEVBQUUsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQ2hHLFlBQVksQ0FDYjthQUNBLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDOUYsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxRQUFrQixFQUFFLFlBQWlEO1FBQzVGLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QjthQUN0RCxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxZQUFZLENBQUM7YUFDN0QsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDNUUsQ0FBQzs7NEdBckNVLGVBQWUsOEZBSWhCLFlBQVk7Z0hBSlgsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFLTixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ2F0ZWdvcnksIEZpbHRlciwgUHJvZHVjdEdlbmRlciwgUmVwb3NpdG9yeUNhY2hlT3B0aW9ucywgU2hvcHMgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuaW1wb3J0IHsgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vLi4vY29uc3RzJ1xuXG5pbXBvcnQgeyBDYXRlZ29yeVJlcG9zaXRvcnlGYWNhZGUsIFByb2R1Y3RDYXRhbG9nRmFjYWRlIH0gZnJvbSAnLi9mYWNhZGVzJ1xuXG50eXBlIEZldGNoQnJhbmRzT3B0aW9ucyA9IHtcbiAgbWFpbkdlbmRlcj86IFByb2R1Y3RHZW5kZXJcbiAgc2hvcD86IFNob3BzXG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5RmFjYWRlOiBDYXRlZ29yeVJlcG9zaXRvcnlGYWNhZGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0Q2F0YWxvZzogUHJvZHVjdENhdGFsb2dGYWNhZGUsXG4gICAgQEluamVjdChERUZBVUxUX1NIT1ApIHByaXZhdGUgcmVhZG9ubHkgc2hvcDogU2hvcHMsXG4gICkge31cblxuICBhc3luYyBmZXRjaEJyYW5kcyhcbiAgICBjYXRlZ29yeTogQ2F0ZWdvcnksXG4gICAgb3B0aW9ucz86IEZldGNoQnJhbmRzT3B0aW9ucyxcbiAgICBvcHRpb25zQ2FjaGU/OiB7IGNhY2hlPzogUmVwb3NpdG9yeUNhY2hlT3B0aW9ucyB9LFxuICApOiBQcm9taXNlPENhdGVnb3J5W10+IHtcbiAgICBjb25zdCBicmFuZHMgPSBhd2FpdCB0aGlzLnByb2R1Y3RDYXRhbG9nLnByb2R1Y3RSZXBvc2l0b3J5XG4gICAgICAuZmluZENhdGFsb2coXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJzOiBhd2FpdCB0aGlzLnByb2R1Y3RDYXRhbG9nLmNhdGVnb3J5U3RydWN0dXJlQWRhcHRlci5idWlsZFByb2R1Y3RGaWx0ZXJCeUNhdGVnb3J5KGNhdGVnb3J5KSxcbiAgICAgICAgICBmaWVsZHM6IFsnYnJhbmQnXSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucz8ubWFpbkdlbmRlciA/IG9wdGlvbnM/Lm1haW5HZW5kZXIgOiB0aGlzLnNob3AgPT09IFNob3BzLk1FTlNNQVJLRVQgPyAnbWFsZScgOiAnZmVtYWxlJyxcbiAgICAgICAgb3B0aW9uc0NhY2hlLFxuICAgICAgKVxuICAgICAgLnRoZW4oKHsgZGF0YSB9KSA9PlxuICAgICAgICBPYmplY3Qua2V5cyhkYXRhLm1hcCgocHJvZHVjdCkgPT4gcHJvZHVjdC5icmFuZCkucmVkdWNlKChicmFuZHMsIGJyYW5kKSA9PiAoeyAuLi5icmFuZHMsIFticmFuZF06IHRydWUgfSksIHt9KSksXG4gICAgICApXG5cbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeUZhY2FkZS5jYXRlZ29yeVJlcG9zaXRvcnlcbiAgICAgIC5maW5kKFxuICAgICAgICB7IGZpbHRlcnM6IHsgYnJhbmRDYXRlZ29yeTogdHJ1ZSwgc2hvcDogb3B0aW9ucz8uc2hvcCB8fCB0aGlzLnNob3AgfSwgb3JkZXJCeTogeyBuYW1lOiAnYXNjJyB9IH0sXG4gICAgICAgIG9wdGlvbnNDYWNoZSxcbiAgICAgIClcbiAgICAgIC50aGVuKCh7IGRhdGEgfSkgPT4gZGF0YS5maWx0ZXIoKGNhdGVnb3J5KSA9PiBicmFuZHMuaW5jbHVkZXMoY2F0ZWdvcnkuY29uZGl0aW9ucy5icmFuZCkpKVxuICB9XG5cbiAgYXN5bmMgZmV0Y2hGaWx0ZXJPcHRpb25zKGNhdGVnb3J5OiBDYXRlZ29yeSwgb3B0aW9uc0NhY2hlPzogeyBjYWNoZT86IFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMgfSk6IFByb21pc2U8RmlsdGVyW10+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jYXRlZ29yeUZhY2FkZS5jYXRlZ29yeUZpbHRlclJlcG9zaXRvcnlcbiAgICAgIC5maW5kKHsgZmlsdGVyczogeyBjYXRlZ29yeUlkOiArY2F0ZWdvcnkuaWQgfSB9LCBvcHRpb25zQ2FjaGUpXG4gICAgICAudGhlbigoeyBkYXRhIH0pID0+IGRhdGEubWFwKChjYXRlZ29yeUZpbHRlcikgPT4gY2F0ZWdvcnlGaWx0ZXIuZmlsdGVyKSlcbiAgfVxufVxuIl19
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
export class CatalogSearchContext {
|
|
2
|
-
constructor(categoryStrategy, termStrategy, profileStrategy) {
|
|
3
|
-
this.categoryStrategy = categoryStrategy;
|
|
4
|
-
this.termStrategy = termStrategy;
|
|
5
|
-
this.profileStrategy = profileStrategy;
|
|
6
|
-
this.strategies = new Map();
|
|
7
|
-
this.initializeStrategies();
|
|
8
|
-
}
|
|
9
|
-
async executeSearch(params, shop, optionsCache) {
|
|
10
|
-
const strategy = this.selectStrategy(params);
|
|
11
|
-
return strategy.search(params, shop, optionsCache);
|
|
12
|
-
}
|
|
13
|
-
initializeStrategies() {
|
|
14
|
-
this.strategies.set('category', this.categoryStrategy);
|
|
15
|
-
this.strategies.set('term', this.termStrategy);
|
|
16
|
-
this.strategies.set('profile', this.profileStrategy);
|
|
17
|
-
}
|
|
18
|
-
selectStrategy(params) {
|
|
19
|
-
if (params.category) {
|
|
20
|
-
const strategy = this.strategies.get('category');
|
|
21
|
-
if (!strategy)
|
|
22
|
-
throw new Error('Category strategy not found');
|
|
23
|
-
return strategy;
|
|
24
|
-
}
|
|
25
|
-
if (params.term) {
|
|
26
|
-
const strategy = this.strategies.get('term');
|
|
27
|
-
if (!strategy)
|
|
28
|
-
throw new Error('Term strategy not found');
|
|
29
|
-
return strategy;
|
|
30
|
-
}
|
|
31
|
-
if (params.profile?.length) {
|
|
32
|
-
const strategy = this.strategies.get('profile');
|
|
33
|
-
if (!strategy)
|
|
34
|
-
throw new Error('Profile strategy not found');
|
|
35
|
-
return strategy;
|
|
36
|
-
}
|
|
37
|
-
throw new Error('No valid search strategy found for the given parameters');
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1zZWFyY2guY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jb250ZXh0L2NhdGFsb2ctc2VhcmNoLmNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUNtQixnQkFBdUMsRUFDdkMsWUFBbUMsRUFDbkMsZUFBc0M7UUFGdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF1QjtRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFDbkMsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBTGpELGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQTtRQU8zRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FDakIsTUFBMkIsRUFDM0IsSUFBVyxFQUNYLFlBQWlEO1FBRWpELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFNUMsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFTyxjQUFjLENBQUMsTUFBMkI7UUFDaEQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBRWhELElBQUksQ0FBQyxRQUFRO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtZQUU3RCxPQUFPLFFBQVEsQ0FBQTtTQUNoQjtRQUVELElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtZQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBRTVDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtZQUV6RCxPQUFPLFFBQVEsQ0FBQTtTQUNoQjtRQUVELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7WUFFL0MsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1lBRTVELE9BQU8sUUFBUSxDQUFBO1NBQ2hCO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFBO0lBQzVFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3QsIFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMsIFJlcG9zaXRvcnlGaW5kUmVzdWx0LCBTaG9wcyB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBDYXRhbG9nU2VhcmNoUGFyYW1zLCBDYXRhbG9nU2VhcmNoU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xuXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ1NlYXJjaENvbnRleHQge1xuICBwcml2YXRlIHN0cmF0ZWdpZXMgPSBuZXcgTWFwPHN0cmluZywgQ2F0YWxvZ1NlYXJjaFN0cmF0ZWd5PigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeVN0cmF0ZWd5OiBDYXRhbG9nU2VhcmNoU3RyYXRlZ3ksXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXJtU3RyYXRlZ3k6IENhdGFsb2dTZWFyY2hTdHJhdGVneSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2ZpbGVTdHJhdGVneTogQ2F0YWxvZ1NlYXJjaFN0cmF0ZWd5LFxuICApIHtcbiAgICB0aGlzLmluaXRpYWxpemVTdHJhdGVnaWVzKClcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGVTZWFyY2goXG4gICAgcGFyYW1zOiBDYXRhbG9nU2VhcmNoUGFyYW1zLFxuICAgIHNob3A6IFNob3BzLFxuICAgIG9wdGlvbnNDYWNoZT86IHsgY2FjaGU/OiBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zIH0sXG4gICk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8UHJvZHVjdD4+IHtcbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuc2VsZWN0U3RyYXRlZ3kocGFyYW1zKVxuXG4gICAgcmV0dXJuIHN0cmF0ZWd5LnNlYXJjaChwYXJhbXMsIHNob3AsIG9wdGlvbnNDYWNoZSlcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVN0cmF0ZWdpZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zdHJhdGVnaWVzLnNldCgnY2F0ZWdvcnknLCB0aGlzLmNhdGVnb3J5U3RyYXRlZ3kpXG4gICAgdGhpcy5zdHJhdGVnaWVzLnNldCgndGVybScsIHRoaXMudGVybVN0cmF0ZWd5KVxuICAgIHRoaXMuc3RyYXRlZ2llcy5zZXQoJ3Byb2ZpbGUnLCB0aGlzLnByb2ZpbGVTdHJhdGVneSlcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0U3RyYXRlZ3kocGFyYW1zOiBDYXRhbG9nU2VhcmNoUGFyYW1zKTogQ2F0YWxvZ1NlYXJjaFN0cmF0ZWd5IHtcbiAgICBpZiAocGFyYW1zLmNhdGVnb3J5KSB7XG4gICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuc3RyYXRlZ2llcy5nZXQoJ2NhdGVnb3J5JylcblxuICAgICAgaWYgKCFzdHJhdGVneSkgdGhyb3cgbmV3IEVycm9yKCdDYXRlZ29yeSBzdHJhdGVneSBub3QgZm91bmQnKVxuXG4gICAgICByZXR1cm4gc3RyYXRlZ3lcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnRlcm0pIHtcbiAgICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5zdHJhdGVnaWVzLmdldCgndGVybScpXG5cbiAgICAgIGlmICghc3RyYXRlZ3kpIHRocm93IG5ldyBFcnJvcignVGVybSBzdHJhdGVneSBub3QgZm91bmQnKVxuXG4gICAgICByZXR1cm4gc3RyYXRlZ3lcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnByb2ZpbGU/Lmxlbmd0aCkge1xuICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLnN0cmF0ZWdpZXMuZ2V0KCdwcm9maWxlJylcblxuICAgICAgaWYgKCFzdHJhdGVneSkgdGhyb3cgbmV3IEVycm9yKCdQcm9maWxlIHN0cmF0ZWd5IG5vdCBmb3VuZCcpXG5cbiAgICAgIHJldHVybiBzdHJhdGVneVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignTm8gdmFsaWQgc2VhcmNoIHN0cmF0ZWd5IGZvdW5kIGZvciB0aGUgZ2l2ZW4gcGFyYW1ldGVycycpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { Shops } from '@infrab4a/connect';
|
|
3
|
-
import { DEFAULT_SHOP } from '../../../consts';
|
|
4
|
-
import { CatalogService } from '../catalog.service';
|
|
5
|
-
import { CatalogSearchContext } from '../context/catalog-search.context';
|
|
6
|
-
import { CatalogHelpersService } from '../services';
|
|
7
|
-
import { CatalogStrategiesFacade } from './catalog-strategies.facade';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../services";
|
|
10
|
-
import * as i2 from "./catalog-strategies.facade";
|
|
11
|
-
import * as i3 from "@infrab4a/connect";
|
|
12
|
-
export class CatalogServiceFacade {
|
|
13
|
-
constructor(helpersService, strategiesFacade, shop) {
|
|
14
|
-
this.helpersService = helpersService;
|
|
15
|
-
this.strategiesFacade = strategiesFacade;
|
|
16
|
-
this.shop = shop;
|
|
17
|
-
const searchContext = new CatalogSearchContext(this.strategiesFacade.categoryStrategy, this.strategiesFacade.termStrategy, this.strategiesFacade.profileStrategy);
|
|
18
|
-
this.catalogService = new CatalogService(searchContext, this.helpersService, this.shop);
|
|
19
|
-
}
|
|
20
|
-
getCatalogService() {
|
|
21
|
-
return this.catalogService;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
CatalogServiceFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogServiceFacade, deps: [{ token: i1.CatalogHelpersService }, { token: i2.CatalogStrategiesFacade }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
-
CatalogServiceFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogServiceFacade });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogServiceFacade, decorators: [{
|
|
27
|
-
type: Injectable
|
|
28
|
-
}], ctorParameters: function () { return [{ type: i1.CatalogHelpersService }, { type: i2.CatalogStrategiesFacade }, { type: i3.Shops, decorators: [{
|
|
29
|
-
type: Inject,
|
|
30
|
-
args: [DEFAULT_SHOP]
|
|
31
|
-
}] }]; } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1zZXJ2aWNlLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9mYWNhZGVzL2NhdGFsb2ctc2VydmljZS5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRW5ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFBOzs7OztBQUdyRSxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQ21CLGNBQXFDLEVBQ3JDLGdCQUF5QyxFQUNuQixJQUFXO1FBRmpDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQU87UUFFbEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxvQkFBb0IsQ0FDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUN0QyxDQUFBO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekYsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUM1QixDQUFDOztpSEFuQlUsb0JBQW9CLDhGQU1yQixZQUFZO3FIQU5YLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFPTixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgU2hvcHMgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuaW1wb3J0IHsgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzJ1xuaW1wb3J0IHsgQ2F0YWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9jYXRhbG9nLnNlcnZpY2UnXG5pbXBvcnQgeyBDYXRhbG9nU2VhcmNoQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQvY2F0YWxvZy1zZWFyY2guY29udGV4dCdcbmltcG9ydCB7IENhdGFsb2dIZWxwZXJzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJ1xuXG5pbXBvcnQgeyBDYXRhbG9nU3RyYXRlZ2llc0ZhY2FkZSB9IGZyb20gJy4vY2F0YWxvZy1zdHJhdGVnaWVzLmZhY2FkZSdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhdGFsb2dTZXJ2aWNlRmFjYWRlIHtcbiAgcHJpdmF0ZSBjYXRhbG9nU2VydmljZTogQ2F0YWxvZ1NlcnZpY2VcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhlbHBlcnNTZXJ2aWNlOiBDYXRhbG9nSGVscGVyc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdHJhdGVnaWVzRmFjYWRlOiBDYXRhbG9nU3RyYXRlZ2llc0ZhY2FkZSxcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHJpdmF0ZSByZWFkb25seSBzaG9wOiBTaG9wcyxcbiAgKSB7XG4gICAgY29uc3Qgc2VhcmNoQ29udGV4dCA9IG5ldyBDYXRhbG9nU2VhcmNoQ29udGV4dChcbiAgICAgIHRoaXMuc3RyYXRlZ2llc0ZhY2FkZS5jYXRlZ29yeVN0cmF0ZWd5LFxuICAgICAgdGhpcy5zdHJhdGVnaWVzRmFjYWRlLnRlcm1TdHJhdGVneSxcbiAgICAgIHRoaXMuc3RyYXRlZ2llc0ZhY2FkZS5wcm9maWxlU3RyYXRlZ3ksXG4gICAgKVxuXG4gICAgdGhpcy5jYXRhbG9nU2VydmljZSA9IG5ldyBDYXRhbG9nU2VydmljZShzZWFyY2hDb250ZXh0LCB0aGlzLmhlbHBlcnNTZXJ2aWNlLCB0aGlzLnNob3ApXG4gIH1cblxuICBnZXRDYXRhbG9nU2VydmljZSgpOiBDYXRhbG9nU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMuY2F0YWxvZ1NlcnZpY2VcbiAgfVxufVxuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { CategorySearchStrategy, ProfileSearchStrategy, TermSearchStrategy } from '../strategies';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../strategies";
|
|
5
|
-
export class CatalogStrategiesFacade {
|
|
6
|
-
constructor(categoryStrategy, termStrategy, profileStrategy) {
|
|
7
|
-
this.categoryStrategy = categoryStrategy;
|
|
8
|
-
this.termStrategy = termStrategy;
|
|
9
|
-
this.profileStrategy = profileStrategy;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
CatalogStrategiesFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogStrategiesFacade, deps: [{ token: i1.CategorySearchStrategy }, { token: i1.TermSearchStrategy }, { token: i1.ProfileSearchStrategy }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
13
|
-
CatalogStrategiesFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogStrategiesFacade });
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogStrategiesFacade, decorators: [{
|
|
15
|
-
type: Injectable
|
|
16
|
-
}], ctorParameters: function () { return [{ type: i1.CategorySearchStrategy }, { type: i1.TermSearchStrategy }, { type: i1.ProfileSearchStrategy }]; } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1zdHJhdGVnaWVzLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9mYWNhZGVzL2NhdGFsb2ctc3RyYXRlZ2llcy5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQUdqRyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ2tCLGdCQUF3QyxFQUN4QyxZQUFnQyxFQUNoQyxlQUFzQztRQUZ0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7SUFDckQsQ0FBQzs7b0hBTE8sdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBDYXRlZ29yeVNlYXJjaFN0cmF0ZWd5LCBQcm9maWxlU2VhcmNoU3RyYXRlZ3ksIFRlcm1TZWFyY2hTdHJhdGVneSB9IGZyb20gJy4uL3N0cmF0ZWdpZXMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXRhbG9nU3RyYXRlZ2llc0ZhY2FkZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeVN0cmF0ZWd5OiBDYXRlZ29yeVNlYXJjaFN0cmF0ZWd5LFxuICAgIHB1YmxpYyByZWFkb25seSB0ZXJtU3RyYXRlZ3k6IFRlcm1TZWFyY2hTdHJhdGVneSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvZmlsZVN0cmF0ZWd5OiBQcm9maWxlU2VhcmNoU3RyYXRlZ3ksXG4gICkge31cbn1cbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CategoryRepositoryFacade {
|
|
4
|
-
constructor(categoryRepository, categoryFilterRepository) {
|
|
5
|
-
this.categoryRepository = categoryRepository;
|
|
6
|
-
this.categoryFilterRepository = categoryFilterRepository;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
CategoryRepositoryFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryRepositoryFacade, deps: [{ token: 'CategoryRepository' }, { token: 'CategoryFilterRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10
|
-
CategoryRepositoryFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryRepositoryFacade });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryRepositoryFacade, decorators: [{
|
|
12
|
-
type: Injectable
|
|
13
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
14
|
-
type: Inject,
|
|
15
|
-
args: ['CategoryRepository']
|
|
16
|
-
}] }, { type: undefined, decorators: [{
|
|
17
|
-
type: Inject,
|
|
18
|
-
args: ['CategoryFilterRepository']
|
|
19
|
-
}] }]; } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktcmVwb3NpdG9yeS5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvZmFjYWRlcy9jYXRlZ29yeS1yZXBvc2l0b3J5LmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFJbEQsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNnRCxrQkFBc0MsRUFDaEMsd0JBQWtEO1FBRHhELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDaEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUNyRyxDQUFDOztxSEFKTyx3QkFBd0Isa0JBRXpCLG9CQUFvQixhQUNwQiwwQkFBMEI7eUhBSHpCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVOzswQkFHTixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeSwgQ2F0ZWdvcnlSZXBvc2l0b3J5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVJlcG9zaXRvcnlGYWNhZGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdDYXRlZ29yeVJlcG9zaXRvcnknKSBwdWJsaWMgcmVhZG9ubHkgY2F0ZWdvcnlSZXBvc2l0b3J5OiBDYXRlZ29yeVJlcG9zaXRvcnksXG4gICAgQEluamVjdCgnQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5JykgcHVibGljIHJlYWRvbmx5IGNhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeTogQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5LFxuICApIHt9XG59XG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { Shops } from '@infrab4a/connect';
|
|
3
|
-
import { DEFAULT_SHOP } from '../../../consts';
|
|
4
|
-
import { CategoryService } from '../category.service';
|
|
5
|
-
import { CategoryRepositoryFacade } from './category-repository.facade';
|
|
6
|
-
import { ProductCatalogFacade } from './product-catalog.facade';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./category-repository.facade";
|
|
9
|
-
import * as i2 from "./product-catalog.facade";
|
|
10
|
-
import * as i3 from "@infrab4a/connect";
|
|
11
|
-
export class CategoryServiceFacade {
|
|
12
|
-
constructor(categoryRepositoryFacade, productCatalogFacade, shop) {
|
|
13
|
-
this.categoryRepositoryFacade = categoryRepositoryFacade;
|
|
14
|
-
this.productCatalogFacade = productCatalogFacade;
|
|
15
|
-
this.shop = shop;
|
|
16
|
-
this.categoryService = new CategoryService(this.categoryRepositoryFacade, this.productCatalogFacade, this.shop);
|
|
17
|
-
}
|
|
18
|
-
getCategoryService() {
|
|
19
|
-
return this.categoryService;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
CategoryServiceFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryServiceFacade, deps: [{ token: i1.CategoryRepositoryFacade }, { token: i2.ProductCatalogFacade }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
|
-
CategoryServiceFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryServiceFacade });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryServiceFacade, decorators: [{
|
|
25
|
-
type: Injectable
|
|
26
|
-
}], ctorParameters: function () { return [{ type: i1.CategoryRepositoryFacade }, { type: i2.ProductCatalogFacade }, { type: i3.Shops, decorators: [{
|
|
27
|
-
type: Inject,
|
|
28
|
-
args: [DEFAULT_SHOP]
|
|
29
|
-
}] }]; } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc2VydmljZS5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvZmFjYWRlcy9jYXRlZ29yeS1zZXJ2aWNlLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUVyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7Ozs7QUFHL0QsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxZQUNtQix3QkFBa0QsRUFDbEQsb0JBQTBDLEVBQ3BCLElBQVc7UUFGakMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQ3BCLFNBQUksR0FBSixJQUFJLENBQU87UUFFbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNqSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQTtJQUM3QixDQUFDOztrSEFiVSxxQkFBcUIsOEZBTXRCLFlBQVk7c0hBTlgscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQU9OLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBTaG9wcyB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBERUZBVUxUX1NIT1AgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMnXG5pbXBvcnQgeyBDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICcuLi9jYXRlZ29yeS5zZXJ2aWNlJ1xuXG5pbXBvcnQgeyBDYXRlZ29yeVJlcG9zaXRvcnlGYWNhZGUgfSBmcm9tICcuL2NhdGVnb3J5LXJlcG9zaXRvcnkuZmFjYWRlJ1xuaW1wb3J0IHsgUHJvZHVjdENhdGFsb2dGYWNhZGUgfSBmcm9tICcuL3Byb2R1Y3QtY2F0YWxvZy5mYWNhZGUnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVNlcnZpY2VGYWNhZGUge1xuICBwcml2YXRlIGNhdGVnb3J5U2VydmljZTogQ2F0ZWdvcnlTZXJ2aWNlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeVJlcG9zaXRvcnlGYWNhZGU6IENhdGVnb3J5UmVwb3NpdG9yeUZhY2FkZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RDYXRhbG9nRmFjYWRlOiBQcm9kdWN0Q2F0YWxvZ0ZhY2FkZSxcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHJpdmF0ZSByZWFkb25seSBzaG9wOiBTaG9wcyxcbiAgKSB7XG4gICAgdGhpcy5jYXRlZ29yeVNlcnZpY2UgPSBuZXcgQ2F0ZWdvcnlTZXJ2aWNlKHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5RmFjYWRlLCB0aGlzLnByb2R1Y3RDYXRhbG9nRmFjYWRlLCB0aGlzLnNob3ApXG4gIH1cblxuICBnZXRDYXRlZ29yeVNlcnZpY2UoKTogQ2F0ZWdvcnlTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeVNlcnZpY2VcbiAgfVxufVxuIl19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { CatalogServiceFacade } from './catalog-service.facade';
|
|
2
|
-
export { CatalogStrategiesFacade } from './catalog-strategies.facade';
|
|
3
|
-
export { CategoryRepositoryFacade } from './category-repository.facade';
|
|
4
|
-
export { CategoryServiceFacade } from './category-service.facade';
|
|
5
|
-
export { ProductCatalogFacade } from './product-catalog.facade';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvZmFjYWRlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENhdGFsb2dTZXJ2aWNlRmFjYWRlIH0gZnJvbSAnLi9jYXRhbG9nLXNlcnZpY2UuZmFjYWRlJ1xuZXhwb3J0IHsgQ2F0YWxvZ1N0cmF0ZWdpZXNGYWNhZGUgfSBmcm9tICcuL2NhdGFsb2ctc3RyYXRlZ2llcy5mYWNhZGUnXG5leHBvcnQgeyBDYXRlZ29yeVJlcG9zaXRvcnlGYWNhZGUgfSBmcm9tICcuL2NhdGVnb3J5LXJlcG9zaXRvcnkuZmFjYWRlJ1xuZXhwb3J0IHsgQ2F0ZWdvcnlTZXJ2aWNlRmFjYWRlIH0gZnJvbSAnLi9jYXRlZ29yeS1zZXJ2aWNlLmZhY2FkZSdcbmV4cG9ydCB7IFByb2R1Y3RDYXRhbG9nRmFjYWRlIH0gZnJvbSAnLi9wcm9kdWN0LWNhdGFsb2cuZmFjYWRlJ1xuIl19
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { CATEGORY_STRUCTURE } from '../../../consts';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ProductCatalogFacade {
|
|
5
|
-
constructor(productRepository, categoryStructureAdapter) {
|
|
6
|
-
this.productRepository = productRepository;
|
|
7
|
-
this.categoryStructureAdapter = categoryStructureAdapter;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
ProductCatalogFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductCatalogFacade, deps: [{ token: 'ProductRepository' }, { token: CATEGORY_STRUCTURE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
-
ProductCatalogFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductCatalogFacade });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductCatalogFacade, decorators: [{
|
|
13
|
-
type: Injectable
|
|
14
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
15
|
-
type: Inject,
|
|
16
|
-
args: ['ProductRepository']
|
|
17
|
-
}] }, { type: undefined, decorators: [{
|
|
18
|
-
type: Inject,
|
|
19
|
-
args: [CATEGORY_STRUCTURE]
|
|
20
|
-
}] }]; } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jYXRhbG9nLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9mYWNhZGVzL3Byb2R1Y3QtY2F0YWxvZy5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUE7O0FBSXBELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDK0MsaUJBQW9DLEVBQ3JDLHdCQUFrRDtRQURqRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3JDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7SUFDN0YsQ0FBQzs7aUhBSk8sb0JBQW9CLGtCQUVyQixtQkFBbUIsYUFDbkIsa0JBQWtCO3FIQUhqQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVTs7MEJBR04sTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBQcm9kdWN0UmVwb3NpdG9yeSB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBDQVRFR09SWV9TVFJVQ1RVUkUgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMnXG5pbXBvcnQgeyBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgfSBmcm9tICcuLi9hZGFwdGVycydcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RDYXRhbG9nRmFjYWRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnUHJvZHVjdFJlcG9zaXRvcnknKSBwdWJsaWMgcmVhZG9ubHkgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoQ0FURUdPUllfU1RSVUNUVVJFKSBwdWJsaWMgcmVhZG9ubHkgY2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyOiBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIsXG4gICkge31cbn1cbiJdfQ==
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Where, isEmpty } from '@infrab4a/connect';
|
|
3
|
-
import { ProductCatalogFacade } from '../facades';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../facades";
|
|
6
|
-
export class BrandManagerHelper {
|
|
7
|
-
constructor(productCatalog) {
|
|
8
|
-
this.productCatalog = productCatalog;
|
|
9
|
-
this.brandsList = {};
|
|
10
|
-
}
|
|
11
|
-
async setBrandsList(options, brands) {
|
|
12
|
-
const filterBrands = options.filters?.brands;
|
|
13
|
-
const indexKey = this.buildIndexBrands(options);
|
|
14
|
-
if (isEmpty(brands) && options.filters) {
|
|
15
|
-
delete options.filters.brands;
|
|
16
|
-
}
|
|
17
|
-
this.brandsList[indexKey] = this.brandsList[indexKey] || brands || (await this.fetchBrandsOnly(options));
|
|
18
|
-
this.brandsList[indexKey] = this.brandsList[indexKey].filter(Boolean);
|
|
19
|
-
if (options.filters) {
|
|
20
|
-
options.filters = {
|
|
21
|
-
...options.filters,
|
|
22
|
-
brands: filterBrands,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
getBrandsList(indexKey) {
|
|
27
|
-
return this.brandsList[indexKey];
|
|
28
|
-
}
|
|
29
|
-
buildIndexBrands(options) {
|
|
30
|
-
if (options.category)
|
|
31
|
-
return `category-${options.category.id}`;
|
|
32
|
-
if (options.term)
|
|
33
|
-
return `term-${options.term}`;
|
|
34
|
-
if (options.profile)
|
|
35
|
-
return `profile-${options.profile.join(',')}`;
|
|
36
|
-
return '';
|
|
37
|
-
}
|
|
38
|
-
async fetchBrandsOnly(options) {
|
|
39
|
-
return this.productCatalog.productRepository
|
|
40
|
-
.findCatalog({
|
|
41
|
-
fields: ['id'],
|
|
42
|
-
filters: {
|
|
43
|
-
published: { operator: Where.EQUALS, value: true },
|
|
44
|
-
},
|
|
45
|
-
options: {
|
|
46
|
-
distinct: ['brand'],
|
|
47
|
-
},
|
|
48
|
-
}, options.mainGender)
|
|
49
|
-
.then((result) => result.distinct.brand);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
BrandManagerHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BrandManagerHelper, deps: [{ token: i1.ProductCatalogFacade }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
53
|
-
BrandManagerHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BrandManagerHelper });
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BrandManagerHelper, decorators: [{
|
|
55
|
-
type: Injectable
|
|
56
|
-
}], ctorParameters: function () { return [{ type: i1.ProductCatalogFacade }]; } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQtbWFuYWdlci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvaGVscGVycy9icmFuZC1tYW5hZ2VyLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFBOzs7QUFHakQsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixZQUE2QixjQUFvQztRQUFwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFGekQsZUFBVSxHQUE2QixFQUFFLENBQUE7SUFFbUIsQ0FBQztJQUVyRSxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQTRCLEVBQUUsTUFBZ0I7UUFDaEUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUE7UUFDNUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRS9DLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDdEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQTtTQUM5QjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUV4RyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRXJFLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNuQixPQUFPLENBQUMsT0FBTyxHQUFHO2dCQUNoQixHQUFHLE9BQU8sQ0FBQyxPQUFPO2dCQUNsQixNQUFNLEVBQUUsWUFBWTthQUNyQixDQUFBO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBNEI7UUFDM0MsSUFBSSxPQUFPLENBQUMsUUFBUTtZQUFFLE9BQU8sWUFBWSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFBO1FBRTlELElBQUksT0FBTyxDQUFDLElBQUk7WUFBRSxPQUFPLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRS9DLElBQUksT0FBTyxDQUFDLE9BQU87WUFBRSxPQUFPLFdBQVcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQTtRQUVsRSxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFTyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQTRCO1FBQ3hELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUI7YUFDekMsV0FBVyxDQUNWO1lBQ0UsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7YUFDbkQ7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDO2FBQ3BCO1NBQ0YsRUFDRCxPQUFPLENBQUMsVUFBVSxDQUNuQjthQUNBLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM1QyxDQUFDOzsrR0F0RFUsa0JBQWtCO21IQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgV2hlcmUsIGlzRW1wdHkgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuaW1wb3J0IHsgQ2F0YWxvZ1NlYXJjaFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnXG5pbXBvcnQgeyBQcm9kdWN0Q2F0YWxvZ0ZhY2FkZSB9IGZyb20gJy4uL2ZhY2FkZXMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCcmFuZE1hbmFnZXJIZWxwZXIge1xuICBwcml2YXRlIGJyYW5kc0xpc3Q6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9kdWN0Q2F0YWxvZzogUHJvZHVjdENhdGFsb2dGYWNhZGUpIHt9XG5cbiAgYXN5bmMgc2V0QnJhbmRzTGlzdChvcHRpb25zOiBDYXRhbG9nU2VhcmNoUGFyYW1zLCBicmFuZHM6IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsdGVyQnJhbmRzID0gb3B0aW9ucy5maWx0ZXJzPy5icmFuZHNcbiAgICBjb25zdCBpbmRleEtleSA9IHRoaXMuYnVpbGRJbmRleEJyYW5kcyhvcHRpb25zKVxuXG4gICAgaWYgKGlzRW1wdHkoYnJhbmRzKSAmJiBvcHRpb25zLmZpbHRlcnMpIHtcbiAgICAgIGRlbGV0ZSBvcHRpb25zLmZpbHRlcnMuYnJhbmRzXG4gICAgfVxuXG4gICAgdGhpcy5icmFuZHNMaXN0W2luZGV4S2V5XSA9IHRoaXMuYnJhbmRzTGlzdFtpbmRleEtleV0gfHwgYnJhbmRzIHx8IChhd2FpdCB0aGlzLmZldGNoQnJhbmRzT25seShvcHRpb25zKSlcblxuICAgIHRoaXMuYnJhbmRzTGlzdFtpbmRleEtleV0gPSB0aGlzLmJyYW5kc0xpc3RbaW5kZXhLZXldLmZpbHRlcihCb29sZWFuKVxuXG4gICAgaWYgKG9wdGlvbnMuZmlsdGVycykge1xuICAgICAgb3B0aW9ucy5maWx0ZXJzID0ge1xuICAgICAgICAuLi5vcHRpb25zLmZpbHRlcnMsXG4gICAgICAgIGJyYW5kczogZmlsdGVyQnJhbmRzLFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEJyYW5kc0xpc3QoaW5kZXhLZXk6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5icmFuZHNMaXN0W2luZGV4S2V5XVxuICB9XG5cbiAgYnVpbGRJbmRleEJyYW5kcyhvcHRpb25zOiBDYXRhbG9nU2VhcmNoUGFyYW1zKTogc3RyaW5nIHtcbiAgICBpZiAob3B0aW9ucy5jYXRlZ29yeSkgcmV0dXJuIGBjYXRlZ29yeS0ke29wdGlvbnMuY2F0ZWdvcnkuaWR9YFxuXG4gICAgaWYgKG9wdGlvbnMudGVybSkgcmV0dXJuIGB0ZXJtLSR7b3B0aW9ucy50ZXJtfWBcblxuICAgIGlmIChvcHRpb25zLnByb2ZpbGUpIHJldHVybiBgcHJvZmlsZS0ke29wdGlvbnMucHJvZmlsZS5qb2luKCcsJyl9YFxuXG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZldGNoQnJhbmRzT25seShvcHRpb25zOiBDYXRhbG9nU2VhcmNoUGFyYW1zKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLnByb2R1Y3RDYXRhbG9nLnByb2R1Y3RSZXBvc2l0b3J5XG4gICAgICAuZmluZENhdGFsb2coXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFsnaWQnXSxcbiAgICAgICAgICBmaWx0ZXJzOiB7XG4gICAgICAgICAgICBwdWJsaXNoZWQ6IHsgb3BlcmF0b3I6IFdoZXJlLkVRVUFMUywgdmFsdWU6IHRydWUgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGRpc3RpbmN0OiBbJ2JyYW5kJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucy5tYWluR2VuZGVyLFxuICAgICAgKVxuICAgICAgLnRoZW4oKHJlc3VsdCkgPT4gcmVzdWx0LmRpc3RpbmN0LmJyYW5kKVxuICB9XG59XG4iXX0=
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Where, set } from '@infrab4a/connect';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class CatalogFilterHelper {
|
|
5
|
-
buildFilterQuery(filters) {
|
|
6
|
-
const filterQuery = {};
|
|
7
|
-
if (filters.clubDiscount?.length) {
|
|
8
|
-
set(filterQuery, 'price.subscriberDiscountPercentage', {
|
|
9
|
-
operator: Where.IN,
|
|
10
|
-
value: filters.clubDiscount,
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
if (filters.brands?.length) {
|
|
14
|
-
filterQuery.brand = { operator: Where.IN, value: filters.brands };
|
|
15
|
-
}
|
|
16
|
-
if (filters.gender?.length) {
|
|
17
|
-
filterQuery.gender = { operator: Where.IN, value: filters.gender };
|
|
18
|
-
}
|
|
19
|
-
if (filters.prices?.min || filters.prices?.max) {
|
|
20
|
-
const priceField = filters.prices.subscriberPrice ? 'price.subscriberPrice' : 'price.price';
|
|
21
|
-
const priceFilters = [
|
|
22
|
-
...(filters.prices.min ? [{ operator: Where.GTE, value: Math.floor(filters.prices.min) }] : []),
|
|
23
|
-
...(filters.prices.max ? [{ operator: Where.LTE, value: Math.ceil(filters.prices.max) }] : []),
|
|
24
|
-
];
|
|
25
|
-
set(filterQuery, priceField, priceFilters);
|
|
26
|
-
}
|
|
27
|
-
if (filters.rate) {
|
|
28
|
-
filterQuery.rate = { operator: Where.GTE, value: filters.rate };
|
|
29
|
-
}
|
|
30
|
-
if (filters.tags?.length) {
|
|
31
|
-
filterQuery.tags = { operator: Where.LIKE, value: filters.tags };
|
|
32
|
-
}
|
|
33
|
-
if (filters.customOptions?.length) {
|
|
34
|
-
filterQuery.filters = { operator: Where.LIKE, value: filters.customOptions };
|
|
35
|
-
}
|
|
36
|
-
return filterQuery;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
CatalogFilterHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogFilterHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
-
CatalogFilterHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogFilterHelper });
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogFilterHelper, decorators: [{
|
|
42
|
-
type: Injectable
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1maWx0ZXIuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2hlbHBlcnMvY2F0YWxvZy1maWx0ZXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFtQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7O0FBSy9FLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsZ0JBQWdCLENBQUMsT0FBdUI7UUFDdEMsTUFBTSxXQUFXLEdBQUcsRUFBcUMsQ0FBQTtRQUV6RCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFO1lBQ2hDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsb0NBQW9DLEVBQUU7Z0JBQ3JELFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDbEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQzVCLENBQUMsQ0FBQTtTQUNIO1FBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUMxQixXQUFXLENBQUMsS0FBSyxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtTQUNsRTtRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUU7WUFDMUIsV0FBVyxDQUFDLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUE7U0FDbkU7UUFFRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQzlDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFBO1lBQzNGLE1BQU0sWUFBWSxHQUFHO2dCQUNuQixHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMvRixHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQy9GLENBQUE7WUFFRCxHQUFHLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQTtTQUMzQztRQUVELElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixXQUFXLENBQUMsSUFBSSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtTQUNoRTtRQUVELElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDeEIsV0FBVyxDQUFDLElBQUksR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7U0FDakU7UUFFRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFO1lBQ2pDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFBO1NBQzdFO1FBRUQsT0FBTyxXQUFXLENBQUE7SUFDcEIsQ0FBQzs7Z0hBMUNVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFByb2R1Y3QsIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsIFdoZXJlLCBzZXQgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuaW1wb3J0IHsgQ2F0YWxvZ0ZpbHRlcnMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ0ZpbHRlckhlbHBlciB7XG4gIGJ1aWxkRmlsdGVyUXVlcnkoZmlsdGVyczogQ2F0YWxvZ0ZpbHRlcnMpOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+IHtcbiAgICBjb25zdCBmaWx0ZXJRdWVyeSA9IHt9IGFzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8UHJvZHVjdD5cblxuICAgIGlmIChmaWx0ZXJzLmNsdWJEaXNjb3VudD8ubGVuZ3RoKSB7XG4gICAgICBzZXQoZmlsdGVyUXVlcnksICdwcmljZS5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlJywge1xuICAgICAgICBvcGVyYXRvcjogV2hlcmUuSU4sXG4gICAgICAgIHZhbHVlOiBmaWx0ZXJzLmNsdWJEaXNjb3VudCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpbHRlcnMuYnJhbmRzPy5sZW5ndGgpIHtcbiAgICAgIGZpbHRlclF1ZXJ5LmJyYW5kID0geyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBmaWx0ZXJzLmJyYW5kcyB9XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlcnMuZ2VuZGVyPy5sZW5ndGgpIHtcbiAgICAgIGZpbHRlclF1ZXJ5LmdlbmRlciA9IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogZmlsdGVycy5nZW5kZXIgfVxuICAgIH1cblxuICAgIGlmIChmaWx0ZXJzLnByaWNlcz8ubWluIHx8IGZpbHRlcnMucHJpY2VzPy5tYXgpIHtcbiAgICAgIGNvbnN0IHByaWNlRmllbGQgPSBmaWx0ZXJzLnByaWNlcy5zdWJzY3JpYmVyUHJpY2UgPyAncHJpY2Uuc3Vic2NyaWJlclByaWNlJyA6ICdwcmljZS5wcmljZSdcbiAgICAgIGNvbnN0IHByaWNlRmlsdGVycyA9IFtcbiAgICAgICAgLi4uKGZpbHRlcnMucHJpY2VzLm1pbiA/IFt7IG9wZXJhdG9yOiBXaGVyZS5HVEUsIHZhbHVlOiBNYXRoLmZsb29yKGZpbHRlcnMucHJpY2VzLm1pbikgfV0gOiBbXSksXG4gICAgICAgIC4uLihmaWx0ZXJzLnByaWNlcy5tYXggPyBbeyBvcGVyYXRvcjogV2hlcmUuTFRFLCB2YWx1ZTogTWF0aC5jZWlsKGZpbHRlcnMucHJpY2VzLm1heCkgfV0gOiBbXSksXG4gICAgICBdXG5cbiAgICAgIHNldChmaWx0ZXJRdWVyeSwgcHJpY2VGaWVsZCwgcHJpY2VGaWx0ZXJzKVxuICAgIH1cblxuICAgIGlmIChmaWx0ZXJzLnJhdGUpIHtcbiAgICAgIGZpbHRlclF1ZXJ5LnJhdGUgPSB7IG9wZXJhdG9yOiBXaGVyZS5HVEUsIHZhbHVlOiBmaWx0ZXJzLnJhdGUgfVxuICAgIH1cblxuICAgIGlmIChmaWx0ZXJzLnRhZ3M/Lmxlbmd0aCkge1xuICAgICAgZmlsdGVyUXVlcnkudGFncyA9IHsgb3BlcmF0b3I6IFdoZXJlLkxJS0UsIHZhbHVlOiBmaWx0ZXJzLnRhZ3MgfVxuICAgIH1cblxuICAgIGlmIChmaWx0ZXJzLmN1c3RvbU9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgZmlsdGVyUXVlcnkuZmlsdGVycyA9IHsgb3BlcmF0b3I6IFdoZXJlLkxJS0UsIHZhbHVlOiBmaWx0ZXJzLmN1c3RvbU9wdGlvbnMgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJRdWVyeVxuICB9XG59XG4iXX0=
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CatalogSortHelper {
|
|
4
|
-
buildSortQuery(sort) {
|
|
5
|
-
if (!sort || sort === 'most-relevant')
|
|
6
|
-
return {};
|
|
7
|
-
switch (sort) {
|
|
8
|
-
case 'best-sellers':
|
|
9
|
-
return {
|
|
10
|
-
shoppingCount: 'desc',
|
|
11
|
-
rate: 'desc',
|
|
12
|
-
stock: 'desc',
|
|
13
|
-
name: 'asc',
|
|
14
|
-
};
|
|
15
|
-
case 'biggest-price':
|
|
16
|
-
return {
|
|
17
|
-
subscriberPrice: 'desc',
|
|
18
|
-
rate: 'desc',
|
|
19
|
-
shoppingCount: 'desc',
|
|
20
|
-
};
|
|
21
|
-
case 'lowest-price':
|
|
22
|
-
return {
|
|
23
|
-
subscriberPrice: 'asc',
|
|
24
|
-
rate: 'desc',
|
|
25
|
-
shoppingCount: 'desc',
|
|
26
|
-
};
|
|
27
|
-
case 'best-rating':
|
|
28
|
-
return {
|
|
29
|
-
rate: 'desc',
|
|
30
|
-
shoppingCount: 'desc',
|
|
31
|
-
stock: 'desc',
|
|
32
|
-
name: 'asc',
|
|
33
|
-
};
|
|
34
|
-
case 'news':
|
|
35
|
-
return { createdAt: 'desc' };
|
|
36
|
-
case 'biggest-discount':
|
|
37
|
-
return {
|
|
38
|
-
subscriberDiscountPercentage: 'desc',
|
|
39
|
-
rate: 'desc',
|
|
40
|
-
shoppingCount: 'desc',
|
|
41
|
-
};
|
|
42
|
-
default:
|
|
43
|
-
return {};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
CatalogSortHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogSortHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
-
CatalogSortHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogSortHelper });
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogSortHelper, decorators: [{
|
|
50
|
-
type: Injectable
|
|
51
|
-
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1zb3J0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9oZWxwZXJzL2NhdGFsb2ctc29ydC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFJMUMsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixjQUFjLENBQUMsSUFBWTtRQUN6QixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxlQUFlO1lBQUUsT0FBTyxFQUFFLENBQUE7UUFFaEQsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLGNBQWM7Z0JBQ2pCLE9BQU87b0JBQ0wsYUFBYSxFQUFFLE1BQU07b0JBQ3JCLElBQUksRUFBRSxNQUFNO29CQUNaLEtBQUssRUFBRSxNQUFNO29CQUNiLElBQUksRUFBRSxLQUFLO2lCQUNaLENBQUE7WUFFSCxLQUFLLGVBQWU7Z0JBQ2xCLE9BQU87b0JBQ0wsZUFBZSxFQUFFLE1BQU07b0JBQ3ZCLElBQUksRUFBRSxNQUFNO29CQUNaLGFBQWEsRUFBRSxNQUFNO2lCQUNmLENBQUE7WUFFVixLQUFLLGNBQWM7Z0JBQ2pCLE9BQU87b0JBQ0wsZUFBZSxFQUFFLEtBQUs7b0JBQ3RCLElBQUksRUFBRSxNQUFNO29CQUNaLGFBQWEsRUFBRSxNQUFNO2lCQUNmLENBQUE7WUFFVixLQUFLLGFBQWE7Z0JBQ2hCLE9BQU87b0JBQ0wsSUFBSSxFQUFFLE1BQU07b0JBQ1osYUFBYSxFQUFFLE1BQU07b0JBQ3JCLEtBQUssRUFBRSxNQUFNO29CQUNiLElBQUksRUFBRSxLQUFLO2lCQUNaLENBQUE7WUFFSCxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQTtZQUU5QixLQUFLLGtCQUFrQjtnQkFDckIsT0FBTztvQkFDTCw0QkFBNEIsRUFBRSxNQUFNO29CQUNwQyxJQUFJLEVBQUUsTUFBTTtvQkFDWixhQUFhLEVBQUUsTUFBTTtpQkFDZixDQUFBO1lBRVY7Z0JBQ0UsT0FBTyxFQUFFLENBQUE7U0FDWjtJQUNILENBQUM7OzhHQWhEVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBQcm9kdWN0LCBSZXBvc2l0b3J5T3JkZXJCeSB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ1NvcnRIZWxwZXIge1xuICBidWlsZFNvcnRRdWVyeShzb3J0OiBzdHJpbmcpOiBSZXBvc2l0b3J5T3JkZXJCeTxQcm9kdWN0PiB7XG4gICAgaWYgKCFzb3J0IHx8IHNvcnQgPT09ICdtb3N0LXJlbGV2YW50JykgcmV0dXJuIHt9XG5cbiAgICBzd2l0Y2ggKHNvcnQpIHtcbiAgICAgIGNhc2UgJ2Jlc3Qtc2VsbGVycyc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc2hvcHBpbmdDb3VudDogJ2Rlc2MnLFxuICAgICAgICAgIHJhdGU6ICdkZXNjJyxcbiAgICAgICAgICBzdG9jazogJ2Rlc2MnLFxuICAgICAgICAgIG5hbWU6ICdhc2MnLFxuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ2JpZ2dlc3QtcHJpY2UnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1YnNjcmliZXJQcmljZTogJ2Rlc2MnLFxuICAgICAgICAgIHJhdGU6ICdkZXNjJyxcbiAgICAgICAgICBzaG9wcGluZ0NvdW50OiAnZGVzYycsXG4gICAgICAgIH0gYXMgYW55XG5cbiAgICAgIGNhc2UgJ2xvd2VzdC1wcmljZSc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3Vic2NyaWJlclByaWNlOiAnYXNjJyxcbiAgICAgICAgICByYXRlOiAnZGVzYycsXG4gICAgICAgICAgc2hvcHBpbmdDb3VudDogJ2Rlc2MnLFxuICAgICAgICB9IGFzIGFueVxuXG4gICAgICBjYXNlICdiZXN0LXJhdGluZyc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmF0ZTogJ2Rlc2MnLFxuICAgICAgICAgIHNob3BwaW5nQ291bnQ6ICdkZXNjJyxcbiAgICAgICAgICBzdG9jazogJ2Rlc2MnLFxuICAgICAgICAgIG5hbWU6ICdhc2MnLFxuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ25ld3MnOlxuICAgICAgICByZXR1cm4geyBjcmVhdGVkQXQ6ICdkZXNjJyB9XG5cbiAgICAgIGNhc2UgJ2JpZ2dlc3QtZGlzY291bnQnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2U6ICdkZXNjJyxcbiAgICAgICAgICByYXRlOiAnZGVzYycsXG4gICAgICAgICAgc2hvcHBpbmdDb3VudDogJ2Rlc2MnLFxuICAgICAgICB9IGFzIGFueVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4ge31cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|