@infrab4a/connect-angular 5.5.0-alpha.2 → 5.5.0-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 (197) hide show
  1. package/angular-connect.module.d.ts +36 -0
  2. package/angular-elastic-search.module.d.ts +9 -0
  3. package/angular-firebase-auth.module.d.ts +11 -0
  4. package/angular-firestore.module.d.ts +17 -0
  5. package/angular-hasura-graphql.module.d.ts +14 -0
  6. package/angular-vertex-search.module.d.ts +9 -0
  7. package/consts/backend-url.const.d.ts +1 -0
  8. package/consts/category-structure.d.ts +1 -0
  9. package/consts/default-shop.const.d.ts +1 -0
  10. package/consts/es-config.const.d.ts +1 -0
  11. package/consts/firebase-const.d.ts +4 -0
  12. package/consts/hasura-options.const.d.ts +1 -0
  13. package/consts/index.d.ts +8 -0
  14. package/consts/persistence.const.d.ts +1 -0
  15. package/consts/storage-base-url.const.d.ts +1 -0
  16. package/consts/vertex-config.const.d.ts +1 -0
  17. package/esm2020/angular-connect.module.mjs +291 -0
  18. package/esm2020/angular-elastic-search.module.mjs +34 -0
  19. package/esm2020/angular-firebase-auth.module.mjs +141 -0
  20. package/esm2020/angular-firestore.module.mjs +541 -0
  21. package/esm2020/angular-hasura-graphql.module.mjs +355 -0
  22. package/esm2020/angular-vertex-search.module.mjs +34 -0
  23. package/esm2020/consts/backend-url.const.mjs +2 -0
  24. package/esm2020/consts/category-structure.mjs +2 -0
  25. package/esm2020/consts/default-shop.const.mjs +2 -0
  26. package/esm2020/consts/es-config.const.mjs +2 -0
  27. package/esm2020/consts/firebase-const.mjs +5 -0
  28. package/esm2020/consts/hasura-options.const.mjs +2 -0
  29. package/esm2020/consts/index.mjs +9 -0
  30. package/esm2020/consts/persistence.const.mjs +2 -0
  31. package/esm2020/consts/storage-base-url.const.mjs +2 -0
  32. package/esm2020/consts/vertex-config.const.mjs +2 -0
  33. package/esm2020/helpers/index.mjs +2 -0
  34. package/esm2020/helpers/mobile-operation-system-checker.helper.mjs +7 -0
  35. package/esm2020/index.mjs +7 -0
  36. package/esm2020/infrab4a-connect-angular.mjs +5 -0
  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 -0
  41. package/esm2020/persistence/data-persistence.mjs +2 -0
  42. package/esm2020/persistence/index.mjs +3 -0
  43. package/esm2020/services/auth.service.mjs +37 -0
  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 -0
  47. package/esm2020/services/catalog/adapters/category-structure.adapter.mjs +2 -0
  48. package/esm2020/services/catalog/adapters/index.mjs +4 -0
  49. package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +43 -0
  50. package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +23 -0
  51. package/esm2020/services/catalog/catalog.service.mjs +111 -0
  52. package/esm2020/services/catalog/category.service.mjs +42 -0
  53. package/esm2020/services/catalog/context/catalog-search.context.mjs +40 -0
  54. package/esm2020/services/catalog/enums/index.mjs +2 -0
  55. package/esm2020/services/catalog/enums/product-sorts.enum.mjs +11 -0
  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 +40 -0
  67. package/esm2020/services/catalog/index.mjs +8 -0
  68. package/esm2020/services/catalog/models/category-with-tree.model.mjs +10 -0
  69. package/esm2020/services/catalog/models/index.mjs +2 -0
  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 +123 -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 -0
  84. package/esm2020/services/catalog/types/method-params.type.mjs +2 -0
  85. package/esm2020/services/catalog/types/product-sort.type.mjs +2 -0
  86. package/esm2020/services/catalog/wishlist.service.mjs +254 -0
  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 -0
  91. package/esm2020/services/checkout.service.mjs +106 -0
  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 -0
  96. package/esm2020/services/helpers/index.mjs +2 -0
  97. package/esm2020/services/helpers/util.helper.mjs +18 -0
  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 -0
  101. package/esm2020/services/index.mjs +11 -0
  102. package/esm2020/services/order-product-review.service.mjs +110 -0
  103. package/esm2020/services/order.service.mjs +30 -0
  104. package/esm2020/services/shared/configuration.facade.mjs +29 -0
  105. package/esm2020/services/shared/index.mjs +2 -0
  106. package/esm2020/services/types/index.mjs +5 -0
  107. package/esm2020/services/types/pending-product-review.type.mjs +2 -0
  108. package/esm2020/services/types/product-review-create.type.mjs +2 -0
  109. package/esm2020/services/types/required-checkout-data.type.mjs +2 -0
  110. package/esm2020/services/types/required-checkout-subscription-data.type.mjs +2 -0
  111. package/esm2020/types/firebase-app-config.type.mjs +2 -0
  112. package/esm2020/types/index.mjs +2 -0
  113. package/fesm2015/infrab4a-connect-angular.mjs +3513 -0
  114. package/fesm2015/infrab4a-connect-angular.mjs.map +1 -0
  115. package/{fesm2022 → fesm2020}/infrab4a-connect-angular.mjs +3314 -3327
  116. package/fesm2020/infrab4a-connect-angular.mjs.map +1 -0
  117. package/helpers/index.d.ts +1 -0
  118. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -0
  119. package/index.d.ts +6 -755
  120. package/interfaces/catalog-strategies.interface.d.ts +31 -0
  121. package/interfaces/category-facades.interface.d.ts +6 -0
  122. package/interfaces/index.d.ts +2 -0
  123. package/package.json +15 -7
  124. package/persistence/cookie-data-persistence.d.ts +10 -0
  125. package/persistence/data-persistence.d.ts +6 -0
  126. package/persistence/index.d.ts +2 -0
  127. package/services/auth.service.d.ts +18 -0
  128. package/services/cart/cart-services.facade.d.ts +12 -0
  129. package/services/cart/index.d.ts +1 -0
  130. package/services/cart.service.d.ts +26 -0
  131. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -0
  132. package/services/catalog/adapters/index.d.ts +3 -0
  133. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -0
  134. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -0
  135. package/services/catalog/catalog.service.d.ts +24 -0
  136. package/services/catalog/category.service.d.ts +23 -0
  137. package/services/catalog/context/catalog-search.context.d.ts +14 -0
  138. package/services/catalog/enums/index.d.ts +1 -0
  139. package/services/catalog/enums/product-sorts.enum.d.ts +9 -0
  140. package/services/catalog/facades/catalog-service.facade.d.ts +15 -0
  141. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -0
  142. package/services/catalog/facades/category-repository.facade.d.ts +9 -0
  143. package/services/catalog/facades/category-service.facade.d.ts +15 -0
  144. package/services/catalog/facades/index.d.ts +5 -0
  145. package/services/catalog/facades/product-catalog.facade.d.ts +10 -0
  146. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -0
  147. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -0
  148. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -0
  149. package/services/catalog/helpers/index.d.ts +4 -0
  150. package/services/catalog/helpers/product-fields.helper.d.ts +7 -0
  151. package/services/catalog/index.d.ts +7 -0
  152. package/services/catalog/models/category-with-tree.model.d.ts +4 -0
  153. package/services/catalog/models/index.d.ts +1 -0
  154. package/services/catalog/services/catalog-helpers.service.d.ts +17 -0
  155. package/services/catalog/services/catalog-operations.facade.d.ts +13 -0
  156. package/services/catalog/services/catalog-repository.service.d.ts +12 -0
  157. package/services/catalog/services/index.d.ts +4 -0
  158. package/services/catalog/services/product-management.facade.d.ts +12 -0
  159. package/services/catalog/strategies/category-search.strategy.d.ts +19 -0
  160. package/services/catalog/strategies/index.d.ts +3 -0
  161. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -0
  162. package/services/catalog/strategies/term-search.strategy.d.ts +20 -0
  163. package/services/catalog/strategies/types/strategy-params.type.d.ts +58 -0
  164. package/services/catalog/types/fetch-products-options.type.d.ts +8 -0
  165. package/services/catalog/types/fetch-products-params.type.d.ts +25 -0
  166. package/services/catalog/types/fetch-products-response.type.d.ts +19 -0
  167. package/services/catalog/types/index.d.ts +5 -0
  168. package/services/catalog/types/method-params.type.d.ts +17 -0
  169. package/services/catalog/types/product-sort.type.d.ts +2 -0
  170. package/services/catalog/wishlist.service.d.ts +59 -0
  171. package/services/checkout/checkout-dependencies.facade.d.ts +10 -0
  172. package/services/checkout/checkout-repositories.facade.d.ts +9 -0
  173. package/services/checkout/index.d.ts +2 -0
  174. package/services/checkout-subscription.service.d.ts +19 -0
  175. package/services/checkout.service.d.ts +30 -0
  176. package/services/coupon/coupon-repositories.facade.d.ts +10 -0
  177. package/services/coupon/index.d.ts +1 -0
  178. package/services/coupon/types/coupon-params.type.d.ts +13 -0
  179. package/services/coupon.service.d.ts +36 -0
  180. package/services/helpers/index.d.ts +1 -0
  181. package/services/helpers/util.helper.d.ts +3 -0
  182. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -0
  183. package/services/home-shop/index.d.ts +1 -0
  184. package/services/home-shop.service.d.ts +26 -0
  185. package/services/index.d.ts +10 -0
  186. package/services/order-product-review.service.d.ts +16 -0
  187. package/services/order.service.d.ts +13 -0
  188. package/services/shared/configuration.facade.d.ts +12 -0
  189. package/services/shared/index.d.ts +1 -0
  190. package/services/types/index.d.ts +4 -0
  191. package/services/types/pending-product-review.type.d.ts +12 -0
  192. package/services/types/product-review-create.type.d.ts +14 -0
  193. package/services/types/required-checkout-data.type.d.ts +2 -0
  194. package/services/types/required-checkout-subscription-data.type.d.ts +2 -0
  195. package/types/firebase-app-config.type.d.ts +1 -0
  196. package/types/index.d.ts +1 -0
  197. package/fesm2022/infrab4a-connect-angular.mjs.map +0 -1
