@infrab4a/connect-angular 5.1.0 → 5.2.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/angular-connect.module.d.ts +36 -26
  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 -18
  5. package/angular-hasura-graphql.module.d.ts +14 -16
  6. package/angular-vertex-search.module.d.ts +9 -0
  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 -3
  12. package/consts/hasura-options.const.d.ts +1 -1
  13. package/consts/index.d.ts +8 -7
  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 -0
  17. package/esm2020/angular-connect.module.mjs +289 -115
  18. package/esm2020/angular-elastic-search.module.mjs +34 -34
  19. package/esm2020/angular-firebase-auth.module.mjs +141 -115
  20. package/esm2020/angular-firestore.module.mjs +541 -504
  21. package/esm2020/angular-hasura-graphql.module.mjs +333 -265
  22. package/esm2020/angular-vertex-search.module.mjs +34 -0
  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 -4
  28. package/esm2020/consts/hasura-options.const.mjs +2 -2
  29. package/esm2020/consts/index.mjs +9 -8
  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 -0
  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 -0
  38. package/esm2020/interfaces/category-facades.interface.mjs +2 -0
  39. package/esm2020/interfaces/index.mjs +3 -0
  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 -0
  45. package/esm2020/services/cart/index.mjs +2 -0
  46. package/esm2020/services/cart.service.mjs +73 -281
  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 -194
  52. package/esm2020/services/catalog/category.service.mjs +39 -51
  53. package/esm2020/services/catalog/context/catalog-search.context.mjs +40 -0
  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 -0
  57. package/esm2020/services/catalog/facades/catalog-strategies.facade.mjs +17 -0
  58. package/esm2020/services/catalog/facades/category-repository.facade.mjs +20 -0
  59. package/esm2020/services/catalog/facades/category-service.facade.mjs +30 -0
  60. package/esm2020/services/catalog/facades/index.mjs +6 -0
  61. package/esm2020/services/catalog/facades/product-catalog.facade.mjs +21 -0
  62. package/esm2020/services/catalog/helpers/brand-manager.helper.mjs +57 -0
  63. package/esm2020/services/catalog/helpers/catalog-filter.helper.mjs +44 -0
  64. package/esm2020/services/catalog/helpers/catalog-sort.helper.mjs +52 -0
  65. package/esm2020/services/catalog/helpers/index.mjs +5 -0
  66. package/esm2020/services/catalog/helpers/product-fields.helper.mjs +39 -0
  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 -0
  71. package/esm2020/services/catalog/services/catalog-operations.facade.mjs +26 -0
  72. package/esm2020/services/catalog/services/catalog-repository.service.mjs +25 -0
  73. package/esm2020/services/catalog/services/index.mjs +5 -0
  74. package/esm2020/services/catalog/services/product-management.facade.mjs +25 -0
  75. package/esm2020/services/catalog/strategies/category-search.strategy.mjs +133 -0
  76. package/esm2020/services/catalog/strategies/index.mjs +4 -0
  77. package/esm2020/services/catalog/strategies/profile-search.strategy.mjs +42 -0
  78. package/esm2020/services/catalog/strategies/term-search.strategy.mjs +126 -0
  79. package/esm2020/services/catalog/strategies/types/strategy-params.type.mjs +2 -0
  80. package/esm2020/services/catalog/types/fetch-products-options.type.mjs +2 -0
  81. package/esm2020/services/catalog/types/fetch-products-params.type.mjs +2 -0
  82. package/esm2020/services/catalog/types/fetch-products-response.type.mjs +2 -0
  83. package/esm2020/services/catalog/types/index.mjs +6 -2
  84. package/esm2020/services/catalog/types/method-params.type.mjs +2 -0
  85. package/esm2020/services/catalog/types/product-sort.type.mjs +2 -2
  86. package/esm2020/services/catalog/wishlist.service.mjs +255 -115
  87. package/esm2020/services/checkout/checkout-dependencies.facade.mjs +20 -0
  88. package/esm2020/services/checkout/checkout-repositories.facade.mjs +20 -0
  89. package/esm2020/services/checkout/index.mjs +3 -0
  90. package/esm2020/services/checkout-subscription.service.mjs +55 -50
  91. package/esm2020/services/checkout.service.mjs +106 -68
  92. package/esm2020/services/coupon/coupon-repositories.facade.mjs +24 -0
  93. package/esm2020/services/coupon/index.mjs +2 -0
  94. package/esm2020/services/coupon/types/coupon-params.type.mjs +2 -0
  95. package/esm2020/services/coupon.service.mjs +248 -235
  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 -0
  99. package/esm2020/services/home-shop/index.mjs +2 -0
  100. package/esm2020/services/home-shop.service.mjs +119 -125
  101. package/esm2020/services/index.mjs +10 -11
  102. package/esm2020/services/order.service.mjs +30 -30
  103. package/esm2020/services/shared/configuration.facade.mjs +29 -0
  104. package/esm2020/services/shared/index.mjs +2 -0
  105. package/esm2020/services/types/index.mjs +3 -3
  106. package/esm2020/services/types/required-checkout-data.type.mjs +2 -2
  107. package/esm2020/services/types/required-checkout-subscription-data.type.mjs +2 -2
  108. package/esm2020/types/firebase-app-config.type.mjs +2 -2
  109. package/esm2020/types/index.mjs +2 -2
  110. package/fesm2015/infrab4a-connect-angular.mjs +3297 -2342
  111. package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
  112. package/fesm2020/infrab4a-connect-angular.mjs +3206 -2281
  113. package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
  114. package/helpers/index.d.ts +1 -1
  115. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -3
  116. package/index.d.ts +6 -6
  117. package/interfaces/catalog-strategies.interface.d.ts +31 -0
  118. package/interfaces/category-facades.interface.d.ts +6 -0
  119. package/interfaces/index.d.ts +2 -0
  120. package/package.json +8 -6
  121. package/persistence/cookie-data-persistence.d.ts +10 -10
  122. package/persistence/data-persistence.d.ts +6 -6
  123. package/persistence/index.d.ts +2 -2
  124. package/services/auth.service.d.ts +18 -18
  125. package/services/cart/cart-services.facade.d.ts +12 -0
  126. package/services/cart/index.d.ts +1 -0
  127. package/services/cart.service.d.ts +26 -42
  128. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -4
  129. package/services/catalog/adapters/index.d.ts +3 -3
  130. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -12
  131. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -10
  132. package/services/catalog/catalog.service.d.ts +24 -86
  133. package/services/catalog/category.service.d.ts +22 -20
  134. package/services/catalog/context/catalog-search.context.d.ts +14 -0
  135. package/services/catalog/enums/index.d.ts +1 -1
  136. package/services/catalog/enums/product-sorts.enum.d.ts +9 -9
  137. package/services/catalog/facades/catalog-service.facade.d.ts +15 -0
  138. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -0
  139. package/services/catalog/facades/category-repository.facade.d.ts +9 -0
  140. package/services/catalog/facades/category-service.facade.d.ts +15 -0
  141. package/services/catalog/facades/index.d.ts +5 -0
  142. package/services/catalog/facades/product-catalog.facade.d.ts +10 -0
  143. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -0
  144. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -0
  145. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -0
  146. package/services/catalog/helpers/index.d.ts +4 -0
  147. package/services/catalog/helpers/product-fields.helper.d.ts +7 -0
  148. package/services/catalog/index.d.ts +7 -7
  149. package/services/catalog/models/category-with-tree.model.d.ts +4 -4
  150. package/services/catalog/models/index.d.ts +1 -1
  151. package/services/catalog/services/catalog-helpers.service.d.ts +17 -0
  152. package/services/catalog/services/catalog-operations.facade.d.ts +13 -0
  153. package/services/catalog/services/catalog-repository.service.d.ts +12 -0
  154. package/services/catalog/services/index.d.ts +4 -0
  155. package/services/catalog/services/product-management.facade.d.ts +12 -0
  156. package/services/catalog/strategies/category-search.strategy.d.ts +19 -0
  157. package/services/catalog/strategies/index.d.ts +3 -0
  158. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -0
  159. package/services/catalog/strategies/term-search.strategy.d.ts +20 -0
  160. package/services/catalog/strategies/types/strategy-params.type.d.ts +58 -0
  161. package/services/catalog/types/fetch-products-options.type.d.ts +8 -0
  162. package/services/catalog/types/fetch-products-params.type.d.ts +25 -0
  163. package/services/catalog/types/fetch-products-response.type.d.ts +19 -0
  164. package/services/catalog/types/index.d.ts +5 -1
  165. package/services/catalog/types/method-params.type.d.ts +17 -0
  166. package/services/catalog/types/product-sort.type.d.ts +2 -2
  167. package/services/catalog/wishlist.service.d.ts +58 -38
  168. package/services/checkout/checkout-dependencies.facade.d.ts +10 -0
  169. package/services/checkout/checkout-repositories.facade.d.ts +9 -0
  170. package/services/checkout/index.d.ts +2 -0
  171. package/services/checkout-subscription.service.d.ts +19 -19
  172. package/services/checkout.service.d.ts +30 -24
  173. package/services/coupon/coupon-repositories.facade.d.ts +10 -0
  174. package/services/coupon/index.d.ts +1 -0
  175. package/services/coupon/types/coupon-params.type.d.ts +13 -0
  176. package/services/coupon.service.d.ts +36 -29
  177. package/services/helpers/index.d.ts +1 -1
  178. package/services/helpers/util.helper.d.ts +3 -3
  179. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -0
  180. package/services/home-shop/index.d.ts +1 -0
  181. package/services/home-shop.service.d.ts +26 -26
  182. package/services/index.d.ts +9 -10
  183. package/services/order.service.d.ts +13 -13
  184. package/services/shared/configuration.facade.d.ts +12 -0
  185. package/services/shared/index.d.ts +1 -0
  186. package/services/types/index.d.ts +2 -2
  187. package/services/types/required-checkout-data.type.d.ts +2 -2
  188. package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
  189. package/types/firebase-app-config.type.d.ts +1 -1
  190. package/types/index.d.ts +1 -1
  191. package/esm2020/services/shipping.service.mjs +0 -96
  192. package/esm2020/services/types/shipping-methods.type.mjs +0 -2
  193. package/services/shipping.service.d.ts +0 -19
  194. package/services/types/shipping-methods.type.d.ts +0 -12
