@infrab4a/connect-angular 5.4.0-beta.10 → 5.5.0-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.
Files changed (196) hide show
  1. package/angular-connect.module.d.ts +36 -36
  2. package/angular-elastic-search.module.d.ts +9 -9
  3. package/angular-firebase-auth.module.d.ts +11 -11
  4. package/angular-firestore.module.d.ts +17 -17
  5. package/angular-hasura-graphql.module.d.ts +14 -14
  6. package/angular-vertex-search.module.d.ts +9 -9
  7. package/consts/backend-url.const.d.ts +1 -1
  8. package/consts/category-structure.d.ts +1 -1
  9. package/consts/default-shop.const.d.ts +1 -1
  10. package/consts/es-config.const.d.ts +1 -1
  11. package/consts/firebase-const.d.ts +4 -4
  12. package/consts/hasura-options.const.d.ts +1 -1
  13. package/consts/index.d.ts +8 -8
  14. package/consts/persistence.const.d.ts +1 -1
  15. package/consts/storage-base-url.const.d.ts +1 -1
  16. package/consts/vertex-config.const.d.ts +1 -1
  17. package/esm2020/angular-connect.module.mjs +291 -291
  18. package/esm2020/angular-elastic-search.module.mjs +34 -34
  19. package/esm2020/angular-firebase-auth.module.mjs +141 -141
  20. package/esm2020/angular-firestore.module.mjs +541 -541
  21. package/esm2020/angular-hasura-graphql.module.mjs +333 -333
  22. package/esm2020/angular-vertex-search.module.mjs +34 -34
  23. package/esm2020/consts/backend-url.const.mjs +2 -2
  24. package/esm2020/consts/category-structure.mjs +2 -2
  25. package/esm2020/consts/default-shop.const.mjs +2 -2
  26. package/esm2020/consts/es-config.const.mjs +2 -2
  27. package/esm2020/consts/firebase-const.mjs +5 -5
  28. package/esm2020/consts/hasura-options.const.mjs +2 -2
  29. package/esm2020/consts/index.mjs +9 -9
  30. package/esm2020/consts/persistence.const.mjs +2 -2
  31. package/esm2020/consts/storage-base-url.const.mjs +2 -2
  32. package/esm2020/consts/vertex-config.const.mjs +2 -2
  33. package/esm2020/helpers/index.mjs +2 -2
  34. package/esm2020/helpers/mobile-operation-system-checker.helper.mjs +7 -7
  35. package/esm2020/index.mjs +7 -7
  36. package/esm2020/infrab4a-connect-angular.mjs +4 -4
  37. package/esm2020/interfaces/catalog-strategies.interface.mjs +2 -2
  38. package/esm2020/interfaces/category-facades.interface.mjs +2 -2
  39. package/esm2020/interfaces/index.mjs +3 -3
  40. package/esm2020/persistence/cookie-data-persistence.mjs +22 -22
  41. package/esm2020/persistence/data-persistence.mjs +2 -2
  42. package/esm2020/persistence/index.mjs +3 -3
  43. package/esm2020/services/auth.service.mjs +37 -37
  44. package/esm2020/services/cart/cart-services.facade.mjs +21 -21
  45. package/esm2020/services/cart/index.mjs +2 -2
  46. package/esm2020/services/cart.service.mjs +73 -73
  47. package/esm2020/services/catalog/adapters/category-structure.adapter.mjs +2 -2
  48. package/esm2020/services/catalog/adapters/index.mjs +4 -4
  49. package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +43 -43
  50. package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +23 -23
  51. package/esm2020/services/catalog/catalog.service.mjs +111 -111
  52. package/esm2020/services/catalog/category.service.mjs +39 -39
  53. package/esm2020/services/catalog/context/catalog-search.context.mjs +40 -40
  54. package/esm2020/services/catalog/enums/index.mjs +2 -2
  55. package/esm2020/services/catalog/enums/product-sorts.enum.mjs +11 -11
  56. package/esm2020/services/catalog/facades/catalog-service.facade.mjs +32 -32
  57. package/esm2020/services/catalog/facades/catalog-strategies.facade.mjs +17 -17
  58. package/esm2020/services/catalog/facades/category-repository.facade.mjs +20 -20
  59. package/esm2020/services/catalog/facades/category-service.facade.mjs +30 -30
  60. package/esm2020/services/catalog/facades/index.mjs +6 -6
  61. package/esm2020/services/catalog/facades/product-catalog.facade.mjs +21 -21
  62. package/esm2020/services/catalog/helpers/brand-manager.helper.mjs +57 -57
  63. package/esm2020/services/catalog/helpers/catalog-filter.helper.mjs +44 -44
  64. package/esm2020/services/catalog/helpers/catalog-sort.helper.mjs +52 -52
  65. package/esm2020/services/catalog/helpers/index.mjs +5 -5
  66. package/esm2020/services/catalog/helpers/product-fields.helper.mjs +40 -40
  67. package/esm2020/services/catalog/index.mjs +8 -8
  68. package/esm2020/services/catalog/models/category-with-tree.model.mjs +10 -10
  69. package/esm2020/services/catalog/models/index.mjs +2 -2
  70. package/esm2020/services/catalog/services/catalog-helpers.service.mjs +33 -33
  71. package/esm2020/services/catalog/services/catalog-operations.facade.mjs +26 -26
  72. package/esm2020/services/catalog/services/catalog-repository.service.mjs +25 -25
  73. package/esm2020/services/catalog/services/index.mjs +5 -5
  74. package/esm2020/services/catalog/services/product-management.facade.mjs +25 -25
  75. package/esm2020/services/catalog/strategies/category-search.strategy.mjs +133 -133
  76. package/esm2020/services/catalog/strategies/index.mjs +4 -4
  77. package/esm2020/services/catalog/strategies/profile-search.strategy.mjs +42 -42
  78. package/esm2020/services/catalog/strategies/term-search.strategy.mjs +123 -123
  79. package/esm2020/services/catalog/strategies/types/strategy-params.type.mjs +2 -2
  80. package/esm2020/services/catalog/types/fetch-products-options.type.mjs +2 -2
  81. package/esm2020/services/catalog/types/fetch-products-params.type.mjs +2 -2
  82. package/esm2020/services/catalog/types/fetch-products-response.type.mjs +2 -2
  83. package/esm2020/services/catalog/types/index.mjs +6 -6
  84. package/esm2020/services/catalog/types/method-params.type.mjs +2 -2
  85. package/esm2020/services/catalog/types/product-sort.type.mjs +2 -2
  86. package/esm2020/services/catalog/wishlist.service.mjs +254 -254
  87. package/esm2020/services/checkout/checkout-dependencies.facade.mjs +20 -20
  88. package/esm2020/services/checkout/checkout-repositories.facade.mjs +20 -20
  89. package/esm2020/services/checkout/index.mjs +3 -3
  90. package/esm2020/services/checkout-subscription.service.mjs +55 -55
  91. package/esm2020/services/checkout.service.mjs +106 -106
  92. package/esm2020/services/coupon/coupon-repositories.facade.mjs +24 -24
  93. package/esm2020/services/coupon/index.mjs +2 -2
  94. package/esm2020/services/coupon/types/coupon-params.type.mjs +2 -2
  95. package/esm2020/services/coupon.service.mjs +248 -248
  96. package/esm2020/services/helpers/index.mjs +2 -2
  97. package/esm2020/services/helpers/util.helper.mjs +18 -18
  98. package/esm2020/services/home-shop/home-shop-repositories.facade.mjs +24 -24
  99. package/esm2020/services/home-shop/index.mjs +2 -2
  100. package/esm2020/services/home-shop.service.mjs +119 -119
  101. package/esm2020/services/index.mjs +11 -11
  102. package/esm2020/services/order-product-review.service.mjs +110 -110
  103. package/esm2020/services/order.service.mjs +30 -30
  104. package/esm2020/services/shared/configuration.facade.mjs +29 -29
  105. package/esm2020/services/shared/index.mjs +2 -2
  106. package/esm2020/services/types/index.mjs +5 -5
  107. package/esm2020/services/types/pending-product-review.type.mjs +2 -2
  108. package/esm2020/services/types/product-review-create.type.mjs +2 -2
  109. package/esm2020/services/types/required-checkout-data.type.mjs +2 -2
  110. package/esm2020/services/types/required-checkout-subscription-data.type.mjs +2 -2
  111. package/esm2020/types/firebase-app-config.type.mjs +2 -2
  112. package/esm2020/types/index.mjs +2 -2
  113. package/fesm2015/infrab4a-connect-angular.mjs +3348 -3348
  114. package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
  115. package/fesm2020/infrab4a-connect-angular.mjs +3244 -3244
  116. package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
  117. package/helpers/index.d.ts +1 -1
  118. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -3
  119. package/index.d.ts +6 -6
  120. package/interfaces/catalog-strategies.interface.d.ts +31 -31
  121. package/interfaces/category-facades.interface.d.ts +6 -6
  122. package/interfaces/index.d.ts +2 -2
  123. package/package.json +2 -2
  124. package/persistence/cookie-data-persistence.d.ts +10 -10
  125. package/persistence/data-persistence.d.ts +6 -6
  126. package/persistence/index.d.ts +2 -2
  127. package/services/auth.service.d.ts +18 -18
  128. package/services/cart/cart-services.facade.d.ts +12 -12
  129. package/services/cart/index.d.ts +1 -1
  130. package/services/cart.service.d.ts +26 -26
  131. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -4
  132. package/services/catalog/adapters/index.d.ts +3 -3
  133. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -12
  134. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -10
  135. package/services/catalog/catalog.service.d.ts +24 -24
  136. package/services/catalog/category.service.d.ts +22 -22
  137. package/services/catalog/context/catalog-search.context.d.ts +14 -14
  138. package/services/catalog/enums/index.d.ts +1 -1
  139. package/services/catalog/enums/product-sorts.enum.d.ts +9 -9
  140. package/services/catalog/facades/catalog-service.facade.d.ts +15 -15
  141. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -10
  142. package/services/catalog/facades/category-repository.facade.d.ts +9 -9
  143. package/services/catalog/facades/category-service.facade.d.ts +15 -15
  144. package/services/catalog/facades/index.d.ts +5 -5
  145. package/services/catalog/facades/product-catalog.facade.d.ts +10 -10
  146. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -14
  147. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -8
  148. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -7
  149. package/services/catalog/helpers/index.d.ts +4 -4
  150. package/services/catalog/helpers/product-fields.helper.d.ts +7 -7
  151. package/services/catalog/index.d.ts +7 -7
  152. package/services/catalog/models/category-with-tree.model.d.ts +4 -4
  153. package/services/catalog/models/index.d.ts +1 -1
  154. package/services/catalog/services/catalog-helpers.service.d.ts +17 -17
  155. package/services/catalog/services/catalog-operations.facade.d.ts +13 -13
  156. package/services/catalog/services/catalog-repository.service.d.ts +12 -12
  157. package/services/catalog/services/index.d.ts +4 -4
  158. package/services/catalog/services/product-management.facade.d.ts +12 -12
  159. package/services/catalog/strategies/category-search.strategy.d.ts +19 -19
  160. package/services/catalog/strategies/index.d.ts +3 -3
  161. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -14
  162. package/services/catalog/strategies/term-search.strategy.d.ts +20 -20
  163. package/services/catalog/strategies/types/strategy-params.type.d.ts +58 -58
  164. package/services/catalog/types/fetch-products-options.type.d.ts +8 -8
  165. package/services/catalog/types/fetch-products-params.type.d.ts +25 -25
  166. package/services/catalog/types/fetch-products-response.type.d.ts +19 -19
  167. package/services/catalog/types/index.d.ts +5 -5
  168. package/services/catalog/types/method-params.type.d.ts +17 -17
  169. package/services/catalog/types/product-sort.type.d.ts +2 -2
  170. package/services/catalog/wishlist.service.d.ts +59 -59
  171. package/services/checkout/checkout-dependencies.facade.d.ts +10 -10
  172. package/services/checkout/checkout-repositories.facade.d.ts +9 -9
  173. package/services/checkout/index.d.ts +2 -2
  174. package/services/checkout-subscription.service.d.ts +19 -19
  175. package/services/checkout.service.d.ts +30 -30
  176. package/services/coupon/coupon-repositories.facade.d.ts +10 -10
  177. package/services/coupon/index.d.ts +1 -1
  178. package/services/coupon/types/coupon-params.type.d.ts +13 -13
  179. package/services/coupon.service.d.ts +36 -36
  180. package/services/helpers/index.d.ts +1 -1
  181. package/services/helpers/util.helper.d.ts +3 -3
  182. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -10
  183. package/services/home-shop/index.d.ts +1 -1
  184. package/services/home-shop.service.d.ts +26 -26
  185. package/services/index.d.ts +10 -10
  186. package/services/order-product-review.service.d.ts +16 -16
  187. package/services/order.service.d.ts +13 -13
  188. package/services/shared/configuration.facade.d.ts +12 -12
  189. package/services/shared/index.d.ts +1 -1
  190. package/services/types/index.d.ts +4 -4
  191. package/services/types/pending-product-review.type.d.ts +12 -12
  192. package/services/types/product-review-create.type.d.ts +14 -14
  193. package/services/types/required-checkout-data.type.d.ts +2 -2
  194. package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
  195. package/types/firebase-app-config.type.d.ts +1 -1
  196. package/types/index.d.ts +1 -1
