@infrab4a/connect-angular 0.13.3 → 0.14.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 (73) hide show
  1. package/{lib/angular-connect.module.d.ts → angular-connect.module.d.ts} +5 -2
  2. package/angular-elastic-search.module.d.ts +9 -0
  3. package/{lib/angular-firestore.module.d.ts → angular-firestore.module.d.ts} +7 -2
  4. package/bundles/infrab4a-connect-angular.umd.js +52 -12
  5. package/bundles/infrab4a-connect-angular.umd.js.map +1 -1
  6. package/consts/es-config.const.d.ts +1 -0
  7. package/{lib/consts → consts}/index.d.ts +1 -0
  8. package/esm2015/angular-connect.module.js +47 -0
  9. package/esm2015/angular-elastic-search.module.js +38 -0
  10. package/esm2015/angular-firebase-auth.module.js +113 -0
  11. package/esm2015/angular-firestore.module.js +340 -0
  12. package/esm2015/consts/default-shop.const.js +2 -0
  13. package/esm2015/consts/es-config.const.js +2 -0
  14. package/esm2015/consts/index.js +3 -0
  15. package/esm2015/index.js +5 -0
  16. package/esm2015/infrab4a-connect-angular.js +2 -2
  17. package/esm2015/services/auth.service.js +42 -0
  18. package/esm2015/services/cart.service.js +166 -0
  19. package/esm2015/services/checkout-subscription.service.js +68 -0
  20. package/esm2015/services/checkout.service.js +79 -0
  21. package/esm2015/services/coupon.service.js +70 -0
  22. package/esm2015/services/errors/group-invalid-coupon.error.js +7 -0
  23. package/esm2015/services/errors/index.js +3 -0
  24. package/esm2015/services/errors/invalid-coupon.error.js +7 -0
  25. package/esm2015/services/home-shop.service.js +108 -0
  26. package/esm2015/services/index.js +8 -0
  27. package/esm2015/services/order.service.js +32 -0
  28. package/esm2015/services/types/index.js +3 -0
  29. package/esm2015/services/types/required-checkout-data.type.js +2 -0
  30. package/esm2015/services/types/required-checkout-subscription-data.type.js +2 -0
  31. package/fesm2015/infrab4a-connect-angular.js +52 -14
  32. package/fesm2015/infrab4a-connect-angular.js.map +1 -1
  33. package/infrab4a-connect-angular.d.ts +1 -1
  34. package/package.json +2 -2
  35. package/esm2015/lib/angular-connect.module.js +0 -46
  36. package/esm2015/lib/angular-firebase-auth.module.js +0 -113
  37. package/esm2015/lib/angular-firestore.module.js +0 -337
  38. package/esm2015/lib/consts/default-shop.const.js +0 -2
  39. package/esm2015/lib/consts/index.js +0 -2
  40. package/esm2015/lib/index.js +0 -5
  41. package/esm2015/lib/services/auth.service.js +0 -42
  42. package/esm2015/lib/services/cart.service.js +0 -166
  43. package/esm2015/lib/services/checkout-subscription.service.js +0 -68
  44. package/esm2015/lib/services/checkout.service.js +0 -79
  45. package/esm2015/lib/services/coupon.service.js +0 -70
  46. package/esm2015/lib/services/errors/group-invalid-coupon.error.js +0 -7
  47. package/esm2015/lib/services/errors/index.js +0 -3
  48. package/esm2015/lib/services/errors/invalid-coupon.error.js +0 -7
  49. package/esm2015/lib/services/home-shop.service.js +0 -108
  50. package/esm2015/lib/services/index.js +0 -8
  51. package/esm2015/lib/services/order.service.js +0 -32
  52. package/esm2015/lib/services/types/index.js +0 -3
  53. package/esm2015/lib/services/types/required-checkout-data.type.js +0 -2
  54. package/esm2015/lib/services/types/required-checkout-subscription-data.type.js +0 -2
  55. package/esm2015/public-api.js +0 -2
  56. package/public-api.d.ts +0 -1
  57. /package/{lib/angular-firebase-auth.module.d.ts → angular-firebase-auth.module.d.ts} +0 -0
  58. /package/{lib/consts → consts}/default-shop.const.d.ts +0 -0
  59. /package/{lib/index.d.ts → index.d.ts} +0 -0
  60. /package/{lib/services → services}/auth.service.d.ts +0 -0
  61. /package/{lib/services → services}/cart.service.d.ts +0 -0
  62. /package/{lib/services → services}/checkout-subscription.service.d.ts +0 -0
  63. /package/{lib/services → services}/checkout.service.d.ts +0 -0
  64. /package/{lib/services → services}/coupon.service.d.ts +0 -0
  65. /package/{lib/services → services}/errors/group-invalid-coupon.error.d.ts +0 -0
  66. /package/{lib/services → services}/errors/index.d.ts +0 -0
  67. /package/{lib/services → services}/errors/invalid-coupon.error.d.ts +0 -0
  68. /package/{lib/services → services}/home-shop.service.d.ts +0 -0
  69. /package/{lib/services → services}/index.d.ts +0 -0
  70. /package/{lib/services → services}/order.service.d.ts +0 -0
  71. /package/{lib/services → services}/types/index.d.ts +0 -0
  72. /package/{lib/services → services}/types/required-checkout-data.type.d.ts +0 -0
  73. /package/{lib/services → services}/types/required-checkout-subscription-data.type.d.ts +0 -0
