@infrab4a/connect-angular 4.21.0 → 4.21.1-alpha.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 +4 -0
- package/esm2020/angular-connect.module.mjs +119 -17
- package/esm2020/angular-hasura-graphql.module.mjs +1 -1
- package/esm2020/consts/backend-url.const.mjs +1 -1
- package/esm2020/interfaces/catalog-strategies.interface.mjs +2 -0
- package/esm2020/interfaces/category-facades.interface.mjs +2 -0
- package/esm2020/interfaces/index.mjs +3 -0
- package/esm2020/persistence/cookie-data-persistence.mjs +1 -1
- package/esm2020/services/cart/cart-services.facade.mjs +21 -0
- package/esm2020/services/cart/index.mjs +2 -0
- package/esm2020/services/cart.service.mjs +25 -38
- package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +1 -1
- package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +1 -1
- package/esm2020/services/catalog/catalog.service.mjs +80 -294
- package/esm2020/services/catalog/category.service.mjs +15 -27
- package/esm2020/services/catalog/context/catalog-search.context.mjs +40 -0
- package/esm2020/services/catalog/facades/catalog-service.facade.mjs +32 -0
- package/esm2020/services/catalog/facades/catalog-strategies.facade.mjs +17 -0
- package/esm2020/services/catalog/facades/category-repository.facade.mjs +20 -0
- package/esm2020/services/catalog/facades/category-service.facade.mjs +30 -0
- package/esm2020/services/catalog/facades/index.mjs +6 -0
- package/esm2020/services/catalog/facades/product-catalog.facade.mjs +21 -0
- package/esm2020/services/catalog/helpers/brand-manager.helper.mjs +57 -0
- package/esm2020/services/catalog/helpers/catalog-filter.helper.mjs +44 -0
- package/esm2020/services/catalog/helpers/catalog-sort.helper.mjs +52 -0
- package/esm2020/services/catalog/helpers/index.mjs +5 -0
- package/esm2020/services/catalog/helpers/product-fields.helper.mjs +39 -0
- package/esm2020/services/catalog/models/category-with-tree.model.mjs +1 -1
- package/esm2020/services/catalog/services/catalog-helpers.service.mjs +33 -0
- package/esm2020/services/catalog/services/catalog-operations.facade.mjs +26 -0
- package/esm2020/services/catalog/services/catalog-repository.service.mjs +25 -0
- package/esm2020/services/catalog/services/index.mjs +5 -0
- package/esm2020/services/catalog/services/product-management.facade.mjs +25 -0
- package/esm2020/services/catalog/strategies/category-search.strategy.mjs +133 -0
- package/esm2020/services/catalog/strategies/index.mjs +4 -0
- package/esm2020/services/catalog/strategies/profile-search.strategy.mjs +42 -0
- package/esm2020/services/catalog/strategies/term-search.strategy.mjs +126 -0
- package/esm2020/services/catalog/strategies/types/strategy-params.type.mjs +2 -0
- package/esm2020/services/catalog/types/fetch-products-options.type.mjs +2 -0
- package/esm2020/services/catalog/types/fetch-products-params.type.mjs +2 -0
- package/esm2020/services/catalog/types/fetch-products-response.type.mjs +2 -0
- package/esm2020/services/catalog/types/index.mjs +5 -1
- package/esm2020/services/catalog/types/method-params.type.mjs +2 -0
- package/esm2020/services/catalog/wishlist.service.mjs +92 -72
- package/esm2020/services/checkout/checkout-dependencies.facade.mjs +20 -0
- package/esm2020/services/checkout/checkout-repositories.facade.mjs +20 -0
- package/esm2020/services/checkout/index.mjs +3 -0
- package/esm2020/services/checkout-subscription.service.mjs +8 -3
- package/esm2020/services/checkout.service.mjs +34 -50
- package/esm2020/services/coupon/coupon-repositories.facade.mjs +24 -0
- package/esm2020/services/coupon/index.mjs +2 -0
- package/esm2020/services/coupon/types/coupon-params.type.mjs +2 -0
- package/esm2020/services/coupon.service.mjs +79 -59
- package/esm2020/services/helpers/util.helper.mjs +12 -12
- package/esm2020/services/home-shop/home-shop-repositories.facade.mjs +24 -0
- package/esm2020/services/home-shop/index.mjs +2 -0
- package/esm2020/services/home-shop.service.mjs +27 -33
- package/esm2020/services/shared/configuration.facade.mjs +29 -0
- package/esm2020/services/shared/index.mjs +2 -0
- package/fesm2015/infrab4a-connect-angular.mjs +1287 -566
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +1207 -533
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/interfaces/catalog-strategies.interface.d.ts +31 -0
- package/interfaces/category-facades.interface.d.ts +6 -0
- package/interfaces/index.d.ts +2 -0
- package/package.json +5 -3
- package/services/cart/cart-services.facade.d.ts +12 -0
- package/services/cart/index.d.ts +1 -0
- package/services/cart.service.d.ts +6 -11
- package/services/catalog/catalog.service.d.ts +11 -83
- package/services/catalog/category.service.d.ts +5 -7
- package/services/catalog/context/catalog-search.context.d.ts +14 -0
- package/services/catalog/facades/catalog-service.facade.d.ts +15 -0
- package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -0
- package/services/catalog/facades/category-repository.facade.d.ts +9 -0
- package/services/catalog/facades/category-service.facade.d.ts +15 -0
- package/services/catalog/facades/index.d.ts +5 -0
- package/services/catalog/facades/product-catalog.facade.d.ts +10 -0
- package/services/catalog/helpers/brand-manager.helper.d.ts +14 -0
- package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -0
- package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -0
- package/services/catalog/helpers/index.d.ts +4 -0
- package/services/catalog/helpers/product-fields.helper.d.ts +7 -0
- package/services/catalog/services/catalog-helpers.service.d.ts +17 -0
- package/services/catalog/services/catalog-operations.facade.d.ts +13 -0
- package/services/catalog/services/catalog-repository.service.d.ts +12 -0
- package/services/catalog/services/index.d.ts +4 -0
- package/services/catalog/services/product-management.facade.d.ts +12 -0
- package/services/catalog/strategies/category-search.strategy.d.ts +19 -0
- package/services/catalog/strategies/index.d.ts +3 -0
- package/services/catalog/strategies/profile-search.strategy.d.ts +14 -0
- package/services/catalog/strategies/term-search.strategy.d.ts +20 -0
- package/services/catalog/strategies/types/strategy-params.type.d.ts +58 -0
- package/services/catalog/types/fetch-products-options.type.d.ts +8 -0
- package/services/catalog/types/fetch-products-params.type.d.ts +25 -0
- package/services/catalog/types/fetch-products-response.type.d.ts +19 -0
- package/services/catalog/types/index.d.ts +4 -0
- package/services/catalog/types/method-params.type.d.ts +17 -0
- package/services/catalog/wishlist.service.d.ts +12 -4
- package/services/checkout/checkout-dependencies.facade.d.ts +10 -0
- package/services/checkout/checkout-repositories.facade.d.ts +9 -0
- package/services/checkout/index.d.ts +2 -0
- package/services/checkout-subscription.service.d.ts +2 -2
- package/services/checkout.service.d.ts +7 -11
- package/services/coupon/coupon-repositories.facade.d.ts +10 -0
- package/services/coupon/index.d.ts +1 -0
- package/services/coupon/types/coupon-params.type.d.ts +13 -0
- package/services/coupon.service.d.ts +16 -7
- package/services/home-shop/home-shop-repositories.facade.d.ts +10 -0
- package/services/home-shop/index.d.ts +1 -0
- package/services/home-shop.service.d.ts +6 -6
- package/services/shared/configuration.facade.d.ts +12 -0
- package/services/shared/index.d.ts +1 -0
|
@@ -1,51 +1,39 @@
|
|
|
1
1
|
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { Shops
|
|
3
|
-
import {
|
|
2
|
+
import { Shops } from '@infrab4a/connect';
|
|
3
|
+
import { DEFAULT_SHOP } from '../../consts';
|
|
4
|
+
import { CategoryRepositoryFacade, ProductCatalogFacade } from './facades';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "
|
|
6
|
+
import * as i1 from "./facades";
|
|
7
|
+
import * as i2 from "@infrab4a/connect";
|
|
6
8
|
export class CategoryService {
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
9
|
-
this.
|
|
10
|
-
this.categoryFilterRepository = categoryFilterRepository;
|
|
11
|
-
this.categoryStructureAdapter = categoryStructureAdapter;
|
|
9
|
+
constructor(categoryFacade, productCatalog, shop) {
|
|
10
|
+
this.categoryFacade = categoryFacade;
|
|
11
|
+
this.productCatalog = productCatalog;
|
|
12
12
|
this.shop = shop;
|
|
13
13
|
}
|
|
14
14
|
async fetchBrands(category, options, optionsCache) {
|
|
15
|
-
const brands = await this.productRepository
|
|
15
|
+
const brands = await this.productCatalog.productRepository
|
|
16
16
|
.findCatalog({
|
|
17
|
-
filters: await this.categoryStructureAdapter.buildProductFilterByCategory(category),
|
|
17
|
+
filters: await this.productCatalog.categoryStructureAdapter.buildProductFilterByCategory(category),
|
|
18
18
|
fields: ['brand'],
|
|
19
19
|
}, options?.mainGender ? options?.mainGender : this.shop === Shops.MENSMARKET ? 'male' : 'female', optionsCache)
|
|
20
20
|
.then(({ data }) => Object.keys(data.map((product) => product.brand).reduce((brands, brand) => ({ ...brands, [brand]: true }), {})));
|
|
21
|
-
return this.categoryRepository
|
|
21
|
+
return this.categoryFacade.categoryRepository
|
|
22
22
|
.find({ filters: { brandCategory: true, shop: options?.shop || this.shop }, orderBy: { name: 'asc' } }, optionsCache)
|
|
23
23
|
.then(({ data }) => data.filter((category) => brands.includes(category.conditions.brand)));
|
|
24
24
|
}
|
|
25
25
|
async fetchFilterOptions(category, optionsCache) {
|
|
26
|
-
return await this.categoryFilterRepository
|
|
26
|
+
return await this.categoryFacade.categoryFilterRepository
|
|
27
27
|
.find({ filters: { categoryId: +category.id } }, optionsCache)
|
|
28
28
|
.then(({ data }) => data.map((categoryFilter) => categoryFilter.filter));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, deps: [{ token:
|
|
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
32
|
CategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService });
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, decorators: [{
|
|
34
34
|
type: Injectable
|
|
35
|
-
}], ctorParameters: function () { return [{ type:
|
|
36
|
-
type: Inject,
|
|
37
|
-
args: ['ProductRepository']
|
|
38
|
-
}] }, { type: undefined, decorators: [{
|
|
39
|
-
type: Inject,
|
|
40
|
-
args: ['CategoryRepository']
|
|
41
|
-
}] }, { type: undefined, decorators: [{
|
|
42
|
-
type: Inject,
|
|
43
|
-
args: ['CategoryFilterRepository']
|
|
44
|
-
}] }, { type: undefined, decorators: [{
|
|
45
|
-
type: Inject,
|
|
46
|
-
args: [CATEGORY_STRUCTURE]
|
|
47
|
-
}] }, { type: i1.Shops, decorators: [{
|
|
35
|
+
}], ctorParameters: function () { return [{ type: i1.CategoryRepositoryFacade }, { type: i1.ProductCatalogFacade }, { type: i2.Shops, decorators: [{
|
|
48
36
|
type: Inject,
|
|
49
37
|
args: [DEFAULT_SHOP]
|
|
50
38
|
}] }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFBMkQsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUE7Ozs7QUFRMUUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFDbUIsY0FBd0MsRUFDeEMsY0FBb0MsRUFDZCxJQUFXO1FBRmpDLG1CQUFjLEdBQWQsY0FBYyxDQUEwQjtRQUN4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFPO0lBQ2pELENBQUM7SUFFSixLQUFLLENBQUMsV0FBVyxDQUNmLFFBQWtCLEVBQ2xCLE9BQTRCLEVBQzVCLFlBQWlEO1FBRWpELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUI7YUFDdkQsV0FBVyxDQUNWO1lBQ0UsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUM7WUFDbEcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO1NBQ2xCLEVBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFDOUYsWUFBWSxDQUNiO2FBQ0EsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDaEgsQ0FBQTtRQUVILE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0I7YUFDMUMsSUFBSSxDQUNILEVBQUUsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQ2hHLFlBQVksQ0FDYjthQUNBLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDOUYsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxRQUFrQixFQUFFLFlBQWlEO1FBQzVGLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QjthQUN0RCxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxZQUFZLENBQUM7YUFDN0QsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDNUUsQ0FBQzs7NEdBckNVLGVBQWUsOEZBSWhCLFlBQVk7Z0hBSlgsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFLTixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ2F0ZWdvcnksIEZpbHRlciwgUHJvZHVjdEdlbmRlciwgUmVwb3NpdG9yeUNhY2hlT3B0aW9ucywgU2hvcHMgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuaW1wb3J0IHsgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vLi4vY29uc3RzJ1xuXG5pbXBvcnQgeyBDYXRlZ29yeVJlcG9zaXRvcnlGYWNhZGUsIFByb2R1Y3RDYXRhbG9nRmFjYWRlIH0gZnJvbSAnLi9mYWNhZGVzJ1xuXG50eXBlIEZldGNoQnJhbmRzT3B0aW9ucyA9IHtcbiAgbWFpbkdlbmRlcj86IFByb2R1Y3RHZW5kZXJcbiAgc2hvcD86IFNob3BzXG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5RmFjYWRlOiBDYXRlZ29yeVJlcG9zaXRvcnlGYWNhZGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0Q2F0YWxvZzogUHJvZHVjdENhdGFsb2dGYWNhZGUsXG4gICAgQEluamVjdChERUZBVUxUX1NIT1ApIHByaXZhdGUgcmVhZG9ubHkgc2hvcDogU2hvcHMsXG4gICkge31cblxuICBhc3luYyBmZXRjaEJyYW5kcyhcbiAgICBjYXRlZ29yeTogQ2F0ZWdvcnksXG4gICAgb3B0aW9ucz86IEZldGNoQnJhbmRzT3B0aW9ucyxcbiAgICBvcHRpb25zQ2FjaGU/OiB7IGNhY2hlPzogUmVwb3NpdG9yeUNhY2hlT3B0aW9ucyB9LFxuICApOiBQcm9taXNlPENhdGVnb3J5W10+IHtcbiAgICBjb25zdCBicmFuZHMgPSBhd2FpdCB0aGlzLnByb2R1Y3RDYXRhbG9nLnByb2R1Y3RSZXBvc2l0b3J5XG4gICAgICAuZmluZENhdGFsb2coXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJzOiBhd2FpdCB0aGlzLnByb2R1Y3RDYXRhbG9nLmNhdGVnb3J5U3RydWN0dXJlQWRhcHRlci5idWlsZFByb2R1Y3RGaWx0ZXJCeUNhdGVnb3J5KGNhdGVnb3J5KSxcbiAgICAgICAgICBmaWVsZHM6IFsnYnJhbmQnXSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucz8ubWFpbkdlbmRlciA/IG9wdGlvbnM/Lm1haW5HZW5kZXIgOiB0aGlzLnNob3AgPT09IFNob3BzLk1FTlNNQVJLRVQgPyAnbWFsZScgOiAnZmVtYWxlJyxcbiAgICAgICAgb3B0aW9uc0NhY2hlLFxuICAgICAgKVxuICAgICAgLnRoZW4oKHsgZGF0YSB9KSA9PlxuICAgICAgICBPYmplY3Qua2V5cyhkYXRhLm1hcCgocHJvZHVjdCkgPT4gcHJvZHVjdC5icmFuZCkucmVkdWNlKChicmFuZHMsIGJyYW5kKSA9PiAoeyAuLi5icmFuZHMsIFticmFuZF06IHRydWUgfSksIHt9KSksXG4gICAgICApXG5cbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeUZhY2FkZS5jYXRlZ29yeVJlcG9zaXRvcnlcbiAgICAgIC5maW5kKFxuICAgICAgICB7IGZpbHRlcnM6IHsgYnJhbmRDYXRlZ29yeTogdHJ1ZSwgc2hvcDogb3B0aW9ucz8uc2hvcCB8fCB0aGlzLnNob3AgfSwgb3JkZXJCeTogeyBuYW1lOiAnYXNjJyB9IH0sXG4gICAgICAgIG9wdGlvbnNDYWNoZSxcbiAgICAgIClcbiAgICAgIC50aGVuKCh7IGRhdGEgfSkgPT4gZGF0YS5maWx0ZXIoKGNhdGVnb3J5KSA9PiBicmFuZHMuaW5jbHVkZXMoY2F0ZWdvcnkuY29uZGl0aW9ucy5icmFuZCkpKVxuICB9XG5cbiAgYXN5bmMgZmV0Y2hGaWx0ZXJPcHRpb25zKGNhdGVnb3J5OiBDYXRlZ29yeSwgb3B0aW9uc0NhY2hlPzogeyBjYWNoZT86IFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMgfSk6IFByb21pc2U8RmlsdGVyW10+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jYXRlZ29yeUZhY2FkZS5jYXRlZ29yeUZpbHRlclJlcG9zaXRvcnlcbiAgICAgIC5maW5kKHsgZmlsdGVyczogeyBjYXRlZ29yeUlkOiArY2F0ZWdvcnkuaWQgfSB9LCBvcHRpb25zQ2FjaGUpXG4gICAgICAudGhlbigoeyBkYXRhIH0pID0+IGRhdGEubWFwKChjYXRlZ29yeUZpbHRlcikgPT4gY2F0ZWdvcnlGaWx0ZXIuZmlsdGVyKSlcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
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==
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
|
@@ -0,0 +1,17 @@
|
|
|
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==
|
|
@@ -0,0 +1,20 @@
|
|
|
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=
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
|
@@ -0,0 +1,6 @@
|
|
|
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
|
|
@@ -0,0 +1,21 @@
|
|
|
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==
|
|
@@ -0,0 +1,57 @@
|
|
|
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=
|
|
@@ -0,0 +1,44 @@
|
|
|
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=
|
|
@@ -0,0 +1,52 @@
|
|
|
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==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './brand-manager.helper';
|
|
2
|
+
export * from './catalog-filter.helper';
|
|
3
|
+
export * from './catalog-sort.helper';
|
|
4
|
+
export * from './product-fields.helper';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHlCQUF5QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9icmFuZC1tYW5hZ2VyLmhlbHBlcidcbmV4cG9ydCAqIGZyb20gJy4vY2F0YWxvZy1maWx0ZXIuaGVscGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9jYXRhbG9nLXNvcnQuaGVscGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LWZpZWxkcy5oZWxwZXInXG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ProductFieldsHelper {
|
|
4
|
+
getStandardFields() {
|
|
5
|
+
return [
|
|
6
|
+
'id',
|
|
7
|
+
'name',
|
|
8
|
+
'slug',
|
|
9
|
+
'images',
|
|
10
|
+
'miniatures',
|
|
11
|
+
'price',
|
|
12
|
+
'stock',
|
|
13
|
+
'published',
|
|
14
|
+
'CEST',
|
|
15
|
+
'EAN',
|
|
16
|
+
'NCM',
|
|
17
|
+
'brand',
|
|
18
|
+
'costPrice',
|
|
19
|
+
'hasVariants',
|
|
20
|
+
'isKit',
|
|
21
|
+
'sku',
|
|
22
|
+
'rate',
|
|
23
|
+
'tags',
|
|
24
|
+
'type',
|
|
25
|
+
'shoppingCount',
|
|
26
|
+
'gender',
|
|
27
|
+
'createdAt',
|
|
28
|
+
'label',
|
|
29
|
+
'outlet',
|
|
30
|
+
'group',
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
ProductFieldsHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductFieldsHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
ProductFieldsHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductFieldsHelper });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductFieldsHelper, decorators: [{
|
|
37
|
+
type: Injectable
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1maWVsZHMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2hlbHBlcnMvcHJvZHVjdC1maWVsZHMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBSTFDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsaUJBQWlCO1FBQ2YsT0FBTztZQUNMLElBQUk7WUFDSixNQUFNO1lBQ04sTUFBTTtZQUNOLFFBQVE7WUFDUixZQUFZO1lBQ1osT0FBTztZQUNQLE9BQU87WUFDUCxXQUFXO1lBQ1gsTUFBTTtZQUNOLEtBQUs7WUFDTCxLQUFLO1lBQ0wsT0FBTztZQUNQLFdBQVc7WUFDWCxhQUFhO1lBQ2IsT0FBTztZQUNQLEtBQUs7WUFDTCxNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixlQUFlO1lBQ2YsUUFBUTtZQUNSLFdBQVc7WUFDWCxPQUFPO1lBQ1AsUUFBUTtZQUNSLE9BQU87U0FDUixDQUFBO0lBQ0gsQ0FBQzs7Z0hBN0JVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lcywgUHJvZHVjdCB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJvZHVjdEZpZWxkc0hlbHBlciB7XG4gIGdldFN0YW5kYXJkRmllbGRzKCk6IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxQcm9kdWN0PltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2lkJyxcbiAgICAgICduYW1lJyxcbiAgICAgICdzbHVnJyxcbiAgICAgICdpbWFnZXMnLFxuICAgICAgJ21pbmlhdHVyZXMnLFxuICAgICAgJ3ByaWNlJyxcbiAgICAgICdzdG9jaycsXG4gICAgICAncHVibGlzaGVkJyxcbiAgICAgICdDRVNUJyxcbiAgICAgICdFQU4nLFxuICAgICAgJ05DTScsXG4gICAgICAnYnJhbmQnLFxuICAgICAgJ2Nvc3RQcmljZScsXG4gICAgICAnaGFzVmFyaWFudHMnLFxuICAgICAgJ2lzS2l0JyxcbiAgICAgICdza3UnLFxuICAgICAgJ3JhdGUnLFxuICAgICAgJ3RhZ3MnLFxuICAgICAgJ3R5cGUnLFxuICAgICAgJ3Nob3BwaW5nQ291bnQnLFxuICAgICAgJ2dlbmRlcicsXG4gICAgICAnY3JlYXRlZEF0JyxcbiAgICAgICdsYWJlbCcsXG4gICAgICAnb3V0bGV0JyxcbiAgICAgICdncm91cCcsXG4gICAgXVxuICB9XG59XG4iXX0=
|
|
@@ -7,4 +7,4 @@ __decorate([
|
|
|
7
7
|
Type(() => CategoryWithTree),
|
|
8
8
|
__metadata("design:type", Array)
|
|
9
9
|
], CategoryWithTree.prototype, "children", void 0);
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktd2l0aC10cmVlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL21vZGVscy9jYXRlZ29yeS13aXRoLXRyZWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFNUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFFBQVE7Q0FHN0M7QUFGQztJQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs7a0RBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInXG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlXaXRoVHJlZSBleHRlbmRzIENhdGVnb3J5IHtcbiAgQFR5cGUoKCkgPT4gQ2F0ZWdvcnlXaXRoVHJlZSlcbiAgY2hpbGRyZW4/OiBDYXRlZ29yeVdpdGhUcmVlW11cbn1cbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { CatalogOperationsFacade } from './catalog-operations.facade';
|
|
3
|
+
import { ProductManagementFacade } from './product-management.facade';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./catalog-operations.facade";
|
|
6
|
+
import * as i2 from "./product-management.facade";
|
|
7
|
+
export class CatalogHelpersService {
|
|
8
|
+
constructor(catalogOperations, productManagement) {
|
|
9
|
+
this.catalogOperations = catalogOperations;
|
|
10
|
+
this.productManagement = productManagement;
|
|
11
|
+
}
|
|
12
|
+
getFilterHelper() {
|
|
13
|
+
return this.catalogOperations.getFilterHelper();
|
|
14
|
+
}
|
|
15
|
+
getSortHelper() {
|
|
16
|
+
return this.catalogOperations.getSortHelper();
|
|
17
|
+
}
|
|
18
|
+
getFieldsHelper() {
|
|
19
|
+
return this.catalogOperations.getFieldsHelper();
|
|
20
|
+
}
|
|
21
|
+
getBrandManager() {
|
|
22
|
+
return this.productManagement.getBrandManager();
|
|
23
|
+
}
|
|
24
|
+
getProductServices() {
|
|
25
|
+
return this.productManagement.getProductServices();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
CatalogHelpersService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogHelpersService, deps: [{ token: i1.CatalogOperationsFacade }, { token: i2.ProductManagementFacade }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
CatalogHelpersService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogHelpersService });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogHelpersService, decorators: [{
|
|
31
|
+
type: Injectable
|
|
32
|
+
}], ctorParameters: function () { return [{ type: i1.CatalogOperationsFacade }, { type: i2.ProductManagementFacade }]; } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1oZWxwZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvc2VydmljZXMvY2F0YWxvZy1oZWxwZXJzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUsxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTs7OztBQUdyRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQ21CLGlCQUEwQyxFQUMxQyxpQkFBMEM7UUFEMUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF5QjtRQUMxQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO0lBQzFELENBQUM7SUFFSixlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDakQsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFBO0lBQ2pELENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDakQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO0lBQ3BELENBQUM7O2tIQXhCVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlc0ZhY2FkZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnXG5pbXBvcnQgeyBCcmFuZE1hbmFnZXJIZWxwZXIsIENhdGFsb2dGaWx0ZXJIZWxwZXIsIENhdGFsb2dTb3J0SGVscGVyLCBQcm9kdWN0RmllbGRzSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycydcblxuaW1wb3J0IHsgQ2F0YWxvZ09wZXJhdGlvbnNGYWNhZGUgfSBmcm9tICcuL2NhdGFsb2ctb3BlcmF0aW9ucy5mYWNhZGUnXG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlbWVudEZhY2FkZSB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2VtZW50LmZhY2FkZSdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhdGFsb2dIZWxwZXJzU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2F0YWxvZ09wZXJhdGlvbnM6IENhdGFsb2dPcGVyYXRpb25zRmFjYWRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdE1hbmFnZW1lbnQ6IFByb2R1Y3RNYW5hZ2VtZW50RmFjYWRlLFxuICApIHt9XG5cbiAgZ2V0RmlsdGVySGVscGVyKCk6IENhdGFsb2dGaWx0ZXJIZWxwZXIge1xuICAgIHJldHVybiB0aGlzLmNhdGFsb2dPcGVyYXRpb25zLmdldEZpbHRlckhlbHBlcigpXG4gIH1cblxuICBnZXRTb3J0SGVscGVyKCk6IENhdGFsb2dTb3J0SGVscGVyIHtcbiAgICByZXR1cm4gdGhpcy5jYXRhbG9nT3BlcmF0aW9ucy5nZXRTb3J0SGVscGVyKClcbiAgfVxuXG4gIGdldEZpZWxkc0hlbHBlcigpOiBQcm9kdWN0RmllbGRzSGVscGVyIHtcbiAgICByZXR1cm4gdGhpcy5jYXRhbG9nT3BlcmF0aW9ucy5nZXRGaWVsZHNIZWxwZXIoKVxuICB9XG5cbiAgZ2V0QnJhbmRNYW5hZ2VyKCk6IEJyYW5kTWFuYWdlckhlbHBlciB7XG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdE1hbmFnZW1lbnQuZ2V0QnJhbmRNYW5hZ2VyKClcbiAgfVxuXG4gIGdldFByb2R1Y3RTZXJ2aWNlcygpOiBQcm9kdWN0U2VydmljZXNGYWNhZGUge1xuICAgIHJldHVybiB0aGlzLnByb2R1Y3RNYW5hZ2VtZW50LmdldFByb2R1Y3RTZXJ2aWNlcygpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { CatalogFilterHelper, CatalogSortHelper, ProductFieldsHelper } from '../helpers';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../helpers";
|
|
5
|
+
export class CatalogOperationsFacade {
|
|
6
|
+
constructor(filterHelper, sortHelper, fieldsHelper) {
|
|
7
|
+
this.filterHelper = filterHelper;
|
|
8
|
+
this.sortHelper = sortHelper;
|
|
9
|
+
this.fieldsHelper = fieldsHelper;
|
|
10
|
+
}
|
|
11
|
+
getFilterHelper() {
|
|
12
|
+
return this.filterHelper;
|
|
13
|
+
}
|
|
14
|
+
getSortHelper() {
|
|
15
|
+
return this.sortHelper;
|
|
16
|
+
}
|
|
17
|
+
getFieldsHelper() {
|
|
18
|
+
return this.fieldsHelper;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
CatalogOperationsFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogOperationsFacade, deps: [{ token: i1.CatalogFilterHelper }, { token: i1.CatalogSortHelper }, { token: i1.ProductFieldsHelper }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
CatalogOperationsFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogOperationsFacade });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogOperationsFacade, decorators: [{
|
|
24
|
+
type: Injectable
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i1.CatalogFilterHelper }, { type: i1.CatalogSortHelper }, { type: i1.ProductFieldsHelper }]; } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1vcGVyYXRpb25zLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9zZXJ2aWNlcy9jYXRhbG9nLW9wZXJhdGlvbnMuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFBOzs7QUFHeEYsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNtQixZQUFpQyxFQUNqQyxVQUE2QixFQUM3QixZQUFpQztRQUZqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQ2pELENBQUM7SUFFSixlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7O29IQWpCVSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IENhdGFsb2dGaWx0ZXJIZWxwZXIsIENhdGFsb2dTb3J0SGVscGVyLCBQcm9kdWN0RmllbGRzSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycydcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhdGFsb2dPcGVyYXRpb25zRmFjYWRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJIZWxwZXI6IENhdGFsb2dGaWx0ZXJIZWxwZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3J0SGVscGVyOiBDYXRhbG9nU29ydEhlbHBlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkc0hlbHBlcjogUHJvZHVjdEZpZWxkc0hlbHBlcixcbiAgKSB7fVxuXG4gIGdldEZpbHRlckhlbHBlcigpOiBDYXRhbG9nRmlsdGVySGVscGVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJIZWxwZXJcbiAgfVxuXG4gIGdldFNvcnRIZWxwZXIoKTogQ2F0YWxvZ1NvcnRIZWxwZXIge1xuICAgIHJldHVybiB0aGlzLnNvcnRIZWxwZXJcbiAgfVxuXG4gIGdldEZpZWxkc0hlbHBlcigpOiBQcm9kdWN0RmllbGRzSGVscGVyIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZHNIZWxwZXJcbiAgfVxufVxuIl19
|