@infrab4a/connect-angular 5.8.12-alpha.0 → 5.8.13

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 (198) 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 +293 -293
  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 +611 -611
  21. package/esm2020/angular-hasura-graphql.module.mjs +421 -421
  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 +84 -84
  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 +42 -42
  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 +62 -62
  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 +43 -43
  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 +126 -126
  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 +258 -258
  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 +131 -131
  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 +130 -130
  101. package/esm2020/services/index.mjs +12 -12
  102. package/esm2020/services/order-product-review.service.mjs +126 -126
  103. package/esm2020/services/order-recurrence.service.mjs +76 -76
  104. package/esm2020/services/order.service.mjs +30 -30
  105. package/esm2020/services/shared/configuration.facade.mjs +29 -29
  106. package/esm2020/services/shared/index.mjs +2 -2
  107. package/esm2020/services/types/index.mjs +5 -5
  108. package/esm2020/services/types/pending-product-review.type.mjs +2 -2
  109. package/esm2020/services/types/product-review-create.type.mjs +2 -2
  110. package/esm2020/services/types/required-checkout-data.type.mjs +2 -2
  111. package/esm2020/services/types/required-checkout-subscription-data.type.mjs +2 -2
  112. package/esm2020/types/firebase-app-config.type.mjs +2 -2
  113. package/esm2020/types/index.mjs +2 -2
  114. package/fesm2015/infrab4a-connect-angular.mjs +3646 -3646
  115. package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
  116. package/fesm2020/infrab4a-connect-angular.mjs +3548 -3548
  117. package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
  118. package/helpers/index.d.ts +1 -1
  119. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -3
  120. package/index.d.ts +6 -6
  121. package/interfaces/catalog-strategies.interface.d.ts +31 -31
  122. package/interfaces/category-facades.interface.d.ts +6 -6
  123. package/interfaces/index.d.ts +2 -2
  124. package/package.json +2 -2
  125. package/persistence/cookie-data-persistence.d.ts +10 -10
  126. package/persistence/data-persistence.d.ts +6 -6
  127. package/persistence/index.d.ts +2 -2
  128. package/services/auth.service.d.ts +18 -18
  129. package/services/cart/cart-services.facade.d.ts +12 -12
  130. package/services/cart/index.d.ts +1 -1
  131. package/services/cart.service.d.ts +27 -27
  132. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -4
  133. package/services/catalog/adapters/index.d.ts +3 -3
  134. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -12
  135. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -10
  136. package/services/catalog/catalog.service.d.ts +24 -24
  137. package/services/catalog/category.service.d.ts +23 -23
  138. package/services/catalog/context/catalog-search.context.d.ts +14 -14
  139. package/services/catalog/enums/index.d.ts +1 -1
  140. package/services/catalog/enums/product-sorts.enum.d.ts +9 -9
  141. package/services/catalog/facades/catalog-service.facade.d.ts +15 -15
  142. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -10
  143. package/services/catalog/facades/category-repository.facade.d.ts +9 -9
  144. package/services/catalog/facades/category-service.facade.d.ts +15 -15
  145. package/services/catalog/facades/index.d.ts +5 -5
  146. package/services/catalog/facades/product-catalog.facade.d.ts +10 -10
  147. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -14
  148. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -8
  149. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -7
  150. package/services/catalog/helpers/index.d.ts +4 -4
  151. package/services/catalog/helpers/product-fields.helper.d.ts +7 -7
  152. package/services/catalog/index.d.ts +7 -7
  153. package/services/catalog/models/category-with-tree.model.d.ts +4 -4
  154. package/services/catalog/models/index.d.ts +1 -1
  155. package/services/catalog/services/catalog-helpers.service.d.ts +17 -17
  156. package/services/catalog/services/catalog-operations.facade.d.ts +13 -13
  157. package/services/catalog/services/catalog-repository.service.d.ts +12 -12
  158. package/services/catalog/services/index.d.ts +4 -4
  159. package/services/catalog/services/product-management.facade.d.ts +12 -12
  160. package/services/catalog/strategies/category-search.strategy.d.ts +19 -19
  161. package/services/catalog/strategies/index.d.ts +3 -3
  162. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -14
  163. package/services/catalog/strategies/term-search.strategy.d.ts +20 -20
  164. package/services/catalog/strategies/types/strategy-params.type.d.ts +59 -59
  165. package/services/catalog/types/fetch-products-options.type.d.ts +8 -8
  166. package/services/catalog/types/fetch-products-params.type.d.ts +25 -25
  167. package/services/catalog/types/fetch-products-response.type.d.ts +19 -19
  168. package/services/catalog/types/index.d.ts +5 -5
  169. package/services/catalog/types/method-params.type.d.ts +17 -17
  170. package/services/catalog/types/product-sort.type.d.ts +2 -2
  171. package/services/catalog/wishlist.service.d.ts +60 -60
  172. package/services/checkout/checkout-dependencies.facade.d.ts +10 -10
  173. package/services/checkout/checkout-repositories.facade.d.ts +9 -9
  174. package/services/checkout/index.d.ts +2 -2
  175. package/services/checkout-subscription.service.d.ts +19 -19
  176. package/services/checkout.service.d.ts +33 -33
  177. package/services/coupon/coupon-repositories.facade.d.ts +10 -10
  178. package/services/coupon/index.d.ts +1 -1
  179. package/services/coupon/types/coupon-params.type.d.ts +13 -13
  180. package/services/coupon.service.d.ts +36 -36
  181. package/services/helpers/index.d.ts +1 -1
  182. package/services/helpers/util.helper.d.ts +3 -3
  183. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -10
  184. package/services/home-shop/index.d.ts +1 -1
  185. package/services/home-shop.service.d.ts +34 -34
  186. package/services/index.d.ts +11 -11
  187. package/services/order-product-review.service.d.ts +18 -18
  188. package/services/order-recurrence.service.d.ts +25 -25
  189. package/services/order.service.d.ts +13 -13
  190. package/services/shared/configuration.facade.d.ts +12 -12
  191. package/services/shared/index.d.ts +1 -1
  192. package/services/types/index.d.ts +4 -4
  193. package/services/types/pending-product-review.type.d.ts +12 -12
  194. package/services/types/product-review-create.type.d.ts +14 -14
  195. package/services/types/required-checkout-data.type.d.ts +2 -2
  196. package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
  197. package/types/firebase-app-config.type.d.ts +1 -1
  198. package/types/index.d.ts +1 -1