@@ -0,0 +1,108 @@
1
+ import { Injectable, Inject } 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 { DEFAULT_SHOP } from '../consts';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@infrab4a/connect";
8
+ export class HomeShopService {
9
+ constructor(categoryRepository, homeRepository, productRepository, defaultShop) {
10
+ this.categoryRepository = categoryRepository;
11
+ this.homeRepository = homeRepository;
12
+ this.productRepository = productRepository;
13
+ this.defaultShop = defaultShop;
14
+ this.buildCategoryGroupWithRequiredData = (group) => ({
15
+ category: Category.toInstance(pick(group.category.toPlain(), ['id', 'name', 'slug', 'conditions'])),
16
+ products: group.products.map((product) => Product.toInstance(pick(product.toPlain(), [
17
+ 'id',
18
+ 'price',
19
+ 'reviews',
20
+ 'hasVariants',
21
+ 'slug',
22
+ 'sku',
23
+ 'stock',
24
+ 'costPrice',
25
+ 'images',
26
+ 'miniatures',
27
+ 'name',
28
+ 'weight',
29
+ ]))),
30
+ });
31
+ }
32
+ get homeId() {
33
+ if (this.defaultShop === Shops.GLAMSHOP)
34
+ return 'glamshop';
35
+ if (this.defaultShop === Shops.MENSMARKET)
36
+ return 'mens_market';
37
+ return null;
38
+ }
39
+ getHomeData() {
40
+ return this.getHomeConfiguration().pipe(tap((home) => { var _a; return console.log((_a = home === null || home === void 0 ? void 0 : home.data) === null || _a === void 0 ? void 0 : _a.expiresAt); }), map((home) => { var _a; return (((_a = home === null || home === void 0 ? void 0 : home.data) === null || _a === void 0 ? void 0 : _a.expiresAt) > new Date() ? home : null); }), concatMap((home) => home
41
+ ? of(home)
42
+ : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
43
+ discoverProducts,
44
+ featuredProducts,
45
+ verticalProducts,
46
+ })), concatMap((data) => this.saveHomeData(data)))));
47
+ }
48
+ getBanners(type) {
49
+ return this.getHomeConfiguration().pipe(map((home) => {
50
+ if (type === 'brand')
51
+ return home.brandsCarousel;
52
+ if (type === 'buyToWin')
53
+ return [home.buyToWinBanner];
54
+ if (type === 'block')
55
+ return home.blockBanners;
56
+ if (type === 'blog')
57
+ return [home.blogBanner];
58
+ }));
59
+ }
60
+ getDiscoverProducts() {
61
+ return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
62
+ }
63
+ getFeaturedProducts() {
64
+ return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
65
+ }
66
+ getVerticalProducts() {
67
+ return this.getHomeConfiguration().pipe(concatMap((home) => forkJoin(home.verticalCarousels.map((id) => forkJoin([
68
+ this.categoryRepository.get({ id }),
69
+ this.productRepository.find([{ categories: { operator: Where.LIKE, value: [id] } }], { limit: 12 }),
70
+ ]).pipe(map(([category, products]) => ({ category, products: products.data })), map(this.buildCategoryGroupWithRequiredData))))));
71
+ }
72
+ getHomeConfiguration() {
73
+ return of(this.homeConfiguration).pipe(concatMap((home) => home
74
+ ? of(home)
75
+ : !this.homeId
76
+ ? throwError(new RequiredArgumentError(['homeId']))
77
+ : from(this.homeRepository.get({ id: this.homeId })).pipe(tap((homeLoaded) => (this.homeConfiguration = homeLoaded)))));
78
+ }
79
+ saveHomeData(homeData) {
80
+ const data = {
81
+ createdAt: new Date(),
82
+ expiresAt: add(new Date(), { hours: 1 }),
83
+ data: homeData,
84
+ };
85
+ return from(this.homeRepository.update({
86
+ id: this.homeId,
87
+ data,
88
+ })).pipe(tap(() => (this.homeConfiguration.data = data)), map(() => this.homeConfiguration));
89
+ }
90
+ }
91
+ HomeShopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: HomeShopService, deps: [{ token: 'CategoryRepository' }, { token: 'HomeRepository' }, { token: 'ProductRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
92
+ HomeShopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: HomeShopService });
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: HomeShopService, decorators: [{
94
+ type: Injectable
95
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
96
+ type: Inject,
97
+ args: ['CategoryRepository']
98
+ }] }, { type: undefined, decorators: [{
99
+ type: Inject,
100
+ args: ['HomeRepository']
101
+ }] }, { type: undefined, decorators: [{
102
+ type: Inject,
103
+ args: ['ProductRepository']
104
+ }] }, { type: i1.Shops, decorators: [{
105
+ type: Inject,
106
+ args: [DEFAULT_SHOP]
107
+ }] }]; } });
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1zaG9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2hvbWUtc2hvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFDTCxHQUFHLEVBRUgsUUFBUSxFQU1SLElBQUksRUFDSixPQUFPLEVBRVAscUJBQXFCLEVBQ3JCLEtBQUssRUFDTCxLQUFLLEdBQ04sTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUE7OztBQU14QyxNQUFNLE9BQU8sZUFBZTtJQVUxQixZQUNpRCxrQkFBc0MsRUFDMUMsY0FBOEIsRUFDM0IsaUJBQW9DLEVBQzNDLFdBQWtCO1FBSFYsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUMzQyxnQkFBVyxHQUFYLFdBQVcsQ0FBTztRQXVHbkQsdUNBQWtDLEdBQUcsQ0FBQyxLQUF3QixFQUFxQixFQUFFLENBQUMsQ0FBQztZQUM3RixRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDbkcsUUFBUSxFQUFFLEtB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O1lBQ3pCLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNmLElBQUk7U0FDTCxDQUFDLENBQ0gsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUMvQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQ2xDLENBQUE7SUFDSCxDQUFDOzs2R0FuSFUsZUFBZSxrQkFXaEIsb0JBQW9CLGFBQ3BCLGdCQUFnQixhQUNoQixtQkFBbUIsYUFDbkIsWUFBWTtpSEFkWCxlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQVlOLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBhZGQsXG4gIEJhbm5lcixcbiAgQ2F0ZWdvcnksXG4gIENhdGVnb3J5UmVwb3NpdG9yeSxcbiAgSG9tZSxcbiAgSG9tZUNhdGVnb3J5R3JvdXAsXG4gIEhvbWVEYXRhLFxuICBIb21lUmVwb3NpdG9yeSxcbiAgcGljayxcbiAgUHJvZHVjdCxcbiAgUHJvZHVjdFJlcG9zaXRvcnksXG4gIFJlcXVpcmVkQXJndW1lbnRFcnJvcixcbiAgU2hvcHMsXG4gIFdoZXJlLFxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IGZvcmtKb2luLCBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjb25jYXRNYXAsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IERFRkFVTFRfU0hPUCB9IGZyb20gJy4uL2NvbnN0cydcblxudHlwZSBIb21lQ29uZmlndXJhdGlvbklkID0gJ2dsYW1zaG9wJyB8ICdtZW5zX21hcmtldCdcbnR5cGUgQmFubmVyVHlwZSA9ICdicmFuZCcgfCAnYnV5VG9XaW4nIHwgJ2Jsb2NrJyB8ICdibG9nJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSG9tZVNob3BTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBob21lQ29uZmlndXJhdGlvbjogSG9tZVxuXG4gIHByaXZhdGUgZ2V0IGhvbWVJZCgpOiBIb21lQ29uZmlndXJhdGlvbklkIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0U2hvcCA9PT0gU2hvcHMuR0xBTVNIT1ApIHJldHVybiAnZ2xhbXNob3AnXG4gICAgaWYgKHRoaXMuZGVmYXVsdFNob3AgPT09IFNob3BzLk1FTlNNQVJLRVQpIHJldHVybiAnbWVuc19tYXJrZXQnXG5cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnQ2F0ZWdvcnlSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeVJlcG9zaXRvcnk6IENhdGVnb3J5UmVwb3NpdG9yeSxcbiAgICBASW5qZWN0KCdIb21lUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgaG9tZVJlcG9zaXRvcnk6IEhvbWVSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoJ1Byb2R1Y3RSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0UmVwb3NpdG9yeTogUHJvZHVjdFJlcG9zaXRvcnksXG4gICAgQEluamVjdChERUZBVUxUX1NIT1ApIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdFNob3A6IFNob3BzLFxuICApIHt9XG5cbiAgZ2V0SG9tZURhdGEoKTogT2JzZXJ2YWJsZTxIb21lPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKFxuICAgICAgdGFwKChob21lKSA9PiBjb25zb2xlLmxvZyhob21lPy5kYXRhPy5leHBpcmVzQXQpKSxcbiAgICAgIG1hcCgoaG9tZSkgPT4gKGhvbWU/LmRhdGE/LmV4cGlyZXNBdCA+IG5ldyBEYXRlKCkgPyBob21lIDogbnVsbCkpLFxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxuICAgICAgICBob21lXG4gICAgICAgICAgPyBvZihob21lKVxuICAgICAgICAgIDogZm9ya0pvaW4oW3RoaXMuZ2V0RGlzY292ZXJQcm9kdWN0cygpLCB0aGlzLmdldEZlYXR1cmVkUHJvZHVjdHMoKSwgdGhpcy5nZXRWZXJ0aWNhbFByb2R1Y3RzKCldKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKFtkaXNjb3ZlclByb2R1Y3RzLCBmZWF0dXJlZFByb2R1Y3RzLCB2ZXJ0aWNhbFByb2R1Y3RzXSkgPT4gKHtcbiAgICAgICAgICAgICAgICBkaXNjb3ZlclByb2R1Y3RzLFxuICAgICAgICAgICAgICAgIGZlYXR1cmVkUHJvZHVjdHMsXG4gICAgICAgICAgICAgICAgdmVydGljYWxQcm9kdWN0cyxcbiAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICBjb25jYXRNYXAoKGRhdGEpID0+IHRoaXMuc2F2ZUhvbWVEYXRhKGRhdGEpKSxcbiAgICAgICAgICAgICksXG4gICAgICApLFxuICAgIClcbiAgfVxuXG4gIGdldEJhbm5lcnModHlwZTogQmFubmVyVHlwZSk6IE9ic2VydmFibGU8QmFubmVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICBtYXAoKGhvbWUpID0+IHtcbiAgICAgICAgaWYgKHR5cGUgPT09ICdicmFuZCcpIHJldHVybiBob21lLmJyYW5kc0Nhcm91c2VsXG4gICAgICAgIGlmICh0eXBlID09PSAnYnV5VG9XaW4nKSByZXR1cm4gW2hvbWUuYnV5VG9XaW5CYW5uZXJdXG4gICAgICAgIGlmICh0eXBlID09PSAnYmxvY2snKSByZXR1cm4gaG9tZS5ibG9ja0Jhbm5lcnNcbiAgICAgICAgaWYgKHR5cGUgPT09ICdibG9nJykgcmV0dXJuIFtob21lLmJsb2dCYW5uZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGdldERpc2NvdmVyUHJvZHVjdHMoKTogT2JzZXJ2YWJsZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XG4gICAgICAgIGZyb20odGhpcy5jYXRlZ29yeVJlcG9zaXRvcnkuZ2V0Q2F0ZWdvcmllc0ZvckhvbWUoaG9tZS5kaXNjb3ZlckNhdGVnb3JpZXMpKS5waXBlKFxuICAgICAgICAgIG1hcCgoZ3JvdXBzKSA9PiBncm91cHMubWFwKHRoaXMuYnVpbGRDYXRlZ29yeUdyb3VwV2l0aFJlcXVpcmVkRGF0YSkpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGdldEZlYXR1cmVkUHJvZHVjdHMoKTogT2JzZXJ2YWJsZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XG4gICAgICAgIGZyb20odGhpcy5jYXRlZ29yeVJlcG9zaXRvcnkuZ2V0Q2F0ZWdvcmllc0ZvckhvbWUoaG9tZS5mZWF0dXJlZENhdGVnb3JpZXMpKS5waXBlKFxuICAgICAgICAgIG1hcCgoZ3JvdXBzKSA9PiBncm91cHMubWFwKHRoaXMuYnVpbGRDYXRlZ29yeUdyb3VwV2l0aFJlcXVpcmVkRGF0YSkpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGdldFZlcnRpY2FsUHJvZHVjdHMoKTogT2JzZXJ2YWJsZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XG4gICAgICAgIGZvcmtKb2luKFxuICAgICAgICAgIGhvbWUudmVydGljYWxDYXJvdXNlbHMubWFwKChpZCkgPT5cbiAgICAgICAgICAgIGZvcmtKb2luKFtcbiAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeVJlcG9zaXRvcnkuZ2V0KHsgaWQgfSksXG4gICAgICAgICAgICAgIHRoaXMucHJvZHVjdFJlcG9zaXRvcnkuZmluZChbeyBjYXRlZ29yaWVzOiB7IG9wZXJhdG9yOiBXaGVyZS5MSUtFLCB2YWx1ZTogW2lkXSB9IH1dLCB7IGxpbWl0OiAxMiB9KSxcbiAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoW2NhdGVnb3J5LCBwcm9kdWN0c10pID0+ICh7IGNhdGVnb3J5LCBwcm9kdWN0czogcHJvZHVjdHMuZGF0YSB9KSksXG4gICAgICAgICAgICAgIG1hcCh0aGlzLmJ1aWxkQ2F0ZWdvcnlHcm91cFdpdGhSZXF1aXJlZERhdGEpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGdldEhvbWVDb25maWd1cmF0aW9uKCk6IE9ic2VydmFibGU8SG9tZT4ge1xuICAgIHJldHVybiBvZih0aGlzLmhvbWVDb25maWd1cmF0aW9uKS5waXBlKFxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxuICAgICAgICBob21lXG4gICAgICAgICAgPyBvZihob21lKVxuICAgICAgICAgIDogIXRoaXMuaG9tZUlkXG4gICAgICAgICAgPyB0aHJvd0Vycm9yKG5ldyBSZXF1aXJlZEFyZ3VtZW50RXJyb3IoWydob21lSWQnXSkpXG4gICAgICAgICAgOiBmcm9tKHRoaXMuaG9tZVJlcG9zaXRvcnkuZ2V0KHsgaWQ6IHRoaXMuaG9tZUlkIH0pKS5waXBlKFxuICAgICAgICAgICAgICB0YXAoKGhvbWVMb2FkZWQpID0+ICh0aGlzLmhvbWVDb25maWd1cmF0aW9uID0gaG9tZUxvYWRlZCkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBzYXZlSG9tZURhdGEoaG9tZURhdGE6IEhvbWVEYXRhKTogT2JzZXJ2YWJsZTxIb21lPiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKSxcbiAgICAgIGV4cGlyZXNBdDogYWRkKG5ldyBEYXRlKCksIHsgaG91cnM6IDEgfSksXG4gICAgICBkYXRhOiBob21lRGF0YSxcbiAgICB9XG5cbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMuaG9tZVJlcG9zaXRvcnkudXBkYXRlKHtcbiAgICAgICAgaWQ6IHRoaXMuaG9tZUlkLFxuICAgICAgICBkYXRhLFxuICAgICAgfSksXG4gICAgKS5waXBlKFxuICAgICAgdGFwKCgpID0+ICh0aGlzLmhvbWVDb25maWd1cmF0aW9uLmRhdGEgPSBkYXRhKSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5ob21lQ29uZmlndXJhdGlvbiksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENhdGVnb3J5R3JvdXBXaXRoUmVxdWlyZWREYXRhID0gKGdyb3VwOiBIb21lQ2F0ZWdvcnlHcm91cCk6IEhvbWVDYXRlZ29yeUdyb3VwID0+ICh7XG4gICAgY2F0ZWdvcnk6IENhdGVnb3J5LnRvSW5zdGFuY2UocGljayhncm91cC5jYXRlZ29yeS50b1BsYWluKCksIFsnaWQnLCAnbmFtZScsICdzbHVnJywgJ2NvbmRpdGlvbnMnXSkpLFxuICAgIHByb2R1Y3RzOiBncm91cC5wcm9kdWN0cy5tYXAoKHByb2R1Y3QpID0+XG4gICAgICBQcm9kdWN0LnRvSW5zdGFuY2UoXG4gICAgICAgIHBpY2socHJvZHVjdC50b1BsYWluKCksIFtcbiAgICAgICAgICAnaWQnLFxuICAgICAgICAgICdwcmljZScsXG4gICAgICAgICAgJ3Jldmlld3MnLFxuICAgICAgICAgICdoYXNWYXJpYW50cycsXG4gICAgICAgICAgJ3NsdWcnLFxuICAgICAgICAgICdza3UnLFxuICAgICAgICAgICdzdG9jaycsXG4gICAgICAgICAgJ2Nvc3RQcmljZScsXG4gICAgICAgICAgJ2ltYWdlcycsXG4gICAgICAgICAgJ21pbmlhdHVyZXMnLFxuICAgICAgICAgICduYW1lJyxcbiAgICAgICAgICAnd2VpZ2h0JyxcbiAgICAgICAgXSksXG4gICAgICApLFxuICAgICksXG4gIH0pXG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export * from './auth.service';
2
+ export * from './cart.service';
3
+ export * from './checkout.service';
4
+ export * from './checkout-subscription.service';
5
+ export * from './order.service';
6
+ export * from './coupon.service';
7
+ export * from './home-shop.service';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGtCQUFrQixDQUFBO0FBQ2hDLGNBQWMscUJBQXFCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGguc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vY2FydC5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja291dC5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja291dC1zdWJzY3JpcHRpb24uc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXIuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vY291cG9uLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2hvbWUtc2hvcC5zZXJ2aWNlJ1xuIl19
@@ -0,0 +1,32 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { AngularFirestore } 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
+ this.angularFirestore
17
+ .doc(`${this.orderRepository.collectionName}/${id}`)
18
+ .valueChanges()
19
+ .pipe(map((doc) => Order.toInstance(doc)))
20
+ .subscribe((doc) => this.orderSubject.next(doc));
21
+ return this.orderSubject;
22
+ }
23
+ }
24
+ OrderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OrderService, deps: [{ token: i1.AngularFirestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ OrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OrderService });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OrderService, decorators: [{
27
+ type: Injectable
28
+ }], ctorParameters: function () { return [{ type: i1.AngularFirestore }, { type: i2.OrderFirestoreRepository, decorators: [{
29
+ type: Inject,
30
+ args: ['OrderRepository']
31
+ }] }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQXlCLE1BQU0seUJBQXlCLENBQUE7QUFDakYsT0FBTyxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25FLE9BQU8sRUFBb0IsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxHQUFHLEVBQWlCLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUFHbkQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFDbUIsZ0JBQWtDLEVBQ1AsZUFBeUM7UUFEcEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNQLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUp2RixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFTLENBQUE7SUFLaEMsQ0FBQztJQUVKLFFBQVEsQ0FBQyxFQUFVO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsR0FBRyxDQUErQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxJQUFJLEVBQUUsRUFBRSxDQUFDO2FBQ2pGLFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7OzBHQWhCVSxZQUFZLGtEQUtiLGlCQUFpQjs4R0FMaEIsWUFBWTs0RkFBWixZQUFZO2tCQUR4QixVQUFVOzswQkFNTixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlLCBRdWVyeURvY3VtZW50U25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSdcbmltcG9ydCB7IE9yZGVyLCBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPcmRlclNlcnZpY2Uge1xuICBvcmRlclN1YmplY3QgPSBuZXcgU3ViamVjdDxPcmRlcj4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYW5ndWxhckZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSxcbiAgICBASW5qZWN0KCdPcmRlclJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IG9yZGVyUmVwb3NpdG9yeTogT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICApIHt9XG5cbiAgZ2V0T3JkZXIoaWQ6IHN0cmluZyk6IFN1YmplY3Q8T3JkZXI+IHtcbiAgICB0aGlzLmFuZ3VsYXJGaXJlc3RvcmVcbiAgICAgIC5kb2M8UXVlcnlEb2N1bWVudFNuYXBzaG90PE9yZGVyPj4oYCR7dGhpcy5vcmRlclJlcG9zaXRvcnkuY29sbGVjdGlvbk5hbWV9LyR7aWR9YClcbiAgICAgIC52YWx1ZUNoYW5nZXMoKVxuICAgICAgLnBpcGUobWFwKChkb2MpID0+IE9yZGVyLnRvSW5zdGFuY2UoZG9jKSkpXG4gICAgICAuc3Vic2NyaWJlKChkb2MpID0+IHRoaXMub3JkZXJTdWJqZWN0Lm5leHQoZG9jKSlcblxuICAgIHJldHVybiB0aGlzLm9yZGVyU3ViamVjdFxuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './required-checkout-data.type';
2
+ export * from './required-checkout-subscription-data.type';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyw0Q0FBNEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVxdWlyZWQtY2hlY2tvdXQtZGF0YS50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1aXJlZC1jaGVja291dC1zdWJzY3JpcHRpb24tZGF0YS50eXBlJ1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtY2hlY2tvdXQtZGF0YS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9yZXF1aXJlZC1jaGVja291dC1kYXRhLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoZWNrb3V0IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmV4cG9ydCB0eXBlIFJlcXVpcmVkQ2hlY2tvdXREYXRhID0gUGFydGlhbDxQaWNrPENoZWNrb3V0LCAnaWQnIHwgJ3VzZXInIHwgJ3Nob3AnIHwgJ2xpbmVJdGVtcyc+PlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvdHlwZXMvcmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tvdXRTdWJzY3JpcHRpb24gfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuZXhwb3J0IHR5cGUgUmVxdWlyZWRDaGVja291dFN1YnNjcmlwdGlvbkRhdGEgPSBQYXJ0aWFsPFBpY2s8Q2hlY2tvdXRTdWJzY3JpcHRpb24sICdpZCc+PlxuIl19
@@ -5,7 +5,7 @@ import { AngularFireAuth } from '@angular/fire/auth';
5
5
  import { of, combineLatest, from, throwError, Subject, iif, forkJoin } from 'rxjs';
6
6
  import { catchError, map, mergeMap, concatMap, tap } from 'rxjs/operators';
7
7
  import * as i2 from '@infrab4a/connect';
8
- import { FinancialCoupon, Where, NotFoundError, Exclusivities, isNil, Checkout, CheckoutTypes, pick, LineItem, CouponTypes, CouponSubtypes, CheckoutSubscription, Order, Category, Product, Shops, RequiredArgumentError, add, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, ProductVariantFirestoreRepository } from '@infrab4a/connect';
8
+ import { FinancialCoupon, Where, NotFoundError, Exclusivities, isNil, Checkout, CheckoutTypes, pick, LineItem, CouponTypes, CouponSubtypes, CheckoutSubscription, Order, Category, Product, Shops, RequiredArgumentError, add, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ProductsIndex, AxiosAdapter, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, ProductVariantFirestoreRepository } from '@infrab4a/connect';
9
9
  import { __awaiter } from 'tslib';
10
10
  import cookie from 'js-cookie';
11
11
  import * as i1$1 from '@angular/fire/firestore';
@@ -50,6 +50,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
50
50
 
51
51
  const DEFAULT_SHOP = 'DEFAULT_SHOP';
52
52
 
53
+ const ES_CONFIG = 'ES_CONFIG';
54
+
53
55
  class InvalidCouponError extends Error {
54
56
  constructor(message) {
55
57
  super(message);
@@ -490,7 +492,7 @@ class HomeShopService {
490
492
  return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
491
493
  }
492
494
  getVerticalProducts() {
493
- return this.getHomeConfiguration().pipe(concatMap((home) => forkJoin(home.verticalCarousels.filter(Boolean).map((id) => forkJoin([
495
+ return this.getHomeConfiguration().pipe(concatMap((home) => forkJoin(home.verticalCarousels.map((id) => forkJoin([
494
496
  this.categoryRepository.get({ id }),
495
497
  this.productRepository.find([{ categories: { operator: Where.LIKE, value: [id] } }], { limit: 12 }),
496
498
  ]).pipe(map(([category, products]) => ({ category, products: products.data })), map(this.buildCategoryGroupWithRequiredData))))));
@@ -640,19 +642,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
640
642
  }]
641
643
  }] });
642
644
 
645
+ class AngularElasticSeachModule {
646
+ static initializeApp(options) {
647
+ return {
648
+ ngModule: AngularElasticSeachModule,
649
+ providers: [{ provide: ES_CONFIG, useValue: options }],
650
+ };
651
+ }
652
+ }
653
+ AngularElasticSeachModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularElasticSeachModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
654
+ AngularElasticSeachModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularElasticSeachModule });
655
+ AngularElasticSeachModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularElasticSeachModule, providers: [
656
+ {
657
+ provide: ProductsIndex,
658
+ useFactory: (configuration) => {
659
+ return new ProductsIndex(new AxiosAdapter(configuration));
660
+ },
661
+ deps: [ES_CONFIG],
662
+ },
663
+ ] });
664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularElasticSeachModule, decorators: [{
665
+ type: NgModule,
666
+ args: [{
667
+ providers: [
668
+ {
669
+ provide: ProductsIndex,
670
+ useFactory: (configuration) => {
671
+ return new ProductsIndex(new AxiosAdapter(configuration));
672
+ },
673
+ deps: [ES_CONFIG],
674
+ },
675
+ ],
676
+ }]
677
+ }] });
678
+
643
679
  class AngularFirestoreModule {
644
680
  static initializeApp(options, nameOrConfig) {
645
681
  return {
646
682
  ngModule: AngularFirestoreModule,
647
683
  providers: [
648
- { provide: FIREBASE_OPTIONS, useValue: options },
684
+ { provide: FIREBASE_OPTIONS, useValue: options.firebase },
649
685
  { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
686
+ { provide: ES_CONFIG, useValue: options.elasticSearch },
650
687
  ],
651
688
  };
652
689
  }
653
690
  }
654
691
  AngularFirestoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
655
- AngularFirestoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, imports: [AngularFireModule] });
692
+ AngularFirestoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, imports: [AngularFireModule, AngularElasticSeachModule] });
656
693
  AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, providers: [
657
694
  {
658
695
  provide: 'BeautyProfileRepository',
@@ -670,10 +707,10 @@ AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
670
707
  },
671
708
  {
672
709
  provide: 'CategoryRepository',
673
- useFactory: (firestore) => {
674
- return new CategoryFirestoreRepository(firestore.firestore);
710
+ useFactory: (firestore, productsIndex) => {
711
+ return new CategoryFirestoreRepository(firestore.firestore, productsIndex);
675
712
  },
676
- deps: [AngularFirestore],
713
+ deps: [AngularFirestore, ProductsIndex],
677
714
  },
678
715
  {
679
716
  provide: 'CheckoutRepository',
@@ -808,11 +845,11 @@ AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
808
845
  },
809
846
  deps: [AngularFirestore, 'ProductRepository'],
810
847
  },
811
- ], imports: [[AngularFireModule]] });
848
+ ], imports: [[AngularFireModule, AngularElasticSeachModule]] });
812
849
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, decorators: [{
813
850
  type: NgModule,
814
851
  args: [{
815
- imports: [AngularFireModule],
852
+ imports: [AngularFireModule, AngularElasticSeachModule],
816
853
  providers: [
817
854
  {
818
855
  provide: 'BeautyProfileRepository',
@@ -830,10 +867,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
830
867
  },
831
868
  {
832
869
  provide: 'CategoryRepository',
833
- useFactory: (firestore) => {
834
- return new CategoryFirestoreRepository(firestore.firestore);
870
+ useFactory: (firestore, productsIndex) => {
871
+ return new CategoryFirestoreRepository(firestore.firestore, productsIndex);
835
872
  },
836
- deps: [AngularFirestore],
873
+ deps: [AngularFirestore, ProductsIndex],
837
874
  },
838
875
  {
839
876
  provide: 'CheckoutRepository',
@@ -978,8 +1015,9 @@ class AngularConnectModule {
978
1015
  ngModule: AngularConnectModule,
979
1016
  providers: [
980
1017
  ...(isNil(defaultShop) ? [] : [{ provide: DEFAULT_SHOP, useValue: defaultShop }]),
981
- ...(isNil(options) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options }]),
982
- ...(isNil(options) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),
1018
+ ...(isNil(options === null || options === void 0 ? void 0 : options.firebase) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options === null || options === void 0 ? void 0 : options.firebase }]),
1019
+ ...(isNil(options === null || options === void 0 ? void 0 : options.firebase) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),
1020
+ ...(isNil(options === null || options === void 0 ? void 0 : options.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),
983
1021
  ],
984
1022
  };
985
1023
  }