@@ -1,115 +1,255 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { ProductsIndex, Shops, Wishlist, } from '@infrab4a/connect';
3
- import { DEFAULT_SHOP } from '../../consts';
4
- import { NewCategoryStructureAdapter } from './adapters';
5
- import { CatalogService } from './catalog.service';
6
- import { CategoryService } from './category.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@infrab4a/connect";
9
- export class WishlistService {
10
- constructor(wishlistRepository, shop, productRepository, categoryFilterRepository, categoryRepository, productIndex) {
11
- this.wishlistRepository = wishlistRepository;
12
- this.shop = shop;
13
- const categoryStructureAdapter = new NewCategoryStructureAdapter(wishlistRepository);
14
- this.catalogService = new CatalogService(productRepository, categoryRepository, categoryStructureAdapter, shop, productIndex);
15
- this.categoryService = new CategoryService(productRepository, categoryRepository, categoryFilterRepository, categoryStructureAdapter, shop);
16
- }
17
- getCatalogService() {
18
- return this.catalogService;
19
- }
20
- getCategoryService() {
21
- return this.categoryService;
22
- }
23
- async create({ personId, title, description, userFullName, userPhoto, theme, bannerUrl, }) {
24
- const data = {
25
- slug: '',
26
- name: title,
27
- description,
28
- metadata: {
29
- title: `${userFullName} - ${title}`,
30
- description: `${userFullName} - ${description}`,
31
- },
32
- shop: this.shop,
33
- shops: [this.shop],
34
- personId,
35
- personName: userFullName,
36
- personPhoto: userPhoto,
37
- brandCategory: false,
38
- published: true,
39
- theme,
40
- bannerUrl,
41
- };
42
- const newWishlist = await this.wishlistRepository.create(data);
43
- await this.wishlistRepository.update({ id: newWishlist.id, slug: newWishlist.id });
44
- return Wishlist.toInstance({ ...newWishlist.toPlain(), slug: newWishlist.id });
45
- }
46
- update({ id, title, description, userFullName, userPhoto, theme, bannerUrl, }) {
47
- const data = {
48
- id,
49
- name: title,
50
- description,
51
- metadata: {
52
- title: `${userFullName} - ${title}`,
53
- description: `${userFullName} - ${description}`,
54
- },
55
- personName: userFullName,
56
- personPhoto: userPhoto,
57
- theme,
58
- bannerUrl,
59
- };
60
- return this.wishlistRepository.update(data);
61
- }
62
- delete(wishlistId) {
63
- return this.wishlistRepository.delete({ id: wishlistId });
64
- }
65
- getWishlistBySlug(slug) {
66
- const [id] = slug.split('-');
67
- if (+id)
68
- return this.wishlistRepository.get({ id });
69
- return this.wishlistRepository.getWishlistBySlug(slug);
70
- }
71
- getWishlistsByPerson(personId) {
72
- return this.wishlistRepository.getWishlistByPerson(personId);
73
- }
74
- async addProduct(wishlistId, productId) {
75
- const wishlist = await this.wishlistRepository.get({ id: wishlistId });
76
- const hasProduct = wishlist.products.some((p) => p == productId);
77
- if (!hasProduct) {
78
- wishlist.products = [...wishlist.products, productId];
79
- return this.wishlistRepository.update({ id: wishlistId, products: wishlist.products });
80
- }
81
- return wishlist;
82
- }
83
- async removeProduct(wishlistId, productId) {
84
- const wishlist = await this.wishlistRepository.get({ id: wishlistId });
85
- const productIndex = wishlist.products.findIndex((p) => p == productId);
86
- if (productIndex != -1) {
87
- wishlist.products.splice(productIndex, 1);
88
- if (!wishlist.products.length)
89
- return this.wishlistRepository.update({ id: wishlistId, products: { action: 'remove' } });
90
- return this.wishlistRepository.update({ id: wishlistId, products: wishlist.products });
91
- }
92
- return wishlist;
93
- }
94
- }
95
- WishlistService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService, deps: [{ token: 'WishlistRepository' }, { token: DEFAULT_SHOP }, { token: 'ProductRepository' }, { token: 'CategoryFilterRepository' }, { token: 'CategoryRepository' }, { token: i1.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable });
96
- WishlistService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService });
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService, decorators: [{
98
- type: Injectable
99
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
100
- type: Inject,
101
- args: ['WishlistRepository']
102
- }] }, { type: i1.Shops, decorators: [{
103
- type: Inject,
104
- args: [DEFAULT_SHOP]
105
- }] }, { type: undefined, decorators: [{
106
- type: Inject,
107
- args: ['ProductRepository']
108
- }] }, { type: undefined, decorators: [{
109
- type: Inject,
110
- args: ['CategoryFilterRepository']
111
- }] }, { type: undefined, decorators: [{
112
- type: Inject,
113
- args: ['CategoryRepository']
114
- }] }, { type: i1.ProductsIndex }]; } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzaGxpc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy93aXNobGlzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFJTCxhQUFhLEVBQ2IsS0FBSyxFQUNMLFFBQVEsR0FFVCxNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDM0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7OztBQUdwRCxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNpRCxrQkFBc0MsRUFDOUMsSUFBVyxFQUNyQixpQkFBb0MsRUFDN0Isd0JBQWtELEVBQ3hELGtCQUFzQyxFQUNwRSxZQUEyQjtRQUxvQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQzlDLFNBQUksR0FBSixJQUFJLENBQU87UUFNbEQsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFcEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FDdEMsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsSUFBSSxFQUNKLFlBQVksQ0FDYixDQUFBO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FDeEMsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLElBQUksQ0FDTCxDQUFBO0lBQ0gsQ0FB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QUUzRixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtTQUN2RjtRQUVELE9BQU8sUUFBUSxDQUFBO0lBQ2pCLENBQUM7OzRHQTdKVSxlQUFlLGtCQUtoQixvQkFBb0IsYUFDcEIsWUFBWSxhQUNaLG1CQUFtQixhQUNuQiwwQkFBMEIsYUFDMUIsb0JBQW9CO2dIQVRuQixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQU1OLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsTUFBTTsyQkFBQyxZQUFZOzswQkFDbkIsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLDBCQUEwQjs7MEJBQ2pDLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeSxcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICBQcm9kdWN0UmVwb3NpdG9yeSxcbiAgUHJvZHVjdHNJbmRleCxcbiAgU2hvcHMsXG4gIFdpc2hsaXN0LFxuICBXaXNobGlzdFJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuaW1wb3J0IHsgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vLi4vY29uc3RzJ1xuaW1wb3J0IHsgTmV3Q2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyIH0gZnJvbSAnLi9hZGFwdGVycydcbmltcG9ydCB7IENhdGFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9jYXRhbG9nLnNlcnZpY2UnXG5pbXBvcnQgeyBDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICcuL2NhdGVnb3J5LnNlcnZpY2UnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXaXNobGlzdFNlcnZpY2Uge1xuICBwcml2YXRlIGNhdGFsb2dTZXJ2aWNlOiBDYXRhbG9nU2VydmljZVxuICBwcml2YXRlIGNhdGVnb3J5U2VydmljZTogQ2F0ZWdvcnlTZXJ2aWNlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnV2lzaGxpc3RSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSB3aXNobGlzdFJlcG9zaXRvcnk6IFdpc2hsaXN0UmVwb3NpdG9yeSxcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHJpdmF0ZSByZWFkb25seSBzaG9wOiBTaG9wcyxcbiAgICBASW5qZWN0KCdQcm9kdWN0UmVwb3NpdG9yeScpIHByb2R1Y3RSZXBvc2l0b3J5OiBQcm9kdWN0UmVwb3NpdG9yeSxcbiAgICBASW5qZWN0KCdDYXRlZ29yeUZpbHRlclJlcG9zaXRvcnknKSBjYXRlZ29yeUZpbHRlclJlcG9zaXRvcnk6IENhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeSxcbiAgICBASW5qZWN0KCdDYXRlZ29yeVJlcG9zaXRvcnknKSBjYXRlZ29yeVJlcG9zaXRvcnk6IENhdGVnb3J5UmVwb3NpdG9yeSxcbiAgICBwcm9kdWN0SW5kZXg6IFByb2R1Y3RzSW5kZXgsXG4gICkge1xuICAgIGNvbnN0IGNhdGVnb3J5U3RydWN0dXJlQWRhcHRlciA9IG5ldyBOZXdDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIod2lzaGxpc3RSZXBvc2l0b3J5KVxuXG4gICAgdGhpcy5jYXRhbG9nU2VydmljZSA9IG5ldyBDYXRhbG9nU2VydmljZTxXaXNobGlzdD4oXG4gICAgICBwcm9kdWN0UmVwb3NpdG9yeSxcbiAgICAgIGNhdGVnb3J5UmVwb3NpdG9yeSxcbiAgICAgIGNhdGVnb3J5U3RydWN0dXJlQWRhcHRlcixcbiAgICAgIHNob3AsXG4gICAgICBwcm9kdWN0SW5kZXgsXG4gICAgKVxuICAgIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlID0gbmV3IENhdGVnb3J5U2VydmljZShcbiAgICAgIHByb2R1Y3RSZXBvc2l0b3J5LFxuICAgICAgY2F0ZWdvcnlSZXBvc2l0b3J5LFxuICAgICAgY2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5LFxuICAgICAgY2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLFxuICAgICAgc2hvcCxcbiAgICApXG4gIH1cblxuICBnZXRDYXRhbG9nU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jYXRhbG9nU2VydmljZVxuICB9XG5cbiAgZ2V0Q2F0ZWdvcnlTZXJ2aWNlKCkge1xuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5U2VydmljZVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlKHtcbiAgICBwZXJzb25JZCxcbiAgICB0aXRsZSxcbiAgICBkZXNjcmlwdGlvbixcbiAgICB1c2VyRnVsbE5hbWUsXG4gICAgdXNlclBob3RvLFxuICAgIHRoZW1lLFxuICAgIGJhbm5lclVybCxcbiAgfToge1xuICAgIHBlcnNvbklkOiBzdHJpbmdcbiAgICB0aXRsZTogc3RyaW5nXG4gICAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAgIHVzZXJGdWxsTmFtZTogc3RyaW5nXG4gICAgdXNlclBob3RvPzogc3RyaW5nXG4gICAgdGhlbWU/OiBzdHJpbmdcbiAgICBiYW5uZXJVcmw/OiBzdHJpbmdcbiAgfSk6IFByb21pc2U8V2lzaGxpc3Q+IHtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgc2x1ZzogJycsXG4gICAgICBuYW1lOiB0aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgdGl0bGU6IGAke3VzZXJGdWxsTmFtZX0gLSAke3RpdGxlfWAsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHt1c2VyRnVsbE5hbWV9IC0gJHtkZXNjcmlwdGlvbn1gLFxuICAgICAgfSxcbiAgICAgIHNob3A6IHRoaXMuc2hvcCxcbiAgICAgIHNob3BzOiBbdGhpcy5zaG9wXSxcbiAgICAgIHBlcnNvbklkLFxuICAgICAgcGVyc29uTmFtZTogdXNlckZ1bGxOYW1lLFxuICAgICAgcGVyc29uUGhvdG86IHVzZXJQaG90byxcbiAgICAgIGJyYW5kQ2F0ZWdvcnk6IGZhbHNlLFxuICAgICAgcHVibGlzaGVkOiB0cnVlLFxuICAgICAgdGhlbWUsXG4gICAgICBiYW5uZXJVcmwsXG4gICAgfVxuXG4gICAgY29uc3QgbmV3V2lzaGxpc3QgPSBhd2FpdCB0aGlzLndpc2hsaXN0UmVwb3NpdG9yeS5jcmVhdGUoZGF0YSlcblxuICAgIGF3YWl0IHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5LnVwZGF0ZSh7IGlkOiBuZXdXaXNobGlzdC5pZCwgc2x1ZzogbmV3V2lzaGxpc3QuaWQgfSlcblxuICAgIHJldHVybiBXaXNobGlzdC50b0luc3RhbmNlKHsgLi4ubmV3V2lzaGxpc3QudG9QbGFpbigpLCBzbHVnOiBuZXdXaXNobGlzdC5pZCB9KVxuICB9XG5cbiAgdXBkYXRlKHtcbiAgICBpZCxcbiAgICB0aXRsZSxcbiAgICBkZXNjcmlwdGlvbixcbiAgICB1c2VyRnVsbE5hbWUsXG4gICAgdXNlclBob3RvLFxuICAgIHRoZW1lLFxuICAgIGJhbm5lclVybCxcbiAgfToge1xuICAgIGlkOiBzdHJpbmdcbiAgICB0aXRsZTogc3RyaW5nXG4gICAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAgIHVzZXJGdWxsTmFtZTogc3RyaW5nXG4gICAgdXNlclBob3RvPzogc3RyaW5nXG4gICAgdGhlbWU/OiBzdHJpbmdcbiAgICBiYW5uZXJVcmw/OiBzdHJpbmdcbiAgfSk6IFByb21pc2U8V2lzaGxpc3Q+IHtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgaWQsXG4gICAgICBuYW1lOiB0aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgdGl0bGU6IGAke3VzZXJGdWxsTmFtZX0gLSAke3RpdGxlfWAsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHt1c2VyRnVsbE5hbWV9IC0gJHtkZXNjcmlwdGlvbn1gLFxuICAgICAgfSxcbiAgICAgIHBlcnNvbk5hbWU6IHVzZXJGdWxsTmFtZSxcbiAgICAgIHBlcnNvblBob3RvOiB1c2VyUGhvdG8sXG4gICAgICB0aGVtZSxcbiAgICAgIGJhbm5lclVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy53aXNobGlzdFJlcG9zaXRvcnkudXBkYXRlKGRhdGEpXG4gIH1cblxuICBkZWxldGUod2lzaGxpc3RJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5LmRlbGV0ZSh7IGlkOiB3aXNobGlzdElkIH0pXG4gIH1cblxuICBnZXRXaXNobGlzdEJ5U2x1ZyhzbHVnOiBzdHJpbmcpOiBQcm9taXNlPFdpc2hsaXN0PiB7XG4gICAgY29uc3QgW2lkXSA9IHNsdWcuc3BsaXQoJy0nKVxuXG4gICAgaWYgKCtpZCkgcmV0dXJuIHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5LmdldCh7IGlkIH0pXG5cbiAgICByZXR1cm4gdGhpcy53aXNobGlzdFJlcG9zaXRvcnkuZ2V0V2lzaGxpc3RCeVNsdWcoc2x1ZylcbiAgfVxuXG4gIGdldFdpc2hsaXN0c0J5UGVyc29uKHBlcnNvbklkOiBzdHJpbmcpOiBQcm9taXNlPFdpc2hsaXN0W10+IHtcbiAgICByZXR1cm4gdGhpcy53aXNobGlzdFJlcG9zaXRvcnkuZ2V0V2lzaGxpc3RCeVBlcnNvbihwZXJzb25JZClcbiAgfVxuXG4gIGFzeW5jIGFkZFByb2R1Y3Qod2lzaGxpc3RJZDogc3RyaW5nLCBwcm9kdWN0SWQ6IHN0cmluZyk6IFByb21pc2U8V2lzaGxpc3Q+IHtcbiAgICBjb25zdCB3aXNobGlzdCA9IGF3YWl0IHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5LmdldCh7IGlkOiB3aXNobGlzdElkIH0pXG4gICAgY29uc3QgaGFzUHJvZHVjdCA9IHdpc2hsaXN0LnByb2R1Y3RzLnNvbWUoKHApID0+IHAgPT0gcHJvZHVjdElkKVxuXG4gICAgaWYgKCFoYXNQcm9kdWN0KSB7XG4gICAgICB3aXNobGlzdC5wcm9kdWN0cyA9IFsuLi53aXNobGlzdC5wcm9kdWN0cywgcHJvZHVjdElkXVxuICAgICAgcmV0dXJuIHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5LnVwZGF0ZSh7IGlkOiB3aXNobGlzdElkLCBwcm9kdWN0czogd2lzaGxpc3QucHJvZHVjdHMgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gd2lzaGxpc3RcbiAgfVxuXG4gIGFzeW5jIHJlbW92ZVByb2R1Y3Qod2lzaGxpc3RJZDogc3RyaW5nLCBwcm9kdWN0SWQ6IHN0cmluZyk6IFByb21pc2U8V2lzaGxpc3Q+IHtcbiAgICBjb25zdCB3aXNobGlzdCA9IGF3YWl0IHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5LmdldCh7IGlkOiB3aXNobGlzdElkIH0pXG4gICAgY29uc3QgcHJvZHVjdEluZGV4ID0gd2lzaGxpc3QucHJvZHVjdHMuZmluZEluZGV4KChwKSA9PiBwID09IHByb2R1Y3RJZClcblxuICAgIGlmIChwcm9kdWN0SW5kZXggIT0gLTEpIHtcbiAgICAgIHdpc2hsaXN0LnByb2R1Y3RzLnNwbGljZShwcm9kdWN0SW5kZXgsIDEpXG5cbiAgICAgIGlmICghd2lzaGxpc3QucHJvZHVjdHMubGVuZ3RoKVxuICAgICAgICByZXR1cm4gdGhpcy53aXNobGlzdFJlcG9zaXRvcnkudXBkYXRlKHsgaWQ6IHdpc2hsaXN0SWQsIHByb2R1Y3RzOiB7IGFjdGlvbjogJ3JlbW92ZScgfSB9KVxuXG4gICAgICByZXR1cm4gdGhpcy53aXNobGlzdFJlcG9zaXRvcnkudXBkYXRlKHsgaWQ6IHdpc2hsaXN0SWQsIHByb2R1Y3RzOiB3aXNobGlzdC5wcm9kdWN0cyB9KVxuICAgIH1cblxuICAgIHJldHVybiB3aXNobGlzdFxuICB9XG59XG4iXX0=
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { PersonTypes, Shops, Wishlist, WishlistLogType, } from '@infrab4a/connect';
3
+ import { DEFAULT_SHOP } from '../../consts';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@infrab4a/connect";
6
+ export class WishlistService {
7
+ constructor(wishlistRepository, shop, logRepository) {
8
+ this.wishlistRepository = wishlistRepository;
9
+ this.shop = shop;
10
+ this.logRepository = logRepository;
11
+ }
12
+ initializeServices(catalogServiceFacade, categoryServiceFacade) {
13
+ this.catalogService = catalogServiceFacade.getCatalogService();
14
+ this.categoryService = categoryServiceFacade.getCategoryService();
15
+ }
16
+ getCatalogService() {
17
+ return this.catalogService;
18
+ }
19
+ getCategoryService() {
20
+ return this.categoryService;
21
+ }
22
+ async create({ personId, title, description, published, userFullName, userPhoto, theme, bannerUrl, personType, personIsSubscriber, }) {
23
+ const wishlistData = this.buildWishlistData({
24
+ title,
25
+ description,
26
+ published,
27
+ userFullName,
28
+ userPhoto,
29
+ theme,
30
+ bannerUrl,
31
+ personType,
32
+ personIsSubscriber,
33
+ personId,
34
+ });
35
+ const existingWishlist = await this.findExistingWishlistByPersonId(personId);
36
+ await this.createWishlistLog(WishlistLogType.CREATE, wishlistData);
37
+ if (existingWishlist)
38
+ return existingWishlist;
39
+ return this.createNewWishlist(wishlistData);
40
+ }
41
+ buildWishlistData({ title, description, published, userFullName, userPhoto, theme, bannerUrl, personType, personIsSubscriber, personId, }) {
42
+ return {
43
+ slug: '',
44
+ name: title,
45
+ description,
46
+ metadatas: [
47
+ {
48
+ shop: this.shop,
49
+ title: `${userFullName} - ${title}`,
50
+ description: `${userFullName} - ${description}`,
51
+ },
52
+ ],
53
+ shop: this.shop,
54
+ shops: [this.shop],
55
+ personId,
56
+ personName: userFullName,
57
+ personPhoto: userPhoto,
58
+ brandCategory: false,
59
+ published,
60
+ theme,
61
+ bannerUrl,
62
+ personType: personType ?? PersonTypes.NONE,
63
+ personIsSubscriber: personIsSubscriber ?? false,
64
+ };
65
+ }
66
+ async findExistingWishlistByPersonId(personId) {
67
+ const hasWishlist = await this.wishlistRepository
68
+ .find({
69
+ filters: {
70
+ personId,
71
+ },
72
+ options: {
73
+ enableCount: false,
74
+ },
75
+ orderBy: {
76
+ id: 'asc',
77
+ },
78
+ })
79
+ .then((res) => res.data);
80
+ return hasWishlist.length ? hasWishlist.at(0) : null;
81
+ }
82
+ async createNewWishlist(data) {
83
+ const newWishlist = await this.wishlistRepository.create(data);
84
+ await this.wishlistRepository.update({ id: newWishlist.id, slug: newWishlist.id });
85
+ return Wishlist.toInstance({ ...newWishlist.toPlain(), slug: newWishlist.id });
86
+ }
87
+ async update({ id, title, description, published, userFullName, userPhoto, theme, bannerUrl, personType, personIsSubscriber, }) {
88
+ const data = {
89
+ id,
90
+ name: title,
91
+ description,
92
+ published,
93
+ metadatas: [
94
+ {
95
+ shop: this.shop,
96
+ title: `${userFullName} - ${title}`,
97
+ description: `${userFullName} - ${description}`,
98
+ },
99
+ ],
100
+ personName: userFullName,
101
+ personPhoto: userPhoto,
102
+ theme,
103
+ bannerUrl,
104
+ personType: personType ?? PersonTypes.NONE,
105
+ personIsSubscriber: personIsSubscriber ?? false,
106
+ };
107
+ await this.createWishlistLog(WishlistLogType.UPDATE, data);
108
+ return this.wishlistRepository.update(data);
109
+ }
110
+ async delete(wishlistId) {
111
+ const wishlist = await this.findById(wishlistId);
112
+ await this.createWishlistLog(WishlistLogType.DELETE, wishlist);
113
+ return this.wishlistRepository.delete({ id: wishlistId });
114
+ }
115
+ getWishlistBySlug(slug) {
116
+ const [id] = slug.split('-');
117
+ if (+id)
118
+ return this.wishlistRepository.get({ id });
119
+ return this.wishlistRepository.getWishlistBySlug(slug);
120
+ }
121
+ getWishlistsByPerson(personId) {
122
+ return this.wishlistRepository.getWishlistByPerson(personId);
123
+ }
124
+ async addProduct(wishlistId, productId) {
125
+ const wishlist = await this.wishlistRepository.get({ id: wishlistId });
126
+ const hasProduct = wishlist.products.some((p) => p == productId);
127
+ const wishlistData = await this.findById(wishlistId);
128
+ const productData = await this.findProductById(productId);
129
+ await this.createWishlistLog(WishlistLogType.ADD_PRODUCT, wishlistData, productData);
130
+ if (!hasProduct) {
131
+ wishlist.products = [...wishlist.products, productId];
132
+ await this.wishlistRepository.addProduct(wishlistId, productId);
133
+ }
134
+ return wishlist;
135
+ }
136
+ async removeProduct(wishlistId, productId) {
137
+ const wishlist = await this.wishlistRepository.get({ id: wishlistId });
138
+ const productIndex = wishlist.products.findIndex((p) => p == productId);
139
+ if (productIndex != -1) {
140
+ wishlist.products.splice(productIndex, 1);
141
+ const wishlistData = await this.findById(wishlistId);
142
+ const productData = await this.findProductById(productId);
143
+ await this.createWishlistLog(WishlistLogType.REMOVE_PRODUCT, wishlistData, productData);
144
+ await this.wishlistRepository.removeProduct(wishlistId, productId);
145
+ }
146
+ return wishlist;
147
+ }
148
+ async findById(id) {
149
+ return this.wishlistRepository
150
+ .find({
151
+ fields: ['id', 'name', 'description', 'personId', 'personIsSubscriber', 'personType', 'personName'],
152
+ filters: {
153
+ id,
154
+ },
155
+ })
156
+ .then((res) => res.data.at(0));
157
+ }
158
+ async findProductById(id) {
159
+ if (!this.catalogService) {
160
+ throw new Error('CatalogService not initialized. Call initializeServices first.');
161
+ }
162
+ const helpersService = this.catalogService['helpersService'];
163
+ const productServices = helpersService.getProductServices();
164
+ return productServices.productRepository
165
+ .find({
166
+ fields: ['id', 'sku', 'EAN', 'name', 'brand'],
167
+ filters: {
168
+ id,
169
+ },
170
+ })
171
+ .then((res) => res.data.at(0));
172
+ }
173
+ async createWishlistLog(type, wishlist, product) {
174
+ switch (type) {
175
+ case WishlistLogType.CREATE:
176
+ case WishlistLogType.UPDATE:
177
+ case WishlistLogType.DELETE:
178
+ await this.createWishlistOperationLog(type, wishlist);
179
+ break;
180
+ case WishlistLogType.ADD_PRODUCT:
181
+ case WishlistLogType.REMOVE_PRODUCT:
182
+ await this.createWishlistProductLog(type, wishlist, product);
183
+ break;
184
+ default:
185
+ break;
186
+ }
187
+ }
188
+ async createWishlistOperationLog(type, wishlist) {
189
+ const operation = this.getOperationTypeFromWishlistLogType(type);
190
+ await this.logRepository.create({
191
+ collection: 'wishlist',
192
+ date: new Date(),
193
+ operation,
194
+ documentId: wishlist.id,
195
+ document: this.buildWishlistLogDocument(wishlist, type),
196
+ });
197
+ }
198
+ async createWishlistProductLog(type, wishlist, product) {
199
+ await this.logRepository.create({
200
+ collection: 'wishlist',
201
+ date: new Date(),
202
+ operation: 'UPDATE',
203
+ documentId: wishlist.id,
204
+ document: {
205
+ ...this.buildWishlistLogDocument(wishlist, type),
206
+ ...this.buildProductLogData(product),
207
+ },
208
+ });
209
+ }
210
+ getOperationTypeFromWishlistLogType(type) {
211
+ if (type === WishlistLogType.CREATE)
212
+ return 'CREATE';
213
+ if (type === WishlistLogType.UPDATE)
214
+ return 'UPDATE';
215
+ return 'DELETE';
216
+ }
217
+ buildWishlistLogDocument(wishlist, type) {
218
+ return {
219
+ id: wishlist.id,
220
+ shop: this.shop,
221
+ name: wishlist.name,
222
+ description: wishlist.description,
223
+ published: wishlist.published,
224
+ type: type,
225
+ personType: wishlist.personType,
226
+ personId: wishlist.personId,
227
+ personName: wishlist.personName,
228
+ personIsSubscriber: wishlist.personIsSubscriber,
229
+ };
230
+ }
231
+ buildProductLogData(product) {
232
+ return {
233
+ productId: product.id,
234
+ productEAN: product.EAN,
235
+ productSKU: product.sku,
236
+ productName: product.name,
237
+ productBrand: product.brand,
238
+ };
239
+ }
240
+ }
241
+ WishlistService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService, deps: [{ token: 'WishlistRepository' }, { token: DEFAULT_SHOP }, { token: 'LogRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
242
+ WishlistService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService });
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService, decorators: [{
244
+ type: Injectable
245
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
246
+ type: Inject,
247
+ args: ['WishlistRepository']
248
+ }] }, { type: i1.Shops, decorators: [{
249
+ type: Inject,
250
+ args: [DEFAULT_SHOP]
251
+ }] }, { type: undefined, decorators: [{
252
+ type: Inject,
253
+ args: ['LogRepository']
254
+ }] }]; } });
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzaGxpc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy93aXNobGlzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFHTCxXQUFXLEVBRVgsS0FBSyxFQUNMLFFBQVEsRUFDUixlQUFlLEdBRWhCLE1BQU0sbUJBQW1CLENBQUE7QUFFMUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTs7O0FBTzNDLE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQ2lELGtCQUFzQyxFQUM5QyxJQUFXLEVBQ1IsYUFBNEI7UUFGdkIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUM5QyxTQUFJLEdBQUosSUFBSSxDQUFPO1FBQ1Isa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDckUsQ0FBQztJQUVKLGtCQUFrQixDQUFDLG9CQUEwQyxFQUFFLHFCQUE0QztRQUN6RyxJQUFJLENBQUMsY0FBYyxHQUFHLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFDOUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO0lBQ25FLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUE7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsRUFDWCxRQUFRLEVBQ1IsS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixrQkFBa0IsR0FZbkI7UUFD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UUFBUSxDQUFDLEVBQUU7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7WUFDbkIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1lBQ2pDLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTtZQUMvQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO1lBQy9CLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxrQkFBa0I7U0FDaEQsQ0FBQTtJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUFnQjtRQUMxQyxPQUFPO1lBQ0wsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRztZQUN2QixVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDdkIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLFlBQVksRUFBRSxPQUFPLENBQUMsS0FBSztTQUM1QixDQUFBO0lBQ0gsQ0FBQzs7NEdBMVZVLGVBQWUsa0JBS2hCLG9CQUFvQixhQUNwQixZQUFZLGFBQ1osZUFBZTtnSEFQZCxlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQU1OLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsTUFBTTsyQkFBQyxZQUFZOzswQkFDbkIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtcclxuICBMb2dSZXBvc2l0b3J5LFxyXG4gIFBlcnNvblR5cGUsXHJcbiAgUGVyc29uVHlwZXMsXHJcbiAgUHJvZHVjdCxcclxuICBTaG9wcyxcclxuICBXaXNobGlzdCxcclxuICBXaXNobGlzdExvZ1R5cGUsXHJcbiAgV2lzaGxpc3RSZXBvc2l0b3J5LFxyXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuaW1wb3J0IHsgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vLi4vY29uc3RzJ1xyXG5cclxuaW1wb3J0IHsgQ2F0YWxvZ1NlcnZpY2UgfSBmcm9tICcuL2NhdGFsb2cuc2VydmljZSdcclxuaW1wb3J0IHsgQ2F0ZWdvcnlTZXJ2aWNlIH0gZnJvbSAnLi9jYXRlZ29yeS5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBDYXRhbG9nU2VydmljZUZhY2FkZSwgQ2F0ZWdvcnlTZXJ2aWNlRmFjYWRlIH0gZnJvbSAnLi9mYWNhZGVzJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgV2lzaGxpc3RTZXJ2aWNlIHtcclxuICBwcml2YXRlIGNhdGFsb2dTZXJ2aWNlOiBDYXRhbG9nU2VydmljZVxyXG4gIHByaXZhdGUgY2F0ZWdvcnlTZXJ2aWNlOiBDYXRlZ29yeVNlcnZpY2VcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KCdXaXNobGlzdFJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IHdpc2hsaXN0UmVwb3NpdG9yeTogV2lzaGxpc3RSZXBvc2l0b3J5LFxyXG4gICAgQEluamVjdChERUZBVUxUX1NIT1ApIHByaXZhdGUgcmVhZG9ubHkgc2hvcDogU2hvcHMsXHJcbiAgICBASW5qZWN0KCdMb2dSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBsb2dSZXBvc2l0b3J5OiBMb2dSZXBvc2l0b3J5LFxyXG4gICkge31cclxuXHJcbiAgaW5pdGlhbGl6ZVNlcnZpY2VzKGNhdGFsb2dTZXJ2aWNlRmFjYWRlOiBDYXRhbG9nU2VydmljZUZhY2FkZSwgY2F0ZWdvcnlTZXJ2aWNlRmFjYWRlOiBDYXRlZ29yeVNlcnZpY2VGYWNhZGUpOiB2b2lkIHtcclxuICAgIHRoaXMuY2F0YWxvZ1NlcnZpY2UgPSBjYXRhbG9nU2VydmljZUZhY2FkZS5nZXRDYXRhbG9nU2VydmljZSgpXHJcbiAgICB0aGlzLmNhdGVnb3J5U2VydmljZSA9IGNhdGVnb3J5U2VydmljZUZhY2FkZS5nZXRDYXRlZ29yeVNlcnZpY2UoKVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0YWxvZ1NlcnZpY2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRhbG9nU2VydmljZVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0ZWdvcnlTZXJ2aWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlXHJcbiAgfVxyXG5cclxuICBhc3luYyBjcmVhdGUoe1xyXG4gICAgcGVyc29uSWQsXHJcbiAgICB0aXRsZSxcclxuICAgIGRlc2NyaXB0aW9uLFxyXG4gICAgcHVibGlzaGVkLFxyXG4gICAgdXNlckZ1bGxOYW1lLFxyXG4gICAgdXNlclBob3RvLFxyXG4gICAgdGhlbWUsXHJcbiAgICBiYW5uZXJVcmwsXHJcbiAgICBwZXJzb25UeXBlLFxyXG4gICAgcGVyc29uSXNTdWJzY3JpYmVyLFxyXG4gIH06IHtcclxuICAgIHBlcnNvbklkOiBzdHJpbmdcclxuICAgIHRpdGxlOiBzdHJpbmdcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICAgIHB1Ymxpc2hlZDogYm9vbGVhblxyXG4gICAgdXNlckZ1bGxOYW1lOiBzdHJpbmdcclxuICAgIHVzZXJQaG90bz86IHN0cmluZ1xyXG4gICAgdGhlbWU/OiBzdHJpbmdcclxuICAgIGJhbm5lclVybD86IHN0cmluZ1xyXG4gICAgcGVyc29uVHlwZT86IFBlcnNvblR5cGVcclxuICAgIHBlcnNvbklzU3Vic2NyaWJlcj86IGJvb2xlYW5cclxuICB9KTogUHJvbWlzZTxXaXNobGlzdD4ge1xyXG4gICAgY29uc3Qgd2lzaGxpc3REYXRhID0gdGhpcy5idWlsZFdpc2hsaXN0RGF0YSh7XHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBkZXNjcmlwdGlvbixcclxuICAgICAgcHVibGlzaGVkLFxyXG4gICAgICB1c2VyRnVsbE5hbWUsXHJcbiAgICAgIHVzZXJQaG90byxcclxuICAgICAgdGhlbWUsXHJcbiAgICAgIGJhbm5lclVybCxcclxuICAgICAgcGVyc29uVHlwZSxcclxuICAgICAgcGVyc29uSXNTdWJzY3JpYmVyLFxyXG4gICAgICBwZXJzb25JZCxcclxuICAgIH0pXHJcblxyXG4gICAgY29uc3QgZXhpc3RpbmdXaXNobGlzdCA9IGF3YWl0IHRoaXMuZmluZEV4aXN0aW5nV2lzaGxpc3RCeVBlcnNvbklkKHBlcnNvbklkKVxyXG5cclxuICAgIGF3YWl0IHRoaXMuY3JlYXRlV2lzaGxpc3RMb2coV2lzaGxpc3RMb2dUeXBlLkNSRUFURSwgd2lzaGxpc3REYXRhIGFzIFdpc2hsaXN0KVxyXG5cclxuICAgIGlmIChleGlzdGluZ1dpc2hsaXN0KSByZXR1cm4gZXhpc3RpbmdXaXNobGlzdFxyXG5cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZU5ld1dpc2hsaXN0KHdpc2hsaXN0RGF0YSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRXaXNobGlzdERhdGEoe1xyXG4gICAgdGl0bGUsXHJcbiAgICBkZXNjcmlwdGlvbixcclxuICAgIHB1Ymxpc2hlZCxcclxuICAgIHVzZXJGdWxsTmFtZSxcclxuICAgIHVzZXJQaG90byxcclxuICAgIHRoZW1lLFxyXG4gICAgYmFubmVyVXJsLFxyXG4gICAgcGVyc29uVHlwZSxcclxuICAgIHBlcnNvbklzU3Vic2NyaWJlcixcclxuICAgIHBlcnNvbklkLFxyXG4gIH06IHtcclxuICAgIHRpdGxlOiBzdHJpbmdcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICAgIHB1Ymxpc2hlZDogYm9vbGVhblxyXG4gICAgdXNlckZ1bGxOYW1lOiBzdHJpbmdcclxuICAgIHVzZXJQaG90bz86IHN0cmluZ1xyXG4gICAgdGhlbWU/OiBzdHJpbmdcclxuICAgIGJhbm5lclVybD86IHN0cmluZ1xyXG4gICAgcGVyc29uVHlwZT86IFBlcnNvblR5cGVcclxuICAgIHBlcnNvbklzU3Vic2NyaWJlcj86IGJvb2xlYW5cclxuICAgIHBlcnNvbklkOiBzdHJpbmdcclxuICB9KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzbHVnOiAnJyxcclxuICAgICAgbmFtZTogdGl0bGUsXHJcbiAgICAgIGRlc2NyaXB0aW9uLFxyXG4gICAgICBtZXRhZGF0YXM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBzaG9wOiB0aGlzLnNob3AsXHJcbiAgICAgICAgICB0aXRsZTogYCR7dXNlckZ1bGxOYW1lfSAtICR7dGl0bGV9YCxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgJHt1c2VyRnVsbE5hbWV9IC0gJHtkZXNjcmlwdGlvbn1gLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHNob3A6IHRoaXMuc2hvcCxcclxuICAgICAgc2hvcHM6IFt0aGlzLnNob3BdLFxyXG4gICAgICBwZXJzb25JZCxcclxuICAgICAgcGVyc29uTmFtZTogdXNlckZ1bGxOYW1lLFxyXG4gICAgICBwZXJzb25QaG90bzogdXNlclBob3RvLFxyXG4gICAgICBicmFuZENhdGVnb3J5OiBmYWxzZSxcclxuICAgICAgcHVibGlzaGVkLFxyXG4gICAgICB0aGVtZSxcclxuICAgICAgYmFubmVyVXJsLFxyXG4gICAgICBwZXJzb25UeXBlOiBwZXJzb25UeXBlID8/IFBlcnNvblR5cGVzLk5PTkUsXHJcbiAgICAgIHBlcnNvbklzU3Vic2NyaWJlcjogcGVyc29uSXNTdWJzY3JpYmVyID8/IGZhbHNlLFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBmaW5kRXhpc3RpbmdXaXNobGlzdEJ5UGVyc29uSWQocGVyc29uSWQ6IHN0cmluZyk6IFByb21pc2U8V2lzaGxpc3QgfCBudWxsPiB7XHJcbiAgICBjb25zdCBoYXNXaXNobGlzdCA9IGF3YWl0IHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5XHJcbiAgICAgIC5maW5kKHtcclxuICAgICAgICBmaWx0ZXJzOiB7XHJcbiAgICAgICAgICBwZXJzb25JZCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIGVuYWJsZUNvdW50OiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9yZGVyQnk6IHtcclxuICAgICAgICAgIGlkOiAnYXNjJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gICAgICAudGhlbigocmVzKSA9PiByZXMuZGF0YSlcclxuXHJcbiAgICByZXR1cm4gaGFzV2lzaGxpc3QubGVuZ3RoID8gaGFzV2lzaGxpc3QuYXQoMCkgOiBudWxsXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZU5ld1dpc2hsaXN0KGRhdGE6IGFueSk6IFByb21pc2U8V2lzaGxpc3Q+IHtcclxuICAgIGNvbnN0IG5ld1dpc2hsaXN0ID0gYXdhaXQgdGhpcy53aXNobGlzdFJlcG9zaXRvcnkuY3JlYXRlKGRhdGEpXHJcblxyXG4gICAgYXdhaXQgdGhpcy53aXNobGlzdFJlcG9zaXRvcnkudXBkYXRlKHsgaWQ6IG5ld1dpc2hsaXN0LmlkLCBzbHVnOiBuZXdXaXNobGlzdC5pZCB9KVxyXG5cclxuICAgIHJldHVybiBXaXNobGlzdC50b0luc3RhbmNlKHsgLi4ubmV3V2lzaGxpc3QudG9QbGFpbigpLCBzbHVnOiBuZXdXaXNobGlzdC5pZCB9KVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgdXBkYXRlKHtcclxuICAgIGlkLFxyXG4gICAgdGl0bGUsXHJcbiAgICBkZXNjcmlwdGlvbixcclxuICAgIHB1Ymxpc2hlZCxcclxuICAgIHVzZXJGdWxsTmFtZSxcclxuICAgIHVzZXJQaG90byxcclxuICAgIHRoZW1lLFxyXG4gICAgYmFubmVyVXJsLFxyXG4gICAgcGVyc29uVHlwZSxcclxuICAgIHBlcnNvbklzU3Vic2NyaWJlcixcclxuICB9OiB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICB0aXRsZTogc3RyaW5nXHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgICBwdWJsaXNoZWQ6IGJvb2xlYW5cclxuICAgIHVzZXJGdWxsTmFtZTogc3RyaW5nXHJcbiAgICB1c2VyUGhvdG8/OiBzdHJpbmdcclxuICAgIHRoZW1lPzogc3RyaW5nXHJcbiAgICBiYW5uZXJVcmw/OiBzdHJpbmdcclxuICAgIHBlcnNvblR5cGU/OiBQZXJzb25UeXBlXHJcbiAgICBwZXJzb25Jc1N1YnNjcmliZXI/OiBib29sZWFuXHJcbiAgfSk6IFByb21pc2U8V2lzaGxpc3Q+IHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIGlkLFxyXG4gICAgICBuYW1lOiB0aXRsZSxcclxuICAgICAgZGVzY3JpcHRpb24sXHJcbiAgICAgIHB1Ymxpc2hlZCxcclxuICAgICAgbWV0YWRhdGFzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgc2hvcDogdGhpcy5zaG9wLFxyXG4gICAgICAgICAgdGl0bGU6IGAke3VzZXJGdWxsTmFtZX0gLSAke3RpdGxlfWAsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7dXNlckZ1bGxOYW1lfSAtICR7ZGVzY3JpcHRpb259YCxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBwZXJzb25OYW1lOiB1c2VyRnVsbE5hbWUsXHJcbiAgICAgIHBlcnNvblBob3RvOiB1c2VyUGhvdG8sXHJcbiAgICAgIHRoZW1lLFxyXG4gICAgICBiYW5uZXJVcmwsXHJcbiAgICAgIHBlcnNvblR5cGU6IHBlcnNvblR5cGUgPz8gUGVyc29uVHlwZXMuTk9ORSxcclxuICAgICAgcGVyc29uSXNTdWJzY3JpYmVyOiBwZXJzb25Jc1N1YnNjcmliZXIgPz8gZmFsc2UsXHJcbiAgICB9XHJcblxyXG4gICAgYXdhaXQgdGhpcy5jcmVhdGVXaXNobGlzdExvZyhXaXNobGlzdExvZ1R5cGUuVVBEQVRFLCBkYXRhIGFzIFdpc2hsaXN0KVxyXG5cclxuICAgIHJldHVybiB0aGlzLndpc2hsaXN0UmVwb3NpdG9yeS51cGRhdGUoZGF0YSlcclxuICB9XHJcblxyXG4gIGFzeW5jIGRlbGV0ZSh3aXNobGlzdElkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHdpc2hsaXN0ID0gYXdhaXQgdGhpcy5maW5kQnlJZCh3aXNobGlzdElkKVxyXG5cclxuICAgIGF3YWl0IHRoaXMuY3JlYXRlV2lzaGxpc3RMb2coV2lzaGxpc3RMb2dUeXBlLkRFTEVURSwgd2lzaGxpc3QpXHJcblxyXG4gICAgcmV0dXJuIHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5LmRlbGV0ZSh7IGlkOiB3aXNobGlzdElkIH0pXHJcbiAgfVxyXG5cclxuICBnZXRXaXNobGlzdEJ5U2x1ZyhzbHVnOiBzdHJpbmcpOiBQcm9taXNlPFdpc2hsaXN0PiB7XHJcbiAgICBjb25zdCBbaWRdID0gc2x1Zy5zcGxpdCgnLScpXHJcblxyXG4gICAgaWYgKCtpZCkgcmV0dXJuIHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5LmdldCh7IGlkIH0pXHJcblxyXG4gICAgcmV0dXJuIHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5LmdldFdpc2hsaXN0QnlTbHVnKHNsdWcpXHJcbiAgfVxyXG5cclxuICBnZXRXaXNobGlzdHNCeVBlcnNvbihwZXJzb25JZDogc3RyaW5nKTogUHJvbWlzZTxXaXNobGlzdFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy53aXNobGlzdFJlcG9zaXRvcnkuZ2V0V2lzaGxpc3RCeVBlcnNvbihwZXJzb25JZClcclxuICB9XHJcblxyXG4gIGFzeW5jIGFkZFByb2R1Y3Qod2lzaGxpc3RJZDogc3RyaW5nLCBwcm9kdWN0SWQ6IHN0cmluZyk6IFByb21pc2U8V2lzaGxpc3Q+IHtcclxuICAgIGNvbnN0IHdpc2hsaXN0ID0gYXdhaXQgdGhpcy53aXNobGlzdFJlcG9zaXRvcnkuZ2V0KHsgaWQ6IHdpc2hsaXN0SWQgfSlcclxuICAgIGNvbnN0IGhhc1Byb2R1Y3QgPSB3aXNobGlzdC5wcm9kdWN0cy5zb21lKChwKSA9PiBwID09IHByb2R1Y3RJZClcclxuXHJcbiAgICBjb25zdCB3aXNobGlzdERhdGEgPSBhd2FpdCB0aGlzLmZpbmRCeUlkKHdpc2hsaXN0SWQpXHJcbiAgICBjb25zdCBwcm9kdWN0RGF0YSA9IGF3YWl0IHRoaXMuZmluZFByb2R1Y3RCeUlkKHByb2R1Y3RJZClcclxuXHJcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVdpc2hsaXN0TG9nKFdpc2hsaXN0TG9nVHlwZS5BRERfUFJPRFVDVCwgd2lzaGxpc3REYXRhLCBwcm9kdWN0RGF0YSlcclxuXHJcbiAgICBpZiAoIWhhc1Byb2R1Y3QpIHtcclxuICAgICAgd2lzaGxpc3QucHJvZHVjdHMgPSBbLi4ud2lzaGxpc3QucHJvZHVjdHMsIHByb2R1Y3RJZF1cclxuICAgICAgYXdhaXQgdGhpcy53aXNobGlzdFJlcG9zaXRvcnkuYWRkUHJvZHVjdCh3aXNobGlzdElkLCBwcm9kdWN0SWQpXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHdpc2hsaXN0XHJcbiAgfVxyXG5cclxuICBhc3luYyByZW1vdmVQcm9kdWN0KHdpc2hsaXN0SWQ6IHN0cmluZywgcHJvZHVjdElkOiBzdHJpbmcpOiBQcm9taXNlPFdpc2hsaXN0PiB7XHJcbiAgICBjb25zdCB3aXNobGlzdCA9IGF3YWl0IHRoaXMud2lzaGxpc3RSZXBvc2l0b3J5LmdldCh7IGlkOiB3aXNobGlzdElkIH0pXHJcbiAgICBjb25zdCBwcm9kdWN0SW5kZXggPSB3aXNobGlzdC5wcm9kdWN0cy5maW5kSW5kZXgoKHApID0+IHAgPT0gcHJvZHVjdElkKVxyXG5cclxuICAgIGlmIChwcm9kdWN0SW5kZXggIT0gLTEpIHtcclxuICAgICAgd2lzaGxpc3QucHJvZHVjdHMuc3BsaWNlKHByb2R1Y3RJbmRleCwgMSlcclxuICAgICAgY29uc3Qgd2lzaGxpc3REYXRhID0gYXdhaXQgdGhpcy5maW5kQnlJZCh3aXNobGlzdElkKVxyXG4gICAgICBjb25zdCBwcm9kdWN0RGF0YSA9IGF3YWl0IHRoaXMuZmluZFByb2R1Y3RCeUlkKHByb2R1Y3RJZClcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlV2lzaGxpc3RMb2coV2lzaGxpc3RMb2dUeXBlLlJFTU9WRV9QUk9EVUNULCB3aXNobGlzdERhdGEsIHByb2R1Y3REYXRhKVxyXG4gICAgICBhd2FpdCB0aGlzLndpc2hsaXN0UmVwb3NpdG9yeS5yZW1vdmVQcm9kdWN0KHdpc2hsaXN0SWQsIHByb2R1Y3RJZClcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gd2lzaGxpc3RcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZmluZEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8V2lzaGxpc3Q+IHtcclxuICAgIHJldHVybiB0aGlzLndpc2hsaXN0UmVwb3NpdG9yeVxyXG4gICAgICAuZmluZCh7XHJcbiAgICAgICAgZmllbGRzOiBbJ2lkJywgJ25hbWUnLCAnZGVzY3JpcHRpb24nLCAncGVyc29uSWQnLCAncGVyc29uSXNTdWJzY3JpYmVyJywgJ3BlcnNvblR5cGUnLCAncGVyc29uTmFtZSddLFxyXG4gICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbiAgICAgIC50aGVuKChyZXMpID0+IHJlcy5kYXRhLmF0KDApKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBmaW5kUHJvZHVjdEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8UHJvZHVjdD4ge1xyXG4gICAgaWYgKCF0aGlzLmNhdGFsb2dTZXJ2aWNlKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2F0YWxvZ1NlcnZpY2Ugbm90IGluaXRpYWxpemVkLiBDYWxsIGluaXRpYWxpemVTZXJ2aWNlcyBmaXJzdC4nKVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhlbHBlcnNTZXJ2aWNlID0gdGhpcy5jYXRhbG9nU2VydmljZVsnaGVscGVyc1NlcnZpY2UnXSBhcyBhbnlcclxuICAgIGNvbnN0IHByb2R1Y3RTZXJ2aWNlcyA9IGhlbHBlcnNTZXJ2aWNlLmdldFByb2R1Y3RTZXJ2aWNlcygpXHJcblxyXG4gICAgcmV0dXJuIHByb2R1Y3RTZXJ2aWNlcy5wcm9kdWN0UmVwb3NpdG9yeVxyXG4gICAgICAuZmluZCh7XHJcbiAgICAgICAgZmllbGRzOiBbJ2lkJywgJ3NrdScsICdFQU4nLCAnbmFtZScsICdicmFuZCddLFxyXG4gICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbiAgICAgIC50aGVuKChyZXMpID0+IHJlcy5kYXRhLmF0KDApKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVXaXNobGlzdExvZyh0eXBlOiBXaXNobGlzdExvZ1R5cGUsIHdpc2hsaXN0OiBXaXNobGlzdCwgcHJvZHVjdD86IFByb2R1Y3QpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIFdpc2hsaXN0TG9nVHlwZS5DUkVBVEU6XHJcbiAgICAgIGNhc2UgV2lzaGxpc3RMb2dUeXBlLlVQREFURTpcclxuICAgICAgY2FzZSBXaXNobGlzdExvZ1R5cGUuREVMRVRFOlxyXG4gICAgICAgIGF3YWl0IHRoaXMuY3JlYXRlV2lzaGxpc3RPcGVyYXRpb25Mb2codHlwZSwgd2lzaGxpc3QpXHJcbiAgICAgICAgYnJlYWtcclxuXHJcbiAgICAgIGNhc2UgV2lzaGxpc3RMb2dUeXBlLkFERF9QUk9EVUNUOlxyXG4gICAgICBjYXNlIFdpc2hsaXN0TG9nVHlwZS5SRU1PVkVfUFJPRFVDVDpcclxuICAgICAgICBhd2FpdCB0aGlzLmNyZWF0ZVdpc2hsaXN0UHJvZHVjdExvZyh0eXBlLCB3aXNobGlzdCwgcHJvZHVjdClcclxuICAgICAgICBicmVha1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVha1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVXaXNobGlzdE9wZXJhdGlvbkxvZyh0eXBlOiBXaXNobGlzdExvZ1R5cGUsIHdpc2hsaXN0OiBXaXNobGlzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3Qgb3BlcmF0aW9uID0gdGhpcy5nZXRPcGVyYXRpb25UeXBlRnJvbVdpc2hsaXN0TG9nVHlwZSh0eXBlKVxyXG5cclxuICAgIGF3YWl0IHRoaXMubG9nUmVwb3NpdG9yeS5jcmVhdGUoe1xyXG4gICAgICBjb2xsZWN0aW9uOiAnd2lzaGxpc3QnLFxyXG4gICAgICBkYXRlOiBuZXcgRGF0ZSgpLFxyXG4gICAgICBvcGVyYXRpb24sXHJcbiAgICAgIGRvY3VtZW50SWQ6IHdpc2hsaXN0LmlkLFxyXG4gICAgICBkb2N1bWVudDogdGhpcy5idWlsZFdpc2hsaXN0TG9nRG9jdW1lbnQod2lzaGxpc3QsIHR5cGUpLFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlV2lzaGxpc3RQcm9kdWN0TG9nKHR5cGU6IFdpc2hsaXN0TG9nVHlwZSwgd2lzaGxpc3Q6IFdpc2hsaXN0LCBwcm9kdWN0OiBQcm9kdWN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmxvZ1JlcG9zaXRvcnkuY3JlYXRlKHtcclxuICAgICAgY29sbGVjdGlvbjogJ3dpc2hsaXN0JyxcclxuICAgICAgZGF0ZTogbmV3IERhdGUoKSxcclxuICAgICAgb3BlcmF0aW9uOiAnVVBEQVRFJyxcclxuICAgICAgZG9jdW1lbnRJZDogd2lzaGxpc3QuaWQsXHJcbiAgICAgIGRvY3VtZW50OiB7XHJcbiAgICAgICAgLi4udGhpcy5idWlsZFdpc2hsaXN0TG9nRG9jdW1lbnQod2lzaGxpc3QsIHR5cGUpLFxyXG4gICAgICAgIC4uLnRoaXMuYnVpbGRQcm9kdWN0TG9nRGF0YShwcm9kdWN0KSxcclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE9wZXJhdGlvblR5cGVGcm9tV2lzaGxpc3RMb2dUeXBlKHR5cGU6IFdpc2hsaXN0TG9nVHlwZSk6ICdDUkVBVEUnIHwgJ1VQREFURScgfCAnREVMRVRFJyB7XHJcbiAgICBpZiAodHlwZSA9PT0gV2lzaGxpc3RMb2dUeXBlLkNSRUFURSkgcmV0dXJuICdDUkVBVEUnXHJcblxyXG4gICAgaWYgKHR5cGUgPT09IFdpc2hsaXN0TG9nVHlwZS5VUERBVEUpIHJldHVybiAnVVBEQVRFJ1xyXG5cclxuICAgIHJldHVybiAnREVMRVRFJ1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFdpc2hsaXN0TG9nRG9jdW1lbnQod2lzaGxpc3Q6IFdpc2hsaXN0LCB0eXBlOiBXaXNobGlzdExvZ1R5cGUpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlkOiB3aXNobGlzdC5pZCxcclxuICAgICAgc2hvcDogdGhpcy5zaG9wLFxyXG4gICAgICBuYW1lOiB3aXNobGlzdC5uYW1lLFxyXG4gICAgICBkZXNjcmlwdGlvbjogd2lzaGxpc3QuZGVzY3JpcHRpb24sXHJcbiAgICAgIHB1Ymxpc2hlZDogd2lzaGxpc3QucHVibGlzaGVkLFxyXG4gICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICBwZXJzb25UeXBlOiB3aXNobGlzdC5wZXJzb25UeXBlLFxyXG4gICAgICBwZXJzb25JZDogd2lzaGxpc3QucGVyc29uSWQsXHJcbiAgICAgIHBlcnNvbk5hbWU6IHdpc2hsaXN0LnBlcnNvbk5hbWUsXHJcbiAgICAgIHBlcnNvbklzU3Vic2NyaWJlcjogd2lzaGxpc3QucGVyc29uSXNTdWJzY3JpYmVyLFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFByb2R1Y3RMb2dEYXRhKHByb2R1Y3Q6IFByb2R1Y3QpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHByb2R1Y3RJZDogcHJvZHVjdC5pZCxcclxuICAgICAgcHJvZHVjdEVBTjogcHJvZHVjdC5FQU4sXHJcbiAgICAgIHByb2R1Y3RTS1U6IHByb2R1Y3Quc2t1LFxyXG4gICAgICBwcm9kdWN0TmFtZTogcHJvZHVjdC5uYW1lLFxyXG4gICAgICBwcm9kdWN0QnJhbmQ6IHByb2R1Y3QuYnJhbmQsXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { PERSISTENCE_PROVIDER } from '../../consts';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ export class CheckoutDependenciesFacade {
7
+ constructor(dataPersistence, httpClient) {
8
+ this.dataPersistence = dataPersistence;
9
+ this.httpClient = httpClient;
10
+ }
11
+ }
12
+ CheckoutDependenciesFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutDependenciesFacade, deps: [{ token: PERSISTENCE_PROVIDER }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
13
+ CheckoutDependenciesFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutDependenciesFacade });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutDependenciesFacade, decorators: [{
15
+ type: Injectable
16
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
17
+ type: Inject,
18
+ args: [PERSISTENCE_PROVIDER]
19
+ }] }, { type: i1.HttpClient }]; } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtZGVwZW5kZW5jaWVzLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2hlY2tvdXQvY2hlY2tvdXQtZGVwZW5kZW5jaWVzLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFBOzs7QUFJbkQsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxZQUNnRCxlQUFnQyxFQUM5RCxVQUFzQjtRQURRLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUM5RCxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQ3JDLENBQUM7O3VIQUpPLDBCQUEwQixrQkFFM0Isb0JBQW9COzJIQUZuQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVTs7MEJBR04sTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5pbXBvcnQgeyBQRVJTSVNURU5DRV9QUk9WSURFUiB9IGZyb20gJy4uLy4uL2NvbnN0cydcclxuaW1wb3J0IHsgRGF0YVBlcnNpc3RlbmNlIH0gZnJvbSAnLi4vLi4vcGVyc2lzdGVuY2UnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dERlcGVuZGVuY2llc0ZhY2FkZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KFBFUlNJU1RFTkNFX1BST1ZJREVSKSBwdWJsaWMgcmVhZG9ubHkgZGF0YVBlcnNpc3RlbmNlOiBEYXRhUGVyc2lzdGVuY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICApIHt9XHJcbn1cclxuIl19
@@ -0,0 +1,20 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CheckoutRepositoriesFacade {
4
+ constructor(checkoutRepository, userRepository) {
5
+ this.checkoutRepository = checkoutRepository;
6
+ this.userRepository = userRepository;
7
+ }
8
+ }
9
+ CheckoutRepositoriesFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutRepositoriesFacade, deps: [{ token: 'CheckoutRepository' }, { token: 'UserRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
10
+ CheckoutRepositoriesFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutRepositoriesFacade });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutRepositoriesFacade, decorators: [{
12
+ type: Injectable
13
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
14
+ type: Inject,
15
+ args: ['CheckoutRepository']
16
+ }] }, { type: undefined, decorators: [{
17
+ type: Inject,
18
+ args: ['UserRepository']
19
+ }] }]; } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcmVwb3NpdG9yaWVzLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2hlY2tvdXQvY2hlY2tvdXQtcmVwb3NpdG9yaWVzLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFJbEQsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxZQUNnRCxrQkFBc0MsRUFDMUMsY0FBOEI7UUFEMUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDdkUsQ0FBQzs7dUhBSk8sMEJBQTBCLGtCQUUzQixvQkFBb0IsYUFDcEIsZ0JBQWdCOzJIQUhmLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVOzswQkFHTixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQ2hlY2tvdXRSZXBvc2l0b3J5LCBVc2VyUmVwb3NpdG9yeSB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRSZXBvc2l0b3JpZXNGYWNhZGUge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnQ2hlY2tvdXRSZXBvc2l0b3J5JykgcHVibGljIHJlYWRvbmx5IGNoZWNrb3V0UmVwb3NpdG9yeTogQ2hlY2tvdXRSZXBvc2l0b3J5LFxyXG4gICAgQEluamVjdCgnVXNlclJlcG9zaXRvcnknKSBwdWJsaWMgcmVhZG9ubHkgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5LFxyXG4gICkge31cclxufVxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ export { CheckoutRepositoriesFacade } from './checkout-repositories.facade';
2
+ export { CheckoutDependenciesFacade } from './checkout-dependencies.facade';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NoZWNrb3V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzNFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ2hlY2tvdXRSZXBvc2l0b3JpZXNGYWNhZGUgfSBmcm9tICcuL2NoZWNrb3V0LXJlcG9zaXRvcmllcy5mYWNhZGUnXHJcbmV4cG9ydCB7IENoZWNrb3V0RGVwZW5kZW5jaWVzRmFjYWRlIH0gZnJvbSAnLi9jaGVja291dC1kZXBlbmRlbmNpZXMuZmFjYWRlJ1xyXG4iXX0=