@@ -1,84 +1,84 @@
1
- /* eslint-disable max-params */
2
- import { Injectable } from '@angular/core';
3
- import { Checkout, LineItem } from '@infrab4a/connect';
4
- import { of, Subject } from 'rxjs';
5
- import { concatMap, map, tap } from 'rxjs/operators';
6
- import { CartServicesFacade } from './cart';
7
- import { ConfigurationFacade } from './shared';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "./cart";
10
- import * as i2 from "./shared";
11
- export class CartService {
12
- constructor(servicesFacade, configurationFacade) {
13
- this.servicesFacade = servicesFacade;
14
- this.configurationFacade = configurationFacade;
15
- this.cartSubject = new Subject();
16
- this.checkoutUrl = null;
17
- this.generateCartObject = (items) => items?.reduce((cart, item) => ({
18
- ...cart,
19
- [item.id]: LineItem.toInstance({
20
- ...(cart[item.id] || item),
21
- quantity: (cart[item.id]?.quantity || 0) + (item.quantity ? item.quantity : 1),
22
- }),
23
- }), {}) || {};
24
- this.checkoutUrl = this.configurationFacade.getCheckoutUrl();
25
- }
26
- addItem(item, quantity = 1, recurrence = false, recurrenceCycle = null) {
27
- return this.servicesFacade.checkoutService.getCheckout().pipe(concatMap((checkout) => this.servicesFacade.httpClient.post(`${this.checkoutUrl}/checkoutAddItemToCart`, {
28
- checkoutId: checkout.id,
29
- productId: item.id,
30
- quantity,
31
- recurrence,
32
- recurrenceCycle,
33
- })), concatMap(() => this.servicesFacade.checkoutService.getCheckout()), map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)), tap((cart) => this.cartSubject.next(cart)));
34
- }
35
- updateItemRecurrence(item, recurrence = false, recurrenceCycle = null) {
36
- return this.servicesFacade.checkoutService.getCheckout().pipe(concatMap((checkout) => this.servicesFacade.httpClient.post(`${this.checkoutUrl}/checkoutUpdateItemRecurrence`, {
37
- checkoutId: checkout.id,
38
- productId: item.id,
39
- recurrence,
40
- recurrenceCycle,
41
- })), concatMap(() => this.servicesFacade.checkoutService.getCheckout()), map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)), tap((cart) => this.cartSubject.next(cart)));
42
- }
43
- decreaseItem(item) {
44
- return this.servicesFacade.checkoutService.getCheckout().pipe(concatMap((checkout) => this.servicesFacade.httpClient.post(`${this.checkoutUrl}/checkoutDecreaseProductFromCart`, {
45
- checkoutId: checkout.id,
46
- productId: item.id,
47
- quantity: 1,
48
- })), concatMap(() => this.servicesFacade.checkoutService.getCheckout()), map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)), tap((cart) => this.cartSubject.next(cart)));
49
- }
50
- removeItem(item) {
51
- return this.servicesFacade.checkoutService.getCheckout().pipe(concatMap((checkout) => this.servicesFacade.httpClient.post(`${this.checkoutUrl}/checkoutRemoveProductFromCart`, {
52
- checkoutId: checkout.id,
53
- productId: item.id,
54
- })), concatMap(() => this.servicesFacade.checkoutService.getCheckout()), map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)), tap((cart) => this.cartSubject.next(cart)));
55
- }
56
- updateUserCart(user) {
57
- return this.servicesFacade.checkoutService.getCheckout().pipe(concatMap((checkout) => this.servicesFacade.checkoutService.updateCheckoutUser(Checkout.toInstance({ ...checkout.toPlain(), user }))), concatMap((checkout) => {
58
- return this.servicesFacade.httpClient.post(`${this.checkoutUrl}/checkoutUpdateUserCart`, {
59
- checkoutId: checkout.id,
60
- });
61
- }), concatMap(() => this.servicesFacade.checkoutService.getCheckout()), map((updatedCheckout) => {
62
- return this.generateCartObject(updatedCheckout.lineItems);
63
- }), tap((cart) => this.cartSubject.next(cart)));
64
- }
65
- getCart(checkout) {
66
- this.buildCartFromCheckout(checkout).subscribe((cart) => this.cartSubject.next(cart));
67
- return this.cartSubject;
68
- }
69
- clearCart() {
70
- return this.servicesFacade.checkoutService.getCheckout().pipe(map((checkout) => {
71
- this.servicesFacade.checkoutService.clearCheckoutFromSession();
72
- return checkout;
73
- }), concatMap((oldCheckout) => this.buildCartFromCheckout(oldCheckout)), tap((cart) => this.cartSubject.next(cart)));
74
- }
75
- buildCartFromCheckout(checkoutData) {
76
- return this.servicesFacade.checkoutService.getCheckout(checkoutData).pipe(map((checkout) => checkout.lineItems), concatMap((lineItems) => of(this.generateCartObject(lineItems))));
77
- }
78
- }
79
- CartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService, deps: [{ token: i1.CartServicesFacade }, { token: i2.ConfigurationFacade }], target: i0.ɵɵFactoryTarget.Injectable });
80
- CartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService, decorators: [{
82
- type: Injectable
83
- }], ctorParameters: function () { return [{ type: i1.CartServicesFacade }, { type: i2.ConfigurationFacade }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQVEsTUFBTSxtQkFBbUIsQ0FBQTtBQUM1RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFBOzs7O0FBUTlDLE1BQU0sT0FBTyxXQUFXO0lBSXRCLFlBQ21CLGNBQWtDLEVBQ2xDLG1CQUF3QztRQUR4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUxuRCxnQkFBVyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQzFDLGdCQUFXLEdBQVcsSUFBSSxDQUFBO1FBdUgxQix1QkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQVEsRUFBRSxDQUN2RCxLQUFLLEVBQUUsTUFBTSxDQUNYLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNmLEdBQUcsSUFBSTtZQUNQLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUM7Z0JBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztnQkFDMUIsUUFBUSxFQUFFLENB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RUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsd0JBQXdCLEVBQUUsQ0FBQTtZQUU5RCxPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUNuRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzNDLENBQUE7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsWUFBbUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUN2RSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDckMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FDakUsQ0FBQTtJQUNILENBQUM7O3dHQXZIVSxXQUFXOzRHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1wYXJhbXMgKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ2hlY2tvdXQsIExpbmVJdGVtLCBVc2VyIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjb25jYXRNYXAsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IENhcnRTZXJ2aWNlc0ZhY2FkZSB9IGZyb20gJy4vY2FydCdcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25GYWNhZGUgfSBmcm9tICcuL3NoYXJlZCdcbmltcG9ydCB7IFJlcXVpcmVkQ2hlY2tvdXREYXRhIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IHR5cGUgQ2FydCA9IHtcbiAgW2lkOiBzdHJpbmddOiBMaW5lSXRlbVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FydFNlcnZpY2Uge1xuICBwcml2YXRlIGNhcnRTdWJqZWN0OiBTdWJqZWN0PENhcnQ+ID0gbmV3IFN1YmplY3QoKVxuICBwcml2YXRlIGNoZWNrb3V0VXJsOiBzdHJpbmcgPSBudWxsXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlc0ZhY2FkZTogQ2FydFNlcnZpY2VzRmFjYWRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlndXJhdGlvbkZhY2FkZTogQ29uZmlndXJhdGlvbkZhY2FkZSxcbiAgKSB7XG4gICAgdGhpcy5jaGVja291dFVybCA9IHRoaXMuY29uZmlndXJhdGlvbkZhY2FkZS5nZXRDaGVja291dFVybCgpXG4gIH1cblxuICBhZGRJdGVtKFxuICAgIGl0ZW06IExpbmVJdGVtLFxuICAgIHF1YW50aXR5OiBudW1iZXIgPSAxLFxuICAgIHJlY3VycmVuY2U6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICByZWN1cnJlbmNlQ3ljbGU6IHN0cmluZyA9IG51bGwsXG4gICk6IE9ic2VydmFibGU8Q2FydD4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS5nZXRDaGVja291dCgpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGNoZWNrb3V0KSA9PlxuICAgICAgICB0aGlzLnNlcnZpY2VzRmFjYWRlLmh0dHBDbGllbnQucG9zdChgJHt0aGlzLmNoZWNrb3V0VXJsfS9jaGVja291dEFkZEl0ZW1Ub0NhcnRgLCB7XG4gICAgICAgICAgY2hlY2tvdXRJZDogY2hlY2tvdXQuaWQsXG4gICAgICAgICAgcHJvZHVjdElkOiBpdGVtLmlkLFxuICAgICAgICAgIHF1YW50aXR5LFxuICAgICAgICAgIHJlY3VycmVuY2UsXG4gICAgICAgICAgcmVjdXJyZW5jZUN5Y2xlLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBjb25jYXRNYXAoKCkgPT4gdGhpcy5zZXJ2aWNlc0ZhY2FkZS5jaGVja291dFNlcnZpY2UuZ2V0Q2hlY2tvdXQoKSksXG4gICAgICBtYXAoKHVwZGF0ZWRDaGVja291dCkgPT4gdGhpcy5nZW5lcmF0ZUNhcnRPYmplY3QodXBkYXRlZENoZWNrb3V0LmxpbmVJdGVtcykpLFxuICAgICAgdGFwKChjYXJ0KSA9PiB0aGlzLmNhcnRTdWJqZWN0Lm5leHQoY2FydCkpLFxuICAgIClcbiAgfVxuXG4gIHVwZGF0ZUl0ZW1SZWN1cnJlbmNlKGl0ZW06IExpbmVJdGVtLCByZWN1cnJlbmNlOiBib29sZWFuID0gZmFsc2UsIHJlY3VycmVuY2VDeWNsZTogc3RyaW5nID0gbnVsbCk6IE9ic2VydmFibGU8Q2FydD4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS5nZXRDaGVja291dCgpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGNoZWNrb3V0KSA9PlxuICAgICAgICB0aGlzLnNlcnZpY2VzRmFjYWRlLmh0dHBDbGllbnQucG9zdChgJHt0aGlzLmNoZWNrb3V0VXJsfS9jaGVja291dFVwZGF0ZUl0ZW1SZWN1cnJlbmNlYCwge1xuICAgICAgICAgIGNoZWNrb3V0SWQ6IGNoZWNrb3V0LmlkLFxuICAgICAgICAgIHByb2R1Y3RJZDogaXRlbS5pZCxcbiAgICAgICAgICByZWN1cnJlbmNlLFxuICAgICAgICAgIHJlY3VycmVuY2VDeWNsZSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgY29uY2F0TWFwKCgpID0+IHRoaXMuc2VydmljZXNGYWNhZGUuY2hlY2tvdXRTZXJ2aWNlLmdldENoZWNrb3V0KCkpLFxuICAgICAgbWFwKCh1cGRhdGVkQ2hlY2tvdXQpID0+IHRoaXMuZ2VuZXJhdGVDYXJ0T2JqZWN0KHVwZGF0ZWRDaGVja291dC5saW5lSXRlbXMpKSxcbiAgICAgIHRhcCgoY2FydCkgPT4gdGhpcy5jYXJ0U3ViamVjdC5uZXh0KGNhcnQpKSxcbiAgICApXG4gIH1cblxuICBkZWNyZWFzZUl0ZW0oaXRlbTogTGluZUl0ZW0pOiBPYnNlcnZhYmxlPENhcnQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlc0ZhY2FkZS5jaGVja291dFNlcnZpY2UuZ2V0Q2hlY2tvdXQoKS5waXBlKFxuICAgICAgY29uY2F0TWFwKChjaGVja291dCkgPT5cbiAgICAgICAgdGhpcy5zZXJ2aWNlc0ZhY2FkZS5odHRwQ2xpZW50LnBvc3QoYCR7dGhpcy5jaGVja291dFVybH0vY2hlY2tvdXREZWNyZWFzZVByb2R1Y3RGcm9tQ2FydGAsIHtcbiAgICAgICAgICBjaGVja291dElkOiBjaGVja291dC5pZCxcbiAgICAgICAgICBwcm9kdWN0SWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgcXVhbnRpdHk6IDEsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIGNvbmNhdE1hcCgoKSA9PiB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS5nZXRDaGVja291dCgpKSxcbiAgICAgIG1hcCgodXBkYXRlZENoZWNrb3V0KSA9PiB0aGlzLmdlbmVyYXRlQ2FydE9iamVjdCh1cGRhdGVkQ2hlY2tvdXQubGluZUl0ZW1zKSksXG4gICAgICB0YXAoKGNhcnQpID0+IHRoaXMuY2FydFN1YmplY3QubmV4dChjYXJ0KSksXG4gICAgKVxuICB9XG5cbiAgcmVtb3ZlSXRlbShpdGVtOiBMaW5lSXRlbSk6IE9ic2VydmFibGU8Q2FydD4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS5nZXRDaGVja291dCgpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGNoZWNrb3V0KSA9PlxuICAgICAgICB0aGlzLnNlcnZpY2VzRmFjYWRlLmh0dHBDbGllbnQucG9zdChgJHt0aGlzLmNoZWNrb3V0VXJsfS9jaGVja291dFJlbW92ZVByb2R1Y3RGcm9tQ2FydGAsIHtcbiAgICAgICAgICBjaGVja291dElkOiBjaGVja291dC5pZCxcbiAgICAgICAgICBwcm9kdWN0SWQ6IGl0ZW0uaWQsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIGNvbmNhdE1hcCgoKSA9PiB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS5nZXRDaGVja291dCgpKSxcbiAgICAgIG1hcCgodXBkYXRlZENoZWNrb3V0KSA9PiB0aGlzLmdlbmVyYXRlQ2FydE9iamVjdCh1cGRhdGVkQ2hlY2tvdXQubGluZUl0ZW1zKSksXG4gICAgICB0YXAoKGNhcnQpID0+IHRoaXMuY2FydFN1YmplY3QubmV4dChjYXJ0KSksXG4gICAgKVxuICB9XG5cbiAgdXBkYXRlVXNlckNhcnQodXNlcjogVXNlcik6IE9ic2VydmFibGU8Q2FydD4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS5nZXRDaGVja291dCgpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGNoZWNrb3V0KSA9PlxuICAgICAgICB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS51cGRhdGVDaGVja291dFVzZXIoQ2hlY2tvdXQudG9JbnN0YW5jZSh7IC4uLmNoZWNrb3V0LnRvUGxhaW4oKSwgdXNlciB9KSksXG4gICAgICApLFxuICAgICAgY29uY2F0TWFwKChjaGVja291dCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlc0ZhY2FkZS5odHRwQ2xpZW50LnBvc3QoYCR7dGhpcy5jaGVja291dFVybH0vY2hlY2tvdXRVcGRhdGVVc2VyQ2FydGAsIHtcbiAgICAgICAgICBjaGVja291dElkOiBjaGVja291dC5pZCxcbiAgICAgICAgfSlcbiAgICAgIH0pLFxuICAgICAgY29uY2F0TWFwKCgpID0+IHRoaXMuc2VydmljZXNGYWNhZGUuY2hlY2tvdXRTZXJ2aWNlLmdldENoZWNrb3V0KCkpLFxuICAgICAgbWFwKCh1cGRhdGVkQ2hlY2tvdXQpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVDYXJ0T2JqZWN0KHVwZGF0ZWRDaGVja291dC5saW5lSXRlbXMpXG4gICAgICB9KSxcbiAgICAgIHRhcCgoY2FydCkgPT4gdGhpcy5jYXJ0U3ViamVjdC5uZXh0KGNhcnQpKSxcbiAgICApXG4gIH1cblxuICBnZXRDYXJ0KGNoZWNrb3V0PzogUmVxdWlyZWRDaGVja291dERhdGEpOiBPYnNlcnZhYmxlPENhcnQ+IHtcbiAgICB0aGlzLmJ1aWxkQ2FydEZyb21DaGVja291dChjaGVja291dCkuc3Vic2NyaWJlKChjYXJ0KSA9PiB0aGlzLmNhcnRTdWJqZWN0Lm5leHQoY2FydCkpXG5cbiAgICByZXR1cm4gdGhpcy5jYXJ0U3ViamVjdFxuICB9XG5cbiAgY2xlYXJDYXJ0KCk6IE9ic2VydmFibGU8Q2FydD4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS5nZXRDaGVja291dCgpLnBpcGUoXG4gICAgICBtYXAoKGNoZWNrb3V0KSA9PiB7XG4gICAgICAgIHRoaXMuc2VydmljZXNGYWNhZGUuY2hlY2tvdXRTZXJ2aWNlLmNsZWFyQ2hlY2tvdXRGcm9tU2Vzc2lvbigpXG5cbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0XG4gICAgICB9KSxcbiAgICAgIGNvbmNhdE1hcCgob2xkQ2hlY2tvdXQpID0+IHRoaXMuYnVpbGRDYXJ0RnJvbUNoZWNrb3V0KG9sZENoZWNrb3V0KSksXG4gICAgICB0YXAoKGNhcnQpID0+IHRoaXMuY2FydFN1YmplY3QubmV4dChjYXJ0KSksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENhcnRGcm9tQ2hlY2tvdXQoY2hlY2tvdXREYXRhPzogUmVxdWlyZWRDaGVja291dERhdGEpOiBPYnNlcnZhYmxlPENhcnQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlc0ZhY2FkZS5jaGVja291dFNlcnZpY2UuZ2V0Q2hlY2tvdXQoY2hlY2tvdXREYXRhKS5waXBlKFxuICAgICAgbWFwKChjaGVja291dCkgPT4gY2hlY2tvdXQubGluZUl0ZW1zKSxcbiAgICAgIGNvbmNhdE1hcCgobGluZUl0ZW1zKSA9PiBvZih0aGlzLmdlbmVyYXRlQ2FydE9iamVjdChsaW5lSXRlbXMpKSksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUNhcnRPYmplY3QgPSAoaXRlbXM6IExpbmVJdGVtW10pOiBDYXJ0ID0+XG4gICAgaXRlbXM/LnJlZHVjZShcbiAgICAgIChjYXJ0LCBpdGVtKSA9PiAoe1xuICAgICAgICAuLi5jYXJ0LFxuICAgICAgICBbaXRlbS5pZF06IExpbmVJdGVtLnRvSW5zdGFuY2Uoe1xuICAgICAgICAgIC4uLihjYXJ0W2l0ZW0uaWRdIHx8IGl0ZW0pLFxuICAgICAgICAgIHF1YW50aXR5OiAoY2FydFtpdGVtLmlkXT8ucXVhbnRpdHkgfHwgMCkgKyAoaXRlbS5xdWFudGl0eSA/IGl0ZW0ucXVhbnRpdHkgOiAxKSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIExpbmVJdGVtPixcbiAgICApIHx8IHt9XG59XG4iXX0=
1
+ /* eslint-disable max-params */
2
+ import { Injectable } from '@angular/core';
3
+ import { Checkout, LineItem } from '@infrab4a/connect';
4
+ import { of, Subject } from 'rxjs';
5
+ import { concatMap, map, tap } from 'rxjs/operators';
6
+ import { CartServicesFacade } from './cart';
7
+ import { ConfigurationFacade } from './shared';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./cart";
10
+ import * as i2 from "./shared";
11
+ export class CartService {
12
+ constructor(servicesFacade, configurationFacade) {
13
+ this.servicesFacade = servicesFacade;
14
+ this.configurationFacade = configurationFacade;
15
+ this.cartSubject = new Subject();
16
+ this.checkoutUrl = null;
17
+ this.generateCartObject = (items) => items?.reduce((cart, item) => ({
18
+ ...cart,
19
+ [item.id]: LineItem.toInstance({
20
+ ...(cart[item.id] || item),
21
+ quantity: (cart[item.id]?.quantity || 0) + (item.quantity ? item.quantity : 1),
22
+ }),
23
+ }), {}) || {};
24
+ this.checkoutUrl = this.configurationFacade.getCheckoutUrl();
25
+ }
26
+ addItem(item, quantity = 1, recurrence = false, recurrenceCycle = null) {
27
+ return this.servicesFacade.checkoutService.getCheckout().pipe(concatMap((checkout) => this.servicesFacade.httpClient.post(`${this.checkoutUrl}/checkoutAddItemToCart`, {
28
+ checkoutId: checkout.id,
29
+ productId: item.id,
30
+ quantity,
31
+ recurrence,
32
+ recurrenceCycle,
33
+ })), concatMap(() => this.servicesFacade.checkoutService.getCheckout()), map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)), tap((cart) => this.cartSubject.next(cart)));
34
+ }
35
+ updateItemRecurrence(item, recurrence = false, recurrenceCycle = null) {
36
+ return this.servicesFacade.checkoutService.getCheckout().pipe(concatMap((checkout) => this.servicesFacade.httpClient.post(`${this.checkoutUrl}/checkoutUpdateItemRecurrence`, {
37
+ checkoutId: checkout.id,
38
+ productId: item.id,
39
+ recurrence,
40
+ recurrenceCycle,
41
+ })), concatMap(() => this.servicesFacade.checkoutService.getCheckout()), map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)), tap((cart) => this.cartSubject.next(cart)));
42
+ }
43
+ decreaseItem(item) {
44
+ return this.servicesFacade.checkoutService.getCheckout().pipe(concatMap((checkout) => this.servicesFacade.httpClient.post(`${this.checkoutUrl}/checkoutDecreaseProductFromCart`, {
45
+ checkoutId: checkout.id,
46
+ productId: item.id,
47
+ quantity: 1,
48
+ })), concatMap(() => this.servicesFacade.checkoutService.getCheckout()), map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)), tap((cart) => this.cartSubject.next(cart)));
49
+ }
50
+ removeItem(item) {
51
+ return this.servicesFacade.checkoutService.getCheckout().pipe(concatMap((checkout) => this.servicesFacade.httpClient.post(`${this.checkoutUrl}/checkoutRemoveProductFromCart`, {
52
+ checkoutId: checkout.id,
53
+ productId: item.id,
54
+ })), concatMap(() => this.servicesFacade.checkoutService.getCheckout()), map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)), tap((cart) => this.cartSubject.next(cart)));
55
+ }
56
+ updateUserCart(user) {
57
+ return this.servicesFacade.checkoutService.getCheckout().pipe(concatMap((checkout) => this.servicesFacade.checkoutService.updateCheckoutUser(Checkout.toInstance({ ...checkout.toPlain(), user }))), concatMap((checkout) => {
58
+ return this.servicesFacade.httpClient.post(`${this.checkoutUrl}/checkoutUpdateUserCart`, {
59
+ checkoutId: checkout.id,
60
+ });
61
+ }), concatMap(() => this.servicesFacade.checkoutService.getCheckout()), map((updatedCheckout) => {
62
+ return this.generateCartObject(updatedCheckout.lineItems);
63
+ }), tap((cart) => this.cartSubject.next(cart)));
64
+ }
65
+ getCart(checkout) {
66
+ this.buildCartFromCheckout(checkout).subscribe((cart) => this.cartSubject.next(cart));
67
+ return this.cartSubject;
68
+ }
69
+ clearCart() {
70
+ return this.servicesFacade.checkoutService.getCheckout().pipe(map((checkout) => {
71
+ this.servicesFacade.checkoutService.clearCheckoutFromSession();
72
+ return checkout;
73
+ }), concatMap((oldCheckout) => this.buildCartFromCheckout(oldCheckout)), tap((cart) => this.cartSubject.next(cart)));
74
+ }
75
+ buildCartFromCheckout(checkoutData) {
76
+ return this.servicesFacade.checkoutService.getCheckout(checkoutData).pipe(map((checkout) => checkout.lineItems), concatMap((lineItems) => of(this.generateCartObject(lineItems))));
77
+ }
78
+ }
79
+ CartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService, deps: [{ token: i1.CartServicesFacade }, { token: i2.ConfigurationFacade }], target: i0.ɵɵFactoryTarget.Injectable });
80
+ CartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService, decorators: [{
82
+ type: Injectable
83
+ }], ctorParameters: function () { return [{ type: i1.CartServicesFacade }, { type: i2.ConfigurationFacade }]; } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQVEsTUFBTSxtQkFBbUIsQ0FBQTtBQUM1RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFBOzs7O0FBUTlDLE1BQU0sT0FBTyxXQUFXO0lBSXRCLFlBQ21CLGNBQWtDLEVBQ2xDLG1CQUF3QztRQUR4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUxuRCxnQkFBVyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQzFDLGdCQUFXLEdBQVcsSUFBSSxDQUFBO1FBdUgxQix1QkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQVEsRUFBRSxDQUN2RCxLQUFLLEVBQUUsTUFBTSxDQUNYLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNmLEdBQUcsSUFBSTtZQUNQLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUM7Z0JBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztnQkFDMUIsUUFBUSxFQUFFLENB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RUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsd0JBQXdCLEVBQUUsQ0FBQTtZQUU5RCxPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUNuRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzNDLENBQUE7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsWUFBbUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUN2RSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDckMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FDakUsQ0FBQTtJQUNILENBQUM7O3dHQXZIVSxXQUFXOzRHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1wYXJhbXMgKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENoZWNrb3V0LCBMaW5lSXRlbSwgVXNlciB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGNvbmNhdE1hcCwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlc0ZhY2FkZSB9IGZyb20gJy4vY2FydCdcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkZhY2FkZSB9IGZyb20gJy4vc2hhcmVkJ1xyXG5pbXBvcnQgeyBSZXF1aXJlZENoZWNrb3V0RGF0YSB9IGZyb20gJy4vdHlwZXMnXHJcblxyXG5leHBvcnQgdHlwZSBDYXJ0ID0ge1xyXG4gIFtpZDogc3RyaW5nXTogTGluZUl0ZW1cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ2FydFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY2FydFN1YmplY3Q6IFN1YmplY3Q8Q2FydD4gPSBuZXcgU3ViamVjdCgpXHJcbiAgcHJpdmF0ZSBjaGVja291dFVybDogc3RyaW5nID0gbnVsbFxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZXNGYWNhZGU6IENhcnRTZXJ2aWNlc0ZhY2FkZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlndXJhdGlvbkZhY2FkZTogQ29uZmlndXJhdGlvbkZhY2FkZSxcclxuICApIHtcclxuICAgIHRoaXMuY2hlY2tvdXRVcmwgPSB0aGlzLmNvbmZpZ3VyYXRpb25GYWNhZGUuZ2V0Q2hlY2tvdXRVcmwoKVxyXG4gIH1cclxuXHJcbiAgYWRkSXRlbShcclxuICAgIGl0ZW06IExpbmVJdGVtLFxyXG4gICAgcXVhbnRpdHk6IG51bWJlciA9IDEsXHJcbiAgICByZWN1cnJlbmNlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICByZWN1cnJlbmNlQ3ljbGU6IHN0cmluZyA9IG51bGwsXHJcbiAgKTogT2JzZXJ2YWJsZTxDYXJ0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlc0ZhY2FkZS5jaGVja291dFNlcnZpY2UuZ2V0Q2hlY2tvdXQoKS5waXBlKFxyXG4gICAgICBjb25jYXRNYXAoKGNoZWNrb3V0KSA9PlxyXG4gICAgICAgIHRoaXMuc2VydmljZXNGYWNhZGUuaHR0cENsaWVudC5wb3N0KGAke3RoaXMuY2hlY2tvdXRVcmx9L2NoZWNrb3V0QWRkSXRlbVRvQ2FydGAsIHtcclxuICAgICAgICAgIGNoZWNrb3V0SWQ6IGNoZWNrb3V0LmlkLFxyXG4gICAgICAgICAgcHJvZHVjdElkOiBpdGVtLmlkLFxyXG4gICAgICAgICAgcXVhbnRpdHksXHJcbiAgICAgICAgICByZWN1cnJlbmNlLFxyXG4gICAgICAgICAgcmVjdXJyZW5jZUN5Y2xlLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICApLFxyXG4gICAgICBjb25jYXRNYXAoKCkgPT4gdGhpcy5zZXJ2aWNlc0ZhY2FkZS5jaGVja291dFNlcnZpY2UuZ2V0Q2hlY2tvdXQoKSksXHJcbiAgICAgIG1hcCgodXBkYXRlZENoZWNrb3V0KSA9PiB0aGlzLmdlbmVyYXRlQ2FydE9iamVjdCh1cGRhdGVkQ2hlY2tvdXQubGluZUl0ZW1zKSksXHJcbiAgICAgIHRhcCgoY2FydCkgPT4gdGhpcy5jYXJ0U3ViamVjdC5uZXh0KGNhcnQpKSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIHVwZGF0ZUl0ZW1SZWN1cnJlbmNlKGl0ZW06IExpbmVJdGVtLCByZWN1cnJlbmNlOiBib29sZWFuID0gZmFsc2UsIHJlY3VycmVuY2VDeWNsZTogc3RyaW5nID0gbnVsbCk6IE9ic2VydmFibGU8Q2FydD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZXNGYWNhZGUuY2hlY2tvdXRTZXJ2aWNlLmdldENoZWNrb3V0KCkucGlwZShcclxuICAgICAgY29uY2F0TWFwKChjaGVja291dCkgPT5cclxuICAgICAgICB0aGlzLnNlcnZpY2VzRmFjYWRlLmh0dHBDbGllbnQucG9zdChgJHt0aGlzLmNoZWNrb3V0VXJsfS9jaGVja291dFVwZGF0ZUl0ZW1SZWN1cnJlbmNlYCwge1xyXG4gICAgICAgICAgY2hlY2tvdXRJZDogY2hlY2tvdXQuaWQsXHJcbiAgICAgICAgICBwcm9kdWN0SWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgICByZWN1cnJlbmNlLFxyXG4gICAgICAgICAgcmVjdXJyZW5jZUN5Y2xlLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICApLFxyXG4gICAgICBjb25jYXRNYXAoKCkgPT4gdGhpcy5zZXJ2aWNlc0ZhY2FkZS5jaGVja291dFNlcnZpY2UuZ2V0Q2hlY2tvdXQoKSksXHJcbiAgICAgIG1hcCgodXBkYXRlZENoZWNrb3V0KSA9PiB0aGlzLmdlbmVyYXRlQ2FydE9iamVjdCh1cGRhdGVkQ2hlY2tvdXQubGluZUl0ZW1zKSksXHJcbiAgICAgIHRhcCgoY2FydCkgPT4gdGhpcy5jYXJ0U3ViamVjdC5uZXh0KGNhcnQpKSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGRlY3JlYXNlSXRlbShpdGVtOiBMaW5lSXRlbSk6IE9ic2VydmFibGU8Q2FydD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZXNGYWNhZGUuY2hlY2tvdXRTZXJ2aWNlLmdldENoZWNrb3V0KCkucGlwZShcclxuICAgICAgY29uY2F0TWFwKChjaGVja291dCkgPT5cclxuICAgICAgICB0aGlzLnNlcnZpY2VzRmFjYWRlLmh0dHBDbGllbnQucG9zdChgJHt0aGlzLmNoZWNrb3V0VXJsfS9jaGVja291dERlY3JlYXNlUHJvZHVjdEZyb21DYXJ0YCwge1xyXG4gICAgICAgICAgY2hlY2tvdXRJZDogY2hlY2tvdXQuaWQsXHJcbiAgICAgICAgICBwcm9kdWN0SWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgICBxdWFudGl0eTogMSxcclxuICAgICAgICB9KSxcclxuICAgICAgKSxcclxuICAgICAgY29uY2F0TWFwKCgpID0+IHRoaXMuc2VydmljZXNGYWNhZGUuY2hlY2tvdXRTZXJ2aWNlLmdldENoZWNrb3V0KCkpLFxyXG4gICAgICBtYXAoKHVwZGF0ZWRDaGVja291dCkgPT4gdGhpcy5nZW5lcmF0ZUNhcnRPYmplY3QodXBkYXRlZENoZWNrb3V0LmxpbmVJdGVtcykpLFxyXG4gICAgICB0YXAoKGNhcnQpID0+IHRoaXMuY2FydFN1YmplY3QubmV4dChjYXJ0KSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICByZW1vdmVJdGVtKGl0ZW06IExpbmVJdGVtKTogT2JzZXJ2YWJsZTxDYXJ0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlc0ZhY2FkZS5jaGVja291dFNlcnZpY2UuZ2V0Q2hlY2tvdXQoKS5waXBlKFxyXG4gICAgICBjb25jYXRNYXAoKGNoZWNrb3V0KSA9PlxyXG4gICAgICAgIHRoaXMuc2VydmljZXNGYWNhZGUuaHR0cENsaWVudC5wb3N0KGAke3RoaXMuY2hlY2tvdXRVcmx9L2NoZWNrb3V0UmVtb3ZlUHJvZHVjdEZyb21DYXJ0YCwge1xyXG4gICAgICAgICAgY2hlY2tvdXRJZDogY2hlY2tvdXQuaWQsXHJcbiAgICAgICAgICBwcm9kdWN0SWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgfSksXHJcbiAgICAgICksXHJcbiAgICAgIGNvbmNhdE1hcCgoKSA9PiB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS5nZXRDaGVja291dCgpKSxcclxuICAgICAgbWFwKCh1cGRhdGVkQ2hlY2tvdXQpID0+IHRoaXMuZ2VuZXJhdGVDYXJ0T2JqZWN0KHVwZGF0ZWRDaGVja291dC5saW5lSXRlbXMpKSxcclxuICAgICAgdGFwKChjYXJ0KSA9PiB0aGlzLmNhcnRTdWJqZWN0Lm5leHQoY2FydCkpLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVXNlckNhcnQodXNlcjogVXNlcik6IE9ic2VydmFibGU8Q2FydD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZXNGYWNhZGUuY2hlY2tvdXRTZXJ2aWNlLmdldENoZWNrb3V0KCkucGlwZShcclxuICAgICAgY29uY2F0TWFwKChjaGVja291dCkgPT5cclxuICAgICAgICB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS51cGRhdGVDaGVja291dFVzZXIoQ2hlY2tvdXQudG9JbnN0YW5jZSh7IC4uLmNoZWNrb3V0LnRvUGxhaW4oKSwgdXNlciB9KSksXHJcbiAgICAgICksXHJcbiAgICAgIGNvbmNhdE1hcCgoY2hlY2tvdXQpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlc0ZhY2FkZS5odHRwQ2xpZW50LnBvc3QoYCR7dGhpcy5jaGVja291dFVybH0vY2hlY2tvdXRVcGRhdGVVc2VyQ2FydGAsIHtcclxuICAgICAgICAgIGNoZWNrb3V0SWQ6IGNoZWNrb3V0LmlkLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pLFxyXG4gICAgICBjb25jYXRNYXAoKCkgPT4gdGhpcy5zZXJ2aWNlc0ZhY2FkZS5jaGVja291dFNlcnZpY2UuZ2V0Q2hlY2tvdXQoKSksXHJcbiAgICAgIG1hcCgodXBkYXRlZENoZWNrb3V0KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVDYXJ0T2JqZWN0KHVwZGF0ZWRDaGVja291dC5saW5lSXRlbXMpXHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKGNhcnQpID0+IHRoaXMuY2FydFN1YmplY3QubmV4dChjYXJ0KSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRDYXJ0KGNoZWNrb3V0PzogUmVxdWlyZWRDaGVja291dERhdGEpOiBPYnNlcnZhYmxlPENhcnQ+IHtcclxuICAgIHRoaXMuYnVpbGRDYXJ0RnJvbUNoZWNrb3V0KGNoZWNrb3V0KS5zdWJzY3JpYmUoKGNhcnQpID0+IHRoaXMuY2FydFN1YmplY3QubmV4dChjYXJ0KSlcclxuXHJcbiAgICByZXR1cm4gdGhpcy5jYXJ0U3ViamVjdFxyXG4gIH1cclxuXHJcbiAgY2xlYXJDYXJ0KCk6IE9ic2VydmFibGU8Q2FydD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZXNGYWNhZGUuY2hlY2tvdXRTZXJ2aWNlLmdldENoZWNrb3V0KCkucGlwZShcclxuICAgICAgbWFwKChjaGVja291dCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VydmljZXNGYWNhZGUuY2hlY2tvdXRTZXJ2aWNlLmNsZWFyQ2hlY2tvdXRGcm9tU2Vzc2lvbigpXHJcblxyXG4gICAgICAgIHJldHVybiBjaGVja291dFxyXG4gICAgICB9KSxcclxuICAgICAgY29uY2F0TWFwKChvbGRDaGVja291dCkgPT4gdGhpcy5idWlsZENhcnRGcm9tQ2hlY2tvdXQob2xkQ2hlY2tvdXQpKSxcclxuICAgICAgdGFwKChjYXJ0KSA9PiB0aGlzLmNhcnRTdWJqZWN0Lm5leHQoY2FydCkpLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZENhcnRGcm9tQ2hlY2tvdXQoY2hlY2tvdXREYXRhPzogUmVxdWlyZWRDaGVja291dERhdGEpOiBPYnNlcnZhYmxlPENhcnQ+IHtcclxuICAgIHJldHVybiB0aGlzLnNlcnZpY2VzRmFjYWRlLmNoZWNrb3V0U2VydmljZS5nZXRDaGVja291dChjaGVja291dERhdGEpLnBpcGUoXHJcbiAgICAgIG1hcCgoY2hlY2tvdXQpID0+IGNoZWNrb3V0LmxpbmVJdGVtcyksXHJcbiAgICAgIGNvbmNhdE1hcCgobGluZUl0ZW1zKSA9PiBvZih0aGlzLmdlbmVyYXRlQ2FydE9iamVjdChsaW5lSXRlbXMpKSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlQ2FydE9iamVjdCA9IChpdGVtczogTGluZUl0ZW1bXSk6IENhcnQgPT5cclxuICAgIGl0ZW1zPy5yZWR1Y2UoXHJcbiAgICAgIChjYXJ0LCBpdGVtKSA9PiAoe1xyXG4gICAgICAgIC4uLmNhcnQsXHJcbiAgICAgICAgW2l0ZW0uaWRdOiBMaW5lSXRlbS50b0luc3RhbmNlKHtcclxuICAgICAgICAgIC4uLihjYXJ0W2l0ZW0uaWRdIHx8IGl0ZW0pLFxyXG4gICAgICAgICAgcXVhbnRpdHk6IChjYXJ0W2l0ZW0uaWRdPy5xdWFudGl0eSB8fCAwKSArIChpdGVtLnF1YW50aXR5ID8gaXRlbS5xdWFudGl0eSA6IDEpLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KSxcclxuICAgICAge30gYXMgUmVjb3JkPHN0cmluZywgTGluZUl0ZW0+LFxyXG4gICAgKSB8fCB7fVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMvY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhdGVnb3J5LCBQcm9kdWN0LCBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QvJ1xuXG5leHBvcnQgaW50ZXJmYWNlIENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB7XG4gIGJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+PlxufVxuIl19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMvY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhdGVnb3J5LCBQcm9kdWN0LCBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QvJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIge1xyXG4gIGJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+PlxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- export * from './category-structure.adapter';
2
- export * from './new-category-structure.adapter';
3
- export * from './old-category-structure.adapter';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsa0NBQWtDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LXN0cnVjdHVyZS5hZGFwdGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9uZXctY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXInXG5leHBvcnQgKiBmcm9tICcuL29sZC1jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlcidcbiJdfQ==
1
+ export * from './category-structure.adapter';
2
+ export * from './new-category-structure.adapter';
3
+ export * from './old-category-structure.adapter';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsa0NBQWtDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LXN0cnVjdHVyZS5hZGFwdGVyJ1xyXG5leHBvcnQgKiBmcm9tICcuL25ldy1jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlcidcclxuZXhwb3J0ICogZnJvbSAnLi9vbGQtY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXInXHJcbiJdfQ==
@@ -1,43 +1,43 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { isNil, Where } from '@infrab4a/connect';
3
- import * as i0 from "@angular/core";
4
- export class NewCategoryStructureAdapter {
5
- constructor(categoryRepository) {
6
- this.categoryRepository = categoryRepository;
7
- }
8
- async buildProductFilterByCategory(category) {
9
- const loadedCategory = await this.getCategory(category);
10
- if (loadedCategory.isCollection)
11
- return { id: { operator: Where.IN, value: loadedCategory.products } };
12
- const categoryIds = [...(await this.getAllCategoriesIdFromCategory(category)), category.id.toString()];
13
- return {
14
- category: {
15
- id: {
16
- operator: Where.IN,
17
- value: categoryIds,
18
- },
19
- },
20
- };
21
- }
22
- async getAllCategoriesIdFromCategory(category) {
23
- return this.categoryRepository
24
- .getChildren(+category.id)
25
- .then((categories) => categories.map((category) => category.id.toString()));
26
- }
27
- async getCategory(category) {
28
- const collectionCategory = category.isCollection ||
29
- (isNil(category.isCollection) && !category.products?.length) ||
30
- category.isWishlist ||
31
- category.brandCategory;
32
- return collectionCategory ? this.categoryRepository.get({ id: category.id }) : category;
33
- }
34
- }
35
- NewCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
36
- NewCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
38
- type: Injectable
39
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
40
- type: Inject,
41
- args: ['CategoryRepository']
42
- }] }]; } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhdGVnb3J5LXN0cnVjdHVyZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2FkYXB0ZXJzL25ldy1jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQWdDLEtBQUssRUFBbUMsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7O0FBSy9HLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFBMkQsa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFBRyxDQUFDO0lBRXJHLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxRQUFrQjtRQUNuRCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkQsSUFBSSxjQUFjLENBQUMsWUFBWTtZQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUE7UUFFdEcsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsOEJBQThCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFFdEcsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDUixFQUFFLEVBQUU7b0JBQ0YsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNsQixLQUFLLEVBQUUsV0FBVztpQkFDbkI7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLDhCQUE4QixDQUFDLFFBQWtCO1FBQzdELE9BQU8sSUFBSSxDQUFDLGtCQUFrQjthQUMzQixXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2FBQ3pCLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDL0UsQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBa0I7UUFDMUMsTUFBTSxrQkFBa0IsR0FDdEIsUUFBUSxDQUFDLFlBQVk7WUFDckIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7WUFDNUQsUUFBUSxDQUFDLFVBQVU7WUFDbkIsUUFBUSxDQUFDLGFBQWEsQ0FBQTtRQUV4QixPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDekYsQ0FBQzs7d0hBbENVLDJCQUEyQixrQkFDbEIsb0JBQW9COzRIQUQ3QiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBRUksTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ2F0ZWdvcnksIENhdGVnb3J5UmVwb3NpdG9yeSwgaXNOaWwsIFByb2R1Y3QsIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsIFdoZXJlIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB9IGZyb20gJy4vY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXInXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZXdDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgaW1wbGVtZW50cyBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdDYXRlZ29yeVJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UmVwb3NpdG9yeTogQ2F0ZWdvcnlSZXBvc2l0b3J5KSB7fVxuXG4gIGFzeW5jIGJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+PiB7XG4gICAgY29uc3QgbG9hZGVkQ2F0ZWdvcnkgPSBhd2FpdCB0aGlzLmdldENhdGVnb3J5KGNhdGVnb3J5KVxuXG4gICAgaWYgKGxvYWRlZENhdGVnb3J5LmlzQ29sbGVjdGlvbikgcmV0dXJuIHsgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogbG9hZGVkQ2F0ZWdvcnkucHJvZHVjdHMgfSB9XG5cbiAgICBjb25zdCBjYXRlZ29yeUlkcyA9IFsuLi4oYXdhaXQgdGhpcy5nZXRBbGxDYXRlZ29yaWVzSWRGcm9tQ2F0ZWdvcnkoY2F0ZWdvcnkpKSwgY2F0ZWdvcnkuaWQudG9TdHJpbmcoKV1cblxuICAgIHJldHVybiB7XG4gICAgICBjYXRlZ29yeToge1xuICAgICAgICBpZDoge1xuICAgICAgICAgIG9wZXJhdG9yOiBXaGVyZS5JTixcbiAgICAgICAgICB2YWx1ZTogY2F0ZWdvcnlJZHMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0QWxsQ2F0ZWdvcmllc0lkRnJvbUNhdGVnb3J5KGNhdGVnb3J5OiBDYXRlZ29yeSk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeVJlcG9zaXRvcnlcbiAgICAgIC5nZXRDaGlsZHJlbigrY2F0ZWdvcnkuaWQpXG4gICAgICAudGhlbigoY2F0ZWdvcmllcykgPT4gY2F0ZWdvcmllcy5tYXAoKGNhdGVnb3J5KSA9PiBjYXRlZ29yeS5pZC50b1N0cmluZygpKSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxDYXRlZ29yeT4ge1xuICAgIGNvbnN0IGNvbGxlY3Rpb25DYXRlZ29yeSA9XG4gICAgICBjYXRlZ29yeS5pc0NvbGxlY3Rpb24gfHxcbiAgICAgIChpc05pbChjYXRlZ29yeS5pc0NvbGxlY3Rpb24pICYmICFjYXRlZ29yeS5wcm9kdWN0cz8ubGVuZ3RoKSB8fFxuICAgICAgY2F0ZWdvcnkuaXNXaXNobGlzdCB8fFxuICAgICAgY2F0ZWdvcnkuYnJhbmRDYXRlZ29yeVxuXG4gICAgcmV0dXJuIGNvbGxlY3Rpb25DYXRlZ29yeSA/IHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldCh7IGlkOiBjYXRlZ29yeS5pZCB9KSA6IGNhdGVnb3J5XG4gIH1cbn1cbiJdfQ==
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { isNil, Where } from '@infrab4a/connect';
3
+ import * as i0 from "@angular/core";
4
+ export class NewCategoryStructureAdapter {
5
+ constructor(categoryRepository) {
6
+ this.categoryRepository = categoryRepository;
7
+ }
8
+ async buildProductFilterByCategory(category) {
9
+ const loadedCategory = await this.getCategory(category);
10
+ if (loadedCategory.isCollection)
11
+ return { id: { operator: Where.IN, value: loadedCategory.products } };
12
+ const categoryIds = [...(await this.getAllCategoriesIdFromCategory(category)), category.id.toString()];
13
+ return {
14
+ category: {
15
+ id: {
16
+ operator: Where.IN,
17
+ value: categoryIds,
18
+ },
19
+ },
20
+ };
21
+ }
22
+ async getAllCategoriesIdFromCategory(category) {
23
+ return this.categoryRepository
24
+ .getChildren(+category.id)
25
+ .then((categories) => categories.map((category) => category.id.toString()));
26
+ }
27
+ async getCategory(category) {
28
+ const collectionCategory = category.isCollection ||
29
+ (isNil(category.isCollection) && !category.products?.length) ||
30
+ category.isWishlist ||
31
+ category.brandCategory;
32
+ return collectionCategory ? this.categoryRepository.get({ id: category.id }) : category;
33
+ }
34
+ }
35
+ NewCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ NewCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
38
+ type: Injectable
39
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
40
+ type: Inject,
41
+ args: ['CategoryRepository']
42
+ }] }]; } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhdGVnb3J5LXN0cnVjdHVyZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2FkYXB0ZXJzL25ldy1jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQWdDLEtBQUssRUFBbUMsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7O0FBSy9HLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFBMkQsa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFBRyxDQUFDO0lBRXJHLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxRQUFrQjtRQUNuRCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkQsSUFBSSxjQUFjLENBQUMsWUFBWTtZQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUE7UUFFdEcsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsOEJBQThCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFFdEcsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDUixFQUFFLEVBQUU7b0JBQ0YsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNsQixLQUFLLEVBQUUsV0FBVztpQkFDbkI7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLDhCQUE4QixDQUFDLFFBQWtCO1FBQzdELE9BQU8sSUFBSSxDQUFDLGtCQUFrQjthQUMzQixXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2FBQ3pCLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDL0UsQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBa0I7UUFDMUMsTUFBTSxrQkFBa0IsR0FDdEIsUUFBUSxDQUFDLFlBQVk7WUFDckIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7WUFDNUQsUUFBUSxDQUFDLFVBQVU7WUFDbkIsUUFBUSxDQUFDLGFBQWEsQ0FBQTtRQUV4QixPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDekYsQ0FBQzs7d0hBbENVLDJCQUEyQixrQkFDbEIsb0JBQW9COzRIQUQ3QiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBRUksTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDYXRlZ29yeSwgQ2F0ZWdvcnlSZXBvc2l0b3J5LCBpc05pbCwgUHJvZHVjdCwgUmVwb3NpdG9yeUZpbmRGaWVsdGVycywgV2hlcmUgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB9IGZyb20gJy4vY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXInXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZXdDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgaW1wbGVtZW50cyBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIge1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ0NhdGVnb3J5UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlSZXBvc2l0b3J5OiBDYXRlZ29yeVJlcG9zaXRvcnkpIHt9XHJcblxyXG4gIGFzeW5jIGJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+PiB7XHJcbiAgICBjb25zdCBsb2FkZWRDYXRlZ29yeSA9IGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcnkoY2F0ZWdvcnkpXHJcblxyXG4gICAgaWYgKGxvYWRlZENhdGVnb3J5LmlzQ29sbGVjdGlvbikgcmV0dXJuIHsgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogbG9hZGVkQ2F0ZWdvcnkucHJvZHVjdHMgfSB9XHJcblxyXG4gICAgY29uc3QgY2F0ZWdvcnlJZHMgPSBbLi4uKGF3YWl0IHRoaXMuZ2V0QWxsQ2F0ZWdvcmllc0lkRnJvbUNhdGVnb3J5KGNhdGVnb3J5KSksIGNhdGVnb3J5LmlkLnRvU3RyaW5nKCldXHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY2F0ZWdvcnk6IHtcclxuICAgICAgICBpZDoge1xyXG4gICAgICAgICAgb3BlcmF0b3I6IFdoZXJlLklOLFxyXG4gICAgICAgICAgdmFsdWU6IGNhdGVnb3J5SWRzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldEFsbENhdGVnb3JpZXNJZEZyb21DYXRlZ29yeShjYXRlZ29yeTogQ2F0ZWdvcnkpOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeVJlcG9zaXRvcnlcclxuICAgICAgLmdldENoaWxkcmVuKCtjYXRlZ29yeS5pZClcclxuICAgICAgLnRoZW4oKGNhdGVnb3JpZXMpID0+IGNhdGVnb3JpZXMubWFwKChjYXRlZ29yeSkgPT4gY2F0ZWdvcnkuaWQudG9TdHJpbmcoKSkpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldENhdGVnb3J5KGNhdGVnb3J5OiBDYXRlZ29yeSk6IFByb21pc2U8Q2F0ZWdvcnk+IHtcclxuICAgIGNvbnN0IGNvbGxlY3Rpb25DYXRlZ29yeSA9XHJcbiAgICAgIGNhdGVnb3J5LmlzQ29sbGVjdGlvbiB8fFxyXG4gICAgICAoaXNOaWwoY2F0ZWdvcnkuaXNDb2xsZWN0aW9uKSAmJiAhY2F0ZWdvcnkucHJvZHVjdHM/Lmxlbmd0aCkgfHxcclxuICAgICAgY2F0ZWdvcnkuaXNXaXNobGlzdCB8fFxyXG4gICAgICBjYXRlZ29yeS5icmFuZENhdGVnb3J5XHJcblxyXG4gICAgcmV0dXJuIGNvbGxlY3Rpb25DYXRlZ29yeSA/IHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldCh7IGlkOiBjYXRlZ29yeS5pZCB9KSA6IGNhdGVnb3J5XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,23 +1,23 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { Where } from '@infrab4a/connect';
3
- import * as i0 from "@angular/core";
4
- export class OldCategoryStructureAdapter {
5
- constructor(categoryRepository) {
6
- this.categoryRepository = categoryRepository;
7
- }
8
- async buildProductFilterByCategory(category) {
9
- const productsIds = category.products?.length
10
- ? category.products
11
- : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
12
- return { id: { operator: Where.IN, value: productsIds } };
13
- }
14
- }
15
- OldCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
16
- OldCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
18
- type: Injectable
19
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
20
- type: Inject,
21
- args: ['CategoryRepository']
22
- }] }]; } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2xkLWNhdGVnb3J5LXN0cnVjdHVyZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2FkYXB0ZXJzL29sZC1jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQWlFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBOztBQUt4RyxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBQTJELGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQUcsQ0FBQztJQUVyRyxLQUFLLENBQUMsNEJBQTRCLENBQUMsUUFBa0I7UUFDbkQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNO1lBQzNDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUTtZQUNuQixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRTFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQTtJQUMzRCxDQUFDOzt3SEFUVSwyQkFBMkIsa0JBQ2xCLG9CQUFvQjs0SEFEN0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVU7OzBCQUVJLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENhdGVnb3J5LCBDYXRlZ29yeVJlcG9zaXRvcnksIFByb2R1Y3QsIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsIFdoZXJlIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB9IGZyb20gJy4vY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXInXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgaW1wbGVtZW50cyBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdDYXRlZ29yeVJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UmVwb3NpdG9yeTogQ2F0ZWdvcnlSZXBvc2l0b3J5KSB7fVxuXG4gIGFzeW5jIGJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+PiB7XG4gICAgY29uc3QgcHJvZHVjdHNJZHMgPSBjYXRlZ29yeS5wcm9kdWN0cz8ubGVuZ3RoXG4gICAgICA/IGNhdGVnb3J5LnByb2R1Y3RzXG4gICAgICA6IGF3YWl0IHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldCh7IGlkOiBjYXRlZ29yeS5pZCB9KS50aGVuKChjYXRlZ29yeUZvdW5kKSA9PiBjYXRlZ29yeUZvdW5kLnByb2R1Y3RzKVxuXG4gICAgcmV0dXJuIHsgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogcHJvZHVjdHNJZHMgfSB9XG4gIH1cbn1cbiJdfQ==
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { Where } from '@infrab4a/connect';
3
+ import * as i0 from "@angular/core";
4
+ export class OldCategoryStructureAdapter {
5
+ constructor(categoryRepository) {
6
+ this.categoryRepository = categoryRepository;
7
+ }
8
+ async buildProductFilterByCategory(category) {
9
+ const productsIds = category.products?.length
10
+ ? category.products
11
+ : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
12
+ return { id: { operator: Where.IN, value: productsIds } };
13
+ }
14
+ }
15
+ OldCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
16
+ OldCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
18
+ type: Injectable
19
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
20
+ type: Inject,
21
+ args: ['CategoryRepository']
22
+ }] }]; } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2xkLWNhdGVnb3J5LXN0cnVjdHVyZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2FkYXB0ZXJzL29sZC1jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQWlFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBOztBQUt4RyxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBQTJELGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQUcsQ0FBQztJQUVyRyxLQUFLLENBQUMsNEJBQTRCLENBQUMsUUFBa0I7UUFDbkQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNO1lBQzNDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUTtZQUNuQixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRTFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQTtJQUMzRCxDQUFDOzt3SEFUVSwyQkFBMkIsa0JBQ2xCLG9CQUFvQjs0SEFEN0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVU7OzBCQUVJLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQ2F0ZWdvcnksIENhdGVnb3J5UmVwb3NpdG9yeSwgUHJvZHVjdCwgUmVwb3NpdG9yeUZpbmRGaWVsdGVycywgV2hlcmUgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB9IGZyb20gJy4vY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXInXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgaW1wbGVtZW50cyBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIge1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ0NhdGVnb3J5UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlSZXBvc2l0b3J5OiBDYXRlZ29yeVJlcG9zaXRvcnkpIHt9XHJcblxyXG4gIGFzeW5jIGJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+PiB7XHJcbiAgICBjb25zdCBwcm9kdWN0c0lkcyA9IGNhdGVnb3J5LnByb2R1Y3RzPy5sZW5ndGhcclxuICAgICAgPyBjYXRlZ29yeS5wcm9kdWN0c1xyXG4gICAgICA6IGF3YWl0IHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldCh7IGlkOiBjYXRlZ29yeS5pZCB9KS50aGVuKChjYXRlZ29yeUZvdW5kKSA9PiBjYXRlZ29yeUZvdW5kLnByb2R1Y3RzKVxyXG5cclxuICAgIHJldHVybiB7IGlkOiB7IG9wZXJhdG9yOiBXaGVyZS5JTiwgdmFsdWU6IHByb2R1Y3RzSWRzIH0gfVxyXG4gIH1cclxufVxyXG4iXX0=