@@ -0,0 +1,119 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { add, Category, pick, Product, RequiredArgumentError, Shops, Where, } from '@infrab4a/connect';
3
+ import { forkJoin, from, of, throwError } from 'rxjs';
4
+ import { concatMap, map, tap } from 'rxjs/operators';
5
+ import { HomeShopRepositoriesFacade } from './home-shop';
6
+ import { ConfigurationFacade } from './shared';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./home-shop";
9
+ import * as i2 from "./shared";
10
+ export class HomeShopService {
11
+ get homeId() {
12
+ if (this.configurationFacade.defaultShop === Shops.GLAMSHOP)
13
+ return 'glamshop';
14
+ if (this.configurationFacade.defaultShop === Shops.MENSMARKET)
15
+ return 'mens_market';
16
+ return null;
17
+ }
18
+ constructor(repositoriesFacade, configurationFacade) {
19
+ this.repositoriesFacade = repositoriesFacade;
20
+ this.configurationFacade = configurationFacade;
21
+ this.buildCategoryGroupWithRequiredData = (group) => ({
22
+ category: Category.toInstance(pick(group?.category?.toPlain() || {}, ['id', 'name', 'slug', 'conditions'])),
23
+ products: group?.products?.map((product) => Product.toInstance(pick(product?.toPlain() || {}, [
24
+ 'id',
25
+ 'price',
26
+ 'reviews',
27
+ 'hasVariants',
28
+ 'slug',
29
+ 'sku',
30
+ 'stock',
31
+ 'costPrice',
32
+ 'images',
33
+ 'miniatures',
34
+ 'name',
35
+ 'weight',
36
+ 'rate',
37
+ 'type',
38
+ 'brand',
39
+ ]))) || [],
40
+ });
41
+ }
42
+ getHomeData() {
43
+ return this.getHomeConfiguration().pipe(map((home) => (home?.data?.expiresAt > new Date() ? home : null)), concatMap((home) => home
44
+ ? of(home)
45
+ : forkJoin([
46
+ this.getDiscoverProducts(this.gender),
47
+ this.getFeaturedProducts(this.gender),
48
+ this.getVerticalProducts(this.gender),
49
+ ]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
50
+ discoverProducts,
51
+ featuredProducts,
52
+ verticalProducts,
53
+ })), concatMap((data) => this.saveHomeData(data)))));
54
+ }
55
+ getBanners(type) {
56
+ return this.getHomeConfiguration().pipe(map((home) => {
57
+ if (type === 'brand')
58
+ return home.brandsCarousel;
59
+ if (type === 'buyToWin')
60
+ return [home.buyToWinBanner];
61
+ if (type === 'block')
62
+ return home.blockBanners;
63
+ if (type === 'blog')
64
+ return [home.blogBanner];
65
+ return [];
66
+ }));
67
+ }
68
+ getMinValueForFreeShipping() {
69
+ return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping));
70
+ }
71
+ getDiscoverProducts(_gender) {
72
+ return this.getHomeConfiguration().pipe(concatMap((home) => from(this.repositoriesFacade.categoryRepository.getCategoriesForHome({
73
+ categoryIds: home.discoverCategories,
74
+ shop: this.configurationFacade.defaultShop,
75
+ })).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
76
+ }
77
+ getFeaturedProducts(_gender) {
78
+ return this.getHomeConfiguration().pipe(concatMap((home) => from(this.repositoriesFacade.categoryRepository.getCategoriesForHome({
79
+ categoryIds: home.featuredCategories,
80
+ shop: this.configurationFacade.defaultShop,
81
+ })).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
82
+ }
83
+ getVerticalProducts(gender) {
84
+ return this.getHomeConfiguration().pipe(concatMap((home) => forkJoin(home.verticalCarousels.filter(Boolean).map((id) => from(this.repositoriesFacade.categoryRepository.get({ id })).pipe(concatMap((category) => from(this.repositoriesFacade.productRepository.find({
85
+ filters: {
86
+ categories: { operator: Where.IN, value: [category.id] },
87
+ ...(gender ? { tags: { operator: Where.IN, value: [gender] } } : {}),
88
+ },
89
+ limits: { limit: 12 },
90
+ })).pipe(map((products) => ({ category, products })))), map(({ category, products }) => ({ category, products: products.data })), map(this.buildCategoryGroupWithRequiredData))))));
91
+ }
92
+ getHomeConfiguration() {
93
+ return of(this.homeConfiguration).pipe(concatMap((home) => home
94
+ ? of(home)
95
+ : !this.homeId
96
+ ? throwError(() => new RequiredArgumentError(['homeId']))
97
+ : from(this.repositoriesFacade.homeRepository.get({ id: this.homeId })).pipe(tap((homeLoaded) => (this.homeConfiguration = homeLoaded)))));
98
+ }
99
+ saveHomeData(homeData) {
100
+ const data = {
101
+ createdAt: new Date(),
102
+ expiresAt: add(new Date(), { hours: 1 }),
103
+ data: homeData,
104
+ };
105
+ return from(this.repositoriesFacade.homeRepository.update({
106
+ id: this.homeId,
107
+ data,
108
+ })).pipe(tap(() => (this.homeConfiguration.data = data)), map(() => this.homeConfiguration));
109
+ }
110
+ get gender() {
111
+ return this.homeId === 'mens_market' ? 'masculino' : undefined;
112
+ }
113
+ }
114
+ HomeShopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService, deps: [{ token: i1.HomeShopRepositoriesFacade }, { token: i2.ConfigurationFacade }], target: i0.ɵɵFactoryTarget.Injectable });
115
+ HomeShopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService });
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService, decorators: [{
117
+ type: Injectable
118
+ }], ctorParameters: function () { return [{ type: i1.HomeShopRepositoriesFacade }, { type: i2.ConfigurationFacade }]; } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1zaG9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2hvbWUtc2hvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUNMLEdBQUcsRUFFSCxRQUFRLEVBSVIsSUFBSSxFQUNKLE9BQU8sRUFDUCxxQkFBcUIsRUFDckIsS0FBSyxFQUNMLEtBQUssR0FDTixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7OztBQU05QyxNQUFNLE9BQU8sZUFBZTtJQUcxQixJQUFZLE1BQU07UUFDaEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxRQUFRO1lBQUUsT0FBTyxVQUFVLENBQUE7UUFFOUUsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxVQUFVO1lBQUUsT0FBTyxhQUFhLENBQUE7UUFFbkYsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsWUFDbUIsa0JBQThDLEVBQzlDLG1CQUF3QztRQUR4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTRCO1FBQzlDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFpSW5ELHVDQUFrQyxHQUFHLENBQUMsS0FBd0IsRUFBcUIsRUFBRSxDQUFD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SUE0QkQsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBQ2hFLENBQUM7OzRHQTFLVSxlQUFlO2dIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1xyXG4gIGFkZCxcclxuICBCYW5uZXIsXHJcbiAgQ2F0ZWdvcnksXHJcbiAgSG9tZSxcclxuICBIb21lQ2F0ZWdvcnlHcm91cCxcclxuICBIb21lRGF0YSxcclxuICBwaWNrLFxyXG4gIFByb2R1Y3QsXHJcbiAgUmVxdWlyZWRBcmd1bWVudEVycm9yLFxyXG4gIFNob3BzLFxyXG4gIFdoZXJlLFxyXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBjb25jYXRNYXAsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcblxyXG5pbXBvcnQgeyBIb21lU2hvcFJlcG9zaXRvcmllc0ZhY2FkZSB9IGZyb20gJy4vaG9tZS1zaG9wJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRmFjYWRlIH0gZnJvbSAnLi9zaGFyZWQnXHJcblxyXG50eXBlIEhvbWVDb25maWd1cmF0aW9uSWQgPSAnZ2xhbXNob3AnIHwgJ21lbnNfbWFya2V0J1xyXG50eXBlIEJhbm5lclR5cGUgPSAnYnJhbmQnIHwgJ2J1eVRvV2luJyB8ICdibG9jaycgfCAnYmxvZydcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEhvbWVTaG9wU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBob21lQ29uZmlndXJhdGlvbjogSG9tZVxyXG5cclxuICBwcml2YXRlIGdldCBob21lSWQoKTogSG9tZUNvbmZpZ3VyYXRpb25JZCB7XHJcbiAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uRmFjYWRlLmRlZmF1bHRTaG9wID09PSBTaG9wcy5HTEFNU0hPUCkgcmV0dXJuICdnbGFtc2hvcCdcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uRmFjYWRlLmRlZmF1bHRTaG9wID09PSBTaG9wcy5NRU5TTUFSS0VUKSByZXR1cm4gJ21lbnNfbWFya2V0J1xyXG5cclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVwb3NpdG9yaWVzRmFjYWRlOiBIb21lU2hvcFJlcG9zaXRvcmllc0ZhY2FkZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlndXJhdGlvbkZhY2FkZTogQ29uZmlndXJhdGlvbkZhY2FkZSxcclxuICApIHt9XHJcblxyXG4gIGdldEhvbWVEYXRhKCk6IE9ic2VydmFibGU8SG9tZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKFxyXG4gICAgICBtYXAoKGhvbWUpID0+IChob21lPy5kYXRhPy5leHBpcmVzQXQgPiBuZXcgRGF0ZSgpID8gaG9tZSA6IG51bGwpKSxcclxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxyXG4gICAgICAgIGhvbWVcclxuICAgICAgICAgID8gb2YoaG9tZSlcclxuICAgICAgICAgIDogZm9ya0pvaW4oW1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0RGlzY292ZXJQcm9kdWN0cyh0aGlzLmdlbmRlciksXHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRGZWF0dXJlZFByb2R1Y3RzKHRoaXMuZ2VuZGVyKSxcclxuICAgICAgICAgICAgICB0aGlzLmdldFZlcnRpY2FsUHJvZHVjdHModGhpcy5nZW5kZXIpLFxyXG4gICAgICAgICAgICBdKS5waXBlKFxyXG4gICAgICAgICAgICAgIG1hcCgoW2Rpc2NvdmVyUHJvZHVjdHMsIGZlYXR1cmVkUHJvZHVjdHMsIHZlcnRpY2FsUHJvZHVjdHNdKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgZGlzY292ZXJQcm9kdWN0cyxcclxuICAgICAgICAgICAgICAgIGZlYXR1cmVkUHJvZHVjdHMsXHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbFByb2R1Y3RzLFxyXG4gICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgICBjb25jYXRNYXAoKGRhdGEpID0+IHRoaXMuc2F2ZUhvbWVEYXRhKGRhdGEpKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldEJhbm5lcnModHlwZTogQmFubmVyVHlwZSk6IE9ic2VydmFibGU8QmFubmVyW10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldEhvbWVDb25maWd1cmF0aW9uKCkucGlwZShcclxuICAgICAgbWFwKChob21lKSA9PiB7XHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdicmFuZCcpIHJldHVybiBob21lLmJyYW5kc0Nhcm91c2VsXHJcblxyXG4gICAgICAgIGlmICh0eXBlID09PSAnYnV5VG9XaW4nKSByZXR1cm4gW2hvbWUuYnV5VG9XaW5CYW5uZXJdXHJcblxyXG4gICAgICAgIGlmICh0eXBlID09PSAnYmxvY2snKSByZXR1cm4gaG9tZS5ibG9ja0Jhbm5lcnNcclxuXHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdibG9nJykgcmV0dXJuIFtob21lLmJsb2dCYW5uZXJdXHJcblxyXG4gICAgICAgIHJldHVybiBbXVxyXG4gICAgICB9KSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldE1pblZhbHVlRm9yRnJlZVNoaXBwaW5nKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUobWFwKChob21lKSA9PiBob21lLm1pblZhbHVlRm9yRnJlZVNoaXBwaW5nKSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RGlzY292ZXJQcm9kdWN0cyhfZ2VuZGVyPzogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldEhvbWVDb25maWd1cmF0aW9uKCkucGlwZShcclxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxyXG4gICAgICAgIGZyb20oXHJcbiAgICAgICAgICB0aGlzLnJlcG9zaXRvcmllc0ZhY2FkZS5jYXRlZ29yeVJlcG9zaXRvcnkuZ2V0Q2F0ZWdvcmllc0ZvckhvbWUoe1xyXG4gICAgICAgICAgICBjYXRlZ29yeUlkczogaG9tZS5kaXNjb3ZlckNhdGVnb3JpZXMsXHJcbiAgICAgICAgICAgIHNob3A6IHRoaXMuY29uZmlndXJhdGlvbkZhY2FkZS5kZWZhdWx0U2hvcCxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICkucGlwZShtYXAoKGdyb3VwcykgPT4gZ3JvdXBzLm1hcCh0aGlzLmJ1aWxkQ2F0ZWdvcnlHcm91cFdpdGhSZXF1aXJlZERhdGEpKSksXHJcbiAgICAgICksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZlYXR1cmVkUHJvZHVjdHMoX2dlbmRlcj86IHN0cmluZyk6IE9ic2VydmFibGU8eyBjYXRlZ29yeTogQ2F0ZWdvcnk7IHByb2R1Y3RzOiBQcm9kdWN0W10gfVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXHJcbiAgICAgIGNvbmNhdE1hcCgoaG9tZSkgPT5cclxuICAgICAgICBmcm9tKFxyXG4gICAgICAgICAgdGhpcy5yZXBvc2l0b3JpZXNGYWNhZGUuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldENhdGVnb3JpZXNGb3JIb21lKHtcclxuICAgICAgICAgICAgY2F0ZWdvcnlJZHM6IGhvbWUuZmVhdHVyZWRDYXRlZ29yaWVzLFxyXG4gICAgICAgICAgICBzaG9wOiB0aGlzLmNvbmZpZ3VyYXRpb25GYWNhZGUuZGVmYXVsdFNob3AsXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICApLnBpcGUobWFwKChncm91cHMpID0+IGdyb3Vwcy5tYXAodGhpcy5idWlsZENhdGVnb3J5R3JvdXBXaXRoUmVxdWlyZWREYXRhKSkpLFxyXG4gICAgICApLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRWZXJ0aWNhbFByb2R1Y3RzKGdlbmRlcj86IHN0cmluZyk6IE9ic2VydmFibGU8eyBjYXRlZ29yeTogQ2F0ZWdvcnk7IHByb2R1Y3RzOiBQcm9kdWN0W10gfVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXHJcbiAgICAgIGNvbmNhdE1hcCgoaG9tZSkgPT5cclxuICAgICAgICBmb3JrSm9pbihcclxuICAgICAgICAgIGhvbWUudmVydGljYWxDYXJvdXNlbHMuZmlsdGVyKEJvb2xlYW4pLm1hcCgoaWQpID0+XHJcbiAgICAgICAgICAgIGZyb20odGhpcy5yZXBvc2l0b3JpZXNGYWNhZGUuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldCh7IGlkIH0pKS5waXBlKFxyXG4gICAgICAgICAgICAgIGNvbmNhdE1hcCgoY2F0ZWdvcnkpID0+XHJcbiAgICAgICAgICAgICAgICBmcm9tKFxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJlcG9zaXRvcmllc0ZhY2FkZS5wcm9kdWN0UmVwb3NpdG9yeS5maW5kKHtcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzOiB7IG9wZXJhdG9yOiBXaGVyZS5JTiwgdmFsdWU6IFtjYXRlZ29yeS5pZF0gfSxcclxuICAgICAgICAgICAgICAgICAgICAgIC4uLihnZW5kZXIgPyB7IHRhZ3M6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogW2dlbmRlcl0gfSB9IDoge30pLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgbGltaXRzOiB7IGxpbWl0OiAxMiB9LFxyXG4gICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICkucGlwZShtYXAoKHByb2R1Y3RzKSA9PiAoeyBjYXRlZ29yeSwgcHJvZHVjdHMgfSkpKSxcclxuICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgIG1hcCgoeyBjYXRlZ29yeSwgcHJvZHVjdHMgfSkgPT4gKHsgY2F0ZWdvcnksIHByb2R1Y3RzOiBwcm9kdWN0cy5kYXRhIH0pKSxcclxuICAgICAgICAgICAgICBtYXAodGhpcy5idWlsZENhdGVnb3J5R3JvdXBXaXRoUmVxdWlyZWREYXRhKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICksXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKTogT2JzZXJ2YWJsZTxIb21lPiB7XHJcbiAgICByZXR1cm4gb2YodGhpcy5ob21lQ29uZmlndXJhdGlvbikucGlwZShcclxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxyXG4gICAgICAgIGhvbWVcclxuICAgICAgICAgID8gb2YoaG9tZSlcclxuICAgICAgICAgIDogIXRoaXMuaG9tZUlkXHJcbiAgICAgICAgICA/IHRocm93RXJyb3IoKCkgPT4gbmV3IFJlcXVpcmVkQXJndW1lbnRFcnJvcihbJ2hvbWVJZCddKSlcclxuICAgICAgICAgIDogZnJvbSh0aGlzLnJlcG9zaXRvcmllc0ZhY2FkZS5ob21lUmVwb3NpdG9yeS5nZXQoeyBpZDogdGhpcy5ob21lSWQgfSkpLnBpcGUoXHJcbiAgICAgICAgICAgICAgdGFwKChob21lTG9hZGVkKSA9PiAodGhpcy5ob21lQ29uZmlndXJhdGlvbiA9IGhvbWVMb2FkZWQpKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F2ZUhvbWVEYXRhKGhvbWVEYXRhOiBIb21lRGF0YSk6IE9ic2VydmFibGU8SG9tZT4ge1xyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLFxyXG4gICAgICBleHBpcmVzQXQ6IGFkZChuZXcgRGF0ZSgpLCB7IGhvdXJzOiAxIH0pLFxyXG4gICAgICBkYXRhOiBob21lRGF0YSxcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5yZXBvc2l0b3JpZXNGYWNhZGUuaG9tZVJlcG9zaXRvcnkudXBkYXRlKHtcclxuICAgICAgICBpZDogdGhpcy5ob21lSWQsXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgfSksXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiAodGhpcy5ob21lQ29uZmlndXJhdGlvbi5kYXRhID0gZGF0YSkpLFxyXG4gICAgICBtYXAoKCkgPT4gdGhpcy5ob21lQ29uZmlndXJhdGlvbiksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkQ2F0ZWdvcnlHcm91cFdpdGhSZXF1aXJlZERhdGEgPSAoZ3JvdXA6IEhvbWVDYXRlZ29yeUdyb3VwKTogSG9tZUNhdGVnb3J5R3JvdXAgPT4gKHtcclxuICAgIGNhdGVnb3J5OiBDYXRlZ29yeS50b0luc3RhbmNlKHBpY2soZ3JvdXA/LmNhdGVnb3J5Py50b1BsYWluKCkgfHwge30sIFsnaWQnLCAnbmFtZScsICdzbHVnJywgJ2NvbmRpdGlvbnMnXSkpLFxyXG4gICAgcHJvZHVjdHM6XHJcbiAgICAgIGdyb3VwPy5wcm9kdWN0cz8ubWFwKChwcm9kdWN0KSA9PlxyXG4gICAgICAgIFByb2R1Y3QudG9JbnN0YW5jZShcclxuICAgICAgICAgIHBpY2socHJvZHVjdD8udG9QbGFpbigpIHx8IHt9LCBbXHJcbiAgICAgICAgICAgICdpZCcsXHJcbiAgICAgICAgICAgICdwcmljZScsXHJcbiAgICAgICAgICAgICdyZXZpZXdzJyxcclxuICAgICAgICAgICAgJ2hhc1ZhcmlhbnRzJyxcclxuICAgICAgICAgICAgJ3NsdWcnLFxyXG4gICAgICAgICAgICAnc2t1JyxcclxuICAgICAgICAgICAgJ3N0b2NrJyxcclxuICAgICAgICAgICAgJ2Nvc3RQcmljZScsXHJcbiAgICAgICAgICAgICdpbWFnZXMnLFxyXG4gICAgICAgICAgICAnbWluaWF0dXJlcycsXHJcbiAgICAgICAgICAgICduYW1lJyxcclxuICAgICAgICAgICAgJ3dlaWdodCcsXHJcbiAgICAgICAgICAgICdyYXRlJyxcclxuICAgICAgICAgICAgJ3R5cGUnLFxyXG4gICAgICAgICAgICAnYnJhbmQnLFxyXG4gICAgICAgICAgXSksXHJcbiAgICAgICAgKSxcclxuICAgICAgKSB8fCBbXSxcclxuICB9KVxyXG5cclxuICBwcml2YXRlIGdldCBnZW5kZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ob21lSWQgPT09ICdtZW5zX21hcmtldCcgPyAnbWFzY3VsaW5vJyA6IHVuZGVmaW5lZFxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,11 @@
1
+ export * from './auth.service';
2
+ export * from './cart.service';
3
+ export * from './catalog';
4
+ export * from './checkout-subscription.service';
5
+ export * from './checkout.service';
6
+ export * from './coupon.service';
7
+ export * from './helpers';
8
+ export * from './home-shop.service';
9
+ export * from './order-product-review.service';
10
+ export * from './order.service';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxpQkFBaUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2NhcnQuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9jYXRhbG9nJ1xyXG5leHBvcnQgKiBmcm9tICcuL2NoZWNrb3V0LXN1YnNjcmlwdGlvbi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2NoZWNrb3V0LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vY291cG9uLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycydcclxuZXhwb3J0ICogZnJvbSAnLi9ob21lLXNob3Auc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9vcmRlci1wcm9kdWN0LXJldmlldy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL29yZGVyLnNlcnZpY2UnXHJcbiJdfQ==
@@ -0,0 +1,110 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { OrderFirestoreRepository, OrderStatus, ProductReview, Where, } from '@infrab4a/connect';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@infrab4a/connect";
5
+ export class OrderProductReviewService {
6
+ constructor(orderRepository, productReviewRepository, variantRepository) {
7
+ this.orderRepository = orderRepository;
8
+ this.productReviewRepository = productReviewRepository;
9
+ this.variantRepository = variantRepository;
10
+ }
11
+ async getPendingReviewsByEmail(email) {
12
+ const products = [];
13
+ const orders = await this.getOrdersByEmail(email);
14
+ if (orders.length) {
15
+ for (const order of orders) {
16
+ const lineItems = order.lineItems.filter((item) => !item.isGift);
17
+ for (const item of lineItems) {
18
+ const productReview = await this.getProductReview(order, item);
19
+ if (productReview?.status != null)
20
+ continue;
21
+ products.push(this.buildProductReview(order, item, productReview));
22
+ }
23
+ }
24
+ }
25
+ return products;
26
+ }
27
+ async getOrdersByEmail(email) {
28
+ const { data: orders } = await this.orderRepository.find({
29
+ filters: {
30
+ user: {
31
+ email: email,
32
+ },
33
+ status: OrderStatus.ENTREGUE,
34
+ createdAt: {
35
+ operator: Where.GTE,
36
+ value: new Date(2024, 0, 0, 0, 0, 0).getTime(),
37
+ },
38
+ },
39
+ orderBy: {
40
+ createdAt: 'desc',
41
+ },
42
+ });
43
+ return orders;
44
+ }
45
+ async getProductReview(order, item) {
46
+ const products = [item.id];
47
+ const isVariant = await this.variantRepository
48
+ .find({
49
+ filters: {
50
+ id: item.id,
51
+ },
52
+ })
53
+ .then((res) => res.data.at(0));
54
+ if (isVariant)
55
+ products.push(isVariant.productId);
56
+ const productReview = await this.productReviewRepository
57
+ .find({
58
+ filters: {
59
+ orderId: { operator: Where.IN, value: [order.id, order.orderNumber].filter(Boolean) },
60
+ productId: { operator: Where.IN, value: products },
61
+ },
62
+ })
63
+ .then((res) => res.data.at(0));
64
+ return productReview;
65
+ }
66
+ buildProductReview(order, item, review) {
67
+ return {
68
+ id: item.id,
69
+ orderId: order.id,
70
+ orderNumber: order.orderNumber,
71
+ isEdition: false,
72
+ name: item.name,
73
+ image: item.image,
74
+ deliveryDate: order.deliveredAt || null,
75
+ evaluationInAnalysis: review ? true : false,
76
+ rating: review ? review.rate : null,
77
+ shopProductSlug: item.slug,
78
+ };
79
+ }
80
+ async createReview(review) {
81
+ return this.productReviewRepository.create(ProductReview.toInstance({
82
+ productId: review.productId.toString(),
83
+ shop: review.shop,
84
+ rate: review.rate,
85
+ author: review.author,
86
+ email: review.email,
87
+ location: review.location,
88
+ review: review.comment,
89
+ title: review.title,
90
+ personId: review.personId,
91
+ points: review.points,
92
+ orderId: review.orderId,
93
+ }));
94
+ }
95
+ }
96
+ OrderProductReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }, { token: 'VariantRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
97
+ OrderProductReviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService, decorators: [{
99
+ type: Injectable
100
+ }], ctorParameters: function () { return [{ type: i1.OrderFirestoreRepository, decorators: [{
101
+ type: Inject,
102
+ args: ['OrderRepository']
103
+ }] }, { type: undefined, decorators: [{
104
+ type: Inject,
105
+ args: ['ProductReviewRepository']
106
+ }] }, { type: undefined, decorators: [{
107
+ type: Inject,
108
+ args: ['VariantRepository']
109
+ }] }]; } });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBR0wsd0JBQXdCLEVBQ3hCLFdBQVcsRUFDWCxhQUFhLEVBR2IsS0FBSyxHQUNOLE1BQU0sbUJBQW1CLENBQUE7OztBQUsxQixNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQzhDLGVBQXlDLEVBQ2pDLHVCQUFnRCxFQUN0RCxpQkFBb0M7UUFGdEMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBQ2pDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDdEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUNqRixDQUFDO0lBRUosS0FBSyxDQUFDLHdCQUF3QixDQUFDLEtBQWE7UUFDMUMsTUFBTSxRQUFRLEdBQTJCLEVBQUUsQ0FBQTtRQUMzQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUVqRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7Z0JBQzFCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFFaEUsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLEVBQUU7b0JBQzVCLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtv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QyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbkMsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQzNCLENBQUE7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUEyQjtRQUM1QyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQ3hDLGFBQWEsQ0FBQyxVQUFVLENBQUM7WUFDdkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3RDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7O3NIQXRHVSx5QkFBeUIsa0JBRTFCLGlCQUFpQixhQUNqQix5QkFBeUIsYUFDekIsbUJBQW1COzBIQUpsQix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVTs7MEJBR04sTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQ2hDLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtcclxuICBMaW5lSXRlbSxcclxuICBPcmRlcixcclxuICBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgT3JkZXJTdGF0dXMsXHJcbiAgUHJvZHVjdFJldmlldyxcclxuICBQcm9kdWN0UmV2aWV3UmVwb3NpdG9yeSxcclxuICBWYXJpYW50UmVwb3NpdG9yeSxcclxuICBXaGVyZSxcclxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IFBlbmRpbmdQcm9kdWN0UmV2aWV3LCBQcm9kdWN0UmV2aWV3Q3JlYXRlIH0gZnJvbSAnLi90eXBlcydcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE9yZGVyUHJvZHVjdFJldmlld1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnT3JkZXJSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBvcmRlclJlcG9zaXRvcnk6IE9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICAgIEBJbmplY3QoJ1Byb2R1Y3RSZXZpZXdSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0UmV2aWV3UmVwb3NpdG9yeTogUHJvZHVjdFJldmlld1JlcG9zaXRvcnksXHJcbiAgICBASW5qZWN0KCdWYXJpYW50UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgdmFyaWFudFJlcG9zaXRvcnk6IFZhcmlhbnRSZXBvc2l0b3J5LFxyXG4gICkge31cclxuXHJcbiAgYXN5bmMgZ2V0UGVuZGluZ1Jldmlld3NCeUVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPFBlbmRpbmdQcm9kdWN0UmV2aWV3W10+IHtcclxuICAgIGNvbnN0IHByb2R1Y3RzOiBQZW5kaW5nUHJvZHVjdFJldmlld1tdID0gW11cclxuICAgIGNvbnN0IG9yZGVycyA9IGF3YWl0IHRoaXMuZ2V0T3JkZXJzQnlFbWFpbChlbWFpbClcclxuXHJcbiAgICBpZiAob3JkZXJzLmxlbmd0aCkge1xyXG4gICAgICBmb3IgKGNvbnN0IG9yZGVyIG9mIG9yZGVycykge1xyXG4gICAgICAgIGNvbnN0IGxpbmVJdGVtcyA9IG9yZGVyLmxpbmVJdGVtcy5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmlzR2lmdClcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGxpbmVJdGVtcykge1xyXG4gICAgICAgICAgY29uc3QgcHJvZHVjdFJldmlldyA9IGF3YWl0IHRoaXMuZ2V0UHJvZHVjdFJldmlldyhvcmRlciwgaXRlbSlcclxuXHJcbiAgICAgICAgICBpZiAocHJvZHVjdFJldmlldz8uc3RhdHVzICE9IG51bGwpIGNvbnRpbnVlXHJcblxyXG4gICAgICAgICAgcHJvZHVjdHMucHVzaCh0aGlzLmJ1aWxkUHJvZHVjdFJldmlldyhvcmRlciwgaXRlbSwgcHJvZHVjdFJldmlldykpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHByb2R1Y3RzXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldE9yZGVyc0J5RW1haWwoZW1haWw6IHN0cmluZyk6IFByb21pc2U8T3JkZXJbXT4ge1xyXG4gICAgY29uc3QgeyBkYXRhOiBvcmRlcnMgfSA9IGF3YWl0IHRoaXMub3JkZXJSZXBvc2l0b3J5LmZpbmQoe1xyXG4gICAgICBmaWx0ZXJzOiB7XHJcbiAgICAgICAgdXNlcjoge1xyXG4gICAgICAgICAgZW1haWw6IGVtYWlsLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc3RhdHVzOiBPcmRlclN0YXR1cy5FTlRSRUdVRSxcclxuICAgICAgICBjcmVhdGVkQXQ6IHtcclxuICAgICAgICAgIG9wZXJhdG9yOiBXaGVyZS5HVEUsXHJcbiAgICAgICAgICB2YWx1ZTogbmV3IERhdGUoMjAyNCwgMCwgMCwgMCwgMCwgMCkuZ2V0VGltZSgpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIG9yZGVyQnk6IHtcclxuICAgICAgICBjcmVhdGVkQXQ6ICdkZXNjJyxcclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIG9yZGVyc1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBnZXRQcm9kdWN0UmV2aWV3KG9yZGVyOiBPcmRlciwgaXRlbTogTGluZUl0ZW0pIHtcclxuICAgIGNvbnN0IHByb2R1Y3RzOiBzdHJpbmdbXSA9IFtpdGVtLmlkXVxyXG4gICAgY29uc3QgaXNWYXJpYW50ID0gYXdhaXQgdGhpcy52YXJpYW50UmVwb3NpdG9yeVxyXG4gICAgICAuZmluZCh7XHJcbiAgICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgICAgaWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgICAgLnRoZW4oKHJlcykgPT4gcmVzLmRhdGEuYXQoMCkpXHJcblxyXG4gICAgaWYgKGlzVmFyaWFudCkgcHJvZHVjdHMucHVzaChpc1ZhcmlhbnQucHJvZHVjdElkKVxyXG4gICAgY29uc3QgcHJvZHVjdFJldmlldyA9IGF3YWl0IHRoaXMucHJvZHVjdFJldmlld1JlcG9zaXRvcnlcclxuICAgICAgLmZpbmQoe1xyXG4gICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgIG9yZGVySWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogW29yZGVyLmlkLCBvcmRlci5vcmRlck51bWJlcl0uZmlsdGVyKEJvb2xlYW4pIH0sXHJcbiAgICAgICAgICBwcm9kdWN0SWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogcHJvZHVjdHMgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gICAgICAudGhlbigocmVzKSA9PiByZXMuZGF0YS5hdCgwKSlcclxuXHJcbiAgICByZXR1cm4gcHJvZHVjdFJldmlld1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFByb2R1Y3RSZXZpZXcob3JkZXI6IE9yZGVyLCBpdGVtOiBMaW5lSXRlbSwgcmV2aWV3OiBQcm9kdWN0UmV2aWV3KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpZDogaXRlbS5pZCxcclxuICAgICAgb3JkZXJJZDogb3JkZXIuaWQsXHJcbiAgICAgIG9yZGVyTnVtYmVyOiBvcmRlci5vcmRlck51bWJlcixcclxuICAgICAgaXNFZGl0aW9uOiBmYWxzZSxcclxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICBpbWFnZTogaXRlbS5pbWFnZSxcclxuICAgICAgZGVsaXZlcnlEYXRlOiBvcmRlci5kZWxpdmVyZWRBdCB8fCBudWxsLFxyXG4gICAgICBldmFsdWF0aW9uSW5BbmFseXNpczogcmV2aWV3ID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICByYXRpbmc6IHJldmlldyA/IHJldmlldy5yYXRlIDogbnVsbCxcclxuICAgICAgc2hvcFByb2R1Y3RTbHVnOiBpdGVtLnNsdWcsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBjcmVhdGVSZXZpZXcocmV2aWV3OiBQcm9kdWN0UmV2aWV3Q3JlYXRlKTogUHJvbWlzZTxQcm9kdWN0UmV2aWV3PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9kdWN0UmV2aWV3UmVwb3NpdG9yeS5jcmVhdGUoXHJcbiAgICAgIFByb2R1Y3RSZXZpZXcudG9JbnN0YW5jZSh7XHJcbiAgICAgICAgcHJvZHVjdElkOiByZXZpZXcucHJvZHVjdElkLnRvU3RyaW5nKCksXHJcbiAgICAgICAgc2hvcDogcmV2aWV3LnNob3AsXHJcbiAgICAgICAgcmF0ZTogcmV2aWV3LnJhdGUsXHJcbiAgICAgICAgYXV0aG9yOiByZXZpZXcuYXV0aG9yLFxyXG4gICAgICAgIGVtYWlsOiByZXZpZXcuZW1haWwsXHJcbiAgICAgICAgbG9jYXRpb246IHJldmlldy5sb2NhdGlvbixcclxuICAgICAgICByZXZpZXc6IHJldmlldy5jb21tZW50LFxyXG4gICAgICAgIHRpdGxlOiByZXZpZXcudGl0bGUsXHJcbiAgICAgICAgcGVyc29uSWQ6IHJldmlldy5wZXJzb25JZCxcclxuICAgICAgICBwb2ludHM6IHJldmlldy5wb2ludHMsXHJcbiAgICAgICAgb3JkZXJJZDogcmV2aWV3Lm9yZGVySWQsXHJcbiAgICAgIH0pLFxyXG4gICAgKVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { doc, Firestore, docSnapshots } from '@angular/fire/firestore';
3
+ import { Order, OrderFirestoreRepository } from '@infrab4a/connect';
4
+ import { Subject } from 'rxjs';
5
+ import { map } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/fire/firestore";
8
+ import * as i2 from "@infrab4a/connect";
9
+ export class OrderService {
10
+ constructor(angularFirestore, orderRepository) {
11
+ this.angularFirestore = angularFirestore;
12
+ this.orderRepository = orderRepository;
13
+ this.orderSubject = new Subject();
14
+ }
15
+ getOrder(id) {
16
+ docSnapshots(doc(this.angularFirestore, `${this.orderRepository.collectionName}/${id}`))
17
+ .pipe(map((doc) => Order.toInstance(doc.data())))
18
+ .subscribe((doc) => this.orderSubject.next(doc));
19
+ return this.orderSubject;
20
+ }
21
+ }
22
+ OrderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, deps: [{ token: i1.Firestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
23
+ OrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, decorators: [{
25
+ type: Injectable
26
+ }], ctorParameters: function () { return [{ type: i1.Firestore }, { type: i2.OrderFirestoreRepository, decorators: [{
27
+ type: Inject,
28
+ args: ['OrderRepository']
29
+ }] }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUFHcEMsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFDbUIsZ0JBQTJCLEVBQ0EsZUFBeUM7UUFEcEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFXO1FBQ0Esb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBSnZGLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVMsQ0FBQTtJQUtoQyxDQUFDO0lBRUosUUFBUSxDQUFDLEVBQVU7UUFDakIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNoRCxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7O3lHQWRVLFlBQVksMkNBS2IsaUJBQWlCOzZHQUxoQixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVU7OzBCQU1OLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgZG9jLCBGaXJlc3RvcmUsIGRvY1NuYXBzaG90cyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJ1xyXG5pbXBvcnQgeyBPcmRlciwgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE9yZGVyU2VydmljZSB7XHJcbiAgb3JkZXJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8T3JkZXI+KClcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJGaXJlc3RvcmU6IEZpcmVzdG9yZSxcclxuICAgIEBJbmplY3QoJ09yZGVyUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJSZXBvc2l0b3J5OiBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgKSB7fVxyXG5cclxuICBnZXRPcmRlcihpZDogc3RyaW5nKTogU3ViamVjdDxPcmRlcj4ge1xyXG4gICAgZG9jU25hcHNob3RzKGRvYyh0aGlzLmFuZ3VsYXJGaXJlc3RvcmUsIGAke3RoaXMub3JkZXJSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke2lkfWApKVxyXG4gICAgICAucGlwZShtYXAoKGRvYykgPT4gT3JkZXIudG9JbnN0YW5jZShkb2MuZGF0YSgpKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGRvYykgPT4gdGhpcy5vcmRlclN1YmplY3QubmV4dChkb2MpKVxyXG5cclxuICAgIHJldHVybiB0aGlzLm9yZGVyU3ViamVjdFxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { Shops } from '@infrab4a/connect';
3
+ import { DEFAULT_SHOP, FIREBASE_OPTIONS } from '../../consts';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@infrab4a/connect";
6
+ export class ConfigurationFacade {
7
+ constructor(defaultShop, firebaseOptions) {
8
+ this.defaultShop = defaultShop;
9
+ this.firebaseOptions = firebaseOptions;
10
+ }
11
+ getCheckoutUrl() {
12
+ return `https://southamerica-east1-${this.firebaseOptions.projectId}.cloudfunctions.net`;
13
+ }
14
+ getProjectId() {
15
+ return this.firebaseOptions.projectId;
16
+ }
17
+ }
18
+ ConfigurationFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ConfigurationFacade, deps: [{ token: DEFAULT_SHOP }, { token: FIREBASE_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
19
+ ConfigurationFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ConfigurationFacade });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ConfigurationFacade, decorators: [{
21
+ type: Injectable
22
+ }], ctorParameters: function () { return [{ type: i1.Shops, decorators: [{
23
+ type: Inject,
24
+ args: [DEFAULT_SHOP]
25
+ }] }, { type: undefined, decorators: [{
26
+ type: Inject,
27
+ args: [FIREBASE_OPTIONS]
28
+ }] }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL3NoYXJlZC9jb25maWd1cmF0aW9uLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFekMsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTs7O0FBRzdELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDd0MsV0FBa0IsRUFDZCxlQUFnQztRQURwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBTztRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN6RSxDQUFDO0lBRUosY0FBYztRQUNaLE9BQU8sOEJBQThCLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxxQkFBcUIsQ0FBQTtJQUMxRixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUE7SUFDdkMsQ0FBQzs7Z0hBWlUsbUJBQW1CLGtCQUVwQixZQUFZLGFBQ1osZ0JBQWdCO29IQUhmLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVOzswQkFHTixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJ1xyXG5pbXBvcnQgeyBTaG9wcyB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuaW1wb3J0IHsgREVGQVVMVF9TSE9QLCBGSVJFQkFTRV9PUFRJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RzJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkZhY2FkZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRTaG9wOiBTaG9wcyxcclxuICAgIEBJbmplY3QoRklSRUJBU0VfT1BUSU9OUykgcHVibGljIHJlYWRvbmx5IGZpcmViYXNlT3B0aW9uczogRmlyZWJhc2VPcHRpb25zLFxyXG4gICkge31cclxuXHJcbiAgZ2V0Q2hlY2tvdXRVcmwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgaHR0cHM6Ly9zb3V0aGFtZXJpY2EtZWFzdDEtJHt0aGlzLmZpcmViYXNlT3B0aW9ucy5wcm9qZWN0SWR9LmNsb3VkZnVuY3Rpb25zLm5ldGBcclxuICB9XHJcblxyXG4gIGdldFByb2plY3RJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlyZWJhc2VPcHRpb25zLnByb2plY3RJZFxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { ConfigurationFacade } from './configuration.facade';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENvbmZpZ3VyYXRpb25GYWNhZGUgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uZmFjYWRlJ1xyXG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './pending-product-review.type';
2
+ export * from './product-review-create.type';
3
+ export * from './required-checkout-data.type';
4
+ export * from './required-checkout-subscription-data.type';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLCtCQUErQixDQUFBO0FBQzdDLGNBQWMsNENBQTRDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BlbmRpbmctcHJvZHVjdC1yZXZpZXcudHlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LXJldmlldy1jcmVhdGUudHlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9yZXF1aXJlZC1jaGVja291dC1kYXRhLnR5cGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZSdcclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1wcm9kdWN0LXJldmlldy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9wZW5kaW5nLXByb2R1Y3QtcmV2aWV3LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFBlbmRpbmdQcm9kdWN0UmV2aWV3ID0ge1xyXG4gIGlkOiBzdHJpbmdcclxuICBpc0VkaXRpb246IGJvb2xlYW5cclxuICBvcmRlcklkOiBzdHJpbmdcclxuICBvcmRlck51bWJlcjogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaW1hZ2U6IHN0cmluZ1xyXG4gIGRlbGl2ZXJ5RGF0ZTogc3RyaW5nXHJcbiAgZXZhbHVhdGlvbkluQW5hbHlzaXM6IGJvb2xlYW5cclxuICByYXRpbmc/OiBudW1iZXJcclxuICBzaG9wUHJvZHVjdFNsdWc6IHN0cmluZ1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1yZXZpZXctY3JlYXRlLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL3R5cGVzL3Byb2R1Y3QtcmV2aWV3LWNyZWF0ZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaG9wcyB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0L3NyYydcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RSZXZpZXdDcmVhdGUgPSB7XHJcbiAgcHJvZHVjdElkOiBzdHJpbmdcclxuICBzaG9wOiBTaG9wc1xyXG4gIHJhdGU6IG51bWJlclxyXG4gIGF1dGhvcjogc3RyaW5nXHJcbiAgZW1haWw6IHN0cmluZ1xyXG4gIGxvY2F0aW9uOiBzdHJpbmdcclxuICBjb21tZW50OiBzdHJpbmdcclxuICB0aXRsZTogc3RyaW5nXHJcbiAgcGVyc29uSWQ6IG51bWJlclxyXG4gIHBvaW50czogbnVtYmVyXHJcbiAgb3JkZXJJZDogc3RyaW5nXHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtY2hlY2tvdXQtZGF0YS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9yZXF1aXJlZC1jaGVja291dC1kYXRhLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoZWNrb3V0IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcblxyXG5leHBvcnQgdHlwZSBSZXF1aXJlZENoZWNrb3V0RGF0YSA9IFBhcnRpYWw8UGljazxDaGVja291dCwgJ2lkJyB8ICd1c2VyJyB8ICdzaG9wJyB8ICdsaW5lSXRlbXMnPj5cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvdHlwZXMvcmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tvdXRTdWJzY3JpcHRpb24gfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmV4cG9ydCB0eXBlIFJlcXVpcmVkQ2hlY2tvdXRTdWJzY3JpcHRpb25EYXRhID0gUGFydGlhbDxQaWNrPENoZWNrb3V0U3Vic2NyaXB0aW9uLCAnaWQnPj5cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UtYXBwLWNvbmZpZy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy90eXBlcy9maXJlYmFzZS1hcHAtY29uZmlnLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZpcmViYXNlQXBwQ29uZmlnID0gUmVjb3JkPHN0cmluZywgYW55PlxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './firebase-app-config.type';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLWFwcC1jb25maWcudHlwZSdcclxuIl19