@infrab4a/connect-angular 6.0.0-alpha.0 → 6.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular-connect.module.d.ts +36 -0
- package/angular-elastic-search.module.d.ts +9 -0
- package/angular-firebase-auth.module.d.ts +11 -0
- package/angular-firestore.module.d.ts +17 -0
- package/angular-hasura-graphql.module.d.ts +14 -0
- package/angular-vertex-search.module.d.ts +9 -0
- package/consts/backend-url.const.d.ts +1 -0
- package/consts/category-structure.d.ts +1 -0
- package/consts/default-shop.const.d.ts +1 -0
- package/consts/es-config.const.d.ts +1 -0
- package/consts/firebase-const.d.ts +4 -0
- package/consts/hasura-options.const.d.ts +1 -0
- package/consts/index.d.ts +8 -0
- package/consts/persistence.const.d.ts +1 -0
- package/consts/storage-base-url.const.d.ts +1 -0
- package/consts/vertex-config.const.d.ts +1 -0
- package/esm2020/angular-connect.module.mjs +289 -0
- package/esm2020/angular-elastic-search.module.mjs +34 -0
- package/esm2020/angular-firebase-auth.module.mjs +141 -0
- package/esm2020/angular-firestore.module.mjs +541 -0
- package/esm2020/angular-hasura-graphql.module.mjs +333 -0
- package/esm2020/angular-vertex-search.module.mjs +34 -0
- package/esm2020/consts/backend-url.const.mjs +2 -0
- package/esm2020/consts/category-structure.mjs +2 -0
- package/esm2020/consts/default-shop.const.mjs +2 -0
- package/esm2020/consts/es-config.const.mjs +2 -0
- package/esm2020/consts/firebase-const.mjs +5 -0
- package/esm2020/consts/hasura-options.const.mjs +2 -0
- package/esm2020/consts/index.mjs +9 -0
- package/esm2020/consts/persistence.const.mjs +2 -0
- package/esm2020/consts/storage-base-url.const.mjs +2 -0
- package/esm2020/consts/vertex-config.const.mjs +2 -0
- package/esm2020/helpers/index.mjs +2 -0
- package/esm2020/helpers/mobile-operation-system-checker.helper.mjs +7 -0
- package/esm2020/index.mjs +7 -0
- package/esm2020/infrab4a-connect-angular.mjs +5 -0
- 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 +22 -0
- package/esm2020/persistence/data-persistence.mjs +2 -0
- package/esm2020/persistence/index.mjs +3 -0
- package/esm2020/services/auth.service.mjs +37 -0
- package/esm2020/services/cart/cart-services.facade.mjs +21 -0
- package/esm2020/services/cart/index.mjs +2 -0
- package/esm2020/services/cart.service.mjs +73 -0
- package/esm2020/services/catalog/adapters/category-structure.adapter.mjs +2 -0
- package/esm2020/services/catalog/adapters/index.mjs +4 -0
- package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +43 -0
- package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +23 -0
- package/esm2020/services/catalog/catalog.service.mjs +111 -0
- package/esm2020/services/catalog/category.service.mjs +39 -0
- package/esm2020/services/catalog/context/catalog-search.context.mjs +40 -0
- package/esm2020/services/catalog/enums/index.mjs +2 -0
- package/esm2020/services/catalog/enums/product-sorts.enum.mjs +11 -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/index.mjs +8 -0
- package/esm2020/services/catalog/models/category-with-tree.model.mjs +10 -0
- package/esm2020/services/catalog/models/index.mjs +2 -0
- 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 +6 -0
- package/esm2020/services/catalog/types/method-params.type.mjs +2 -0
- package/esm2020/services/catalog/types/product-sort.type.mjs +2 -0
- package/esm2020/services/catalog/wishlist.service.mjs +255 -0
- 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 +55 -0
- package/esm2020/services/checkout.service.mjs +106 -0
- 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 +248 -0
- package/esm2020/services/helpers/index.mjs +2 -0
- package/esm2020/services/helpers/util.helper.mjs +18 -0
- 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 +119 -0
- package/esm2020/services/index.mjs +10 -0
- package/esm2020/services/order.service.mjs +30 -0
- package/esm2020/services/shared/configuration.facade.mjs +29 -0
- package/esm2020/services/shared/index.mjs +2 -0
- package/esm2020/services/types/index.mjs +3 -0
- package/esm2020/services/types/required-checkout-data.type.mjs +2 -0
- package/esm2020/services/types/required-checkout-subscription-data.type.mjs +2 -0
- package/esm2020/types/firebase-app-config.type.mjs +2 -0
- package/esm2020/types/index.mjs +2 -0
- package/fesm2015/infrab4a-connect-angular.mjs +3372 -0
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -0
- package/fesm2020/infrab4a-connect-angular.mjs +3277 -0
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -0
- package/helpers/index.d.ts +1 -0
- package/helpers/mobile-operation-system-checker.helper.d.ts +3 -0
- package/index.d.ts +6 -0
- 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 +24 -4
- package/persistence/cookie-data-persistence.d.ts +10 -0
- package/persistence/data-persistence.d.ts +6 -0
- package/persistence/index.d.ts +2 -0
- package/services/auth.service.d.ts +18 -0
- package/services/cart/cart-services.facade.d.ts +12 -0
- package/services/cart/index.d.ts +1 -0
- package/services/cart.service.d.ts +26 -0
- package/services/catalog/adapters/category-structure.adapter.d.ts +4 -0
- package/services/catalog/adapters/index.d.ts +3 -0
- package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -0
- package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -0
- package/services/catalog/catalog.service.d.ts +24 -0
- package/services/catalog/category.service.d.ts +22 -0
- package/services/catalog/context/catalog-search.context.d.ts +14 -0
- package/services/catalog/enums/index.d.ts +1 -0
- package/services/catalog/enums/product-sorts.enum.d.ts +9 -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/{src/services/catalog/facades/index.ts → services/catalog/facades/index.d.ts} +5 -5
- 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/index.d.ts +7 -0
- package/services/catalog/models/category-with-tree.model.d.ts +4 -0
- package/services/catalog/models/index.d.ts +1 -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/{src/services/catalog/services/index.ts → services/catalog/services/index.d.ts} +4 -4
- 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 +5 -0
- package/services/catalog/types/method-params.type.d.ts +17 -0
- package/services/catalog/types/product-sort.type.d.ts +2 -0
- package/services/catalog/wishlist.service.d.ts +58 -0
- package/services/checkout/checkout-dependencies.facade.d.ts +10 -0
- package/services/checkout/checkout-repositories.facade.d.ts +9 -0
- package/{src/services/checkout/index.ts → services/checkout/index.d.ts} +2 -2
- package/services/checkout-subscription.service.d.ts +19 -0
- package/services/checkout.service.d.ts +30 -0
- package/services/coupon/coupon-repositories.facade.d.ts +10 -0
- package/{src/services/coupon/index.ts → services/coupon/index.d.ts} +1 -1
- package/services/coupon/types/coupon-params.type.d.ts +13 -0
- package/services/coupon.service.d.ts +36 -0
- package/services/helpers/index.d.ts +1 -0
- package/services/helpers/util.helper.d.ts +3 -0
- package/services/home-shop/home-shop-repositories.facade.d.ts +10 -0
- package/{src/services/home-shop/index.ts → services/home-shop/index.d.ts} +1 -1
- package/services/home-shop.service.d.ts +26 -0
- package/services/index.d.ts +9 -0
- package/services/order.service.d.ts +13 -0
- package/services/shared/configuration.facade.d.ts +12 -0
- package/services/shared/index.d.ts +1 -0
- package/services/types/index.d.ts +2 -0
- package/services/types/required-checkout-data.type.d.ts +2 -0
- package/services/types/required-checkout-subscription-data.type.d.ts +2 -0
- package/types/firebase-app-config.type.d.ts +1 -0
- package/types/index.d.ts +1 -0
- package/eslint.config.js +0 -18
- package/index.ts +0 -1
- package/karma.conf.js +0 -32
- package/ng-package.json +0 -8
- package/project.json +0 -37
- package/src/angular-connect.module.ts +0 -256
- package/src/angular-elastic-search.module.ts +0 -23
- package/src/angular-firebase-auth.module.ts +0 -101
- package/src/angular-firestore.module.ts +0 -371
- package/src/angular-hasura-graphql.module.ts +0 -219
- package/src/angular-vertex-search.module.ts +0 -23
- package/src/consts/backend-url.const.ts +0 -1
- package/src/consts/category-structure.ts +0 -1
- package/src/consts/default-shop.const.ts +0 -1
- package/src/consts/es-config.const.ts +0 -1
- package/src/consts/firebase-const.ts +0 -5
- package/src/consts/hasura-options.const.ts +0 -1
- package/src/consts/index.ts +0 -8
- package/src/consts/persistence.const.ts +0 -1
- package/src/consts/storage-base-url.const.ts +0 -1
- package/src/consts/vertex-config.const.ts +0 -1
- package/src/helpers/index.ts +0 -1
- package/src/helpers/mobile-operation-system-checker.helper.ts +0 -10
- package/src/index.ts +0 -6
- package/src/interfaces/catalog-strategies.interface.ts +0 -36
- package/src/interfaces/category-facades.interface.ts +0 -7
- package/src/interfaces/index.ts +0 -2
- package/src/persistence/cookie-data-persistence.ts +0 -21
- package/src/persistence/data-persistence.ts +0 -7
- package/src/persistence/index.ts +0 -2
- package/src/services/auth.service.ts +0 -39
- package/src/services/cart/cart-services.facade.ts +0 -14
- package/src/services/cart/index.ts +0 -1
- package/src/services/cart.service.ts +0 -124
- package/src/services/catalog/adapters/category-structure.adapter.ts +0 -5
- package/src/services/catalog/adapters/index.ts +0 -3
- package/src/services/catalog/adapters/new-category-structure.adapter.ts +0 -42
- package/src/services/catalog/adapters/old-category-structure.adapter.ts +0 -17
- package/src/services/catalog/catalog.service.ts +0 -153
- package/src/services/catalog/category.service.ts +0 -52
- package/src/services/catalog/context/catalog-search.context.ts +0 -61
- package/src/services/catalog/enums/index.ts +0 -1
- package/src/services/catalog/enums/product-sorts.enum.ts +0 -9
- package/src/services/catalog/facades/catalog-service.facade.ts +0 -32
- package/src/services/catalog/facades/catalog-strategies.facade.ts +0 -12
- package/src/services/catalog/facades/category-repository.facade.ts +0 -10
- package/src/services/catalog/facades/category-service.facade.ts +0 -25
- package/src/services/catalog/facades/product-catalog.facade.ts +0 -13
- package/src/services/catalog/helpers/brand-manager.helper.ts +0 -63
- package/src/services/catalog/helpers/catalog-filter.helper.ts +0 -50
- package/src/services/catalog/helpers/catalog-sort.helper.ts +0 -54
- package/src/services/catalog/helpers/index.ts +0 -4
- package/src/services/catalog/helpers/product-fields.helper.ts +0 -35
- package/src/services/catalog/index.ts +0 -7
- package/src/services/catalog/models/category-with-tree.model.ts +0 -7
- package/src/services/catalog/models/index.ts +0 -1
- package/src/services/catalog/services/catalog-helpers.service.ts +0 -35
- package/src/services/catalog/services/catalog-operations.facade.ts +0 -24
- package/src/services/catalog/services/catalog-repository.service.ts +0 -20
- package/src/services/catalog/services/product-management.facade.ts +0 -20
- package/src/services/catalog/strategies/category-search.strategy.ts +0 -172
- package/src/services/catalog/strategies/index.ts +0 -3
- package/src/services/catalog/strategies/profile-search.strategy.ts +0 -51
- package/src/services/catalog/strategies/term-search.strategy.ts +0 -178
- package/src/services/catalog/strategies/types/strategy-params.type.ts +0 -58
- package/src/services/catalog/types/fetch-products-options.type.ts +0 -10
- package/src/services/catalog/types/fetch-products-params.type.ts +0 -27
- package/src/services/catalog/types/fetch-products-response.type.ts +0 -11
- package/src/services/catalog/types/index.ts +0 -5
- package/src/services/catalog/types/method-params.type.ts +0 -21
- package/src/services/catalog/types/product-sort.type.ts +0 -3
- package/src/services/catalog/wishlist.service.ts +0 -368
- package/src/services/checkout/checkout-dependencies.facade.ts +0 -13
- package/src/services/checkout/checkout-repositories.facade.ts +0 -10
- package/src/services/checkout-subscription.service.ts +0 -76
- package/src/services/checkout.service.ts +0 -196
- package/src/services/coupon/coupon-repositories.facade.ts +0 -11
- package/src/services/coupon/types/coupon-params.type.ts +0 -15
- package/src/services/coupon.service.ts +0 -347
- package/src/services/errors/group-invalid-coupon.error.ts +0 -9
- package/src/services/errors/index.ts +0 -2
- package/src/services/errors/invalid-coupon.error.ts +0 -7
- package/src/services/helpers/index.ts +0 -1
- package/src/services/helpers/util.helper.ts +0 -17
- package/src/services/home-shop/home-shop-repositories.facade.ts +0 -11
- package/src/services/home-shop.service.ts +0 -196
- package/src/services/index.ts +0 -9
- package/src/services/order.service.ts +0 -23
- package/src/services/shared/configuration.facade.ts +0 -21
- package/src/services/shared/index.ts +0 -1
- package/src/services/types/index.ts +0 -2
- package/src/services/types/required-checkout-data.type.ts +0 -3
- package/src/services/types/required-checkout-subscription-data.type.ts +0 -3
- package/src/types/firebase-app-config.type.ts +0 -1
- package/src/types/index.ts +0 -1
- package/tsconfig.json +0 -17
- package/tsconfig.lib.json +0 -13
- package/tsconfig.lib.prod.json +0 -13
- package/tsconfig.spec.json +0 -17
|
@@ -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=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './adapters';
|
|
2
|
+
export * from './catalog.service';
|
|
3
|
+
export * from './category.service';
|
|
4
|
+
export * from './enums';
|
|
5
|
+
export * from './models';
|
|
6
|
+
export * from './types';
|
|
7
|
+
export * from './wishlist.service';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsb0JBQW9CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkYXB0ZXJzJ1xuZXhwb3J0ICogZnJvbSAnLi9jYXRhbG9nLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2VudW1zJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJ1xuZXhwb3J0ICogZnJvbSAnLi93aXNobGlzdC5zZXJ2aWNlJ1xuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Type } from 'class-transformer';
|
|
3
|
+
import { Category } from '@infrab4a/connect';
|
|
4
|
+
export class CategoryWithTree extends Category {
|
|
5
|
+
}
|
|
6
|
+
__decorate([
|
|
7
|
+
Type(() => CategoryWithTree),
|
|
8
|
+
__metadata("design:type", Array)
|
|
9
|
+
], CategoryWithTree.prototype, "children", void 0);
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktd2l0aC10cmVlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL21vZGVscy9jYXRlZ29yeS13aXRoLXRyZWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFNUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFFBQVE7Q0FHN0M7QUFGQztJQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs7a0RBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInXG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlXaXRoVHJlZSBleHRlbmRzIENhdGVnb3J5IHtcbiAgQFR5cGUoKCkgPT4gQ2F0ZWdvcnlXaXRoVHJlZSlcbiAgY2hpbGRyZW4/OiBDYXRlZ29yeVdpdGhUcmVlW11cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './category-with-tree.model';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LXdpdGgtdHJlZS5tb2RlbCdcbiJdfQ==
|
|
@@ -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
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { ProductCatalogFacade } from '../facades';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../facades";
|
|
5
|
+
export class CatalogRepositoryService {
|
|
6
|
+
constructor(productCatalog, productServices) {
|
|
7
|
+
this.productCatalog = productCatalog;
|
|
8
|
+
this.productServices = productServices;
|
|
9
|
+
}
|
|
10
|
+
getProductCatalog() {
|
|
11
|
+
return this.productCatalog;
|
|
12
|
+
}
|
|
13
|
+
getProductServices() {
|
|
14
|
+
return this.productServices;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
CatalogRepositoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogRepositoryService, deps: [{ token: i1.ProductCatalogFacade }, { token: 'ProductServicesFacade' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
+
CatalogRepositoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogRepositoryService });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogRepositoryService, decorators: [{
|
|
20
|
+
type: Injectable
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i1.ProductCatalogFacade }, { type: undefined, decorators: [{
|
|
22
|
+
type: Inject,
|
|
23
|
+
args: ['ProductServicesFacade']
|
|
24
|
+
}] }]; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1yZXBvc2l0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvc2VydmljZXMvY2F0YWxvZy1yZXBvc2l0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFBOzs7QUFHakQsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNtQixjQUFvQyxFQUNILGVBQXNDO1FBRHZFLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUNILG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUN2RixDQUFDO0lBRUosaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFBO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFBO0lBQzdCLENBQUM7O3FIQVpVLHdCQUF3QixzREFHekIsdUJBQXVCO3lIQUh0Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVTs7MEJBSU4sTUFBTTsyQkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBQcm9kdWN0U2VydmljZXNGYWNhZGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xuaW1wb3J0IHsgUHJvZHVjdENhdGFsb2dGYWNhZGUgfSBmcm9tICcuLi9mYWNhZGVzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ1JlcG9zaXRvcnlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0Q2F0YWxvZzogUHJvZHVjdENhdGFsb2dGYWNhZGUsXG4gICAgQEluamVjdCgnUHJvZHVjdFNlcnZpY2VzRmFjYWRlJykgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0U2VydmljZXM6IFByb2R1Y3RTZXJ2aWNlc0ZhY2FkZSxcbiAgKSB7fVxuXG4gIGdldFByb2R1Y3RDYXRhbG9nKCk6IFByb2R1Y3RDYXRhbG9nRmFjYWRlIHtcbiAgICByZXR1cm4gdGhpcy5wcm9kdWN0Q2F0YWxvZ1xuICB9XG5cbiAgZ2V0UHJvZHVjdFNlcnZpY2VzKCk6IFByb2R1Y3RTZXJ2aWNlc0ZhY2FkZSB7XG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdFNlcnZpY2VzXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { CatalogHelpersService } from './catalog-helpers.service';
|
|
2
|
+
export { CatalogOperationsFacade } from './catalog-operations.facade';
|
|
3
|
+
export * from './catalog-repository.service';
|
|
4
|
+
export { ProductManagementFacade } from './product-management.facade';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDckUsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENhdGFsb2dIZWxwZXJzU2VydmljZSB9IGZyb20gJy4vY2F0YWxvZy1oZWxwZXJzLnNlcnZpY2UnXG5leHBvcnQgeyBDYXRhbG9nT3BlcmF0aW9uc0ZhY2FkZSB9IGZyb20gJy4vY2F0YWxvZy1vcGVyYXRpb25zLmZhY2FkZSdcbmV4cG9ydCAqIGZyb20gJy4vY2F0YWxvZy1yZXBvc2l0b3J5LnNlcnZpY2UnXG5leHBvcnQgeyBQcm9kdWN0TWFuYWdlbWVudEZhY2FkZSB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2VtZW50LmZhY2FkZSdcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { BrandManagerHelper } from '../helpers';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../helpers";
|
|
5
|
+
export class ProductManagementFacade {
|
|
6
|
+
constructor(brandManager, productServices) {
|
|
7
|
+
this.brandManager = brandManager;
|
|
8
|
+
this.productServices = productServices;
|
|
9
|
+
}
|
|
10
|
+
getBrandManager() {
|
|
11
|
+
return this.brandManager;
|
|
12
|
+
}
|
|
13
|
+
getProductServices() {
|
|
14
|
+
return this.productServices;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
ProductManagementFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductManagementFacade, deps: [{ token: i1.BrandManagerHelper }, { token: 'ProductServicesFacade' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
+
ProductManagementFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductManagementFacade });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductManagementFacade, decorators: [{
|
|
20
|
+
type: Injectable
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i1.BrandManagerHelper }, { type: undefined, decorators: [{
|
|
22
|
+
type: Inject,
|
|
23
|
+
args: ['ProductServicesFacade']
|
|
24
|
+
}] }]; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2VtZW50LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9zZXJ2aWNlcy9wcm9kdWN0LW1hbmFnZW1lbnQuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBR2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQTs7O0FBRy9DLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDbUIsWUFBZ0MsRUFDQyxlQUFzQztRQUR2RSxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDQyxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7SUFDdkYsQ0FBQztJQUVKLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDMUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUE7SUFDN0IsQ0FBQzs7b0hBWlUsdUJBQXVCLG9EQUd4Qix1QkFBdUI7d0hBSHRCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOzswQkFJTixNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlc0ZhY2FkZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnXG5pbXBvcnQgeyBCcmFuZE1hbmFnZXJIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZW1lbnRGYWNhZGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyYW5kTWFuYWdlcjogQnJhbmRNYW5hZ2VySGVscGVyLFxuICAgIEBJbmplY3QoJ1Byb2R1Y3RTZXJ2aWNlc0ZhY2FkZScpIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdFNlcnZpY2VzOiBQcm9kdWN0U2VydmljZXNGYWNhZGUsXG4gICkge31cblxuICBnZXRCcmFuZE1hbmFnZXIoKTogQnJhbmRNYW5hZ2VySGVscGVyIHtcbiAgICByZXR1cm4gdGhpcy5icmFuZE1hbmFnZXJcbiAgfVxuXG4gIGdldFByb2R1Y3RTZXJ2aWNlcygpOiBQcm9kdWN0U2VydmljZXNGYWNhZGUge1xuICAgIHJldHVybiB0aGlzLnByb2R1Y3RTZXJ2aWNlc1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Shops, Where, isEmpty } from '@infrab4a/connect';
|
|
3
|
+
import { CatalogHelpersService, CatalogRepositoryService } from '../services';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../services";
|
|
6
|
+
export class CategorySearchStrategy {
|
|
7
|
+
constructor(repositoryService, helpersService) {
|
|
8
|
+
this.repositoryService = repositoryService;
|
|
9
|
+
this.helpersService = helpersService;
|
|
10
|
+
}
|
|
11
|
+
async search(params, shop, optionsCache) {
|
|
12
|
+
const { category, filters, limits, sort, mainGender } = params;
|
|
13
|
+
if (!category) {
|
|
14
|
+
throw new Error('Category is required for CategorySearchStrategy');
|
|
15
|
+
}
|
|
16
|
+
const fields = this.helpersService.getFieldsHelper().getStandardFields();
|
|
17
|
+
if (sort === 'most-relevant') {
|
|
18
|
+
return this.searchWithMostRelevant({
|
|
19
|
+
category,
|
|
20
|
+
filters,
|
|
21
|
+
limits,
|
|
22
|
+
shop,
|
|
23
|
+
mainGender,
|
|
24
|
+
optionsCache,
|
|
25
|
+
fields,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return this.searchDefault({
|
|
29
|
+
category,
|
|
30
|
+
filters,
|
|
31
|
+
limits,
|
|
32
|
+
shop,
|
|
33
|
+
mainGender,
|
|
34
|
+
sort,
|
|
35
|
+
optionsCache,
|
|
36
|
+
fields,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async searchWithMostRelevant(params) {
|
|
40
|
+
const { category, filters, shop, optionsCache } = params;
|
|
41
|
+
const mostRelevant = category.isWishlist ? [] : category.getMostRelevantByShop(shop);
|
|
42
|
+
const productsIds = await this.getProductIds(category, filters, optionsCache);
|
|
43
|
+
return this.findAndSortByMostRelevant({
|
|
44
|
+
mostRelevants: mostRelevant,
|
|
45
|
+
productIds: productsIds,
|
|
46
|
+
filters: params.filters,
|
|
47
|
+
limits: params.limits,
|
|
48
|
+
shop: params.shop,
|
|
49
|
+
mainGender: params.mainGender,
|
|
50
|
+
optionsCache: params.optionsCache,
|
|
51
|
+
fields: params.fields,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async searchDefault(params) {
|
|
55
|
+
const { category, filters, limits, shop, mainGender, sort, optionsCache, fields } = params;
|
|
56
|
+
const productCatalog = this.repositoryService.getProductCatalog();
|
|
57
|
+
const filterHelper = this.helpersService.getFilterHelper();
|
|
58
|
+
const sortHelper = this.helpersService.getSortHelper();
|
|
59
|
+
const repoParams = {
|
|
60
|
+
fields,
|
|
61
|
+
filters: {
|
|
62
|
+
...(await productCatalog.categoryStructureAdapter.buildProductFilterByCategory(category)),
|
|
63
|
+
...filterHelper.buildFilterQuery(filters || {}),
|
|
64
|
+
},
|
|
65
|
+
...(sort ? { orderBy: sortHelper.buildSortQuery(sort) } : {}),
|
|
66
|
+
limits,
|
|
67
|
+
options: {
|
|
68
|
+
minimal: ['price'],
|
|
69
|
+
maximum: ['price'],
|
|
70
|
+
distinct: ['brand'],
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
return productCatalog.productRepository.findCatalog(repoParams, mainGender || (shop === Shops.MENSMARKET ? 'male' : 'female'), optionsCache);
|
|
74
|
+
}
|
|
75
|
+
async getProductIds(category, filters, optionsCache) {
|
|
76
|
+
const productCatalog = this.repositoryService.getProductCatalog();
|
|
77
|
+
const filterHelper = this.helpersService.getFilterHelper();
|
|
78
|
+
return productCatalog.productRepository
|
|
79
|
+
.findCatalog({
|
|
80
|
+
fields: ['id'],
|
|
81
|
+
filters: {
|
|
82
|
+
...(await productCatalog.categoryStructureAdapter.buildProductFilterByCategory(category)),
|
|
83
|
+
...filterHelper.buildFilterQuery(filters || {}),
|
|
84
|
+
},
|
|
85
|
+
}, undefined, optionsCache)
|
|
86
|
+
.then((products) => products.data.map((product) => product.id));
|
|
87
|
+
}
|
|
88
|
+
async findAndSortByMostRelevant(params) {
|
|
89
|
+
const { mostRelevants, productIds, filters, shop, mainGender, optionsCache, fields, limits } = params;
|
|
90
|
+
const productCatalog = this.repositoryService.getProductCatalog();
|
|
91
|
+
const filterHelper = this.helpersService.getFilterHelper();
|
|
92
|
+
const sortHelper = this.helpersService.getSortHelper();
|
|
93
|
+
const mostRelevantProductsIds = [...new Set(mostRelevants.concat(productIds))];
|
|
94
|
+
const totalResult = await productCatalog.productRepository.findCatalog({
|
|
95
|
+
fields,
|
|
96
|
+
filters: {
|
|
97
|
+
id: { operator: Where.IN, value: mostRelevantProductsIds },
|
|
98
|
+
...filterHelper.buildFilterQuery(filters || {}),
|
|
99
|
+
},
|
|
100
|
+
orderBy: sortHelper.buildSortQuery('best-sellers'),
|
|
101
|
+
options: {
|
|
102
|
+
minimal: ['price'],
|
|
103
|
+
maximum: ['price'],
|
|
104
|
+
...(isEmpty(filters?.brands) ? { distinct: ['brand'] } : {}),
|
|
105
|
+
},
|
|
106
|
+
}, mainGender || (shop === Shops.MENSMARKET ? 'male' : 'female'), optionsCache);
|
|
107
|
+
return this.sortProductsByRelevance(totalResult, mostRelevants, limits);
|
|
108
|
+
}
|
|
109
|
+
sortProductsByRelevance(totalResult, mostRelevants, limits) {
|
|
110
|
+
const mostRelevantWithoutStock = totalResult.data.filter((product) => mostRelevants.includes(product.id) && product.stock.quantity <= 0);
|
|
111
|
+
const firstProducts = totalResult.data
|
|
112
|
+
.filter((product) => mostRelevants.includes(product.id) && product.stock.quantity > 0)
|
|
113
|
+
.sort((a, b) => mostRelevants.indexOf(a.id) - mostRelevants.indexOf(b.id));
|
|
114
|
+
const lastProducts = totalResult.data
|
|
115
|
+
.filter((product) => !mostRelevants.includes(product.id))
|
|
116
|
+
.concat(mostRelevantWithoutStock);
|
|
117
|
+
const categoryMostRelevants = firstProducts.concat(lastProducts);
|
|
118
|
+
const resultFinal = categoryMostRelevants.slice(limits.offset, limits.offset + limits.limit);
|
|
119
|
+
return {
|
|
120
|
+
data: resultFinal,
|
|
121
|
+
count: totalResult.count,
|
|
122
|
+
maximum: totalResult.maximum,
|
|
123
|
+
minimal: totalResult.minimal,
|
|
124
|
+
distinct: totalResult.distinct,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
CategorySearchStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategorySearchStrategy, deps: [{ token: i1.CatalogRepositoryService }, { token: i1.CatalogHelpersService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
129
|
+
CategorySearchStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategorySearchStrategy });
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategorySearchStrategy, decorators: [{
|
|
131
|
+
type: Injectable
|
|
132
|
+
}], ctorParameters: function () { return [{ type: i1.CatalogRepositoryService }, { type: i1.CatalogHelpersService }]; } });
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc2VhcmNoLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL3N0cmF0ZWdpZXMvY2F0ZWdvcnktc2VhcmNoLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUF5RCxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBR2hILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTs7O0FBUzdFLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFDbUIsaUJBQTJDLEVBQzNDLGNBQXFDO1FBRHJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFDM0MsbUJBQWMsR0FBZCxjQUFjLENBQXVCO0lBQ3JELENBQUM7SUFFSixLQUFLLENBQUMsTUFBTSxDQUNWLE1BQTJCLEVBQzNCLElBQVcsRUFDWCxZQUFpRDtRQUVqRCxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQTtRQUU5RCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO1NBQ25FO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBRXhFLElBQUksSUFBSSxLQUFLLGVBQWUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztnQkFDakMsUUFBUTtnQkFDUixPQUFPO2dCQUNQLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixVQUFVO2dCQUNWLFlBQVk7Z0JBQ1osTUFBTTthQUNQLENBQUMsQ0FBQTtTQUNIO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3hCLFFBQVE7WUFDUixPQUFPO1lBQ1AsTUFBTTtZQUNOLElBQUk7WUFDSixVQUFVO1lBQ1YsSUFBSTtZQUNKLFlBQVk7WUFDWixNQUFNO1NBQ1AsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxNQUFvQztRQUN2RSxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQ3hELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BGLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBRTdFLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDO1lBQ3BDLGFBQWEsRUFBRSxZQUFZO1lBQzNCLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtZQUM3QixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7WUFDakMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1NBQ3RCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQTJCO1FBQ3JELE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQzFGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDMUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUV0RCxNQUFNLFVBQVUsR0FBRztZQUNqQixNQUFNO1lBQ04sT0FBTyxFQUFFO2dCQUNQLEdBQUcsQ0FBQyxNQUFNLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDekYsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQzthQUNoRDtZQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdELE1BQU07WUFDTixPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2dCQUNsQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7Z0JBQ2xCLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNwQjtTQUNGLENBQUE7UUFFRCxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQ2pELFVBQVUsRUFDVixVQUFVLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFDN0QsWUFBWSxDQUNiLENBQUE7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFhLEVBQUUsT0FBWSxFQUFFLFlBQWlCO1FBQ3hFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUE7UUFFMUQsT0FBTyxjQUFjLENBQUMsaUJBQWlCO2FBQ3BDLFdBQVcsQ0FDVjtZQUNFLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztZQUNkLE9BQU8sRUFBRTtnQkFDUCxHQUFHLENBQUMsTUFBTSxjQUFjLENBQUMsd0JBQXdCLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3pGLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7YUFDaEQ7U0FDRixFQUNELFNBQVMsRUFDVCxZQUFZLENBQ2I7YUFDQSxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0lBRU8sS0FBSyxDQUFDLHlCQUF5QixDQUNyQyxNQUF1QztRQUV2QyxNQUFNLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQTtRQUNyRyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUNqRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQzFELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7UUFFdEQsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDOUUsTUFBTSxXQUFXLEdBQUcsTUFBTSxjQUFjLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUNwRTtZQUNFLE1BQU07WUFDTixPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFO2dCQUMxRCxHQUFHLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO2FBQ2hEO1lBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDO1lBQ2xELE9BQU8sRUFBRTtnQkFDUCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztnQkFDbEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQzdEO1NBQ0YsRUFDRCxVQUFVLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFDN0QsWUFBWSxDQUNiLENBQUE7UUFFRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxXQUFnQixFQUFFLGFBQXVCLEVBQUUsTUFBVztRQUNwRixNQUFNLHdCQUF3QixHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUN0RCxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUNwRixDQUFBO1FBQ0QsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLElBQUk7YUFDbkMsTUFBTSxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7YUFDMUYsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN0RixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsSUFBSTthQUNsQyxNQUFNLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDN0QsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2hFLE1BQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRTVGLE9BQU87WUFDTCxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7WUFDeEIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPO1lBQzVCLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztZQUM1QixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7U0FDL0IsQ0FBQTtJQUNILENBQUM7O21IQTdKVSxzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBQcm9kdWN0LCBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zLCBSZXBvc2l0b3J5RmluZFJlc3VsdCwgU2hvcHMsIFdoZXJlLCBpc0VtcHR5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IENhdGFsb2dTZWFyY2hQYXJhbXMsIENhdGFsb2dTZWFyY2hTdHJhdGVneSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnXG5pbXBvcnQgeyBDYXRhbG9nSGVscGVyc1NlcnZpY2UsIENhdGFsb2dSZXBvc2l0b3J5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJ1xuXG5pbXBvcnQge1xuICBGaW5kQW5kU29ydEJ5TW9zdFJlbGV2YW50UGFyYW1zLFxuICBTZWFyY2hEZWZhdWx0UGFyYW1zLFxuICBTZWFyY2hXaXRoTW9zdFJlbGV2YW50UGFyYW1zLFxufSBmcm9tICcuL3R5cGVzL3N0cmF0ZWd5LXBhcmFtcy50eXBlJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlTZWFyY2hTdHJhdGVneSBpbXBsZW1lbnRzIENhdGFsb2dTZWFyY2hTdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVwb3NpdG9yeVNlcnZpY2U6IENhdGFsb2dSZXBvc2l0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhlbHBlcnNTZXJ2aWNlOiBDYXRhbG9nSGVscGVyc1NlcnZpY2UsXG4gICkge31cblxuICBhc3luYyBzZWFyY2goXG4gICAgcGFyYW1zOiBDYXRhbG9nU2VhcmNoUGFyYW1zLFxuICAgIHNob3A6IFNob3BzLFxuICAgIG9wdGlvbnNDYWNoZT86IHsgY2FjaGU/OiBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zIH0sXG4gICk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8UHJvZHVjdD4+IHtcbiAgICBjb25zdCB7IGNhdGVnb3J5LCBmaWx0ZXJzLCBsaW1pdHMsIHNvcnQsIG1haW5HZW5kZXIgfSA9IHBhcmFtc1xuXG4gICAgaWYgKCFjYXRlZ29yeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYXRlZ29yeSBpcyByZXF1aXJlZCBmb3IgQ2F0ZWdvcnlTZWFyY2hTdHJhdGVneScpXG4gICAgfVxuXG4gICAgY29uc3QgZmllbGRzID0gdGhpcy5oZWxwZXJzU2VydmljZS5nZXRGaWVsZHNIZWxwZXIoKS5nZXRTdGFuZGFyZEZpZWxkcygpXG5cbiAgICBpZiAoc29ydCA9PT0gJ21vc3QtcmVsZXZhbnQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWFyY2hXaXRoTW9zdFJlbGV2YW50KHtcbiAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgIGZpbHRlcnMsXG4gICAgICAgIGxpbWl0cyxcbiAgICAgICAgc2hvcCxcbiAgICAgICAgbWFpbkdlbmRlcixcbiAgICAgICAgb3B0aW9uc0NhY2hlLFxuICAgICAgICBmaWVsZHMsXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNlYXJjaERlZmF1bHQoe1xuICAgICAgY2F0ZWdvcnksXG4gICAgICBmaWx0ZXJzLFxuICAgICAgbGltaXRzLFxuICAgICAgc2hvcCxcbiAgICAgIG1haW5HZW5kZXIsXG4gICAgICBzb3J0LFxuICAgICAgb3B0aW9uc0NhY2hlLFxuICAgICAgZmllbGRzLFxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNlYXJjaFdpdGhNb3N0UmVsZXZhbnQocGFyYW1zOiBTZWFyY2hXaXRoTW9zdFJlbGV2YW50UGFyYW1zKSB7XG4gICAgY29uc3QgeyBjYXRlZ29yeSwgZmlsdGVycywgc2hvcCwgb3B0aW9uc0NhY2hlIH0gPSBwYXJhbXNcbiAgICBjb25zdCBtb3N0UmVsZXZhbnQgPSBjYXRlZ29yeS5pc1dpc2hsaXN0ID8gW10gOiBjYXRlZ29yeS5nZXRNb3N0UmVsZXZhbnRCeVNob3Aoc2hvcClcbiAgICBjb25zdCBwcm9kdWN0c0lkcyA9IGF3YWl0IHRoaXMuZ2V0UHJvZHVjdElkcyhjYXRlZ29yeSwgZmlsdGVycywgb3B0aW9uc0NhY2hlKVxuXG4gICAgcmV0dXJuIHRoaXMuZmluZEFuZFNvcnRCeU1vc3RSZWxldmFudCh7XG4gICAgICBtb3N0UmVsZXZhbnRzOiBtb3N0UmVsZXZhbnQsXG4gICAgICBwcm9kdWN0SWRzOiBwcm9kdWN0c0lkcyxcbiAgICAgIGZpbHRlcnM6IHBhcmFtcy5maWx0ZXJzLFxuICAgICAgbGltaXRzOiBwYXJhbXMubGltaXRzLFxuICAgICAgc2hvcDogcGFyYW1zLnNob3AsXG4gICAgICBtYWluR2VuZGVyOiBwYXJhbXMubWFpbkdlbmRlcixcbiAgICAgIG9wdGlvbnNDYWNoZTogcGFyYW1zLm9wdGlvbnNDYWNoZSxcbiAgICAgIGZpZWxkczogcGFyYW1zLmZpZWxkcyxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZWFyY2hEZWZhdWx0KHBhcmFtczogU2VhcmNoRGVmYXVsdFBhcmFtcykge1xuICAgIGNvbnN0IHsgY2F0ZWdvcnksIGZpbHRlcnMsIGxpbWl0cywgc2hvcCwgbWFpbkdlbmRlciwgc29ydCwgb3B0aW9uc0NhY2hlLCBmaWVsZHMgfSA9IHBhcmFtc1xuICAgIGNvbnN0IHByb2R1Y3RDYXRhbG9nID0gdGhpcy5yZXBvc2l0b3J5U2VydmljZS5nZXRQcm9kdWN0Q2F0YWxvZygpXG4gICAgY29uc3QgZmlsdGVySGVscGVyID0gdGhpcy5oZWxwZXJzU2VydmljZS5nZXRGaWx0ZXJIZWxwZXIoKVxuICAgIGNvbnN0IHNvcnRIZWxwZXIgPSB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldFNvcnRIZWxwZXIoKVxuXG4gICAgY29uc3QgcmVwb1BhcmFtcyA9IHtcbiAgICAgIGZpZWxkcyxcbiAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgLi4uKGF3YWl0IHByb2R1Y3RDYXRhbG9nLmNhdGVnb3J5U3RydWN0dXJlQWRhcHRlci5idWlsZFByb2R1Y3RGaWx0ZXJCeUNhdGVnb3J5KGNhdGVnb3J5KSksXG4gICAgICAgIC4uLmZpbHRlckhlbHBlci5idWlsZEZpbHRlclF1ZXJ5KGZpbHRlcnMgfHwge30pLFxuICAgICAgfSxcbiAgICAgIC4uLihzb3J0ID8geyBvcmRlckJ5OiBzb3J0SGVscGVyLmJ1aWxkU29ydFF1ZXJ5KHNvcnQpIH0gOiB7fSksXG4gICAgICBsaW1pdHMsXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIG1pbmltYWw6IFsncHJpY2UnXSxcbiAgICAgICAgbWF4aW11bTogWydwcmljZSddLFxuICAgICAgICBkaXN0aW5jdDogWydicmFuZCddLFxuICAgICAgfSxcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvZHVjdENhdGFsb2cucHJvZHVjdFJlcG9zaXRvcnkuZmluZENhdGFsb2coXG4gICAgICByZXBvUGFyYW1zLFxuICAgICAgbWFpbkdlbmRlciB8fCAoc2hvcCA9PT0gU2hvcHMuTUVOU01BUktFVCA/ICdtYWxlJyA6ICdmZW1hbGUnKSxcbiAgICAgIG9wdGlvbnNDYWNoZSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFByb2R1Y3RJZHMoY2F0ZWdvcnk6IGFueSwgZmlsdGVyczogYW55LCBvcHRpb25zQ2FjaGU6IGFueSk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBwcm9kdWN0Q2F0YWxvZyA9IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0UHJvZHVjdENhdGFsb2coKVxuICAgIGNvbnN0IGZpbHRlckhlbHBlciA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0RmlsdGVySGVscGVyKClcblxuICAgIHJldHVybiBwcm9kdWN0Q2F0YWxvZy5wcm9kdWN0UmVwb3NpdG9yeVxuICAgICAgLmZpbmRDYXRhbG9nKFxuICAgICAgICB7XG4gICAgICAgICAgZmllbGRzOiBbJ2lkJ10sXG4gICAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgICAgLi4uKGF3YWl0IHByb2R1Y3RDYXRhbG9nLmNhdGVnb3J5U3RydWN0dXJlQWRhcHRlci5idWlsZFByb2R1Y3RGaWx0ZXJCeUNhdGVnb3J5KGNhdGVnb3J5KSksXG4gICAgICAgICAgICAuLi5maWx0ZXJIZWxwZXIuYnVpbGRGaWx0ZXJRdWVyeShmaWx0ZXJzIHx8IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIG9wdGlvbnNDYWNoZSxcbiAgICAgIClcbiAgICAgIC50aGVuKChwcm9kdWN0cykgPT4gcHJvZHVjdHMuZGF0YS5tYXAoKHByb2R1Y3QpID0+IHByb2R1Y3QuaWQpKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBmaW5kQW5kU29ydEJ5TW9zdFJlbGV2YW50KFxuICAgIHBhcmFtczogRmluZEFuZFNvcnRCeU1vc3RSZWxldmFudFBhcmFtcyxcbiAgKTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxQcm9kdWN0Pj4ge1xuICAgIGNvbnN0IHsgbW9zdFJlbGV2YW50cywgcHJvZHVjdElkcywgZmlsdGVycywgc2hvcCwgbWFpbkdlbmRlciwgb3B0aW9uc0NhY2hlLCBmaWVsZHMsIGxpbWl0cyB9ID0gcGFyYW1zXG4gICAgY29uc3QgcHJvZHVjdENhdGFsb2cgPSB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLmdldFByb2R1Y3RDYXRhbG9nKClcbiAgICBjb25zdCBmaWx0ZXJIZWxwZXIgPSB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEZpbHRlckhlbHBlcigpXG4gICAgY29uc3Qgc29ydEhlbHBlciA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0U29ydEhlbHBlcigpXG5cbiAgICBjb25zdCBtb3N0UmVsZXZhbnRQcm9kdWN0c0lkcyA9IFsuLi5uZXcgU2V0KG1vc3RSZWxldmFudHMuY29uY2F0KHByb2R1Y3RJZHMpKV1cbiAgICBjb25zdCB0b3RhbFJlc3VsdCA9IGF3YWl0IHByb2R1Y3RDYXRhbG9nLnByb2R1Y3RSZXBvc2l0b3J5LmZpbmRDYXRhbG9nKFxuICAgICAge1xuICAgICAgICBmaWVsZHMsXG4gICAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgICBpZDogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBtb3N0UmVsZXZhbnRQcm9kdWN0c0lkcyB9LFxuICAgICAgICAgIC4uLmZpbHRlckhlbHBlci5idWlsZEZpbHRlclF1ZXJ5KGZpbHRlcnMgfHwge30pLFxuICAgICAgICB9LFxuICAgICAgICBvcmRlckJ5OiBzb3J0SGVscGVyLmJ1aWxkU29ydFF1ZXJ5KCdiZXN0LXNlbGxlcnMnKSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIG1pbmltYWw6IFsncHJpY2UnXSxcbiAgICAgICAgICBtYXhpbXVtOiBbJ3ByaWNlJ10sXG4gICAgICAgICAgLi4uKGlzRW1wdHkoZmlsdGVycz8uYnJhbmRzKSA/IHsgZGlzdGluY3Q6IFsnYnJhbmQnXSB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG1haW5HZW5kZXIgfHwgKHNob3AgPT09IFNob3BzLk1FTlNNQVJLRVQgPyAnbWFsZScgOiAnZmVtYWxlJyksXG4gICAgICBvcHRpb25zQ2FjaGUsXG4gICAgKVxuXG4gICAgcmV0dXJuIHRoaXMuc29ydFByb2R1Y3RzQnlSZWxldmFuY2UodG90YWxSZXN1bHQsIG1vc3RSZWxldmFudHMsIGxpbWl0cylcbiAgfVxuXG4gIHByaXZhdGUgc29ydFByb2R1Y3RzQnlSZWxldmFuY2UodG90YWxSZXN1bHQ6IGFueSwgbW9zdFJlbGV2YW50czogc3RyaW5nW10sIGxpbWl0czogYW55KSB7XG4gICAgY29uc3QgbW9zdFJlbGV2YW50V2l0aG91dFN0b2NrID0gdG90YWxSZXN1bHQuZGF0YS5maWx0ZXIoXG4gICAgICAocHJvZHVjdDogYW55KSA9PiBtb3N0UmVsZXZhbnRzLmluY2x1ZGVzKHByb2R1Y3QuaWQpICYmIHByb2R1Y3Quc3RvY2sucXVhbnRpdHkgPD0gMCxcbiAgICApXG4gICAgY29uc3QgZmlyc3RQcm9kdWN0cyA9IHRvdGFsUmVzdWx0LmRhdGFcbiAgICAgIC5maWx0ZXIoKHByb2R1Y3Q6IGFueSkgPT4gbW9zdFJlbGV2YW50cy5pbmNsdWRlcyhwcm9kdWN0LmlkKSAmJiBwcm9kdWN0LnN0b2NrLnF1YW50aXR5ID4gMClcbiAgICAgIC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4gbW9zdFJlbGV2YW50cy5pbmRleE9mKGEuaWQpIC0gbW9zdFJlbGV2YW50cy5pbmRleE9mKGIuaWQpKVxuICAgIGNvbnN0IGxhc3RQcm9kdWN0cyA9IHRvdGFsUmVzdWx0LmRhdGFcbiAgICAgIC5maWx0ZXIoKHByb2R1Y3Q6IGFueSkgPT4gIW1vc3RSZWxldmFudHMuaW5jbHVkZXMocHJvZHVjdC5pZCkpXG4gICAgICAuY29uY2F0KG1vc3RSZWxldmFudFdpdGhvdXRTdG9jaylcbiAgICBjb25zdCBjYXRlZ29yeU1vc3RSZWxldmFudHMgPSBmaXJzdFByb2R1Y3RzLmNvbmNhdChsYXN0UHJvZHVjdHMpXG4gICAgY29uc3QgcmVzdWx0RmluYWwgPSBjYXRlZ29yeU1vc3RSZWxldmFudHMuc2xpY2UobGltaXRzLm9mZnNldCwgbGltaXRzLm9mZnNldCArIGxpbWl0cy5saW1pdClcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiByZXN1bHRGaW5hbCxcbiAgICAgIGNvdW50OiB0b3RhbFJlc3VsdC5jb3VudCxcbiAgICAgIG1heGltdW06IHRvdGFsUmVzdWx0Lm1heGltdW0sXG4gICAgICBtaW5pbWFsOiB0b3RhbFJlc3VsdC5taW5pbWFsLFxuICAgICAgZGlzdGluY3Q6IHRvdGFsUmVzdWx0LmRpc3RpbmN0LFxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './category-search.strategy';
|
|
2
|
+
export * from './profile-search.strategy';
|
|
3
|
+
export * from './term-search.strategy';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvc3RyYXRlZ2llcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcnktc2VhcmNoLnN0cmF0ZWd5J1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlLXNlYXJjaC5zdHJhdGVneSdcbmV4cG9ydCAqIGZyb20gJy4vdGVybS1zZWFyY2guc3RyYXRlZ3knXG4iXX0=
|