@@ -1,111 +1,111 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { InvalidArgumentError, RoundProductPricesHelper, Shops, } from '@infrab4a/connect';
3
- import { DEFAULT_SHOP } from '../../consts';
4
- import { CatalogSearchContext } from './context/catalog-search.context';
5
- import { CatalogHelpersService } from './services';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./context/catalog-search.context";
8
- import * as i2 from "./services";
9
- import * as i3 from "@infrab4a/connect";
10
- export class CatalogService {
11
- constructor(searchContext, helpersService, shop) {
12
- this.searchContext = searchContext;
13
- this.helpersService = helpersService;
14
- this.shop = shop;
15
- }
16
- async fetchProducts(options, optionsCache) {
17
- this.validateRequest(options);
18
- const searchParams = this.buildSearchParams(options);
19
- const { data, count: total, maximum, minimal, distinct, } = await this.searchContext.executeSearch(searchParams, this.shop, optionsCache);
20
- await this.helpersService.getBrandManager().setBrandsList(searchParams, distinct?.brand);
21
- return this.buildResponse({
22
- data,
23
- total,
24
- maximum,
25
- minimal,
26
- searchParams,
27
- options,
28
- });
29
- }
30
- async addCustomerToStockNotification(params) {
31
- const { shop, productId, name, email } = params;
32
- const productServices = this.helpersService.getProductServices();
33
- return productServices.productStockNotificationRepository.addCustomerEmail({
34
- shop,
35
- productId,
36
- name,
37
- email,
38
- });
39
- }
40
- validateRequest(options) {
41
- if (this.hasProfile(options) && options.filters?.customOptions) {
42
- throw new InvalidArgumentError(`It couldn't filled customOptions when profile is given`);
43
- }
44
- if (this.hasProfile(options) && options.filters?.tags) {
45
- throw new InvalidArgumentError(`It couldn't filled tags when profile is given`);
46
- }
47
- if (this.hasTerm(options) && options.filters?.customOptions) {
48
- throw new InvalidArgumentError(`It couldn't filled customOptions when term is given`);
49
- }
50
- }
51
- buildSearchParams(options) {
52
- const limits = this.buildLimitQuery(options);
53
- return {
54
- category: this.hasCategory(options) ? options.category : undefined,
55
- profile: this.hasProfile(options) ? options.profile : undefined,
56
- term: this.hasTerm(options) ? options.term : undefined,
57
- filters: options.filters,
58
- mainGender: options.mainGender,
59
- sort: options.sort,
60
- limits,
61
- };
62
- }
63
- buildResponse(params) {
64
- const { data, total, maximum, minimal, searchParams } = params;
65
- const limits = searchParams.limits;
66
- const indexKey = this.helpersService.getBrandManager().buildIndexBrands(searchParams);
67
- return {
68
- products: {
69
- data: data.map((product) => RoundProductPricesHelper.roundProductPrices(product)),
70
- total,
71
- },
72
- pages: Math.ceil(total / limits.limit),
73
- prices: {
74
- price: {
75
- min: +(minimal?.price?.price?.toFixed(2) || 0),
76
- max: +(maximum?.price?.price?.toFixed(2) || 0),
77
- },
78
- subscriberPrice: {
79
- min: +(minimal?.price?.subscriberPrice?.toFixed(2) || 0),
80
- max: +(maximum?.price?.subscriberPrice?.toFixed(2) || 0),
81
- },
82
- },
83
- brands: this.helpersService.getBrandManager().getBrandsList(indexKey),
84
- };
85
- }
86
- buildLimitQuery(options) {
87
- const limit = options?.perPage || 20;
88
- return {
89
- limit,
90
- offset: ((options?.page || 1) - 1) * limit,
91
- };
92
- }
93
- hasProfile(options) {
94
- return 'profile' in options;
95
- }
96
- hasTerm(options) {
97
- return 'term' in options;
98
- }
99
- hasCategory(options) {
100
- return 'category' in options;
101
- }
102
- }
103
- CatalogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, deps: [{ token: i1.CatalogSearchContext }, { token: i2.CatalogHelpersService }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
104
- CatalogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, decorators: [{
106
- type: Injectable
107
- }], ctorParameters: function () { return [{ type: i1.CatalogSearchContext }, { type: i2.CatalogHelpersService }, { type: i3.Shops, decorators: [{
108
- type: Inject,
109
- args: [DEFAULT_SHOP]
110
- }] }]; } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2NhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLHdCQUF3QixFQUN4QixLQUFLLEdBQ04sTUFBTSxtQkFBbUIsQ0FBQTtBQUUxQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQTs7Ozs7QUFXbEQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDbUIsYUFBbUMsRUFDbkMsY0FBcUMsRUFDZixJQUFXO1FBRmpDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFPO0lBQ2pELENBQUM7SUFFSixLQUFLLENBQUMsYUFBYSxDQUNqQixPQUErQixFQUMvQixZQUFpRDtRQUVqRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTdCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwRCxNQUFNLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFBRSxLQUFLLEVBQ1osT0FBTyxFQUNQLE9BQU8sRUFDUCxRQUFRLEdBQ1QsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBRWpGLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUV4RixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDeEIsSUFBSTtZQUNKLEtBQUs7WUFDTCxPQUFPO1lBQ1AsT0FBTztZQUNQLFlBQVk7WUFDWixPQUFPO1NBQ1IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxNQUErQjtRQUNsRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQy9DLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUVoRSxPQUFPLGVBQWUsQ0FBQyxrQ0FBa0MsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6RSxJQUFJO1lBQ0osU0FBUztZQUNULElBQUk7WUFDSixLQUFLO1NBQ04sQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVPLGVBQWUsQ0FBQyxPQUErQjtRQUNyRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUU7WUFDOUQsTUFBTSxJQUFJLG9CQUFvQixDQUFDLHdEQUF3RCxDQUFDLENBQUE7U0FDekY7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDckQsTUFBTSxJQUFJLG9CQUFvQixDQUFDLCtDQUErQyxDQUFDLENBQUE7U0FDaEY7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUU7WUFDM0QsTUFBTSxJQUFJLG9CQUFvQixDQUFDLHFEQUFxRCxDQUFDLENBQUE7U0FDdEY7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBK0I7UUFDdkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUU1QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDbEUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDL0QsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDdEQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUM5QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsTUFBTTtTQUNQLENBQUE7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQThCO1FBQ2xELE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQzlELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUE7UUFDbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUVyRixPQUFPO1lBQ0wsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakYsS0FBSzthQUNOO1lBQ0QsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDdEMsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRTtvQkFDTCxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzlDLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDL0M7Z0JBQ0QsZUFBZSxFQUFFO29CQUNmLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDeEQsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN6RDthQUNGO1lBQ0QsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztTQUN0RSxDQUFBO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxPQUE0QztRQUNsRSxNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQTtRQUVwQyxPQUFPO1lBQ0wsS0FBSztZQUNMLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLO1NBQzNDLENBQUE7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQXdDO1FBSXpELE9BQU8sU0FBUyxJQUFJLE9BQU8sQ0FBQTtJQUM3QixDQUFDO0lBRU8sT0FBTyxDQUFDLE9BQXdDO1FBSXRELE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQTtJQUMxQixDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQXdDO1FBSTFELE9BQU8sVUFBVSxJQUFJLE9BQU8sQ0FBQTtJQUM5QixDQUFDOzsyR0EvSFUsY0FBYywyRkFJZixZQUFZOytHQUpYLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBS04sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtcclxuICBDYXRlZ29yeSxcclxuICBJbnZhbGlkQXJndW1lbnRFcnJvcixcclxuICBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zLFxyXG4gIFJvdW5kUHJvZHVjdFByaWNlc0hlbHBlcixcclxuICBTaG9wcyxcclxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IERFRkFVTFRfU0hPUCB9IGZyb20gJy4uLy4uL2NvbnN0cydcclxuaW1wb3J0IHsgQ2F0YWxvZ0ZpbHRlcnMsIENhdGFsb2dTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJ1xyXG5cclxuaW1wb3J0IHsgQ2F0YWxvZ1NlYXJjaENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQvY2F0YWxvZy1zZWFyY2guY29udGV4dCdcclxuaW1wb3J0IHsgQ2F0YWxvZ0hlbHBlcnNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcydcclxuaW1wb3J0IHtcclxuICBCdWlsZFJlc3BvbnNlUGFyYW1zLFxyXG4gIEZldGNoUHJvZHVjdHNNYWluUGFyYW1zLFxyXG4gIEZldGNoUHJvZHVjdHNPcHRpb25zLFxyXG4gIEZldGNoUHJvZHVjdHNQYXJhbXMsXHJcbiAgRmV0Y2hQcm9kdWN0c1Jlc3BvbnNlLFxyXG4gIFN0b2NrTm90aWZpY2F0aW9uUGFyYW1zLFxyXG59IGZyb20gJy4vdHlwZXMnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nU2VydmljZTxUIGV4dGVuZHMgQ2F0ZWdvcnkgPSBDYXRlZ29yeT4ge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hDb250ZXh0OiBDYXRhbG9nU2VhcmNoQ29udGV4dCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGVscGVyc1NlcnZpY2U6IENhdGFsb2dIZWxwZXJzU2VydmljZSxcclxuICAgIEBJbmplY3QoREVGQVVMVF9TSE9QKSBwcml2YXRlIHJlYWRvbmx5IHNob3A6IFNob3BzLFxyXG4gICkge31cclxuXHJcbiAgYXN5bmMgZmV0Y2hQcm9kdWN0cyhcclxuICAgIG9wdGlvbnM6IEZldGNoUHJvZHVjdHNQYXJhbXM8VD4sXHJcbiAgICBvcHRpb25zQ2FjaGU/OiB7IGNhY2hlPzogUmVwb3NpdG9yeUNhY2hlT3B0aW9ucyB9LFxyXG4gICk6IFByb21pc2U8RmV0Y2hQcm9kdWN0c1Jlc3BvbnNlPiB7XHJcbiAgICB0aGlzLnZhbGlkYXRlUmVxdWVzdChvcHRpb25zKVxyXG5cclxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHRoaXMuYnVpbGRTZWFyY2hQYXJhbXMob3B0aW9ucylcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgY291bnQ6IHRvdGFsLFxyXG4gICAgICBtYXhpbXVtLFxyXG4gICAgICBtaW5pbWFsLFxyXG4gICAgICBkaXN0aW5jdCxcclxuICAgIH0gPSBhd2FpdCB0aGlzLnNlYXJjaENvbnRleHQuZXhlY3V0ZVNlYXJjaChzZWFyY2hQYXJhbXMsIHRoaXMuc2hvcCwgb3B0aW9uc0NhY2hlKVxyXG5cclxuICAgIGF3YWl0IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0QnJhbmRNYW5hZ2VyKCkuc2V0QnJhbmRzTGlzdChzZWFyY2hQYXJhbXMsIGRpc3RpbmN0Py5icmFuZClcclxuXHJcbiAgICByZXR1cm4gdGhpcy5idWlsZFJlc3BvbnNlKHtcclxuICAgICAgZGF0YSxcclxuICAgICAgdG90YWwsXHJcbiAgICAgIG1heGltdW0sXHJcbiAgICAgIG1pbmltYWwsXHJcbiAgICAgIHNlYXJjaFBhcmFtcyxcclxuICAgICAgb3B0aW9ucyxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBhc3luYyBhZGRDdXN0b21lclRvU3RvY2tOb3RpZmljYXRpb24ocGFyYW1zOiBTdG9ja05vdGlmaWNhdGlvblBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgeyBzaG9wLCBwcm9kdWN0SWQsIG5hbWUsIGVtYWlsIH0gPSBwYXJhbXNcclxuICAgIGNvbnN0IHByb2R1Y3RTZXJ2aWNlcyA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0UHJvZHVjdFNlcnZpY2VzKClcclxuXHJcbiAgICByZXR1cm4gcHJvZHVjdFNlcnZpY2VzLnByb2R1Y3RTdG9ja05vdGlmaWNhdGlvblJlcG9zaXRvcnkuYWRkQ3VzdG9tZXJFbWFpbCh7XHJcbiAgICAgIHNob3AsXHJcbiAgICAgIHByb2R1Y3RJZCxcclxuICAgICAgbmFtZSxcclxuICAgICAgZW1haWwsXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZVJlcXVlc3Qob3B0aW9uczogRmV0Y2hQcm9kdWN0c1BhcmFtczxUPik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzUHJvZmlsZShvcHRpb25zKSAmJiBvcHRpb25zLmZpbHRlcnM/LmN1c3RvbU9wdGlvbnMpIHtcclxuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKGBJdCBjb3VsZG4ndCBmaWxsZWQgY3VzdG9tT3B0aW9ucyB3aGVuIHByb2ZpbGUgaXMgZ2l2ZW5gKVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmhhc1Byb2ZpbGUob3B0aW9ucykgJiYgb3B0aW9ucy5maWx0ZXJzPy50YWdzKSB7XHJcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgSXQgY291bGRuJ3QgZmlsbGVkIHRhZ3Mgd2hlbiBwcm9maWxlIGlzIGdpdmVuYClcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5oYXNUZXJtKG9wdGlvbnMpICYmIG9wdGlvbnMuZmlsdGVycz8uY3VzdG9tT3B0aW9ucykge1xyXG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoYEl0IGNvdWxkbid0IGZpbGxlZCBjdXN0b21PcHRpb25zIHdoZW4gdGVybSBpcyBnaXZlbmApXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkU2VhcmNoUGFyYW1zKG9wdGlvbnM6IEZldGNoUHJvZHVjdHNQYXJhbXM8VD4pOiBDYXRhbG9nU2VhcmNoUGFyYW1zIHtcclxuICAgIGNvbnN0IGxpbWl0cyA9IHRoaXMuYnVpbGRMaW1pdFF1ZXJ5KG9wdGlvbnMpXHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY2F0ZWdvcnk6IHRoaXMuaGFzQ2F0ZWdvcnkob3B0aW9ucykgPyBvcHRpb25zLmNhdGVnb3J5IDogdW5kZWZpbmVkLFxyXG4gICAgICBwcm9maWxlOiB0aGlzLmhhc1Byb2ZpbGUob3B0aW9ucykgPyBvcHRpb25zLnByb2ZpbGUgOiB1bmRlZmluZWQsXHJcbiAgICAgIHRlcm06IHRoaXMuaGFzVGVybShvcHRpb25zKSA/IG9wdGlvbnMudGVybSA6IHVuZGVmaW5lZCxcclxuICAgICAgZmlsdGVyczogb3B0aW9ucy5maWx0ZXJzLFxyXG4gICAgICBtYWluR2VuZGVyOiBvcHRpb25zLm1haW5HZW5kZXIsXHJcbiAgICAgIHNvcnQ6IG9wdGlvbnMuc29ydCxcclxuICAgICAgbGltaXRzLFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFJlc3BvbnNlKHBhcmFtczogQnVpbGRSZXNwb25zZVBhcmFtczxUPik6IEZldGNoUHJvZHVjdHNSZXNwb25zZSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIHRvdGFsLCBtYXhpbXVtLCBtaW5pbWFsLCBzZWFyY2hQYXJhbXMgfSA9IHBhcmFtc1xyXG4gICAgY29uc3QgbGltaXRzID0gc2VhcmNoUGFyYW1zLmxpbWl0c1xyXG4gICAgY29uc3QgaW5kZXhLZXkgPSB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEJyYW5kTWFuYWdlcigpLmJ1aWxkSW5kZXhCcmFuZHMoc2VhcmNoUGFyYW1zKVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIHByb2R1Y3RzOiB7XHJcbiAgICAgICAgZGF0YTogZGF0YS5tYXAoKHByb2R1Y3QpID0+IFJvdW5kUHJvZHVjdFByaWNlc0hlbHBlci5yb3VuZFByb2R1Y3RQcmljZXMocHJvZHVjdCkpLFxyXG4gICAgICAgIHRvdGFsLFxyXG4gICAgICB9LFxyXG4gICAgICBwYWdlczogTWF0aC5jZWlsKHRvdGFsIC8gbGltaXRzLmxpbWl0KSxcclxuICAgICAgcHJpY2VzOiB7XHJcbiAgICAgICAgcHJpY2U6IHtcclxuICAgICAgICAgIG1pbjogKyhtaW5pbWFsPy5wcmljZT8ucHJpY2U/LnRvRml4ZWQoMikgfHwgMCksXHJcbiAgICAgICAgICBtYXg6ICsobWF4aW11bT8ucHJpY2U/LnByaWNlPy50b0ZpeGVkKDIpIHx8IDApLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc3Vic2NyaWJlclByaWNlOiB7XHJcbiAgICAgICAgICBtaW46ICsobWluaW1hbD8ucHJpY2U/LnN1YnNjcmliZXJQcmljZT8udG9GaXhlZCgyKSB8fCAwKSxcclxuICAgICAgICAgIG1heDogKyhtYXhpbXVtPy5wcmljZT8uc3Vic2NyaWJlclByaWNlPy50b0ZpeGVkKDIpIHx8IDApLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGJyYW5kczogdGhpcy5oZWxwZXJzU2VydmljZS5nZXRCcmFuZE1hbmFnZXIoKS5nZXRCcmFuZHNMaXN0KGluZGV4S2V5KSxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRMaW1pdFF1ZXJ5KG9wdGlvbnM6IHsgcGFnZT86IG51bWJlcjsgcGVyUGFnZT86IG51bWJlciB9KTogeyBsaW1pdDogbnVtYmVyOyBvZmZzZXQ6IG51bWJlciB9IHtcclxuICAgIGNvbnN0IGxpbWl0ID0gb3B0aW9ucz8ucGVyUGFnZSB8fCAyMFxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxpbWl0LFxyXG4gICAgICBvZmZzZXQ6ICgob3B0aW9ucz8ucGFnZSB8fCAxKSAtIDEpICogbGltaXQsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhc1Byb2ZpbGUob3B0aW9uczogUGFydGlhbDxGZXRjaFByb2R1Y3RzUGFyYW1zPFQ+Pik6IG9wdGlvbnMgaXMgRmV0Y2hQcm9kdWN0c09wdGlvbnMgJiB7XHJcbiAgICBwcm9maWxlOiBGZXRjaFByb2R1Y3RzTWFpblBhcmFtczxUPlsncHJvZmlsZSddXHJcbiAgICBmaWx0ZXJzPzogQ2F0YWxvZ0ZpbHRlcnMgJiB7IGN1c3RvbU9wdGlvbnM/OiBuZXZlcjsgdGFncz86IG5ldmVyIH1cclxuICB9IHtcclxuICAgIHJldHVybiAncHJvZmlsZScgaW4gb3B0aW9uc1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYXNUZXJtKG9wdGlvbnM6IFBhcnRpYWw8RmV0Y2hQcm9kdWN0c1BhcmFtczxUPj4pOiBvcHRpb25zIGlzIEZldGNoUHJvZHVjdHNPcHRpb25zICYge1xyXG4gICAgdGVybTogRmV0Y2hQcm9kdWN0c01haW5QYXJhbXM8VD5bJ3Rlcm0nXVxyXG4gICAgZmlsdGVycz86IENhdGFsb2dGaWx0ZXJzICYgeyBjdXN0b21PcHRpb25zPzogbmV2ZXIgfVxyXG4gIH0ge1xyXG4gICAgcmV0dXJuICd0ZXJtJyBpbiBvcHRpb25zXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhc0NhdGVnb3J5KG9wdGlvbnM6IFBhcnRpYWw8RmV0Y2hQcm9kdWN0c1BhcmFtczxUPj4pOiBvcHRpb25zIGlzIEZldGNoUHJvZHVjdHNPcHRpb25zICYge1xyXG4gICAgY2F0ZWdvcnk6IEZldGNoUHJvZHVjdHNNYWluUGFyYW1zPFQ+WydjYXRlZ29yeSddXHJcbiAgICBmaWx0ZXJzPzogQ2F0YWxvZ0ZpbHRlcnMgJiB7IGN1c3RvbU9wdGlvbnM/OiBuZXZlciB9XHJcbiAgfSB7XHJcbiAgICByZXR1cm4gJ2NhdGVnb3J5JyBpbiBvcHRpb25zXHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { InvalidArgumentError, RoundProductPricesHelper, Shops, } from '@infrab4a/connect';
3
+ import { DEFAULT_SHOP } from '../../consts';
4
+ import { CatalogSearchContext } from './context/catalog-search.context';
5
+ import { CatalogHelpersService } from './services';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./context/catalog-search.context";
8
+ import * as i2 from "./services";
9
+ import * as i3 from "@infrab4a/connect";
10
+ export class CatalogService {
11
+ constructor(searchContext, helpersService, shop) {
12
+ this.searchContext = searchContext;
13
+ this.helpersService = helpersService;
14
+ this.shop = shop;
15
+ }
16
+ async fetchProducts(options, optionsCache) {
17
+ this.validateRequest(options);
18
+ const searchParams = this.buildSearchParams(options);
19
+ const { data, count: total, maximum, minimal, distinct, } = await this.searchContext.executeSearch(searchParams, this.shop, optionsCache);
20
+ await this.helpersService.getBrandManager().setBrandsList(searchParams, distinct?.brand);
21
+ return this.buildResponse({
22
+ data,
23
+ total,
24
+ maximum,
25
+ minimal,
26
+ searchParams,
27
+ options,
28
+ });
29
+ }
30
+ async addCustomerToStockNotification(params) {
31
+ const { shop, productId, name, email } = params;
32
+ const productServices = this.helpersService.getProductServices();
33
+ return productServices.productStockNotificationRepository.addCustomerEmail({
34
+ shop,
35
+ productId,
36
+ name,
37
+ email,
38
+ });
39
+ }
40
+ validateRequest(options) {
41
+ if (this.hasProfile(options) && options.filters?.customOptions) {
42
+ throw new InvalidArgumentError(`It couldn't filled customOptions when profile is given`);
43
+ }
44
+ if (this.hasProfile(options) && options.filters?.tags) {
45
+ throw new InvalidArgumentError(`It couldn't filled tags when profile is given`);
46
+ }
47
+ if (this.hasTerm(options) && options.filters?.customOptions) {
48
+ throw new InvalidArgumentError(`It couldn't filled customOptions when term is given`);
49
+ }
50
+ }
51
+ buildSearchParams(options) {
52
+ const limits = this.buildLimitQuery(options);
53
+ return {
54
+ category: this.hasCategory(options) ? options.category : undefined,
55
+ profile: this.hasProfile(options) ? options.profile : undefined,
56
+ term: this.hasTerm(options) ? options.term : undefined,
57
+ filters: options.filters,
58
+ mainGender: options.mainGender,
59
+ sort: options.sort,
60
+ limits,
61
+ };
62
+ }
63
+ buildResponse(params) {
64
+ const { data, total, maximum, minimal, searchParams } = params;
65
+ const limits = searchParams.limits;
66
+ const indexKey = this.helpersService.getBrandManager().buildIndexBrands(searchParams);
67
+ return {
68
+ products: {
69
+ data: data.map((product) => RoundProductPricesHelper.roundProductPrices(product)),
70
+ total,
71
+ },
72
+ pages: Math.ceil(total / limits.limit),
73
+ prices: {
74
+ price: {
75
+ min: +(minimal?.price?.price?.toFixed(2) || 0),
76
+ max: +(maximum?.price?.price?.toFixed(2) || 0),
77
+ },
78
+ subscriberPrice: {
79
+ min: +(minimal?.price?.subscriberPrice?.toFixed(2) || 0),
80
+ max: +(maximum?.price?.subscriberPrice?.toFixed(2) || 0),
81
+ },
82
+ },
83
+ brands: this.helpersService.getBrandManager().getBrandsList(indexKey),
84
+ };
85
+ }
86
+ buildLimitQuery(options) {
87
+ const limit = options?.perPage || 20;
88
+ return {
89
+ limit,
90
+ offset: ((options?.page || 1) - 1) * limit,
91
+ };
92
+ }
93
+ hasProfile(options) {
94
+ return 'profile' in options;
95
+ }
96
+ hasTerm(options) {
97
+ return 'term' in options;
98
+ }
99
+ hasCategory(options) {
100
+ return 'category' in options;
101
+ }
102
+ }
103
+ CatalogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, deps: [{ token: i1.CatalogSearchContext }, { token: i2.CatalogHelpersService }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
104
+ CatalogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService });
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, decorators: [{
106
+ type: Injectable
107
+ }], ctorParameters: function () { return [{ type: i1.CatalogSearchContext }, { type: i2.CatalogHelpersService }, { type: i3.Shops, decorators: [{
108
+ type: Inject,
109
+ args: [DEFAULT_SHOP]
110
+ }] }]; } });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2NhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLHdCQUF3QixFQUN4QixLQUFLLEdBQ04sTUFBTSxtQkFBbUIsQ0FBQTtBQUUxQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQTs7Ozs7QUFXbEQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDbUIsYUFBbUMsRUFDbkMsY0FBcUMsRUFDZixJQUFXO1FBRmpDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFPO0lBQ2pELENBQUM7SUFFSixLQUFLLENBQUMsYUFBYSxDQUNqQixPQUErQixFQUMvQixZQUFpRDtRQUVqRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTdCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwRCxNQUFNLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFBRSxLQUFLLEVBQ1osT0FBTyxFQUNQLE9BQU8sRUFDUCxRQUFRLEdBQ1QsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBRWpGLE1BQU0sSUFBSSxD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Q0FBQTtJQUM5QixDQUFDOzsyR0EvSFUsY0FBYywyRkFJZixZQUFZOytHQUpYLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBS04sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENhdGVnb3J5LFxuICBJbnZhbGlkQXJndW1lbnRFcnJvcixcbiAgUmVwb3NpdG9yeUNhY2hlT3B0aW9ucyxcbiAgUm91bmRQcm9kdWN0UHJpY2VzSGVscGVyLFxuICBTaG9wcyxcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IERFRkFVTFRfU0hPUCB9IGZyb20gJy4uLy4uL2NvbnN0cydcbmltcG9ydCB7IENhdGFsb2dGaWx0ZXJzLCBDYXRhbG9nU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcydcblxuaW1wb3J0IHsgQ2F0YWxvZ1NlYXJjaENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQvY2F0YWxvZy1zZWFyY2guY29udGV4dCdcbmltcG9ydCB7IENhdGFsb2dIZWxwZXJzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnXG5pbXBvcnQge1xuICBCdWlsZFJlc3BvbnNlUGFyYW1zLFxuICBGZXRjaFByb2R1Y3RzTWFpblBhcmFtcyxcbiAgRmV0Y2hQcm9kdWN0c09wdGlvbnMsXG4gIEZldGNoUHJvZHVjdHNQYXJhbXMsXG4gIEZldGNoUHJvZHVjdHNSZXNwb25zZSxcbiAgU3RvY2tOb3RpZmljYXRpb25QYXJhbXMsXG59IGZyb20gJy4vdHlwZXMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXRhbG9nU2VydmljZTxUIGV4dGVuZHMgQ2F0ZWdvcnkgPSBDYXRlZ29yeT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaENvbnRleHQ6IENhdGFsb2dTZWFyY2hDb250ZXh0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGVscGVyc1NlcnZpY2U6IENhdGFsb2dIZWxwZXJzU2VydmljZSxcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHJpdmF0ZSByZWFkb25seSBzaG9wOiBTaG9wcyxcbiAgKSB7fVxuXG4gIGFzeW5jIGZldGNoUHJvZHVjdHMoXG4gICAgb3B0aW9uczogRmV0Y2hQcm9kdWN0c1BhcmFtczxUPixcbiAgICBvcHRpb25zQ2FjaGU/OiB7IGNhY2hlPzogUmVwb3NpdG9yeUNhY2hlT3B0aW9ucyB9LFxuICApOiBQcm9taXNlPEZldGNoUHJvZHVjdHNSZXNwb25zZT4ge1xuICAgIHRoaXMudmFsaWRhdGVSZXF1ZXN0KG9wdGlvbnMpXG5cbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSB0aGlzLmJ1aWxkU2VhcmNoUGFyYW1zKG9wdGlvbnMpXG4gICAgY29uc3Qge1xuICAgICAgZGF0YSxcbiAgICAgIGNvdW50OiB0b3RhbCxcbiAgICAgIG1heGltdW0sXG4gICAgICBtaW5pbWFsLFxuICAgICAgZGlzdGluY3QsXG4gICAgfSA9IGF3YWl0IHRoaXMuc2VhcmNoQ29udGV4dC5leGVjdXRlU2VhcmNoKHNlYXJjaFBhcmFtcywgdGhpcy5zaG9wLCBvcHRpb25zQ2FjaGUpXG5cbiAgICBhd2FpdCB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEJyYW5kTWFuYWdlcigpLnNldEJyYW5kc0xpc3Qoc2VhcmNoUGFyYW1zLCBkaXN0aW5jdD8uYnJhbmQpXG5cbiAgICByZXR1cm4gdGhpcy5idWlsZFJlc3BvbnNlKHtcbiAgICAgIGRhdGEsXG4gICAgICB0b3RhbCxcbiAgICAgIG1heGltdW0sXG4gICAgICBtaW5pbWFsLFxuICAgICAgc2VhcmNoUGFyYW1zLFxuICAgICAgb3B0aW9ucyxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgYWRkQ3VzdG9tZXJUb1N0b2NrTm90aWZpY2F0aW9uKHBhcmFtczogU3RvY2tOb3RpZmljYXRpb25QYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IHNob3AsIHByb2R1Y3RJZCwgbmFtZSwgZW1haWwgfSA9IHBhcmFtc1xuICAgIGNvbnN0IHByb2R1Y3RTZXJ2aWNlcyA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0UHJvZHVjdFNlcnZpY2VzKClcblxuICAgIHJldHVybiBwcm9kdWN0U2VydmljZXMucHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uUmVwb3NpdG9yeS5hZGRDdXN0b21lckVtYWlsKHtcbiAgICAgIHNob3AsXG4gICAgICBwcm9kdWN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgZW1haWwsXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVSZXF1ZXN0KG9wdGlvbnM6IEZldGNoUHJvZHVjdHNQYXJhbXM8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNQcm9maWxlKG9wdGlvbnMpICYmIG9wdGlvbnMuZmlsdGVycz8uY3VzdG9tT3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKGBJdCBjb3VsZG4ndCBmaWxsZWQgY3VzdG9tT3B0aW9ucyB3aGVuIHByb2ZpbGUgaXMgZ2l2ZW5gKVxuICAgIH1cblxuICAgIGlmICh0aGlzLmhhc1Byb2ZpbGUob3B0aW9ucykgJiYgb3B0aW9ucy5maWx0ZXJzPy50YWdzKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoYEl0IGNvdWxkbid0IGZpbGxlZCB0YWdzIHdoZW4gcHJvZmlsZSBpcyBnaXZlbmApXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGFzVGVybShvcHRpb25zKSAmJiBvcHRpb25zLmZpbHRlcnM/LmN1c3RvbU9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgSXQgY291bGRuJ3QgZmlsbGVkIGN1c3RvbU9wdGlvbnMgd2hlbiB0ZXJtIGlzIGdpdmVuYClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkU2VhcmNoUGFyYW1zKG9wdGlvbnM6IEZldGNoUHJvZHVjdHNQYXJhbXM8VD4pOiBDYXRhbG9nU2VhcmNoUGFyYW1zIHtcbiAgICBjb25zdCBsaW1pdHMgPSB0aGlzLmJ1aWxkTGltaXRRdWVyeShvcHRpb25zKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNhdGVnb3J5OiB0aGlzLmhhc0NhdGVnb3J5KG9wdGlvbnMpID8gb3B0aW9ucy5jYXRlZ29yeSA6IHVuZGVmaW5lZCxcbiAgICAgIHByb2ZpbGU6IHRoaXMuaGFzUHJvZmlsZShvcHRpb25zKSA/IG9wdGlvbnMucHJvZmlsZSA6IHVuZGVmaW5lZCxcbiAgICAgIHRlcm06IHRoaXMuaGFzVGVybShvcHRpb25zKSA/IG9wdGlvbnMudGVybSA6IHVuZGVmaW5lZCxcbiAgICAgIGZpbHRlcnM6IG9wdGlvbnMuZmlsdGVycyxcbiAgICAgIG1haW5HZW5kZXI6IG9wdGlvbnMubWFpbkdlbmRlcixcbiAgICAgIHNvcnQ6IG9wdGlvbnMuc29ydCxcbiAgICAgIGxpbWl0cyxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUmVzcG9uc2UocGFyYW1zOiBCdWlsZFJlc3BvbnNlUGFyYW1zPFQ+KTogRmV0Y2hQcm9kdWN0c1Jlc3BvbnNlIHtcbiAgICBjb25zdCB7IGRhdGEsIHRvdGFsLCBtYXhpbXVtLCBtaW5pbWFsLCBzZWFyY2hQYXJhbXMgfSA9IHBhcmFtc1xuICAgIGNvbnN0IGxpbWl0cyA9IHNlYXJjaFBhcmFtcy5saW1pdHNcbiAgICBjb25zdCBpbmRleEtleSA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0QnJhbmRNYW5hZ2VyKCkuYnVpbGRJbmRleEJyYW5kcyhzZWFyY2hQYXJhbXMpXG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJvZHVjdHM6IHtcbiAgICAgICAgZGF0YTogZGF0YS5tYXAoKHByb2R1Y3QpID0+IFJvdW5kUHJvZHVjdFByaWNlc0hlbHBlci5yb3VuZFByb2R1Y3RQcmljZXMocHJvZHVjdCkpLFxuICAgICAgICB0b3RhbCxcbiAgICAgIH0sXG4gICAgICBwYWdlczogTWF0aC5jZWlsKHRvdGFsIC8gbGltaXRzLmxpbWl0KSxcbiAgICAgIHByaWNlczoge1xuICAgICAgICBwcmljZToge1xuICAgICAgICAgIG1pbjogKyhtaW5pbWFsPy5wcmljZT8ucHJpY2U/LnRvRml4ZWQoMikgfHwgMCksXG4gICAgICAgICAgbWF4OiArKG1heGltdW0/LnByaWNlPy5wcmljZT8udG9GaXhlZCgyKSB8fCAwKSxcbiAgICAgICAgfSxcbiAgICAgICAgc3Vic2NyaWJlclByaWNlOiB7XG4gICAgICAgICAgbWluOiArKG1pbmltYWw/LnByaWNlPy5zdWJzY3JpYmVyUHJpY2U/LnRvRml4ZWQoMikgfHwgMCksXG4gICAgICAgICAgbWF4OiArKG1heGltdW0/LnByaWNlPy5zdWJzY3JpYmVyUHJpY2U/LnRvRml4ZWQoMikgfHwgMCksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgYnJhbmRzOiB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEJyYW5kTWFuYWdlcigpLmdldEJyYW5kc0xpc3QoaW5kZXhLZXkpLFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRMaW1pdFF1ZXJ5KG9wdGlvbnM6IHsgcGFnZT86IG51bWJlcjsgcGVyUGFnZT86IG51bWJlciB9KTogeyBsaW1pdDogbnVtYmVyOyBvZmZzZXQ6IG51bWJlciB9IHtcbiAgICBjb25zdCBsaW1pdCA9IG9wdGlvbnM/LnBlclBhZ2UgfHwgMjBcblxuICAgIHJldHVybiB7XG4gICAgICBsaW1pdCxcbiAgICAgIG9mZnNldDogKChvcHRpb25zPy5wYWdlIHx8IDEpIC0gMSkgKiBsaW1pdCxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc1Byb2ZpbGUob3B0aW9uczogUGFydGlhbDxGZXRjaFByb2R1Y3RzUGFyYW1zPFQ+Pik6IG9wdGlvbnMgaXMgRmV0Y2hQcm9kdWN0c09wdGlvbnMgJiB7XG4gICAgcHJvZmlsZTogRmV0Y2hQcm9kdWN0c01haW5QYXJhbXM8VD5bJ3Byb2ZpbGUnXVxuICAgIGZpbHRlcnM/OiBDYXRhbG9nRmlsdGVycyAmIHsgY3VzdG9tT3B0aW9ucz86IG5ldmVyOyB0YWdzPzogbmV2ZXIgfVxuICB9IHtcbiAgICByZXR1cm4gJ3Byb2ZpbGUnIGluIG9wdGlvbnNcbiAgfVxuXG4gIHByaXZhdGUgaGFzVGVybShvcHRpb25zOiBQYXJ0aWFsPEZldGNoUHJvZHVjdHNQYXJhbXM8VD4+KTogb3B0aW9ucyBpcyBGZXRjaFByb2R1Y3RzT3B0aW9ucyAmIHtcbiAgICB0ZXJtOiBGZXRjaFByb2R1Y3RzTWFpblBhcmFtczxUPlsndGVybSddXG4gICAgZmlsdGVycz86IENhdGFsb2dGaWx0ZXJzICYgeyBjdXN0b21PcHRpb25zPzogbmV2ZXIgfVxuICB9IHtcbiAgICByZXR1cm4gJ3Rlcm0nIGluIG9wdGlvbnNcbiAgfVxuXG4gIHByaXZhdGUgaGFzQ2F0ZWdvcnkob3B0aW9uczogUGFydGlhbDxGZXRjaFByb2R1Y3RzUGFyYW1zPFQ+Pik6IG9wdGlvbnMgaXMgRmV0Y2hQcm9kdWN0c09wdGlvbnMgJiB7XG4gICAgY2F0ZWdvcnk6IEZldGNoUHJvZHVjdHNNYWluUGFyYW1zPFQ+WydjYXRlZ29yeSddXG4gICAgZmlsdGVycz86IENhdGFsb2dGaWx0ZXJzICYgeyBjdXN0b21PcHRpb25zPzogbmV2ZXIgfVxuICB9IHtcbiAgICByZXR1cm4gJ2NhdGVnb3J5JyBpbiBvcHRpb25zXG4gIH1cbn1cbiJdfQ==
@@ -1,39 +1,39 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { Shops } from '@infrab4a/connect';
3
- import { DEFAULT_SHOP } from '../../consts';
4
- import { CategoryRepositoryFacade, ProductCatalogFacade } from './facades';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./facades";
7
- import * as i2 from "@infrab4a/connect";
8
- export class CategoryService {
9
- constructor(categoryFacade, productCatalog, shop) {
10
- this.categoryFacade = categoryFacade;
11
- this.productCatalog = productCatalog;
12
- this.shop = shop;
13
- }
14
- async fetchBrands(category, options, optionsCache) {
15
- const brands = await this.productCatalog.productRepository
16
- .findCatalog({
17
- filters: await this.productCatalog.categoryStructureAdapter.buildProductFilterByCategory(category),
18
- fields: ['brand'],
19
- }, null, optionsCache)
20
- .then(({ data }) => Object.keys(data.map((product) => product.brand).reduce((brands, brand) => ({ ...brands, [brand]: true }), {})));
21
- return this.categoryFacade.categoryRepository
22
- .find({ filters: { brandCategory: true, shop: options?.shop || this.shop }, orderBy: { name: 'asc' } }, optionsCache)
23
- .then(({ data }) => data.filter((category) => brands.includes(category.conditions.brand)));
24
- }
25
- async fetchFilterOptions(category, optionsCache) {
26
- return await this.categoryFacade.categoryFilterRepository
27
- .find({ filters: { categoryId: +category.id } }, optionsCache)
28
- .then(({ data }) => data.map((categoryFilter) => categoryFilter.filter));
29
- }
30
- }
31
- CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, deps: [{ token: i1.CategoryRepositoryFacade }, { token: i1.ProductCatalogFacade }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
32
- CategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, decorators: [{
34
- type: Injectable
35
- }], ctorParameters: function () { return [{ type: i1.CategoryRepositoryFacade }, { type: i1.ProductCatalogFacade }, { type: i2.Shops, decorators: [{
36
- type: Inject,
37
- args: [DEFAULT_SHOP]
38
- }] }]; } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFBMkQsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUE7Ozs7QUFRMUUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFDbUIsY0FBd0MsRUFDeEMsY0FBb0MsRUFDZCxJQUFXO1FBRmpDLG1CQUFjLEdBQWQsY0FBYyxDQUEwQjtRQUN4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFPO0lBQ2pELENBQUM7SUFFSixLQUFLLENBQUMsV0FBVyxDQUNmLFFBQWtCLEVBQ2xCLE9BQTRCLEVBQzVCLFlBQWlEO1FBRWpELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUI7YUFDdkQsV0FBVyxDQUNWO1lBQ0UsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUM7WUFDbEcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO1NBQ2xCLEVBQ0QsSUFBSSxFQUNKLFlBQVksQ0FDYjthQUNBLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ2hILENBQUE7UUFFSCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCO2FBQzFDLElBQUksQ0FDSCxFQUFFLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUNoRyxZQUFZLENBQ2I7YUFDQSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlGLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBa0IsRUFBRSxZQUFpRDtRQUM1RixPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0I7YUFDdEQsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsWUFBWSxDQUFDO2FBQzdELElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQzVFLENBQUM7OzRHQXJDVSxlQUFlLDhGQUloQixZQUFZO2dIQUpYLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBS04sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQ2F0ZWdvcnksIEZpbHRlciwgUHJvZHVjdEdlbmRlciwgUmVwb3NpdG9yeUNhY2hlT3B0aW9ucywgU2hvcHMgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IERFRkFVTFRfU0hPUCB9IGZyb20gJy4uLy4uL2NvbnN0cydcclxuXHJcbmltcG9ydCB7IENhdGVnb3J5UmVwb3NpdG9yeUZhY2FkZSwgUHJvZHVjdENhdGFsb2dGYWNhZGUgfSBmcm9tICcuL2ZhY2FkZXMnXHJcblxyXG50eXBlIEZldGNoQnJhbmRzT3B0aW9ucyA9IHtcclxuICBtYWluR2VuZGVyPzogUHJvZHVjdEdlbmRlclxyXG4gIHNob3A/OiBTaG9wc1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeUZhY2FkZTogQ2F0ZWdvcnlSZXBvc2l0b3J5RmFjYWRlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0Q2F0YWxvZzogUHJvZHVjdENhdGFsb2dGYWNhZGUsXHJcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHJpdmF0ZSByZWFkb25seSBzaG9wOiBTaG9wcyxcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIGZldGNoQnJhbmRzKFxyXG4gICAgY2F0ZWdvcnk6IENhdGVnb3J5LFxyXG4gICAgb3B0aW9ucz86IEZldGNoQnJhbmRzT3B0aW9ucyxcclxuICAgIG9wdGlvbnNDYWNoZT86IHsgY2FjaGU/OiBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zIH0sXHJcbiAgKTogUHJvbWlzZTxDYXRlZ29yeVtdPiB7XHJcbiAgICBjb25zdCBicmFuZHMgPSBhd2FpdCB0aGlzLnByb2R1Y3RDYXRhbG9nLnByb2R1Y3RSZXBvc2l0b3J5XHJcbiAgICAgIC5maW5kQ2F0YWxvZyhcclxuICAgICAgICB7XHJcbiAgICAgICAgICBmaWx0ZXJzOiBhd2FpdCB0aGlzLnByb2R1Y3RDYXRhbG9nLmNhdGVnb3J5U3RydWN0dXJlQWRhcHRlci5idWlsZFByb2R1Y3RGaWx0ZXJCeUNhdGVnb3J5KGNhdGVnb3J5KSxcclxuICAgICAgICAgIGZpZWxkczogWydicmFuZCddLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbnVsbCxcclxuICAgICAgICBvcHRpb25zQ2FjaGUsXHJcbiAgICAgIClcclxuICAgICAgLnRoZW4oKHsgZGF0YSB9KSA9PlxyXG4gICAgICAgIE9iamVjdC5rZXlzKGRhdGEubWFwKChwcm9kdWN0KSA9PiBwcm9kdWN0LmJyYW5kKS5yZWR1Y2UoKGJyYW5kcywgYnJhbmQpID0+ICh7IC4uLmJyYW5kcywgW2JyYW5kXTogdHJ1ZSB9KSwge30pKSxcclxuICAgICAgKVxyXG5cclxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5RmFjYWRlLmNhdGVnb3J5UmVwb3NpdG9yeVxyXG4gICAgICAuZmluZChcclxuICAgICAgICB7IGZpbHRlcnM6IHsgYnJhbmRDYXRlZ29yeTogdHJ1ZSwgc2hvcDogb3B0aW9ucz8uc2hvcCB8fCB0aGlzLnNob3AgfSwgb3JkZXJCeTogeyBuYW1lOiAnYXNjJyB9IH0sXHJcbiAgICAgICAgb3B0aW9uc0NhY2hlLFxyXG4gICAgICApXHJcbiAgICAgIC50aGVuKCh7IGRhdGEgfSkgPT4gZGF0YS5maWx0ZXIoKGNhdGVnb3J5KSA9PiBicmFuZHMuaW5jbHVkZXMoY2F0ZWdvcnkuY29uZGl0aW9ucy5icmFuZCkpKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZmV0Y2hGaWx0ZXJPcHRpb25zKGNhdGVnb3J5OiBDYXRlZ29yeSwgb3B0aW9uc0NhY2hlPzogeyBjYWNoZT86IFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMgfSk6IFByb21pc2U8RmlsdGVyW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNhdGVnb3J5RmFjYWRlLmNhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeVxyXG4gICAgICAuZmluZCh7IGZpbHRlcnM6IHsgY2F0ZWdvcnlJZDogK2NhdGVnb3J5LmlkIH0gfSwgb3B0aW9uc0NhY2hlKVxyXG4gICAgICAudGhlbigoeyBkYXRhIH0pID0+IGRhdGEubWFwKChjYXRlZ29yeUZpbHRlcikgPT4gY2F0ZWdvcnlGaWx0ZXIuZmlsdGVyKSlcclxuICB9XHJcbn1cclxuIl19
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { Shops } from '@infrab4a/connect';
3
+ import { DEFAULT_SHOP } from '../../consts';
4
+ import { CategoryRepositoryFacade, ProductCatalogFacade } from './facades';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./facades";
7
+ import * as i2 from "@infrab4a/connect";
8
+ export class CategoryService {
9
+ constructor(categoryFacade, productCatalog, shop) {
10
+ this.categoryFacade = categoryFacade;
11
+ this.productCatalog = productCatalog;
12
+ this.shop = shop;
13
+ }
14
+ async fetchBrands(category, options, optionsCache) {
15
+ const brands = await this.productCatalog.productRepository
16
+ .findCatalog({
17
+ filters: await this.productCatalog.categoryStructureAdapter.buildProductFilterByCategory(category),
18
+ fields: ['brand'],
19
+ }, null, optionsCache)
20
+ .then(({ data }) => Object.keys(data.map((product) => product.brand).reduce((brands, brand) => ({ ...brands, [brand]: true }), {})));
21
+ return this.categoryFacade.categoryRepository
22
+ .find({ filters: { brandCategory: true, shop: options?.shop || this.shop }, orderBy: { name: 'asc' } }, optionsCache)
23
+ .then(({ data }) => data.filter((category) => brands.includes(category.conditions.brand)));
24
+ }
25
+ async fetchFilterOptions(category, optionsCache) {
26
+ return await this.categoryFacade.categoryFilterRepository
27
+ .find({ filters: { categoryId: +category.id } }, optionsCache)
28
+ .then(({ data }) => data.map((categoryFilter) => categoryFilter.filter));
29
+ }
30
+ }
31
+ CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, deps: [{ token: i1.CategoryRepositoryFacade }, { token: i1.ProductCatalogFacade }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
32
+ CategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, decorators: [{
34
+ type: Injectable
35
+ }], ctorParameters: function () { return [{ type: i1.CategoryRepositoryFacade }, { type: i1.ProductCatalogFacade }, { type: i2.Shops, decorators: [{
36
+ type: Inject,
37
+ args: [DEFAULT_SHOP]
38
+ }] }]; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFBMkQsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUE7Ozs7QUFRMUUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFDbUIsY0FBd0MsRUFDeEMsY0FBb0MsRUFDZCxJQUFXO1FBRmpDLG1CQUFjLEdBQWQsY0FBYyxDQUEwQjtRQUN4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFPO0lBQ2pELENBQUM7SUFFSixLQUFLLENBQUMsV0FBVyxDQUNmLFFBQWtCLEVBQ2xCLE9BQTRCLEVBQzVCLFlBQWlEO1FBRWpELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUI7YUFDdkQsV0FBVyxDQUNWO1lBQ0UsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUM7WUFDbEcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO1NBQ2xCLEVBQ0QsSUFBSSxFQUNKLFlBQVksQ0FDYjthQUNBLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ2hILENBQUE7UUFFSCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCO2FBQzFDLElBQUksQ0FDSCxFQUFFLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUNoRyxZQUFZLENBQ2I7YUFDQSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlGLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBa0IsRUFBRSxZQUFpRDtRQUM1RixPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0I7YUFDdEQsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsWUFBWSxDQUFDO2FBQzdELElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQzVFLENBQUM7OzRHQXJDVSxlQUFlLDhGQUloQixZQUFZO2dIQUpYLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBS04sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENhdGVnb3J5LCBGaWx0ZXIsIFByb2R1Y3RHZW5kZXIsIFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMsIFNob3BzIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IERFRkFVTFRfU0hPUCB9IGZyb20gJy4uLy4uL2NvbnN0cydcblxuaW1wb3J0IHsgQ2F0ZWdvcnlSZXBvc2l0b3J5RmFjYWRlLCBQcm9kdWN0Q2F0YWxvZ0ZhY2FkZSB9IGZyb20gJy4vZmFjYWRlcydcblxudHlwZSBGZXRjaEJyYW5kc09wdGlvbnMgPSB7XG4gIG1haW5HZW5kZXI/OiBQcm9kdWN0R2VuZGVyXG4gIHNob3A/OiBTaG9wc1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeUZhY2FkZTogQ2F0ZWdvcnlSZXBvc2l0b3J5RmFjYWRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdENhdGFsb2c6IFByb2R1Y3RDYXRhbG9nRmFjYWRlLFxuICAgIEBJbmplY3QoREVGQVVMVF9TSE9QKSBwcml2YXRlIHJlYWRvbmx5IHNob3A6IFNob3BzLFxuICApIHt9XG5cbiAgYXN5bmMgZmV0Y2hCcmFuZHMoXG4gICAgY2F0ZWdvcnk6IENhdGVnb3J5LFxuICAgIG9wdGlvbnM/OiBGZXRjaEJyYW5kc09wdGlvbnMsXG4gICAgb3B0aW9uc0NhY2hlPzogeyBjYWNoZT86IFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMgfSxcbiAgKTogUHJvbWlzZTxDYXRlZ29yeVtdPiB7XG4gICAgY29uc3QgYnJhbmRzID0gYXdhaXQgdGhpcy5wcm9kdWN0Q2F0YWxvZy5wcm9kdWN0UmVwb3NpdG9yeVxuICAgICAgLmZpbmRDYXRhbG9nKFxuICAgICAgICB7XG4gICAgICAgICAgZmlsdGVyczogYXdhaXQgdGhpcy5wcm9kdWN0Q2F0YWxvZy5jYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIuYnVpbGRQcm9kdWN0RmlsdGVyQnlDYXRlZ29yeShjYXRlZ29yeSksXG4gICAgICAgICAgZmllbGRzOiBbJ2JyYW5kJ10sXG4gICAgICAgIH0sXG4gICAgICAgIG51bGwsXG4gICAgICAgIG9wdGlvbnNDYWNoZSxcbiAgICAgIClcbiAgICAgIC50aGVuKCh7IGRhdGEgfSkgPT5cbiAgICAgICAgT2JqZWN0LmtleXMoZGF0YS5tYXAoKHByb2R1Y3QpID0+IHByb2R1Y3QuYnJhbmQpLnJlZHVjZSgoYnJhbmRzLCBicmFuZCkgPT4gKHsgLi4uYnJhbmRzLCBbYnJhbmRdOiB0cnVlIH0pLCB7fSkpLFxuICAgICAgKVxuXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnlGYWNhZGUuY2F0ZWdvcnlSZXBvc2l0b3J5XG4gICAgICAuZmluZChcbiAgICAgICAgeyBmaWx0ZXJzOiB7IGJyYW5kQ2F0ZWdvcnk6IHRydWUsIHNob3A6IG9wdGlvbnM/LnNob3AgfHwgdGhpcy5zaG9wIH0sIG9yZGVyQnk6IHsgbmFtZTogJ2FzYycgfSB9LFxuICAgICAgICBvcHRpb25zQ2FjaGUsXG4gICAgICApXG4gICAgICAudGhlbigoeyBkYXRhIH0pID0+IGRhdGEuZmlsdGVyKChjYXRlZ29yeSkgPT4gYnJhbmRzLmluY2x1ZGVzKGNhdGVnb3J5LmNvbmRpdGlvbnMuYnJhbmQpKSlcbiAgfVxuXG4gIGFzeW5jIGZldGNoRmlsdGVyT3B0aW9ucyhjYXRlZ29yeTogQ2F0ZWdvcnksIG9wdGlvbnNDYWNoZT86IHsgY2FjaGU/OiBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zIH0pOiBQcm9taXNlPEZpbHRlcltdPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2F0ZWdvcnlGYWNhZGUuY2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5XG4gICAgICAuZmluZCh7IGZpbHRlcnM6IHsgY2F0ZWdvcnlJZDogK2NhdGVnb3J5LmlkIH0gfSwgb3B0aW9uc0NhY2hlKVxuICAgICAgLnRoZW4oKHsgZGF0YSB9KSA9PiBkYXRhLm1hcCgoY2F0ZWdvcnlGaWx0ZXIpID0+IGNhdGVnb3J5RmlsdGVyLmZpbHRlcikpXG4gIH1cbn1cbiJdfQ==
@@ -1,40 +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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1zZWFyY2guY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jb250ZXh0L2NhdGFsb2ctc2VhcmNoLmNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUNtQixnQkFBdUMsRUFDdkMsWUFBbUMsRUFDbkMsZUFBc0M7UUFGdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF1QjtRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFDbkMsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBTGpELGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQTtRQU8zRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FDakIsTUFBMkIsRUFDM0IsSUFBVyxFQUNYLFlBQWlEO1FBRWpELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFNUMsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFTyxjQUFjLENBQUMsTUFBMkI7UUFDaEQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBRWhELElBQUksQ0FBQyxRQUFRO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtZQUU3RCxPQUFPLFFBQVEsQ0FBQTtTQUNoQjtRQUVELElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtZQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBRTVDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtZQUV6RCxPQUFPLFFBQVEsQ0FBQTtTQUNoQjtRQUVELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7WUFFL0MsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1lBRTVELE9BQU8sUUFBUSxDQUFBO1NBQ2hCO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFBO0lBQzVFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3QsIFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMsIFJlcG9zaXRvcnlGaW5kUmVzdWx0LCBTaG9wcyB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuaW1wb3J0IHsgQ2F0YWxvZ1NlYXJjaFBhcmFtcywgQ2F0YWxvZ1NlYXJjaFN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcydcclxuXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nU2VhcmNoQ29udGV4dCB7XHJcbiAgcHJpdmF0ZSBzdHJhdGVnaWVzID0gbmV3IE1hcDxzdHJpbmcsIENhdGFsb2dTZWFyY2hTdHJhdGVneT4oKVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlTdHJhdGVneTogQ2F0YWxvZ1NlYXJjaFN0cmF0ZWd5LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXJtU3RyYXRlZ3k6IENhdGFsb2dTZWFyY2hTdHJhdGVneSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZmlsZVN0cmF0ZWd5OiBDYXRhbG9nU2VhcmNoU3RyYXRlZ3ksXHJcbiAgKSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVTdHJhdGVnaWVzKClcclxuICB9XHJcblxyXG4gIGFzeW5jIGV4ZWN1dGVTZWFyY2goXHJcbiAgICBwYXJhbXM6IENhdGFsb2dTZWFyY2hQYXJhbXMsXHJcbiAgICBzaG9wOiBTaG9wcyxcclxuICAgIG9wdGlvbnNDYWNoZT86IHsgY2FjaGU/OiBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zIH0sXHJcbiAgKTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxQcm9kdWN0Pj4ge1xyXG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLnNlbGVjdFN0cmF0ZWd5KHBhcmFtcylcclxuXHJcbiAgICByZXR1cm4gc3RyYXRlZ3kuc2VhcmNoKHBhcmFtcywgc2hvcCwgb3B0aW9uc0NhY2hlKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplU3RyYXRlZ2llcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RyYXRlZ2llcy5zZXQoJ2NhdGVnb3J5JywgdGhpcy5jYXRlZ29yeVN0cmF0ZWd5KVxyXG4gICAgdGhpcy5zdHJhdGVnaWVzLnNldCgndGVybScsIHRoaXMudGVybVN0cmF0ZWd5KVxyXG4gICAgdGhpcy5zdHJhdGVnaWVzLnNldCgncHJvZmlsZScsIHRoaXMucHJvZmlsZVN0cmF0ZWd5KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZWxlY3RTdHJhdGVneShwYXJhbXM6IENhdGFsb2dTZWFyY2hQYXJhbXMpOiBDYXRhbG9nU2VhcmNoU3RyYXRlZ3kge1xyXG4gICAgaWYgKHBhcmFtcy5jYXRlZ29yeSkge1xyXG4gICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuc3RyYXRlZ2llcy5nZXQoJ2NhdGVnb3J5JylcclxuXHJcbiAgICAgIGlmICghc3RyYXRlZ3kpIHRocm93IG5ldyBFcnJvcignQ2F0ZWdvcnkgc3RyYXRlZ3kgbm90IGZvdW5kJylcclxuXHJcbiAgICAgIHJldHVybiBzdHJhdGVneVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChwYXJhbXMudGVybSkge1xyXG4gICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuc3RyYXRlZ2llcy5nZXQoJ3Rlcm0nKVxyXG5cclxuICAgICAgaWYgKCFzdHJhdGVneSkgdGhyb3cgbmV3IEVycm9yKCdUZXJtIHN0cmF0ZWd5IG5vdCBmb3VuZCcpXHJcblxyXG4gICAgICByZXR1cm4gc3RyYXRlZ3lcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyYW1zLnByb2ZpbGU/Lmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuc3RyYXRlZ2llcy5nZXQoJ3Byb2ZpbGUnKVxyXG5cclxuICAgICAgaWYgKCFzdHJhdGVneSkgdGhyb3cgbmV3IEVycm9yKCdQcm9maWxlIHN0cmF0ZWd5IG5vdCBmb3VuZCcpXHJcblxyXG4gICAgICByZXR1cm4gc3RyYXRlZ3lcclxuICAgIH1cclxuXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHZhbGlkIHNlYXJjaCBzdHJhdGVneSBmb3VuZCBmb3IgdGhlIGdpdmVuIHBhcmFtZXRlcnMnKVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ export class CatalogSearchContext {
2
+ constructor(categoryStrategy, termStrategy, profileStrategy) {
3
+ this.categoryStrategy = categoryStrategy;
4
+ this.termStrategy = termStrategy;
5
+ this.profileStrategy = profileStrategy;
6
+ this.strategies = new Map();
7
+ this.initializeStrategies();
8
+ }
9
+ async executeSearch(params, shop, optionsCache) {
10
+ const strategy = this.selectStrategy(params);
11
+ return strategy.search(params, shop, optionsCache);
12
+ }
13
+ initializeStrategies() {
14
+ this.strategies.set('category', this.categoryStrategy);
15
+ this.strategies.set('term', this.termStrategy);
16
+ this.strategies.set('profile', this.profileStrategy);
17
+ }
18
+ selectStrategy(params) {
19
+ if (params.category) {
20
+ const strategy = this.strategies.get('category');
21
+ if (!strategy)
22
+ throw new Error('Category strategy not found');
23
+ return strategy;
24
+ }
25
+ if (params.term) {
26
+ const strategy = this.strategies.get('term');
27
+ if (!strategy)
28
+ throw new Error('Term strategy not found');
29
+ return strategy;
30
+ }
31
+ if (params.profile?.length) {
32
+ const strategy = this.strategies.get('profile');
33
+ if (!strategy)
34
+ throw new Error('Profile strategy not found');
35
+ return strategy;
36
+ }
37
+ throw new Error('No valid search strategy found for the given parameters');
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1zZWFyY2guY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jb250ZXh0L2NhdGFsb2ctc2VhcmNoLmNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUNtQixnQkFBdUMsRUFDdkMsWUFBbUMsRUFDbkMsZUFBc0M7UUFGdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF1QjtRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFDbkMsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBTGpELGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQTtRQU8zRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FDakIsTUFBMkIsRUFDM0IsSUFBVyxFQUNYLFlBQWlEO1FBRWpELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFNUMsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFTyxjQUFjLENBQUMsTUFBMkI7UUFDaEQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBRWhELElBQUksQ0FBQyxRQUFRO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtZQUU3RCxPQUFPLFFBQVEsQ0FBQTtTQUNoQjtRQUVELElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtZQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBRTVDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtZQUV6RCxPQUFPLFFBQVEsQ0FBQTtTQUNoQjtRQUVELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7WUFFL0MsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1lBRTVELE9BQU8sUUFBUSxDQUFBO1NBQ2hCO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFBO0lBQzVFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3QsIFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMsIFJlcG9zaXRvcnlGaW5kUmVzdWx0LCBTaG9wcyB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBDYXRhbG9nU2VhcmNoUGFyYW1zLCBDYXRhbG9nU2VhcmNoU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xuXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ1NlYXJjaENvbnRleHQge1xuICBwcml2YXRlIHN0cmF0ZWdpZXMgPSBuZXcgTWFwPHN0cmluZywgQ2F0YWxvZ1NlYXJjaFN0cmF0ZWd5PigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeVN0cmF0ZWd5OiBDYXRhbG9nU2VhcmNoU3RyYXRlZ3ksXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXJtU3RyYXRlZ3k6IENhdGFsb2dTZWFyY2hTdHJhdGVneSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2ZpbGVTdHJhdGVneTogQ2F0YWxvZ1NlYXJjaFN0cmF0ZWd5LFxuICApIHtcbiAgICB0aGlzLmluaXRpYWxpemVTdHJhdGVnaWVzKClcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGVTZWFyY2goXG4gICAgcGFyYW1zOiBDYXRhbG9nU2VhcmNoUGFyYW1zLFxuICAgIHNob3A6IFNob3BzLFxuICAgIG9wdGlvbnNDYWNoZT86IHsgY2FjaGU/OiBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zIH0sXG4gICk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8UHJvZHVjdD4+IHtcbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuc2VsZWN0U3RyYXRlZ3kocGFyYW1zKVxuXG4gICAgcmV0dXJuIHN0cmF0ZWd5LnNlYXJjaChwYXJhbXMsIHNob3AsIG9wdGlvbnNDYWNoZSlcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVN0cmF0ZWdpZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zdHJhdGVnaWVzLnNldCgnY2F0ZWdvcnknLCB0aGlzLmNhdGVnb3J5U3RyYXRlZ3kpXG4gICAgdGhpcy5zdHJhdGVnaWVzLnNldCgndGVybScsIHRoaXMudGVybVN0cmF0ZWd5KVxuICAgIHRoaXMuc3RyYXRlZ2llcy5zZXQoJ3Byb2ZpbGUnLCB0aGlzLnByb2ZpbGVTdHJhdGVneSlcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0U3RyYXRlZ3kocGFyYW1zOiBDYXRhbG9nU2VhcmNoUGFyYW1zKTogQ2F0YWxvZ1NlYXJjaFN0cmF0ZWd5IHtcbiAgICBpZiAocGFyYW1zLmNhdGVnb3J5KSB7XG4gICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuc3RyYXRlZ2llcy5nZXQoJ2NhdGVnb3J5JylcblxuICAgICAgaWYgKCFzdHJhdGVneSkgdGhyb3cgbmV3IEVycm9yKCdDYXRlZ29yeSBzdHJhdGVneSBub3QgZm91bmQnKVxuXG4gICAgICByZXR1cm4gc3RyYXRlZ3lcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnRlcm0pIHtcbiAgICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5zdHJhdGVnaWVzLmdldCgndGVybScpXG5cbiAgICAgIGlmICghc3RyYXRlZ3kpIHRocm93IG5ldyBFcnJvcignVGVybSBzdHJhdGVneSBub3QgZm91bmQnKVxuXG4gICAgICByZXR1cm4gc3RyYXRlZ3lcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnByb2ZpbGU/Lmxlbmd0aCkge1xuICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLnN0cmF0ZWdpZXMuZ2V0KCdwcm9maWxlJylcblxuICAgICAgaWYgKCFzdHJhdGVneSkgdGhyb3cgbmV3IEVycm9yKCdQcm9maWxlIHN0cmF0ZWd5IG5vdCBmb3VuZCcpXG5cbiAgICAgIHJldHVybiBzdHJhdGVneVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignTm8gdmFsaWQgc2VhcmNoIHN0cmF0ZWd5IGZvdW5kIGZvciB0aGUgZ2l2ZW4gcGFyYW1ldGVycycpXG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './product-sorts.enum';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvZW51bXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1zb3J0cy5lbnVtJ1xyXG4iXX0=
1
+ export * from './product-sorts.enum';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvZW51bXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1zb3J0cy5lbnVtJ1xuIl19
@@ -1,11 +1,11 @@
1
- export var ProductSorts;
2
- (function (ProductSorts) {
3
- ProductSorts["MOST_RELEVANT"] = "most-relevant";
4
- ProductSorts["BEST_SELLER"] = "best-sellers";
5
- ProductSorts["BIGGEST_PRICE"] = "biggest-price";
6
- ProductSorts["LOWEST_PRICE"] = "lowest-price";
7
- ProductSorts["BIGGEST_DISCOUNT"] = "biggest-discount";
8
- ProductSorts["BEST_RATING"] = "best-rating";
9
- ProductSorts["NEWS"] = "news";
10
- })(ProductSorts || (ProductSorts = {}));
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zb3J0cy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2VudW1zL3Byb2R1Y3Qtc29ydHMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQVFYO0FBUkQsV0FBWSxZQUFZO0lBQ3RCLCtDQUErQixDQUFBO0lBQy9CLDRDQUE0QixDQUFBO0lBQzVCLCtDQUErQixDQUFBO0lBQy9CLDZDQUE2QixDQUFBO0lBQzdCLHFEQUFxQyxDQUFBO0lBQ3JDLDJDQUEyQixDQUFBO0lBQzNCLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBUlcsWUFBWSxLQUFaLFlBQVksUUFRdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBQcm9kdWN0U29ydHMge1xyXG4gIE1PU1RfUkVMRVZBTlQgPSAnbW9zdC1yZWxldmFudCcsXHJcbiAgQkVTVF9TRUxMRVIgPSAnYmVzdC1zZWxsZXJzJyxcclxuICBCSUdHRVNUX1BSSUNFID0gJ2JpZ2dlc3QtcHJpY2UnLFxyXG4gIExPV0VTVF9QUklDRSA9ICdsb3dlc3QtcHJpY2UnLFxyXG4gIEJJR0dFU1RfRElTQ09VTlQgPSAnYmlnZ2VzdC1kaXNjb3VudCcsXHJcbiAgQkVTVF9SQVRJTkcgPSAnYmVzdC1yYXRpbmcnLFxyXG4gIE5FV1MgPSAnbmV3cycsXHJcbn1cclxuIl19
1
+ export var ProductSorts;
2
+ (function (ProductSorts) {
3
+ ProductSorts["MOST_RELEVANT"] = "most-relevant";
4
+ ProductSorts["BEST_SELLER"] = "best-sellers";
5
+ ProductSorts["BIGGEST_PRICE"] = "biggest-price";
6
+ ProductSorts["LOWEST_PRICE"] = "lowest-price";
7
+ ProductSorts["BIGGEST_DISCOUNT"] = "biggest-discount";
8
+ ProductSorts["BEST_RATING"] = "best-rating";
9
+ ProductSorts["NEWS"] = "news";
10
+ })(ProductSorts || (ProductSorts = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zb3J0cy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2VudW1zL3Byb2R1Y3Qtc29ydHMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQVFYO0FBUkQsV0FBWSxZQUFZO0lBQ3RCLCtDQUErQixDQUFBO0lBQy9CLDRDQUE0QixDQUFBO0lBQzVCLCtDQUErQixDQUFBO0lBQy9CLDZDQUE2QixDQUFBO0lBQzdCLHFEQUFxQyxDQUFBO0lBQ3JDLDJDQUEyQixDQUFBO0lBQzNCLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBUlcsWUFBWSxLQUFaLFlBQVksUUFRdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBQcm9kdWN0U29ydHMge1xuICBNT1NUX1JFTEVWQU5UID0gJ21vc3QtcmVsZXZhbnQnLFxuICBCRVNUX1NFTExFUiA9ICdiZXN0LXNlbGxlcnMnLFxuICBCSUdHRVNUX1BSSUNFID0gJ2JpZ2dlc3QtcHJpY2UnLFxuICBMT1dFU1RfUFJJQ0UgPSAnbG93ZXN0LXByaWNlJyxcbiAgQklHR0VTVF9ESVNDT1VOVCA9ICdiaWdnZXN0LWRpc2NvdW50JyxcbiAgQkVTVF9SQVRJTkcgPSAnYmVzdC1yYXRpbmcnLFxuICBORVdTID0gJ25ld3MnLFxufVxuIl19
@@ -1,32 +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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1zZXJ2aWNlLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9mYWNhZGVzL2NhdGFsb2ctc2VydmljZS5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRW5ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFBOzs7OztBQUdyRSxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQ21CLGNBQXFDLEVBQ3JDLGdCQUF5QyxFQUNuQixJQUFXO1FBRmpDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQU87UUFFbEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxvQkFBb0IsQ0FDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUN0QyxDQUFBO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekYsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUM1QixDQUFDOztpSEFuQlUsb0JBQW9CLDhGQU1yQixZQUFZO3FIQU5YLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFPTixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBTaG9wcyB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuaW1wb3J0IHsgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzJ1xyXG5pbXBvcnQgeyBDYXRhbG9nU2VydmljZSB9IGZyb20gJy4uL2NhdGFsb2cuc2VydmljZSdcclxuaW1wb3J0IHsgQ2F0YWxvZ1NlYXJjaENvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0L2NhdGFsb2ctc2VhcmNoLmNvbnRleHQnXHJcbmltcG9ydCB7IENhdGFsb2dIZWxwZXJzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJ1xyXG5cclxuaW1wb3J0IHsgQ2F0YWxvZ1N0cmF0ZWdpZXNGYWNhZGUgfSBmcm9tICcuL2NhdGFsb2ctc3RyYXRlZ2llcy5mYWNhZGUnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nU2VydmljZUZhY2FkZSB7XHJcbiAgcHJpdmF0ZSBjYXRhbG9nU2VydmljZTogQ2F0YWxvZ1NlcnZpY2VcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhlbHBlcnNTZXJ2aWNlOiBDYXRhbG9nSGVscGVyc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmF0ZWdpZXNGYWNhZGU6IENhdGFsb2dTdHJhdGVnaWVzRmFjYWRlLFxyXG4gICAgQEluamVjdChERUZBVUxUX1NIT1ApIHByaXZhdGUgcmVhZG9ubHkgc2hvcDogU2hvcHMsXHJcbiAgKSB7XHJcbiAgICBjb25zdCBzZWFyY2hDb250ZXh0ID0gbmV3IENhdGFsb2dTZWFyY2hDb250ZXh0KFxyXG4gICAgICB0aGlzLnN0cmF0ZWdpZXNGYWNhZGUuY2F0ZWdvcnlTdHJhdGVneSxcclxuICAgICAgdGhpcy5zdHJhdGVnaWVzRmFjYWRlLnRlcm1TdHJhdGVneSxcclxuICAgICAgdGhpcy5zdHJhdGVnaWVzRmFjYWRlLnByb2ZpbGVTdHJhdGVneSxcclxuICAgIClcclxuXHJcbiAgICB0aGlzLmNhdGFsb2dTZXJ2aWNlID0gbmV3IENhdGFsb2dTZXJ2aWNlKHNlYXJjaENvbnRleHQsIHRoaXMuaGVscGVyc1NlcnZpY2UsIHRoaXMuc2hvcClcclxuICB9XHJcblxyXG4gIGdldENhdGFsb2dTZXJ2aWNlKCk6IENhdGFsb2dTZXJ2aWNlIHtcclxuICAgIHJldHVybiB0aGlzLmNhdGFsb2dTZXJ2aWNlXHJcbiAgfVxyXG59XHJcbiJdfQ==
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