@infrab4a/connect-angular 4.0.0-beta.38 → 4.0.0-beta.4

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 (94) hide show
  1. package/angular-connect.module.d.ts +19 -21
  2. package/angular-elastic-search.module.d.ts +9 -9
  3. package/angular-firebase-auth.module.d.ts +12 -12
  4. package/angular-firestore.module.d.ts +17 -18
  5. package/angular-hasura-graphql.module.d.ts +16 -16
  6. package/consts/default-shop.const.d.ts +1 -1
  7. package/consts/es-config.const.d.ts +1 -1
  8. package/consts/firebase-const.d.ts +3 -3
  9. package/consts/hasura-options.const.d.ts +1 -1
  10. package/consts/index.d.ts +4 -6
  11. package/esm2020/angular-connect.module.mjs +49 -63
  12. package/esm2020/angular-elastic-search.module.mjs +38 -34
  13. package/esm2020/angular-firebase-auth.module.mjs +130 -130
  14. package/esm2020/angular-firestore.module.mjs +358 -447
  15. package/esm2020/angular-hasura-graphql.module.mjs +131 -219
  16. package/esm2020/consts/default-shop.const.mjs +2 -2
  17. package/esm2020/consts/es-config.const.mjs +2 -2
  18. package/esm2020/consts/firebase-const.mjs +4 -4
  19. package/esm2020/consts/hasura-options.const.mjs +2 -2
  20. package/esm2020/consts/index.mjs +5 -7
  21. package/esm2020/index.mjs +6 -6
  22. package/esm2020/infrab4a-connect-angular.mjs +4 -4
  23. package/esm2020/services/auth.service.mjs +37 -37
  24. package/esm2020/services/cart.service.mjs +143 -281
  25. package/esm2020/services/checkout-subscription.service.mjs +51 -53
  26. package/esm2020/services/checkout.service.mjs +73 -71
  27. package/esm2020/services/coupon.service.mjs +226 -214
  28. package/esm2020/services/errors/group-invalid-coupon.error.mjs +8 -0
  29. package/esm2020/services/errors/index.mjs +3 -0
  30. package/esm2020/services/errors/invalid-coupon.error.mjs +7 -0
  31. package/esm2020/services/home-shop.service.mjs +114 -114
  32. package/esm2020/services/index.mjs +8 -10
  33. package/esm2020/services/order.service.mjs +30 -30
  34. package/esm2020/services/types/index.mjs +3 -3
  35. package/esm2020/services/types/required-checkout-data.type.mjs +2 -2
  36. package/esm2020/services/types/required-checkout-subscription-data.type.mjs +2 -2
  37. package/esm2020/types/firebase-app-config.type.mjs +2 -2
  38. package/esm2020/types/index.mjs +2 -2
  39. package/fesm2015/infrab4a-connect-angular.mjs +1341 -1959
  40. package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
  41. package/fesm2020/infrab4a-connect-angular.mjs +1297 -1902
  42. package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
  43. package/index.d.ts +5 -5
  44. package/package.json +3 -2
  45. package/services/auth.service.d.ts +18 -18
  46. package/services/cart.service.d.ts +35 -42
  47. package/services/checkout-subscription.service.d.ts +18 -18
  48. package/services/checkout.service.d.ts +23 -23
  49. package/services/coupon.service.d.ts +25 -28
  50. package/services/errors/group-invalid-coupon.error.d.ts +6 -0
  51. package/services/errors/index.d.ts +2 -0
  52. package/services/errors/invalid-coupon.error.d.ts +4 -0
  53. package/services/home-shop.service.d.ts +25 -25
  54. package/services/index.d.ts +7 -9
  55. package/services/order.service.d.ts +13 -13
  56. package/services/types/index.d.ts +2 -2
  57. package/services/types/required-checkout-data.type.d.ts +2 -2
  58. package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
  59. package/types/firebase-app-config.type.d.ts +1 -1
  60. package/types/index.d.ts +1 -1
  61. package/consts/backend-url.const.d.ts +0 -1
  62. package/consts/category-structure.d.ts +0 -1
  63. package/esm2020/consts/backend-url.const.mjs +0 -2
  64. package/esm2020/consts/category-structure.mjs +0 -2
  65. package/esm2020/services/catalog/adapters/category-structure.adapter.mjs +0 -2
  66. package/esm2020/services/catalog/adapters/index.mjs +0 -4
  67. package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +0 -42
  68. package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +0 -23
  69. package/esm2020/services/catalog/catalog.service.mjs +0 -96
  70. package/esm2020/services/catalog/category.service.mjs +0 -51
  71. package/esm2020/services/catalog/enums/index.mjs +0 -2
  72. package/esm2020/services/catalog/enums/product-sorts.enum.mjs +0 -11
  73. package/esm2020/services/catalog/index.mjs +0 -6
  74. package/esm2020/services/catalog/models/category-with-tree.model.mjs +0 -10
  75. package/esm2020/services/catalog/models/index.mjs +0 -2
  76. package/esm2020/services/catalog/types/index.mjs +0 -2
  77. package/esm2020/services/catalog/types/product-sort.type.mjs +0 -2
  78. package/esm2020/services/shipping.service.mjs +0 -96
  79. package/esm2020/services/types/shipping-methods.type.mjs +0 -2
  80. package/services/catalog/adapters/category-structure.adapter.d.ts +0 -4
  81. package/services/catalog/adapters/index.d.ts +0 -3
  82. package/services/catalog/adapters/new-category-structure.adapter.d.ts +0 -14
  83. package/services/catalog/adapters/old-category-structure.adapter.d.ts +0 -10
  84. package/services/catalog/catalog.service.d.ts +0 -54
  85. package/services/catalog/category.service.d.ts +0 -15
  86. package/services/catalog/enums/index.d.ts +0 -1
  87. package/services/catalog/enums/product-sorts.enum.d.ts +0 -9
  88. package/services/catalog/index.d.ts +0 -5
  89. package/services/catalog/models/category-with-tree.model.d.ts +0 -4
  90. package/services/catalog/models/index.d.ts +0 -1
  91. package/services/catalog/types/index.d.ts +0 -1
  92. package/services/catalog/types/product-sort.type.d.ts +0 -2
  93. package/services/shipping.service.d.ts +0 -19
  94. package/services/types/shipping-methods.type.d.ts +0 -12
@@ -1,96 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { RoundProductPricesHelper, set, Shops, Where, } from '@infrab4a/connect';
3
- import { CATEGORY_STRUCTURE, DEFAULT_SHOP } from '../../consts';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@infrab4a/connect";
6
- export class CatalogService {
7
- constructor(productRepository, categoryStructureAdapter, shop) {
8
- this.productRepository = productRepository;
9
- this.categoryStructureAdapter = categoryStructureAdapter;
10
- this.shop = shop;
11
- this.buildFilterQuery = ({ clubDiscount, brands, prices, gender, tags, rate, }) => {
12
- const filters = {};
13
- if (clubDiscount?.length)
14
- set(filters, 'price.subscriberDiscountPercentage', { operator: Where.IN, value: clubDiscount });
15
- if (brands?.length)
16
- filters.brand = { operator: Where.IN, value: brands };
17
- if (gender?.length)
18
- filters.tags = {
19
- operator: Where.IN,
20
- value: gender
21
- .map((genderOptions) => genderOptions === 'female' ? 'feminino' : genderOptions === 'male' ? 'masculino' : null)
22
- .filter(Boolean),
23
- };
24
- if (prices?.min || prices?.max)
25
- set(filters, prices.subscriberPrice ? 'price.subscriberPrice' : 'price.price', [
26
- ...(prices.min ? [{ operator: Where.GTE, value: Math.round(prices.min) }] : []),
27
- ...(prices.max ? [{ operator: Where.LTE, value: Math.ceil(prices.max) }] : []),
28
- ]);
29
- if (rate)
30
- filters.rate = { operator: Where.GTE, value: rate };
31
- if (tags?.length)
32
- filters.tags = { operator: Where.LIKE, value: tags };
33
- return filters;
34
- };
35
- this.buildSortQuery = (sort) => {
36
- if (!sort || sort === 'most-relevant')
37
- return {};
38
- if (sort === 'best-sellers')
39
- return { shoppingCount: 'desc' };
40
- if (sort === 'biggest-price')
41
- return { price: 'desc' };
42
- if (sort === 'lowest-price')
43
- return { price: 'asc' };
44
- if (sort === 'best-rating')
45
- return { rate: 'desc' };
46
- if (sort === 'news')
47
- return { createdAt: 'desc' };
48
- };
49
- this.buildLimitQuery = (options) => {
50
- const limit = options?.perPage || 20;
51
- return {
52
- limit,
53
- offset: ((options?.page || 1) - 1) * limit,
54
- };
55
- };
56
- }
57
- async fetchProducts(category, options) {
58
- const limits = this.buildLimitQuery(options);
59
- return await this.productRepository
60
- .findCatalog({
61
- filters: {
62
- ...(await this.categoryStructureAdapter.buildProductFilterByCategory(category)),
63
- ...this.buildFilterQuery(options?.filters || {}),
64
- },
65
- ...(options?.sort ? { orderBy: this.buildSortQuery(options?.sort) } : {}),
66
- limits,
67
- options: { minimal: ['price'], maximum: ['price'] },
68
- }, options?.mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female')
69
- .then(({ data, count: total, maximum, minimal }) => ({
70
- products: { data: data.map((product) => RoundProductPricesHelper.roundProductPrices(product)), total },
71
- pages: Math.ceil(total / limits.limit),
72
- prices: {
73
- price: { min: +minimal?.price?.price?.toFixed(2), max: +maximum?.price?.price?.toFixed(2) },
74
- subscriberPrice: {
75
- min: +minimal?.price?.subscriberPrice?.toFixed(2),
76
- max: +maximum?.price?.subscriberPrice?.toFixed(2),
77
- },
78
- },
79
- }));
80
- }
81
- }
82
- CatalogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, deps: [{ token: 'ProductRepository' }, { token: CATEGORY_STRUCTURE }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
83
- CatalogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService });
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, decorators: [{
85
- type: Injectable
86
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
87
- type: Inject,
88
- args: ['ProductRepository']
89
- }] }, { type: undefined, decorators: [{
90
- type: Inject,
91
- args: [CATEGORY_STRUCTURE]
92
- }] }, { type: i1.Shops, decorators: [{
93
- type: Inject,
94
- args: [DEFAULT_SHOP]
95
- }] }]; } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2NhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBT0wsd0JBQXdCLEVBQ3hCLEdBQUcsRUFDSCxLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sbUJBQW1CLENBQUE7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTs7O0FBZ0MvRCxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUNnRCxpQkFBb0MsRUFDckMsd0JBQWtELEVBQ3hELElBQVc7UUFGSixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3JDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDeEQsU0FBSSxHQUFKLElBQUksQ0FBTztRQWdDNUMscUJBQWdCLEdBQUcsQ0FBQyxFQUMxQixZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sSUFBSSxFQUNKLElBQUksR0FDaUIsRUFBbUMsRUFBRTtZQUMxRCxNQUFNLE9BQU8sR0FBRyxFQUFxQyxDQUFBO1lBRXJELElBQUksWUFBWSxFQUFFLE1BQU07Z0JBQ3RCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQTtZQUNqRyxJQUFJLE1BQU0sRUFBRSxNQUFNO2dCQUFFLE9BQU8sQ0FBQyxLQUFLLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUE7WUFDekUsSUFBSSxNQUFN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RUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDM0YsZUFBZSxFQUFFO29CQUNmLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ2pELEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQ2xEO2FBQ0Y7U0FDRixDQUFDLENBQUMsQ0FBQTtJQUNQLENBQUM7OzJHQWxDVSxjQUFjLGtCQUVmLG1CQUFtQixhQUNuQixrQkFBa0IsYUFDbEIsWUFBWTsrR0FKWCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1xyXG4gIENhdGVnb3J5LFxyXG4gIFByb2R1Y3QsXHJcbiAgUHJvZHVjdEdlbmRlcixcclxuICBQcm9kdWN0UmVwb3NpdG9yeSxcclxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzLFxyXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxyXG4gIFJvdW5kUHJvZHVjdFByaWNlc0hlbHBlcixcclxuICBzZXQsXHJcbiAgU2hvcHMsXHJcbiAgV2hlcmUsXHJcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcbmltcG9ydCB7IENBVEVHT1JZX1NUUlVDVFVSRSwgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vLi4vY29uc3RzJ1xyXG5pbXBvcnQgeyBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgfSBmcm9tICcuL2FkYXB0ZXJzJ1xyXG5pbXBvcnQgeyBQcm9kdWN0U29ydCB9IGZyb20gJy4vdHlwZXMvcHJvZHVjdC1zb3J0LnR5cGUnXHJcblxyXG50eXBlIEZldGNoUHJvZHVjdHNGaWx0ZXJzID0ge1xyXG4gIGNsdWJEaXNjb3VudD86IG51bWJlcltdXHJcbiAgYnJhbmRzPzogc3RyaW5nW11cclxuICBwcmljZXM/OiB7IG1pbj86IG51bWJlcjsgbWF4PzogbnVtYmVyOyBzdWJzY3JpYmVyUHJpY2U/OiBib29sZWFuIH1cclxuICBnZW5kZXI/OiBQcm9kdWN0R2VuZGVyW11cclxuICByYXRlPzogbnVtYmVyXHJcbiAgdGFncz86IFtdXHJcbiAgY3VzdG9tT3B0aW9ucz86IHN0cmluZ1tdXHJcbn1cclxuXHJcbnR5cGUgRmV0Y2hQcm9kdWN0c09wdGlvbnMgPSB7XHJcbiAgcGFnZT86IG51bWJlclxyXG4gIHBlclBhZ2U/OiBudW1iZXJcclxuICBmaWx0ZXJzPzogRmV0Y2hQcm9kdWN0c0ZpbHRlcnNcclxuICBzb3J0PzogUHJvZHVjdFNvcnRcclxuICBtYWluR2VuZGVyPzogUHJvZHVjdEdlbmRlclxyXG59XHJcblxyXG50eXBlIEZldGNoUHJvZHVjdHNSZXNwb25zZSA9IHtcclxuICBwcm9kdWN0czogeyBkYXRhOiBQcm9kdWN0W107IHRvdGFsOiBudW1iZXIgfVxyXG4gIHBhZ2VzOiBudW1iZXJcclxuICBwcmljZXM6IHtcclxuICAgIHByaWNlOiB7IG1pbjogbnVtYmVyOyBtYXg6IG51bWJlciB9XHJcbiAgICBzdWJzY3JpYmVyUHJpY2U6IHsgbWluOiBudW1iZXI7IG1heDogbnVtYmVyIH1cclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENhdGFsb2dTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ1Byb2R1Y3RSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0UmVwb3NpdG9yeTogUHJvZHVjdFJlcG9zaXRvcnksXHJcbiAgICBASW5qZWN0KENBVEVHT1JZX1NUUlVDVFVSRSkgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXI6IENhdGVnb3J5U3RydWN0dXJlQWRhcHRlcixcclxuICAgIEBJbmplY3QoREVGQVVMVF9TSE9QKSBwcml2YXRlIHJlYWRvbmx5IHNob3A6IFNob3BzLFxyXG4gICkge31cclxuXHJcbiAgYXN5bmMgZmV0Y2hQcm9kdWN0cyhjYXRlZ29yeTogQ2F0ZWdvcnksIG9wdGlvbnM/OiBGZXRjaFByb2R1Y3RzT3B0aW9ucyk6IFByb21pc2U8RmV0Y2hQcm9kdWN0c1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBsaW1pdHMgPSB0aGlzLmJ1aWxkTGltaXRRdWVyeShvcHRpb25zKVxyXG5cclxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2R1Y3RSZXBvc2l0b3J5XHJcbiAgICAgIC5maW5kQ2F0YWxvZyhcclxuICAgICAgICB7XHJcbiAgICAgICAgICBmaWx0ZXJzOiB7XHJcbiAgICAgICAgICAgIC4uLihhd2FpdCB0aGlzLmNhdGVnb3J5U3RydWN0dXJlQWRhcHRlci5idWlsZFByb2R1Y3RGaWx0ZXJCeUNhdGVnb3J5KGNhdGVnb3J5KSksXHJcbiAgICAgICAgICAgIC4uLnRoaXMuYnVpbGRGaWx0ZXJRdWVyeShvcHRpb25zPy5maWx0ZXJzIHx8IHt9KSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi4ob3B0aW9ucz8uc29ydCA/IHsgb3JkZXJCeTogdGhpcy5idWlsZFNvcnRRdWVyeShvcHRpb25zPy5zb3J0KSB9IDoge30pLFxyXG4gICAgICAgICAgbGltaXRzLFxyXG4gICAgICAgICAgb3B0aW9uczogeyBtaW5pbWFsOiBbJ3ByaWNlJ10sIG1heGltdW06IFsncHJpY2UnXSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3B0aW9ucz8ubWFpbkdlbmRlciB8fCB0aGlzLnNob3AgPT09IFNob3BzLk1FTlNNQVJLRVQgPyAnbWFsZScgOiAnZmVtYWxlJyxcclxuICAgICAgKVxyXG4gICAgICAudGhlbigoeyBkYXRhLCBjb3VudDogdG90YWwsIG1heGltdW0sIG1pbmltYWwgfSkgPT4gKHtcclxuICAgICAgICBwcm9kdWN0czogeyBkYXRhOiBkYXRhLm1hcCgocHJvZHVjdCkgPT4gUm91bmRQcm9kdWN0UHJpY2VzSGVscGVyLnJvdW5kUHJvZHVjdFByaWNlcyhwcm9kdWN0KSksIHRvdGFsIH0sXHJcbiAgICAgICAgcGFnZXM6IE1hdGguY2VpbCh0b3RhbCAvIGxpbWl0cy5saW1pdCksXHJcbiAgICAgICAgcHJpY2VzOiB7XHJcbiAgICAgICAgICBwcmljZTogeyBtaW46ICttaW5pbWFsPy5wcmljZT8ucHJpY2U/LnRvRml4ZWQoMiksIG1heDogK21heGltdW0/LnByaWNlPy5wcmljZT8udG9GaXhlZCgyKSB9LFxyXG4gICAgICAgICAgc3Vic2NyaWJlclByaWNlOiB7XHJcbiAgICAgICAgICAgIG1pbjogK21pbmltYWw/LnByaWNlPy5zdWJzY3JpYmVyUHJpY2U/LnRvRml4ZWQoMiksXHJcbiAgICAgICAgICAgIG1heDogK21heGltdW0/LnByaWNlPy5zdWJzY3JpYmVyUHJpY2U/LnRvRml4ZWQoMiksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZpbHRlclF1ZXJ5ID0gKHtcclxuICAgIGNsdWJEaXNjb3VudCxcclxuICAgIGJyYW5kcyxcclxuICAgIHByaWNlcyxcclxuICAgIGdlbmRlcixcclxuICAgIHRhZ3MsXHJcbiAgICByYXRlLFxyXG4gIH06IEZldGNoUHJvZHVjdHNGaWx0ZXJzKTogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxQcm9kdWN0PiA9PiB7XHJcbiAgICBjb25zdCBmaWx0ZXJzID0ge30gYXMgUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxQcm9kdWN0PlxyXG5cclxuICAgIGlmIChjbHViRGlzY291bnQ/Lmxlbmd0aClcclxuICAgICAgc2V0KGZpbHRlcnMsICdwcmljZS5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlJywgeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBjbHViRGlzY291bnQgfSlcclxuICAgIGlmIChicmFuZHM/Lmxlbmd0aCkgZmlsdGVycy5icmFuZCA9IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogYnJhbmRzIH1cclxuICAgIGlmIChnZW5kZXI/Lmxlbmd0aClcclxuICAgICAgZmlsdGVycy50YWdzID0ge1xyXG4gICAgICAgIG9wZXJhdG9yOiBXaGVyZS5JTixcclxuICAgICAgICB2YWx1ZTogZ2VuZGVyXHJcbiAgICAgICAgICAubWFwKChnZW5kZXJPcHRpb25zKSA9PlxyXG4gICAgICAgICAgICBnZW5kZXJPcHRpb25zID09PSAnZmVtYWxlJyA/ICdmZW1pbmlubycgOiBnZW5kZXJPcHRpb25zID09PSAnbWFsZScgPyAnbWFzY3VsaW5vJyA6IG51bGwsXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pLFxyXG4gICAgICB9XHJcbiAgICBpZiAocHJpY2VzPy5taW4gfHwgcHJpY2VzPy5tYXgpXHJcbiAgICAgIHNldChmaWx0ZXJzLCBwcmljZXMuc3Vic2NyaWJlclByaWNlID8gJ3ByaWNlLnN1YnNjcmliZXJQcmljZScgOiAncHJpY2UucHJpY2UnLCBbXHJcbiAgICAgICAgLi4uKHByaWNlcy5taW4gPyBbeyBvcGVyYXRvcjogV2hlcmUuR1RFLCB2YWx1ZTogTWF0aC5yb3VuZChwcmljZXMubWluKSB9XSA6IFtdKSxcclxuICAgICAgICAuLi4ocHJpY2VzLm1heCA/IFt7IG9wZXJhdG9yOiBXaGVyZS5MVEUsIHZhbHVlOiBNYXRoLmNlaWwocHJpY2VzLm1heCkgfV0gOiBbXSksXHJcbiAgICAgIF0pXHJcbiAgICBpZiAocmF0ZSkgZmlsdGVycy5yYXRlID0geyBvcGVyYXRvcjogV2hlcmUuR1RFLCB2YWx1ZTogcmF0ZSB9XHJcbiAgICBpZiAodGFncz8ubGVuZ3RoKSBmaWx0ZXJzLnRhZ3MgPSB7IG9wZXJhdG9yOiBXaGVyZS5MSUtFLCB2YWx1ZTogdGFncyB9XHJcblxyXG4gICAgcmV0dXJuIGZpbHRlcnNcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRTb3J0UXVlcnkgPSAoc29ydDogUHJvZHVjdFNvcnQpOiBSZXBvc2l0b3J5T3JkZXJCeTxQcm9kdWN0PiA9PiB7XHJcbiAgICBpZiAoIXNvcnQgfHwgc29ydCA9PT0gJ21vc3QtcmVsZXZhbnQnKSByZXR1cm4ge31cclxuXHJcbiAgICBpZiAoc29ydCA9PT0gJ2Jlc3Qtc2VsbGVycycpIHJldHVybiB7IHNob3BwaW5nQ291bnQ6ICdkZXNjJyB9XHJcbiAgICBpZiAoc29ydCA9PT0gJ2JpZ2dlc3QtcHJpY2UnKSByZXR1cm4geyBwcmljZTogJ2Rlc2MnIH1cclxuICAgIGlmIChzb3J0ID09PSAnbG93ZXN0LXByaWNlJykgcmV0dXJuIHsgcHJpY2U6ICdhc2MnIH1cclxuICAgIGlmIChzb3J0ID09PSAnYmVzdC1yYXRpbmcnKSByZXR1cm4geyByYXRlOiAnZGVzYycgfVxyXG4gICAgaWYgKHNvcnQgPT09ICduZXdzJykgcmV0dXJuIHsgY3JlYXRlZEF0OiAnZGVzYycgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZExpbWl0UXVlcnkgPSAob3B0aW9uczogeyBwYWdlPzogbnVtYmVyOyBwZXJQYWdlPzogbnVtYmVyIH0pOiB7IGxpbWl0PzogbnVtYmVyOyBvZmZzZXQ/OiBudW1iZXIgfSA9PiB7XHJcbiAgICBjb25zdCBsaW1pdCA9IG9wdGlvbnM/LnBlclBhZ2UgfHwgMjBcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBsaW1pdCxcclxuICAgICAgb2Zmc2V0OiAoKG9wdGlvbnM/LnBhZ2UgfHwgMSkgLSAxKSAqIGxpbWl0LFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,51 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { Shops, } from '@infrab4a/connect';
3
- import { CATEGORY_STRUCTURE, DEFAULT_SHOP } from '../../consts';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@infrab4a/connect";
6
- export class CategoryService {
7
- constructor(productRepository, categoryRepository, categoryFilterRepository, categoryStructureAdapter, shop) {
8
- this.productRepository = productRepository;
9
- this.categoryRepository = categoryRepository;
10
- this.categoryFilterRepository = categoryFilterRepository;
11
- this.categoryStructureAdapter = categoryStructureAdapter;
12
- this.shop = shop;
13
- }
14
- async fetchBrands(category, mainGender) {
15
- const brands = await this.productRepository
16
- .findCatalog({
17
- filters: await this.categoryStructureAdapter.buildProductFilterByCategory(category),
18
- fields: ['brand'],
19
- }, mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female')
20
- .then(({ data }) => Object.keys(data.map((product) => product.brand).reduce((brands, brand) => ({ ...brands, [brand]: true }), {})));
21
- return this.categoryRepository
22
- .find({ filters: { brandCategory: true }, orderBy: { name: 'asc' } })
23
- .then(({ data }) => data.filter((category) => brands.includes(category.conditions.brand)));
24
- }
25
- async fetchFilterOptions(category, filters) {
26
- return await this.categoryFilterRepository
27
- .find({ filters: { categoryId: +category.id } })
28
- .then(({ data }) => data.map((categoryFilter) => categoryFilter.filter));
29
- }
30
- }
31
- CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, deps: [{ token: 'ProductRepository' }, { token: 'CategoryRepository' }, { token: 'CategoryFilterRepository' }, { token: CATEGORY_STRUCTURE }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
32
- CategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, decorators: [{
34
- type: Injectable
35
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
36
- type: Inject,
37
- args: ['ProductRepository']
38
- }] }, { type: undefined, decorators: [{
39
- type: Inject,
40
- args: ['CategoryRepository']
41
- }] }, { type: undefined, decorators: [{
42
- type: Inject,
43
- args: ['CategoryFilterRepository']
44
- }] }, { type: undefined, decorators: [{
45
- type: Inject,
46
- args: [CATEGORY_STRUCTURE]
47
- }] }, { type: i1.Shops, decorators: [{
48
- type: Inject,
49
- args: [DEFAULT_SHOP]
50
- }] }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFPTCxLQUFLLEdBQ04sTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBOzs7QUFJL0QsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFDZ0QsaUJBQW9DLEVBQ25DLGtCQUFzQyxFQUNoQyx3QkFBa0QsRUFDMUQsd0JBQWtELEVBQ3hELElBQVc7UUFKSixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDaEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUMxRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ3hELFNBQUksR0FBSixJQUFJLENBQU87SUFDakQsQ0FBQztJQUVKLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBa0IsRUFBRSxVQUEwQjtRQUM5RCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUI7YUFDeEMsV0FBVyxDQUNWO1lBQ0UsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQztZQUNuRixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUM7U0FDbEIsRUFDRCxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDakU7YUFDQSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNoSCxDQUFBO1FBRUgsT0FBTyxJQUFJLENBQUMsa0JBQWtCO2FBQzNCLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQzthQUNwRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlGLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBa0IsRUFBRSxPQUFrQjtRQUM3RCxPQUFPLE1BQU0sSUFBSSxDQUFDLHdCQUF3QjthQUN2QyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUMvQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUM1RSxDQUFDOzs0R0EvQlUsZUFBZSxrQkFFaEIsbUJBQW1CLGFBQ25CLG9CQUFvQixhQUNwQiwwQkFBMEIsYUFDMUIsa0JBQWtCLGFBQ2xCLFlBQVk7Z0hBTlgsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFHTixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsTUFBTTsyQkFBQywwQkFBMEI7OzBCQUNqQyxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7XHJcbiAgQ2F0ZWdvcnksXHJcbiAgQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5LFxyXG4gIENhdGVnb3J5UmVwb3NpdG9yeSxcclxuICBGaWx0ZXIsXHJcbiAgUHJvZHVjdEdlbmRlcixcclxuICBQcm9kdWN0UmVwb3NpdG9yeSxcclxuICBTaG9wcyxcclxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuaW1wb3J0IHsgQ0FURUdPUllfU1RSVUNUVVJFLCBERUZBVUxUX1NIT1AgfSBmcm9tICcuLi8uLi9jb25zdHMnXHJcbmltcG9ydCB7IENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB9IGZyb20gJy4vYWRhcHRlcnMnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnUHJvZHVjdFJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RSZXBvc2l0b3J5OiBQcm9kdWN0UmVwb3NpdG9yeSxcclxuICAgIEBJbmplY3QoJ0NhdGVnb3J5UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlSZXBvc2l0b3J5OiBDYXRlZ29yeVJlcG9zaXRvcnksXHJcbiAgICBASW5qZWN0KCdDYXRlZ29yeUZpbHRlclJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeTogQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5LFxyXG4gICAgQEluamVjdChDQVRFR09SWV9TVFJVQ1RVUkUpIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyOiBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIsXHJcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHJpdmF0ZSByZWFkb25seSBzaG9wOiBTaG9wcyxcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIGZldGNoQnJhbmRzKGNhdGVnb3J5OiBDYXRlZ29yeSwgbWFpbkdlbmRlcj86IFByb2R1Y3RHZW5kZXIpOiBQcm9taXNlPENhdGVnb3J5W10+IHtcclxuICAgIGNvbnN0IGJyYW5kcyA9IGF3YWl0IHRoaXMucHJvZHVjdFJlcG9zaXRvcnlcclxuICAgICAgLmZpbmRDYXRhbG9nKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGZpbHRlcnM6IGF3YWl0IHRoaXMuY2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLmJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnkpLFxyXG4gICAgICAgICAgZmllbGRzOiBbJ2JyYW5kJ10sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtYWluR2VuZGVyIHx8IHRoaXMuc2hvcCA9PT0gU2hvcHMuTUVOU01BUktFVCA/ICdtYWxlJyA6ICdmZW1hbGUnLFxyXG4gICAgICApXHJcbiAgICAgIC50aGVuKCh7IGRhdGEgfSkgPT5cclxuICAgICAgICBPYmplY3Qua2V5cyhkYXRhLm1hcCgocHJvZHVjdCkgPT4gcHJvZHVjdC5icmFuZCkucmVkdWNlKChicmFuZHMsIGJyYW5kKSA9PiAoeyAuLi5icmFuZHMsIFticmFuZF06IHRydWUgfSksIHt9KSksXHJcbiAgICAgIClcclxuXHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeVJlcG9zaXRvcnlcclxuICAgICAgLmZpbmQoeyBmaWx0ZXJzOiB7IGJyYW5kQ2F0ZWdvcnk6IHRydWUgfSwgb3JkZXJCeTogeyBuYW1lOiAnYXNjJyB9IH0pXHJcbiAgICAgIC50aGVuKCh7IGRhdGEgfSkgPT4gZGF0YS5maWx0ZXIoKGNhdGVnb3J5KSA9PiBicmFuZHMuaW5jbHVkZXMoY2F0ZWdvcnkuY29uZGl0aW9ucy5icmFuZCkpKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZmV0Y2hGaWx0ZXJPcHRpb25zKGNhdGVnb3J5OiBDYXRlZ29yeSwgZmlsdGVycz86IHN0cmluZ1tdKTogUHJvbWlzZTxGaWx0ZXJbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5XHJcbiAgICAgIC5maW5kKHsgZmlsdGVyczogeyBjYXRlZ29yeUlkOiArY2F0ZWdvcnkuaWQgfSB9KVxyXG4gICAgICAudGhlbigoeyBkYXRhIH0pID0+IGRhdGEubWFwKChjYXRlZ29yeUZpbHRlcikgPT4gY2F0ZWdvcnlGaWx0ZXIuZmlsdGVyKSlcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export * from './product-sorts.enum';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvZW51bXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1zb3J0cy5lbnVtJ1xyXG4iXX0=
@@ -1,11 +0,0 @@
1
- export var ProductSorts;
2
- (function (ProductSorts) {
3
- ProductSorts["MOST_RELEVANT"] = "most-relevant";
4
- ProductSorts["BEST_SELLER"] = "best-sellers";
5
- ProductSorts["BIGGEST_PRICE"] = "biggest-price";
6
- ProductSorts["LOWEST_PRICE"] = "lowest-price";
7
- ProductSorts["BIGGEST_DISCOUNT"] = "biggest-discount";
8
- ProductSorts["BEST_RATING"] = "best-rating";
9
- ProductSorts["NEWS"] = "news";
10
- })(ProductSorts || (ProductSorts = {}));
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zb3J0cy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2VudW1zL3Byb2R1Y3Qtc29ydHMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQVFYO0FBUkQsV0FBWSxZQUFZO0lBQ3RCLCtDQUErQixDQUFBO0lBQy9CLDRDQUE0QixDQUFBO0lBQzVCLCtDQUErQixDQUFBO0lBQy9CLDZDQUE2QixDQUFBO0lBQzdCLHFEQUFxQyxDQUFBO0lBQ3JDLDJDQUEyQixDQUFBO0lBQzNCLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBUlcsWUFBWSxLQUFaLFlBQVksUUFRdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBQcm9kdWN0U29ydHMge1xyXG4gIE1PU1RfUkVMRVZBTlQgPSAnbW9zdC1yZWxldmFudCcsXHJcbiAgQkVTVF9TRUxMRVIgPSAnYmVzdC1zZWxsZXJzJyxcclxuICBCSUdHRVNUX1BSSUNFID0gJ2JpZ2dlc3QtcHJpY2UnLFxyXG4gIExPV0VTVF9QUklDRSA9ICdsb3dlc3QtcHJpY2UnLFxyXG4gIEJJR0dFU1RfRElTQ09VTlQgPSAnYmlnZ2VzdC1kaXNjb3VudCcsXHJcbiAgQkVTVF9SQVRJTkcgPSAnYmVzdC1yYXRpbmcnLFxyXG4gIE5FV1MgPSAnbmV3cycsXHJcbn1cclxuIl19
@@ -1,6 +0,0 @@
1
- export * from './catalog.service';
2
- export * from './category.service';
3
- export * from './enums';
4
- export * from './models';
5
- export * from './types';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXRhbG9nLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcnkuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9lbnVtcydcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnXHJcbiJdfQ==
@@ -1,10 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Type } from 'class-transformer';
3
- import { Category } from '@infrab4a/connect';
4
- export class CategoryWithTree extends Category {
5
- }
6
- __decorate([
7
- Type(() => CategoryWithTree),
8
- __metadata("design:type", Array)
9
- ], CategoryWithTree.prototype, "children", void 0);
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktd2l0aC10cmVlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL21vZGVscy9jYXRlZ29yeS13aXRoLXRyZWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFNUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFFBQVE7Q0FHN0M7QUFGQztJQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs7a0RBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInXHJcblxyXG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuZXhwb3J0IGNsYXNzIENhdGVnb3J5V2l0aFRyZWUgZXh0ZW5kcyBDYXRlZ29yeSB7XHJcbiAgQFR5cGUoKCkgPT4gQ2F0ZWdvcnlXaXRoVHJlZSlcclxuICBjaGlsZHJlbj86IENhdGVnb3J5V2l0aFRyZWVbXVxyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './category-with-tree.model';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LXdpdGgtdHJlZS5tb2RlbCdcclxuIl19
@@ -1,2 +0,0 @@
1
- export * from './product-sort.type';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1zb3J0LnR5cGUnXHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zb3J0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvdHlwZXMvcHJvZHVjdC1zb3J0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3RTb3J0cyB9IGZyb20gJy4uL2VudW1zJ1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFNvcnQgPSBgJHtQcm9kdWN0U29ydHN9YFxyXG4iXX0=
@@ -1,96 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { Shops } from '@infrab4a/connect';
4
- import { combineLatest } from 'rxjs';
5
- import { map } from 'rxjs/operators';
6
- import { BACKEND_URL } from '../consts';
7
- import { HomeShopService } from './home-shop.service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common/http";
10
- import * as i2 from "./home-shop.service";
11
- export class ShippingService {
12
- constructor(http, apiUrl, homeService) {
13
- this.http = http;
14
- this.apiUrl = apiUrl;
15
- this.homeService = homeService;
16
- }
17
- getShippingMethods(shop, zip, weightGrams, totalPrice, personId, subscriptionPlan) {
18
- return combineLatest([
19
- this.homeService.getHomeData(),
20
- this.http.get(`${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`),
21
- ]).pipe(map(([datas, shippingMethodsResponse]) => {
22
- let shippingMethods = shippingMethodsResponse.result;
23
- if (!shippingMethods.length)
24
- return [];
25
- shippingMethods = shippingMethods.map((shippingMethod) => {
26
- if (shippingMethod.ShippingCompanyName == 'Same Day EG')
27
- shippingMethod.ShippingCompanyName = 'Same Day';
28
- return shippingMethod;
29
- });
30
- const datasSameDayNotAvaliable = datas.sameDayNotAvaliable;
31
- if (this.isHolidays(datasSameDayNotAvaliable)) {
32
- shippingMethods = shippingMethods.filter((method) => method.serviceName !== 'Same Day');
33
- }
34
- if (totalPrice >= 200) {
35
- shippingMethods = shippingMethods.map((s) => {
36
- if (s.serviceName !== 'Same Day')
37
- return { ...s, totalPrice: 0 };
38
- else
39
- return s;
40
- });
41
- }
42
- if (shop == Shops.GLAMSHOP)
43
- return shippingMethods;
44
- if (this.isFreeShippingBySubscription(shop, subscriptionPlan)) {
45
- shippingMethods = shippingMethods.map((s) => {
46
- if (s.serviceName == 'Same Day')
47
- return { ...s, totalPrice: s.totalPrice / 2 };
48
- else
49
- return { ...s, totalPrice: 0 };
50
- });
51
- }
52
- if (this.isHalfShippingBySubscription(shop, subscriptionPlan)) {
53
- shippingMethods = shippingMethods.map((s) => {
54
- return { ...s, totalPrice: s.totalPrice / 2 };
55
- });
56
- }
57
- return shippingMethods;
58
- }));
59
- }
60
- isFreeShippingBySubscription(shop, subscriptionPlan) {
61
- if (!subscriptionPlan)
62
- return false;
63
- if (shop == Shops.MENSMARKET && subscriptionPlan == 'SELECT')
64
- return true;
65
- return false;
66
- }
67
- isHalfShippingBySubscription(shop, subscriptionPlan) {
68
- if (!subscriptionPlan)
69
- return false;
70
- if (shop == Shops.MENSMARKET && subscriptionPlan == 'PRIME') {
71
- return true;
72
- }
73
- return false;
74
- }
75
- isHolidays(datas) {
76
- const today = new Date();
77
- for (const key in datas) {
78
- let start = new Date(`${today.getFullYear()}-${datas[key].beginDate}`);
79
- let end = new Date(`${today.getFullYear()}-${datas[key].endDate}`);
80
- if (start > end)
81
- end = new Date(`${today.getFullYear() + 1}-${datas[key].endDate}`);
82
- if (today >= start && today <= end)
83
- return true;
84
- }
85
- return false;
86
- }
87
- }
88
- ShippingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService, deps: [{ token: i1.HttpClient }, { token: BACKEND_URL }, { token: i2.HomeShopService }], target: i0.ɵɵFactoryTarget.Injectable });
89
- ShippingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService, decorators: [{
91
- type: Injectable
92
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
93
- type: Inject,
94
- args: [BACKEND_URL]
95
- }] }, { type: i2.HomeShopService }]; } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvc2hpcHBpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFRLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7O0FBSXJELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1UsSUFBZ0IsRUFDSyxNQUFjLEVBQ25DLFdBQTRCO1FBRjVCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUNuQyxDQUFDO0lBRUcsa0JBQWtCLENBQ3ZCLElBQVksRUFDWixHQUFXLEVBQ1gsV0FBbUIsRUFDbkIsVUFBa0IsRUFDbEIsUUFBZ0IsRUFDaEIsZ0JBQXlCO1FBRXpCLE9BQU8sYUFBYSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNYLEdBQUcsSUFBSSxDQUFDLE1BQU0sc0NBQXNDLFFBQVEsZUFBZSxHQUFHLGdCQUFnQixXQUFXLEVBQUUsQ0FDNUc7U0FDRixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFD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QUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFFeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUU7WUFDdkIsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFDdEUsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFFbEUsSUFBSSxLQUFLLEdBQUcsR0FBRztnQkFBRSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1lBRW5GLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksR0FBRztnQkFBRSxPQUFPLElBQUksQ0FBQTtTQUNoRDtRQUVELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQzs7NEdBbEdVLGVBQWUsNENBR2hCLFdBQVc7Z0hBSFYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFJTixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEhvbWUsIFNob3BzIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbmltcG9ydCB7IEJBQ0tFTkRfVVJMIH0gZnJvbSAnLi4vY29uc3RzJ1xyXG5pbXBvcnQgeyBIb21lU2hvcFNlcnZpY2UgfSBmcm9tICcuL2hvbWUtc2hvcC5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBTaGlwcGluZ01ldGhvZFJlc3BvbnNlIH0gZnJvbSAnLi90eXBlcy9zaGlwcGluZy1tZXRob2RzLnR5cGUnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTaGlwcGluZ1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgQEluamVjdChCQUNLRU5EX1VSTCkgcHJpdmF0ZSBhcGlVcmw6IHN0cmluZyxcclxuICAgIHByaXZhdGUgaG9tZVNlcnZpY2U6IEhvbWVTaG9wU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBnZXRTaGlwcGluZ01ldGhvZHMoXHJcbiAgICBzaG9wOiBzdHJpbmcsXHJcbiAgICB6aXA6IHN0cmluZyxcclxuICAgIHdlaWdodEdyYW1zOiBudW1iZXIsXHJcbiAgICB0b3RhbFByaWNlOiBudW1iZXIsXHJcbiAgICBwZXJzb25JZDogc3RyaW5nLFxyXG4gICAgc3Vic2NyaXB0aW9uUGxhbj86IHN0cmluZyxcclxuICApOiBPYnNlcnZhYmxlPEFycmF5PFNoaXBwaW5nTWV0aG9kUmVzcG9uc2UgJiB7IFNoaXBwaW5nQ29tcGFueU5hbWU/OiBzdHJpbmcgfT4+IHtcclxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy5ob21lU2VydmljZS5nZXRIb21lRGF0YSgpLFxyXG4gICAgICB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICAgIGAke3RoaXMuYXBpVXJsfW9wZW4vY2hlY2tzaGlwcGluZ2NvbXBhbnk/cGVyc29uSWQ9JHtwZXJzb25JZH0mcG9zdGFsQ29kZT0ke3ppcH0md2VpZ2h0R3JhbXM9JHt3ZWlnaHRHcmFtc31gLFxyXG4gICAgICApLFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKChbZGF0YXMsIHNoaXBwaW5nTWV0aG9kc1Jlc3BvbnNlXTogW0hvbWUgJiBQYXJ0aWFsPHsgc2FtZURheU5vdEF2YWxpYWJsZTogYW55IH0+LCBhbnldKSA9PiB7XHJcbiAgICAgICAgbGV0IHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kc1Jlc3BvbnNlLnJlc3VsdCBhcyAoU2hpcHBpbmdNZXRob2RSZXNwb25zZSAmIHtcclxuICAgICAgICAgIFNoaXBwaW5nQ29tcGFueU5hbWU/OiBzdHJpbmdcclxuICAgICAgICB9KVtdXHJcblxyXG4gICAgICAgIGlmICghc2hpcHBpbmdNZXRob2RzLmxlbmd0aCkgcmV0dXJuIFtdXHJcblxyXG4gICAgICAgIHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kcy5tYXAoKHNoaXBwaW5nTWV0aG9kKSA9PiB7XHJcbiAgICAgICAgICBpZiAoc2hpcHBpbmdNZXRob2QuU2hpcHBpbmdDb21wYW55TmFtZSA9PSAnU2FtZSBEYXkgRUcnKSBzaGlwcGluZ01ldGhvZC5TaGlwcGluZ0NvbXBhbnlOYW1lID0gJ1NhbWUgRGF5J1xyXG5cclxuICAgICAgICAgIHJldHVybiBzaGlwcGluZ01ldGhvZFxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIGNvbnN0IGRhdGFzU2FtZURheU5vdEF2YWxpYWJsZSA9IGRhdGFzLnNhbWVEYXlOb3RBdmFsaWFibGVcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNIb2xpZGF5cyhkYXRhc1NhbWVEYXlOb3RBdmFsaWFibGUpKSB7XHJcbiAgICAgICAgICBzaGlwcGluZ01ldGhvZHMgPSBzaGlwcGluZ01ldGhvZHMuZmlsdGVyKChtZXRob2QpID0+IG1ldGhvZC5zZXJ2aWNlTmFtZSAhPT0gJ1NhbWUgRGF5JylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0b3RhbFByaWNlID49IDIwMCkge1xyXG4gICAgICAgICAgc2hpcHBpbmdNZXRob2RzID0gc2hpcHBpbmdNZXRob2RzLm1hcCgocykgPT4ge1xyXG4gICAgICAgICAgICBpZiAocy5zZXJ2aWNlTmFtZSAhPT0gJ1NhbWUgRGF5JykgcmV0dXJuIHsgLi4ucywgdG90YWxQcmljZTogMCB9XHJcbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIHNcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc2hvcCA9PSBTaG9wcy5HTEFNU0hPUCkgcmV0dXJuIHNoaXBwaW5nTWV0aG9kc1xyXG5cclxuICAgICAgICBpZiAodGhpcy5pc0ZyZWVTaGlwcGluZ0J5U3Vic2NyaXB0aW9uKHNob3AsIHN1YnNjcmlwdGlvblBsYW4pKSB7XHJcbiAgICAgICAgICBzaGlwcGluZ01ldGhvZHMgPSBzaGlwcGluZ01ldGhvZHMubWFwKChzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzLnNlcnZpY2VOYW1lID09ICdTYW1lIERheScpIHJldHVybiB7IC4uLnMsIHRvdGFsUHJpY2U6IHMudG90YWxQcmljZSAvIDIgfVxyXG4gICAgICAgICAgICBlbHNlIHJldHVybiB7IC4uLnMsIHRvdGFsUHJpY2U6IDAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzSGFsZlNoaXBwaW5nQnlTdWJzY3JpcHRpb24oc2hvcCwgc3Vic2NyaXB0aW9uUGxhbikpIHtcclxuICAgICAgICAgIHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kcy5tYXAoKHMpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgLi4ucywgdG90YWxQcmljZTogcy50b3RhbFByaWNlIC8gMiB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHNoaXBwaW5nTWV0aG9kc1xyXG4gICAgICB9KSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNGcmVlU2hpcHBpbmdCeVN1YnNjcmlwdGlvbihzaG9wOiBzdHJpbmcsIHN1YnNjcmlwdGlvblBsYW46IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFzdWJzY3JpcHRpb25QbGFuKSByZXR1cm4gZmFsc2VcclxuXHJcbiAgICBpZiAoc2hvcCA9PSBTaG9wcy5NRU5TTUFSS0VUICYmIHN1YnNjcmlwdGlvblBsYW4gPT0gJ1NFTEVDVCcpIHJldHVybiB0cnVlXHJcblxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzSGFsZlNoaXBwaW5nQnlTdWJzY3JpcHRpb24oc2hvcDogc3RyaW5nLCBzdWJzY3JpcHRpb25QbGFuOiBzdHJpbmcpIHtcclxuICAgIGlmICghc3Vic2NyaXB0aW9uUGxhbikgcmV0dXJuIGZhbHNlXHJcblxyXG4gICAgaWYgKHNob3AgPT0gU2hvcHMuTUVOU01BUktFVCAmJiBzdWJzY3JpcHRpb25QbGFuID09ICdQUklNRScpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNIb2xpZGF5cyhkYXRhczogYW55KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKClcclxuXHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhcykge1xyXG4gICAgICBsZXQgc3RhcnQgPSBuZXcgRGF0ZShgJHt0b2RheS5nZXRGdWxsWWVhcigpfS0ke2RhdGFzW2tleV0uYmVnaW5EYXRlfWApXHJcbiAgICAgIGxldCBlbmQgPSBuZXcgRGF0ZShgJHt0b2RheS5nZXRGdWxsWWVhcigpfS0ke2RhdGFzW2tleV0uZW5kRGF0ZX1gKVxyXG5cclxuICAgICAgaWYgKHN0YXJ0ID4gZW5kKSBlbmQgPSBuZXcgRGF0ZShgJHt0b2RheS5nZXRGdWxsWWVhcigpICsgMX0tJHtkYXRhc1trZXldLmVuZERhdGV9YClcclxuXHJcbiAgICAgIGlmICh0b2RheSA+PSBzdGFydCAmJiB0b2RheSA8PSBlbmQpIHJldHVybiB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmctbWV0aG9kcy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9zaGlwcGluZy1tZXRob2RzLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2hpcHBpbmdNZXRob2RSZXNwb25zZSB7XHJcbiAgZGF5c1RvRGVsaXZlcnk6IG51bWJlcjtcclxuICBjdXJyZW5jeTogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgbWF4RGVsaXZlcnlEYXRlOiBzdHJpbmc7XHJcbiAgbWluRGVsaXZlcnlEYXRlOiBzdHJpbmc7XHJcbiAgc2VydmljZUNvZGU6IHN0cmluZztcclxuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xyXG4gIHRvdGFsUHJpY2U6IG51bWJlcjtcclxuICBhZGRpdGlvbmFsRGVzY3JpcHRpb246IHN0cmluZztcclxuICBjbnBqOiBzdHJpbmc7XHJcbn0iXX0=
@@ -1,4 +0,0 @@
1
- import { Category, Product, RepositoryFindFielters } from '@infrab4a/connect/';
2
- export interface CategoryStructureAdapter {
3
- buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>>;
4
- }
@@ -1,3 +0,0 @@
1
- export * from './category-structure.adapter';
2
- export * from './new-category-structure.adapter';
3
- export * from './old-category-structure.adapter';
@@ -1,14 +0,0 @@
1
- import { Category, CategoryCollectionChildrenRepository, CategoryRepository, Product, RepositoryFindFielters } from '@infrab4a/connect';
2
- import { CategoryStructureAdapter } from './category-structure.adapter';
3
- import * as i0 from "@angular/core";
4
- export declare class NewCategoryStructureAdapter implements CategoryStructureAdapter {
5
- private readonly categoryRepository;
6
- private readonly categoryCollectionChildrenRepository;
7
- constructor(categoryRepository: CategoryRepository, categoryCollectionChildrenRepository: CategoryCollectionChildrenRepository);
8
- buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>>;
9
- private getAllCategoriesIdFromCategory;
10
- private getAllCategoriesIdFromCollection;
11
- private isCollection;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<NewCategoryStructureAdapter, never>;
13
- static ɵprov: i0.ɵɵInjectableDeclaration<NewCategoryStructureAdapter>;
14
- }
@@ -1,10 +0,0 @@
1
- import { Category, CategoryRepository, Product, RepositoryFindFielters } from '@infrab4a/connect';
2
- import { CategoryStructureAdapter } from './category-structure.adapter';
3
- import * as i0 from "@angular/core";
4
- export declare class OldCategoryStructureAdapter implements CategoryStructureAdapter {
5
- private readonly categoryRepository;
6
- constructor(categoryRepository: CategoryRepository);
7
- buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>>;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<OldCategoryStructureAdapter, never>;
9
- static ɵprov: i0.ɵɵInjectableDeclaration<OldCategoryStructureAdapter>;
10
- }
@@ -1,54 +0,0 @@
1
- import { Category, Product, ProductGender, ProductRepository, Shops } from '@infrab4a/connect';
2
- import { CategoryStructureAdapter } from './adapters';
3
- import { ProductSort } from './types/product-sort.type';
4
- import * as i0 from "@angular/core";
5
- declare type FetchProductsFilters = {
6
- clubDiscount?: number[];
7
- brands?: string[];
8
- prices?: {
9
- min?: number;
10
- max?: number;
11
- subscriberPrice?: boolean;
12
- };
13
- gender?: ProductGender[];
14
- rate?: number;
15
- tags?: [];
16
- customOptions?: string[];
17
- };
18
- declare type FetchProductsOptions = {
19
- page?: number;
20
- perPage?: number;
21
- filters?: FetchProductsFilters;
22
- sort?: ProductSort;
23
- mainGender?: ProductGender;
24
- };
25
- declare type FetchProductsResponse = {
26
- products: {
27
- data: Product[];
28
- total: number;
29
- };
30
- pages: number;
31
- prices: {
32
- price: {
33
- min: number;
34
- max: number;
35
- };
36
- subscriberPrice: {
37
- min: number;
38
- max: number;
39
- };
40
- };
41
- };
42
- export declare class CatalogService {
43
- private readonly productRepository;
44
- private readonly categoryStructureAdapter;
45
- private readonly shop;
46
- constructor(productRepository: ProductRepository, categoryStructureAdapter: CategoryStructureAdapter, shop: Shops);
47
- fetchProducts(category: Category, options?: FetchProductsOptions): Promise<FetchProductsResponse>;
48
- private buildFilterQuery;
49
- private buildSortQuery;
50
- private buildLimitQuery;
51
- static ɵfac: i0.ɵɵFactoryDeclaration<CatalogService, never>;
52
- static ɵprov: i0.ɵɵInjectableDeclaration<CatalogService>;
53
- }
54
- export {};
@@ -1,15 +0,0 @@
1
- import { Category, CategoryFilterRepository, CategoryRepository, Filter, ProductGender, ProductRepository, Shops } from '@infrab4a/connect';
2
- import { CategoryStructureAdapter } from './adapters';
3
- import * as i0 from "@angular/core";
4
- export declare class CategoryService {
5
- private readonly productRepository;
6
- private readonly categoryRepository;
7
- private readonly categoryFilterRepository;
8
- private readonly categoryStructureAdapter;
9
- private readonly shop;
10
- constructor(productRepository: ProductRepository, categoryRepository: CategoryRepository, categoryFilterRepository: CategoryFilterRepository, categoryStructureAdapter: CategoryStructureAdapter, shop: Shops);
11
- fetchBrands(category: Category, mainGender?: ProductGender): Promise<Category[]>;
12
- fetchFilterOptions(category: Category, filters?: string[]): Promise<Filter[]>;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<CategoryService, never>;
14
- static ɵprov: i0.ɵɵInjectableDeclaration<CategoryService>;
15
- }
@@ -1 +0,0 @@
1
- export * from './product-sorts.enum';
@@ -1,9 +0,0 @@
1
- export declare enum ProductSorts {
2
- MOST_RELEVANT = "most-relevant",
3
- BEST_SELLER = "best-sellers",
4
- BIGGEST_PRICE = "biggest-price",
5
- LOWEST_PRICE = "lowest-price",
6
- BIGGEST_DISCOUNT = "biggest-discount",
7
- BEST_RATING = "best-rating",
8
- NEWS = "news"
9
- }
@@ -1,5 +0,0 @@
1
- export * from './catalog.service';
2
- export * from './category.service';
3
- export * from './enums';
4
- export * from './models';
5
- export * from './types';
@@ -1,4 +0,0 @@
1
- import { Category } from '@infrab4a/connect';
2
- export declare class CategoryWithTree extends Category {
3
- children?: CategoryWithTree[];
4
- }
@@ -1 +0,0 @@
1
- export * from './category-with-tree.model';
@@ -1 +0,0 @@
1
- export * from './product-sort.type';
@@ -1,2 +0,0 @@
1
- import { ProductSorts } from '../enums';
2
- export declare type ProductSort = `${ProductSorts}`;
@@ -1,19 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Observable } from 'rxjs';
3
- import { HomeShopService } from './home-shop.service';
4
- import { ShippingMethodResponse } from './types/shipping-methods.type';
5
- import * as i0 from "@angular/core";
6
- export declare class ShippingService {
7
- private http;
8
- private apiUrl;
9
- private homeService;
10
- constructor(http: HttpClient, apiUrl: string, homeService: HomeShopService);
11
- getShippingMethods(shop: string, zip: string, weightGrams: number, totalPrice: number, personId: string, subscriptionPlan?: string): Observable<Array<ShippingMethodResponse & {
12
- ShippingCompanyName?: string;
13
- }>>;
14
- private isFreeShippingBySubscription;
15
- private isHalfShippingBySubscription;
16
- private isHolidays;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<ShippingService, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<ShippingService>;
19
- }
@@ -1,12 +0,0 @@
1
- export interface ShippingMethodResponse {
2
- daysToDelivery: number;
3
- currency: string;
4
- description: string;
5
- maxDeliveryDate: string;
6
- minDeliveryDate: string;
7
- serviceCode: string;
8
- serviceName: string;
9
- totalPrice: number;
10
- additionalDescription: string;
11
- cnpj: string;
12
- }