@infrab4a/connect-angular 3.9.1-beta3 → 3.9.2-beta1

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 (55) hide show
  1. package/angular-connect.module.d.ts +0 -1
  2. package/bundles/infrab4a-connect-angular.umd.js +1161 -1587
  3. package/bundles/infrab4a-connect-angular.umd.js.map +1 -1
  4. package/consts/index.d.ts +0 -1
  5. package/esm2015/angular-connect.module.js +3 -14
  6. package/esm2015/angular-firestore.module.js +3 -17
  7. package/esm2015/angular-hasura-graphql.module.js +2 -18
  8. package/esm2015/consts/index.js +1 -2
  9. package/esm2015/index.js +3 -3
  10. package/esm2015/services/cart.service.js +14 -27
  11. package/esm2015/services/checkout-subscription.service.js +2 -2
  12. package/esm2015/services/checkout.service.js +7 -2
  13. package/esm2015/services/coupon.service.js +159 -154
  14. package/esm2015/services/errors/group-invalid-coupon.error.js +8 -0
  15. package/esm2015/services/errors/index.js +3 -0
  16. package/esm2015/services/errors/invalid-coupon.error.js +8 -0
  17. package/esm2015/services/index.js +1 -2
  18. package/fesm2015/infrab4a-connect-angular.js +1026 -1286
  19. package/fesm2015/infrab4a-connect-angular.js.map +1 -1
  20. package/index.d.ts +2 -2
  21. package/package.json +2 -2
  22. package/services/cart.service.d.ts +2 -3
  23. package/services/coupon.service.d.ts +8 -11
  24. package/services/errors/group-invalid-coupon.error.d.ts +6 -0
  25. package/services/errors/index.d.ts +2 -0
  26. package/services/errors/invalid-coupon.error.d.ts +5 -0
  27. package/services/index.d.ts +0 -1
  28. package/consts/category-structure.d.ts +0 -1
  29. package/esm2015/consts/category-structure.js +0 -2
  30. package/esm2015/services/catalog/adapters/category-structure.adapter.js +0 -2
  31. package/esm2015/services/catalog/adapters/index.js +0 -4
  32. package/esm2015/services/catalog/adapters/new-category-structure.adapter.js +0 -51
  33. package/esm2015/services/catalog/adapters/old-category-structure.adapter.js +0 -27
  34. package/esm2015/services/catalog/catalog.service.js +0 -96
  35. package/esm2015/services/catalog/category.service.js +0 -56
  36. package/esm2015/services/catalog/enums/index.js +0 -2
  37. package/esm2015/services/catalog/enums/product-sorts.enum.js +0 -11
  38. package/esm2015/services/catalog/index.js +0 -6
  39. package/esm2015/services/catalog/models/category-with-tree.model.js +0 -10
  40. package/esm2015/services/catalog/models/index.js +0 -2
  41. package/esm2015/services/catalog/types/index.js +0 -2
  42. package/esm2015/services/catalog/types/product-sort.type.js +0 -2
  43. package/services/catalog/adapters/category-structure.adapter.d.ts +0 -4
  44. package/services/catalog/adapters/index.d.ts +0 -3
  45. package/services/catalog/adapters/new-category-structure.adapter.d.ts +0 -14
  46. package/services/catalog/adapters/old-category-structure.adapter.d.ts +0 -10
  47. package/services/catalog/catalog.service.d.ts +0 -54
  48. package/services/catalog/category.service.d.ts +0 -15
  49. package/services/catalog/enums/index.d.ts +0 -1
  50. package/services/catalog/enums/product-sorts.enum.d.ts +0 -9
  51. package/services/catalog/index.d.ts +0 -5
  52. package/services/catalog/models/category-with-tree.model.d.ts +0 -4
  53. package/services/catalog/models/index.d.ts +0 -1
  54. package/services/catalog/types/index.d.ts +0 -1
  55. package/services/catalog/types/product-sort.type.d.ts +0 -2
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export * from './angular-connect.module';
1
+ export * from './services';
2
2
  export * from './angular-firebase-auth.module';
3
3
  export * from './angular-firestore.module';
4
+ export * from './angular-connect.module';
4
5
  export * from './angular-hasura-graphql.module';
5
- export * from './services';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect-angular",
3
- "version": "3.9.1-beta3",
3
+ "version": "3.9.2-beta1",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -12,7 +12,7 @@
12
12
  "@angular/common": "^12.2.12",
13
13
  "@angular/core": "^12.2.12",
14
14
  "@angular/fire": "^6.1.5",
15
- "@infrab4a/connect": "^3.14.3",
15
+ "@infrab4a/connect": "^3.10.0",
16
16
  "firebase": "^7.24.0",
17
17
  "js-cookie": "^3.0.1",
18
18
  "rxjs": "^6.6.7"
@@ -1,4 +1,4 @@
1
- import { Buy2WinFirestoreRepository, CategoryRepository, LineItem, ProductRepository, Shops, User, VariantRepository } from '@infrab4a/connect';
1
+ import { Buy2WinFirestoreRepository, LineItem, ProductRepository, Shops, User, VariantRepository } from '@infrab4a/connect';
2
2
  import { Observable } from 'rxjs';
3
3
  import { AuthService } from './auth.service';
4
4
  import { CheckoutService } from './checkout.service';
@@ -12,11 +12,10 @@ export declare class CartService {
12
12
  private readonly checkoutService;
13
13
  private readonly defaultShop;
14
14
  private readonly productRepository;
15
- private readonly categoryRepository;
16
15
  private readonly variantRepository;
17
16
  private readonly buy2WinRepository;
18
17
  private cartSubject;
19
- constructor(authService: AuthService, checkoutService: CheckoutService, defaultShop: Shops, productRepository: ProductRepository, categoryRepository: CategoryRepository, variantRepository: VariantRepository, buy2WinRepository: Buy2WinFirestoreRepository);
18
+ constructor(authService: AuthService, checkoutService: CheckoutService, defaultShop: Shops, productRepository: ProductRepository, variantRepository: VariantRepository, buy2WinRepository: Buy2WinFirestoreRepository);
20
19
  addItem(item: LineItem, quantity?: number): Observable<Cart>;
21
20
  decreaseItem(item: LineItem): Observable<Cart>;
22
21
  getCart(checkout?: RequiredCheckoutData): Observable<Cart>;
@@ -7,22 +7,19 @@ export declare class CouponService {
7
7
  private readonly orderRepository;
8
8
  private readonly categoryRepository;
9
9
  constructor(couponRepository: CouponRepository, defaultShop: Shops, orderRepository: OrderRepository, categoryRepository: CategoryRepository);
10
- checkCoupon(nickname: string, checkoutType: CheckoutTypes, checkout: Partial<Checkout>, plan: string): Observable<Coupon>;
11
- private couponValidation;
12
- private couponRulesValidation;
10
+ checkCoupon(nickname: string, userEmail: string, checkoutType: CheckoutTypes, plan?: string, checkout?: Partial<Checkout>, isSubscription?: boolean): Observable<Coupon>;
11
+ private emailIsFromCollaborator;
12
+ private checkCouponRules;
13
+ private isValidCoupon;
14
+ private checkCouponUseAndLimit;
13
15
  calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number>;
14
16
  calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number>;
15
- private calcDiscountByType;
17
+ private calcShoppingPercentageDiscount;
16
18
  private hasMinSubTotal;
17
19
  private hasProductCategories;
18
- private coupomUserValidation;
20
+ private userValidationAndSubscriptionStatus;
19
21
  private getCouponCategoriesId;
20
- private emailIsFromCollaborator;
21
- private getLineItensEligebleForDiscount;
22
- private calcCheckoutSubtotal;
23
- private getOrdersWithCoupon;
24
- private countOrdersWithUser;
25
- private getCouponUseLimits;
22
+ private separateValidCoupons;
26
23
  static ɵfac: i0.ɵɵFactoryDeclaration<CouponService, never>;
27
24
  static ɵprov: i0.ɵɵInjectableDeclaration<CouponService>;
28
25
  }
@@ -0,0 +1,6 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ import { InvalidCouponError } from './invalid-coupon.error';
3
+ export declare class GroupInvalidCouponError extends CustomError {
4
+ readonly errors: InvalidCouponError[];
5
+ constructor(errors: InvalidCouponError[]);
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from './invalid-coupon.error';
2
+ export * from './group-invalid-coupon.error';
@@ -0,0 +1,5 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class InvalidCouponError extends CustomError {
3
+ readonly message: any;
4
+ constructor(message: any);
5
+ }
@@ -1,6 +1,5 @@
1
1
  export * from './auth.service';
2
2
  export * from './cart.service';
3
- export * from './catalog';
4
3
  export * from './checkout-subscription.service';
5
4
  export * from './checkout.service';
6
5
  export * from './coupon.service';
@@ -1 +0,0 @@
1
- export declare const CATEGORY_STRUCTURE = "CATEGORY_STRUCTURE";
@@ -1,2 +0,0 @@
1
- export const CATEGORY_STRUCTURE = 'CATEGORY_STRUCTURE';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc3RydWN0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9jb25zdHMvY2F0ZWdvcnktc3RydWN0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENBVEVHT1JZX1NUUlVDVFVSRSA9ICdDQVRFR09SWV9TVFJVQ1RVUkUnXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMvY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhdGVnb3J5LCBQcm9kdWN0LCBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QvJ1xuXG5leHBvcnQgaW50ZXJmYWNlIENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB7XG4gIGJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+PlxufVxuIl19
@@ -1,4 +0,0 @@
1
- export * from './category-structure.adapter';
2
- export * from './new-category-structure.adapter';
3
- export * from './old-category-structure.adapter';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsa0NBQWtDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LXN0cnVjdHVyZS5hZGFwdGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9uZXctY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXInXG5leHBvcnQgKiBmcm9tICcuL29sZC1jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlcidcbiJdfQ==
@@ -1,51 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Inject, Injectable } from '@angular/core';
3
- import { isNil, Where, } from '@infrab4a/connect';
4
- import * as i0 from "@angular/core";
5
- export class NewCategoryStructureAdapter {
6
- constructor(categoryRepository, categoryCollectionChildrenRepository) {
7
- this.categoryRepository = categoryRepository;
8
- this.categoryCollectionChildrenRepository = categoryCollectionChildrenRepository;
9
- }
10
- buildProductFilterByCategory(category) {
11
- return __awaiter(this, void 0, void 0, function* () {
12
- const categoriesIds = (yield this.isCollection(category))
13
- ? yield this.getAllCategoriesIdFromCollection(category)
14
- : [...(yield this.getAllCategoriesIdFromCategory(category)), category.id.toString()];
15
- return { category: { id: { operator: Where.IN, value: categoriesIds } } };
16
- });
17
- }
18
- getAllCategoriesIdFromCategory(category) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- return this.categoryRepository
21
- .getChildren(+category.id)
22
- .then((categories) => categories.map((category) => category.id.toString()));
23
- });
24
- }
25
- getAllCategoriesIdFromCollection(category) {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- return this.categoryCollectionChildrenRepository
28
- .find({ filters: { collectionId: +category.id } })
29
- .then(({ data }) => data.map((categoryCollection) => categoryCollection.categoryId.toString()));
30
- });
31
- }
32
- isCollection(category) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- return !isNil(category.isCollection)
35
- ? category.isCollection
36
- : this.categoryRepository.get({ id: category.id }).then((category) => category.isCollection);
37
- });
38
- }
39
- }
40
- NewCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }, { token: 'CategoryCollectionChildrenRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
41
- NewCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NewCategoryStructureAdapter });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
43
- type: Injectable
44
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
45
- type: Inject,
46
- args: ['CategoryRepository']
47
- }] }, { type: undefined, decorators: [{
48
- type: Inject,
49
- args: ['CategoryCollectionChildrenRepository']
50
- }] }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhdGVnb3J5LXN0cnVjdHVyZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2FkYXB0ZXJzL25ldy1jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUlMLEtBQUssRUFHTCxLQUFLLEdBQ04sTUFBTSxtQkFBbUIsQ0FBQTs7QUFJMUIsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxZQUNpRCxrQkFBc0MsRUFFcEUsb0NBQTBFO1FBRjVDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFFcEUseUNBQW9DLEdBQXBDLG9DQUFvQyxDQUFzQztJQUMxRixDQUFDO0lBRUUsNEJBQTRCLENBQUMsUUFBa0I7O1lBQ25ELE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxDQUFDO2dCQUN2RCxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsOEJBQThCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFFdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUE7UUFDM0UsQ0FBQztLQUFBO0lBRWEsOEJBQThCLENBQUMsUUFBa0I7O1lBQzdELE9BQU8sSUFBSSxDQUFDLGtCQUFrQjtpQkFDM0IsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztpQkFDekIsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMvRSxDQUFDO0tBQUE7SUFFYSxnQ0FBZ0MsQ0FBQyxRQUFrQjs7WUFDL0QsT0FBTyxJQUFJLENBQUMsb0NBQW9DO2lCQUM3QyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztpQkFDakQsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ25HLENBQUM7S0FBQTtJQUVhLFlBQVksQ0FBQyxRQUFrQjs7WUFDM0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO2dCQUNsQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVk7Z0JBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2hHLENBQUM7S0FBQTs7eUhBL0JVLDJCQUEyQixrQkFFNUIsb0JBQW9CLGFBQ3BCLHNDQUFzQzs2SEFIckMsMkJBQTJCOzRGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsTUFBTTsyQkFBQyxzQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2F0ZWdvcnksXG4gIENhdGVnb3J5Q29sbGVjdGlvbkNoaWxkcmVuUmVwb3NpdG9yeSxcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICBpc05pbCxcbiAgUHJvZHVjdCxcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVycyxcbiAgV2hlcmUsXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuaW1wb3J0IHsgQ2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyIH0gZnJvbSAnLi9jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlcidcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5ld0NhdGVnb3J5U3RydWN0dXJlQWRhcHRlciBpbXBsZW1lbnRzIENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ0NhdGVnb3J5UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlSZXBvc2l0b3J5OiBDYXRlZ29yeVJlcG9zaXRvcnksXG4gICAgQEluamVjdCgnQ2F0ZWdvcnlDb2xsZWN0aW9uQ2hpbGRyZW5SZXBvc2l0b3J5JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5Q29sbGVjdGlvbkNoaWxkcmVuUmVwb3NpdG9yeTogQ2F0ZWdvcnlDb2xsZWN0aW9uQ2hpbGRyZW5SZXBvc2l0b3J5LFxuICApIHt9XG5cbiAgYXN5bmMgYnVpbGRQcm9kdWN0RmlsdGVyQnlDYXRlZ29yeShjYXRlZ29yeTogQ2F0ZWdvcnkpOiBQcm9taXNlPFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8UHJvZHVjdD4+IHtcbiAgICBjb25zdCBjYXRlZ29yaWVzSWRzID0gKGF3YWl0IHRoaXMuaXNDb2xsZWN0aW9uKGNhdGVnb3J5KSlcbiAgICAgID8gYXdhaXQgdGhpcy5nZXRBbGxDYXRlZ29yaWVzSWRGcm9tQ29sbGVjdGlvbihjYXRlZ29yeSlcbiAgICAgIDogWy4uLihhd2FpdCB0aGlzLmdldEFsbENhdGVnb3JpZXNJZEZyb21DYXRlZ29yeShjYXRlZ29yeSkpLCBjYXRlZ29yeS5pZC50b1N0cmluZygpXVxuXG4gICAgcmV0dXJuIHsgY2F0ZWdvcnk6IHsgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogY2F0ZWdvcmllc0lkcyB9IH0gfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRBbGxDYXRlZ29yaWVzSWRGcm9tQ2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5UmVwb3NpdG9yeVxuICAgICAgLmdldENoaWxkcmVuKCtjYXRlZ29yeS5pZClcbiAgICAgIC50aGVuKChjYXRlZ29yaWVzKSA9PiBjYXRlZ29yaWVzLm1hcCgoY2F0ZWdvcnkpID0+IGNhdGVnb3J5LmlkLnRvU3RyaW5nKCkpKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRBbGxDYXRlZ29yaWVzSWRGcm9tQ29sbGVjdGlvbihjYXRlZ29yeTogQ2F0ZWdvcnkpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnlDb2xsZWN0aW9uQ2hpbGRyZW5SZXBvc2l0b3J5XG4gICAgICAuZmluZCh7IGZpbHRlcnM6IHsgY29sbGVjdGlvbklkOiArY2F0ZWdvcnkuaWQgfSB9KVxuICAgICAgLnRoZW4oKHsgZGF0YSB9KSA9PiBkYXRhLm1hcCgoY2F0ZWdvcnlDb2xsZWN0aW9uKSA9PiBjYXRlZ29yeUNvbGxlY3Rpb24uY2F0ZWdvcnlJZC50b1N0cmluZygpKSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaXNDb2xsZWN0aW9uKGNhdGVnb3J5OiBDYXRlZ29yeSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAhaXNOaWwoY2F0ZWdvcnkuaXNDb2xsZWN0aW9uKVxuICAgICAgPyBjYXRlZ29yeS5pc0NvbGxlY3Rpb25cbiAgICAgIDogdGhpcy5jYXRlZ29yeVJlcG9zaXRvcnkuZ2V0KHsgaWQ6IGNhdGVnb3J5LmlkIH0pLnRoZW4oKGNhdGVnb3J5KSA9PiBjYXRlZ29yeS5pc0NvbGxlY3Rpb24pXG4gIH1cbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Inject, Injectable } from '@angular/core';
3
- import { Where } from '@infrab4a/connect';
4
- import * as i0 from "@angular/core";
5
- export class OldCategoryStructureAdapter {
6
- constructor(categoryRepository) {
7
- this.categoryRepository = categoryRepository;
8
- }
9
- buildProductFilterByCategory(category) {
10
- var _a;
11
- return __awaiter(this, void 0, void 0, function* () {
12
- const productsIds = ((_a = category.products) === null || _a === void 0 ? void 0 : _a.length)
13
- ? category.products
14
- : yield this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
15
- return { id: { operator: Where.IN, value: productsIds } };
16
- });
17
- }
18
- }
19
- OldCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
20
- OldCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OldCategoryStructureAdapter });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
22
- type: Injectable
23
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
24
- type: Inject,
25
- args: ['CategoryRepository']
26
- }] }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2xkLWNhdGVnb3J5LXN0cnVjdHVyZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2FkYXB0ZXJzL29sZC1jYXRlZ29yeS1zdHJ1Y3R1cmUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFpRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7QUFJeEcsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxZQUEyRCxrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFL0YsNEJBQTRCLENBQUMsUUFBa0I7OztZQUNuRCxNQUFNLFdBQVcsR0FBRyxDQUFBLE1BQUEsUUFBUSxDQUFDLFFBQVEsMENBQUUsTUFBTTtnQkFDM0MsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRO2dCQUNuQixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBRTFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQTs7S0FDMUQ7O3lIQVRVLDJCQUEyQixrQkFDbEIsb0JBQW9COzZIQUQ3QiwyQkFBMkI7NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBRUksTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ2F0ZWdvcnksIENhdGVnb3J5UmVwb3NpdG9yeSwgUHJvZHVjdCwgUmVwb3NpdG9yeUZpbmRGaWVsdGVycywgV2hlcmUgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB9IGZyb20gJy4vY2F0ZWdvcnktc3RydWN0dXJlLmFkYXB0ZXInXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgaW1wbGVtZW50cyBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdDYXRlZ29yeVJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UmVwb3NpdG9yeTogQ2F0ZWdvcnlSZXBvc2l0b3J5KSB7fVxuXG4gIGFzeW5jIGJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+PiB7XG4gICAgY29uc3QgcHJvZHVjdHNJZHMgPSBjYXRlZ29yeS5wcm9kdWN0cz8ubGVuZ3RoXG4gICAgICA/IGNhdGVnb3J5LnByb2R1Y3RzXG4gICAgICA6IGF3YWl0IHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldCh7IGlkOiBjYXRlZ29yeS5pZCB9KS50aGVuKChjYXRlZ29yeUZvdW5kKSA9PiBjYXRlZ29yeUZvdW5kLnByb2R1Y3RzKVxuXG4gICAgcmV0dXJuIHsgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogcHJvZHVjdHNJZHMgfSB9XG4gIH1cbn1cbiJdfQ==
@@ -1,96 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Inject, Injectable } from '@angular/core';
3
- import { RoundProductPricesHelper, set, Shops, Where, } from '@infrab4a/connect';
4
- import { CATEGORY_STRUCTURE, DEFAULT_SHOP } from '../../consts';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@infrab4a/connect";
7
- export class CatalogService {
8
- constructor(productRepository, categoryStructureAdapter, shop) {
9
- this.productRepository = productRepository;
10
- this.categoryStructureAdapter = categoryStructureAdapter;
11
- this.shop = shop;
12
- this.buildFilterQuery = ({ clubDiscount, brands, prices, gender, tags, rate, customOptions, }) => {
13
- const filters = {};
14
- if (clubDiscount === null || clubDiscount === void 0 ? void 0 : clubDiscount.length)
15
- set(filters, 'price.subscriberDiscountPercentage', { operator: Where.IN, value: clubDiscount });
16
- if (brands === null || brands === void 0 ? void 0 : brands.length)
17
- filters.brand = { operator: Where.IN, value: brands };
18
- if (gender === null || gender === void 0 ? void 0 : gender.length)
19
- filters.tags = {
20
- operator: Where.IN,
21
- value: gender
22
- .map((genderOptions) => genderOptions === 'female' ? 'feminino' : genderOptions === 'male' ? 'masculino' : null)
23
- .filter(Boolean),
24
- };
25
- if ((prices === null || prices === void 0 ? void 0 : prices.min) || (prices === null || prices === void 0 ? void 0 : prices.max))
26
- set(filters, prices.subscriberPrice ? 'price.subscriberPrice' : 'price.price', [
27
- ...(prices.min ? [{ operator: Where.GTE, value: Math.round(prices.min) }] : []),
28
- ...(prices.max ? [{ operator: Where.LTE, value: Math.ceil(prices.max) }] : []),
29
- ]);
30
- if (rate)
31
- filters.rate = { operator: Where.GTE, value: rate };
32
- if (tags === null || tags === void 0 ? void 0 : tags.length)
33
- filters.tags = { operator: Where.LIKE, value: tags };
34
- if (customOptions === null || customOptions === void 0 ? void 0 : customOptions.length)
35
- filters.filters = { operator: Where.LIKE, value: customOptions };
36
- return filters;
37
- };
38
- this.buildSortQuery = (sort) => {
39
- if (!sort || sort === 'most-relevant')
40
- return {};
41
- if (sort === 'best-sellers')
42
- return { shoppingCount: 'desc' };
43
- if (sort === 'biggest-price')
44
- return { price: 'desc' };
45
- if (sort === 'lowest-price')
46
- return { price: 'asc' };
47
- if (sort === 'best-rating')
48
- return { rate: 'desc' };
49
- if (sort === 'news')
50
- return { createdAt: 'desc' };
51
- };
52
- this.buildLimitQuery = (options) => {
53
- const limit = (options === null || options === void 0 ? void 0 : options.perPage) || 20;
54
- return {
55
- limit,
56
- offset: (((options === null || options === void 0 ? void 0 : options.page) || 1) - 1) * limit,
57
- };
58
- };
59
- }
60
- fetchProducts(category, options) {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- const limits = this.buildLimitQuery(options);
63
- return yield this.productRepository
64
- .findCatalog(Object.assign(Object.assign({ filters: Object.assign(Object.assign({}, (yield this.categoryStructureAdapter.buildProductFilterByCategory(category))), this.buildFilterQuery((options === null || options === void 0 ? void 0 : options.filters) || {})) }, ((options === null || options === void 0 ? void 0 : options.sort) ? { orderBy: this.buildSortQuery(options === null || options === void 0 ? void 0 : options.sort) } : {})), { limits, options: { minimal: ['price'], maximum: ['price'] } }), (options === null || options === void 0 ? void 0 : options.mainGender) || this.shop === Shops.MENSMARKET ? 'male' : 'female')
65
- .then(({ data, count: total, maximum, minimal }) => {
66
- var _a, _b, _c, _d, _e, _f, _g, _h;
67
- return ({
68
- products: { data: data.map((product) => RoundProductPricesHelper.roundProductPrices(product)), total },
69
- pages: Math.ceil(total / limits.limit),
70
- prices: {
71
- price: { min: +((_b = (_a = minimal === null || minimal === void 0 ? void 0 : minimal.price) === null || _a === void 0 ? void 0 : _a.price) === null || _b === void 0 ? void 0 : _b.toFixed(2)), max: +((_d = (_c = maximum === null || maximum === void 0 ? void 0 : maximum.price) === null || _c === void 0 ? void 0 : _c.price) === null || _d === void 0 ? void 0 : _d.toFixed(2)) },
72
- subscriberPrice: {
73
- min: +((_f = (_e = minimal === null || minimal === void 0 ? void 0 : minimal.price) === null || _e === void 0 ? void 0 : _e.subscriberPrice) === null || _f === void 0 ? void 0 : _f.toFixed(2)),
74
- max: +((_h = (_g = maximum === null || maximum === void 0 ? void 0 : maximum.price) === null || _g === void 0 ? void 0 : _g.subscriberPrice) === null || _h === void 0 ? void 0 : _h.toFixed(2)),
75
- },
76
- },
77
- });
78
- });
79
- });
80
- }
81
- }
82
- CatalogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", 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: "12.2.12", ngImport: i0, type: CatalogService });
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2NhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQU9MLHdCQUF3QixFQUN4QixHQUFHLEVBQ0gsS0FBSyxFQUNMLEtBQUssR0FDTixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUE7OztBQWdDL0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDZ0QsaUJBQW9DLEVBQ3JDLHdCQUFrRCxFQUN4RCxJQUFXO1FBRkosc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ3hELFNBQUksR0FBSixJQUFJLENBQU87UUFnQzVDLHFCQUFnQixHQUFHLENBQUMsRUFDMUIsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLElBQUksRUFDSixJQUFJLEVBQ0osYUFBYSxHQUNRLEVBQW1DLEVBQUU7WUFDMUQsTUFBTSxPQUFPLEdBQUcsRUFBcUMsQ0FBQTtZQUVyRCxJQUFJLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxNQUFNO2dCQUN0QixHQUFHLENBQUMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUE7WUFDakcsSUFBSSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTTtnQkFBRSxPQUFPLENBQUMsS0FBSyxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FB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NEdBbENVLGNBQWMsa0JBRWYsbUJBQW1CLGFBQ25CLGtCQUFrQixhQUNsQixZQUFZO2dIQUpYLGNBQWM7NEZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBR04sTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBDYXRlZ29yeSxcbiAgUHJvZHVjdCxcbiAgUHJvZHVjdEdlbmRlcixcbiAgUHJvZHVjdFJlcG9zaXRvcnksXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxuICBSb3VuZFByb2R1Y3RQcmljZXNIZWxwZXIsXG4gIHNldCxcbiAgU2hvcHMsXG4gIFdoZXJlLFxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IENBVEVHT1JZX1NUUlVDVFVSRSwgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vLi4vY29uc3RzJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyIH0gZnJvbSAnLi9hZGFwdGVycydcbmltcG9ydCB7IFByb2R1Y3RTb3J0IH0gZnJvbSAnLi90eXBlcy9wcm9kdWN0LXNvcnQudHlwZSdcblxudHlwZSBGZXRjaFByb2R1Y3RzRmlsdGVycyA9IHtcbiAgY2x1YkRpc2NvdW50PzogbnVtYmVyW11cbiAgYnJhbmRzPzogc3RyaW5nW11cbiAgcHJpY2VzPzogeyBtaW4/OiBudW1iZXI7IG1heD86IG51bWJlcjsgc3Vic2NyaWJlclByaWNlPzogYm9vbGVhbiB9XG4gIGdlbmRlcj86IFByb2R1Y3RHZW5kZXJbXVxuICByYXRlPzogbnVtYmVyXG4gIHRhZ3M/OiBbXVxuICBjdXN0b21PcHRpb25zPzogc3RyaW5nW11cbn1cblxudHlwZSBGZXRjaFByb2R1Y3RzT3B0aW9ucyA9IHtcbiAgcGFnZT86IG51bWJlclxuICBwZXJQYWdlPzogbnVtYmVyXG4gIGZpbHRlcnM/OiBGZXRjaFByb2R1Y3RzRmlsdGVyc1xuICBzb3J0PzogUHJvZHVjdFNvcnRcbiAgbWFpbkdlbmRlcj86IFByb2R1Y3RHZW5kZXJcbn1cblxudHlwZSBGZXRjaFByb2R1Y3RzUmVzcG9uc2UgPSB7XG4gIHByb2R1Y3RzOiB7IGRhdGE6IFByb2R1Y3RbXTsgdG90YWw6IG51bWJlciB9XG4gIHBhZ2VzOiBudW1iZXJcbiAgcHJpY2VzOiB7XG4gICAgcHJpY2U6IHsgbWluOiBudW1iZXI7IG1heDogbnVtYmVyIH1cbiAgICBzdWJzY3JpYmVyUHJpY2U6IHsgbWluOiBudW1iZXI7IG1heDogbnVtYmVyIH1cbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdQcm9kdWN0UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoQ0FURUdPUllfU1RSVUNUVVJFKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5U3RydWN0dXJlQWRhcHRlcjogQ2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLFxuICAgIEBJbmplY3QoREVGQVVMVF9TSE9QKSBwcml2YXRlIHJlYWRvbmx5IHNob3A6IFNob3BzLFxuICApIHt9XG5cbiAgYXN5bmMgZmV0Y2hQcm9kdWN0cyhjYXRlZ29yeTogQ2F0ZWdvcnksIG9wdGlvbnM/OiBGZXRjaFByb2R1Y3RzT3B0aW9ucyk6IFByb21pc2U8RmV0Y2hQcm9kdWN0c1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgbGltaXRzID0gdGhpcy5idWlsZExpbWl0UXVlcnkob3B0aW9ucylcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2R1Y3RSZXBvc2l0b3J5XG4gICAgICAuZmluZENhdGFsb2coXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJzOiB7XG4gICAgICAgICAgICAuLi4oYXdhaXQgdGhpcy5jYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIuYnVpbGRQcm9kdWN0RmlsdGVyQnlDYXRlZ29yeShjYXRlZ29yeSkpLFxuICAgICAgICAgICAgLi4udGhpcy5idWlsZEZpbHRlclF1ZXJ5KG9wdGlvbnM/LmZpbHRlcnMgfHwge30pLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uKG9wdGlvbnM/LnNvcnQgPyB7IG9yZGVyQnk6IHRoaXMuYnVpbGRTb3J0UXVlcnkob3B0aW9ucz8uc29ydCkgfSA6IHt9KSxcbiAgICAgICAgICBsaW1pdHMsXG4gICAgICAgICAgb3B0aW9uczogeyBtaW5pbWFsOiBbJ3ByaWNlJ10sIG1heGltdW06IFsncHJpY2UnXSB9LFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zPy5tYWluR2VuZGVyIHx8IHRoaXMuc2hvcCA9PT0gU2hvcHMuTUVOU01BUktFVCA/ICdtYWxlJyA6ICdmZW1hbGUnLFxuICAgICAgKVxuICAgICAgLnRoZW4oKHsgZGF0YSwgY291bnQ6IHRvdGFsLCBtYXhpbXVtLCBtaW5pbWFsIH0pID0+ICh7XG4gICAgICAgIHByb2R1Y3RzOiB7IGRhdGE6IGRhdGEubWFwKChwcm9kdWN0KSA9PiBSb3VuZFByb2R1Y3RQcmljZXNIZWxwZXIucm91bmRQcm9kdWN0UHJpY2VzKHByb2R1Y3QpKSwgdG90YWwgfSxcbiAgICAgICAgcGFnZXM6IE1hdGguY2VpbCh0b3RhbCAvIGxpbWl0cy5saW1pdCksXG4gICAgICAgIHByaWNlczoge1xuICAgICAgICAgIHByaWNlOiB7IG1pbjogK21pbmltYWw/LnByaWNlPy5wcmljZT8udG9GaXhlZCgyKSwgbWF4OiArbWF4aW11bT8ucHJpY2U/LnByaWNlPy50b0ZpeGVkKDIpIH0sXG4gICAgICAgICAgc3Vic2NyaWJlclByaWNlOiB7XG4gICAgICAgICAgICBtaW46ICttaW5pbWFsPy5wcmljZT8uc3Vic2NyaWJlclByaWNlPy50b0ZpeGVkKDIpLFxuICAgICAgICAgICAgbWF4OiArbWF4aW11bT8ucHJpY2U/LnN1YnNjcmliZXJQcmljZT8udG9GaXhlZCgyKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSkpXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRmlsdGVyUXVlcnkgPSAoe1xuICAgIGNsdWJEaXNjb3VudCxcbiAgICBicmFuZHMsXG4gICAgcHJpY2VzLFxuICAgIGdlbmRlcixcbiAgICB0YWdzLFxuICAgIHJhdGUsXG4gICAgY3VzdG9tT3B0aW9ucyxcbiAgfTogRmV0Y2hQcm9kdWN0c0ZpbHRlcnMpOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFByb2R1Y3Q+ID0+IHtcbiAgICBjb25zdCBmaWx0ZXJzID0ge30gYXMgUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxQcm9kdWN0PlxuXG4gICAgaWYgKGNsdWJEaXNjb3VudD8ubGVuZ3RoKVxuICAgICAgc2V0KGZpbHRlcnMsICdwcmljZS5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlJywgeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBjbHViRGlzY291bnQgfSlcbiAgICBpZiAoYnJhbmRzPy5sZW5ndGgpIGZpbHRlcnMuYnJhbmQgPSB7IG9wZXJhdG9yOiBXaGVyZS5JTiwgdmFsdWU6IGJyYW5kcyB9XG4gICAgaWYgKGdlbmRlcj8ubGVuZ3RoKVxuICAgICAgZmlsdGVycy50YWdzID0ge1xuICAgICAgICBvcGVyYXRvcjogV2hlcmUuSU4sXG4gICAgICAgIHZhbHVlOiBnZW5kZXJcbiAgICAgICAgICAubWFwKChnZW5kZXJPcHRpb25zKSA9PlxuICAgICAgICAgICAgZ2VuZGVyT3B0aW9ucyA9PT0gJ2ZlbWFsZScgPyAnZmVtaW5pbm8nIDogZ2VuZGVyT3B0aW9ucyA9PT0gJ21hbGUnID8gJ21hc2N1bGlubycgOiBudWxsLFxuICAgICAgICAgIClcbiAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgfVxuICAgIGlmIChwcmljZXM/Lm1pbiB8fCBwcmljZXM/Lm1heClcbiAgICAgIHNldChmaWx0ZXJzLCBwcmljZXMuc3Vic2NyaWJlclByaWNlID8gJ3ByaWNlLnN1YnNjcmliZXJQcmljZScgOiAncHJpY2UucHJpY2UnLCBbXG4gICAgICAgIC4uLihwcmljZXMubWluID8gW3sgb3BlcmF0b3I6IFdoZXJlLkdURSwgdmFsdWU6IE1hdGgucm91bmQocHJpY2VzLm1pbikgfV0gOiBbXSksXG4gICAgICAgIC4uLihwcmljZXMubWF4ID8gW3sgb3BlcmF0b3I6IFdoZXJlLkxURSwgdmFsdWU6IE1hdGguY2VpbChwcmljZXMubWF4KSB9XSA6IFtdKSxcbiAgICAgIF0pXG4gICAgaWYgKHJhdGUpIGZpbHRlcnMucmF0ZSA9IHsgb3BlcmF0b3I6IFdoZXJlLkdURSwgdmFsdWU6IHJhdGUgfVxuICAgIGlmICh0YWdzPy5sZW5ndGgpIGZpbHRlcnMudGFncyA9IHsgb3BlcmF0b3I6IFdoZXJlLkxJS0UsIHZhbHVlOiB0YWdzIH1cbiAgICBpZiAoY3VzdG9tT3B0aW9ucz8ubGVuZ3RoKSBmaWx0ZXJzLmZpbHRlcnMgPSB7IG9wZXJhdG9yOiBXaGVyZS5MSUtFLCB2YWx1ZTogY3VzdG9tT3B0aW9ucyB9XG5cbiAgICByZXR1cm4gZmlsdGVyc1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFNvcnRRdWVyeSA9IChzb3J0OiBQcm9kdWN0U29ydCk6IFJlcG9zaXRvcnlPcmRlckJ5PFByb2R1Y3Q+ID0+IHtcbiAgICBpZiAoIXNvcnQgfHwgc29ydCA9PT0gJ21vc3QtcmVsZXZhbnQnKSByZXR1cm4ge31cblxuICAgIGlmIChzb3J0ID09PSAnYmVzdC1zZWxsZXJzJykgcmV0dXJuIHsgc2hvcHBpbmdDb3VudDogJ2Rlc2MnIH1cbiAgICBpZiAoc29ydCA9PT0gJ2JpZ2dlc3QtcHJpY2UnKSByZXR1cm4geyBwcmljZTogJ2Rlc2MnIH1cbiAgICBpZiAoc29ydCA9PT0gJ2xvd2VzdC1wcmljZScpIHJldHVybiB7IHByaWNlOiAnYXNjJyB9XG4gICAgaWYgKHNvcnQgPT09ICdiZXN0LXJhdGluZycpIHJldHVybiB7IHJhdGU6ICdkZXNjJyB9XG4gICAgaWYgKHNvcnQgPT09ICduZXdzJykgcmV0dXJuIHsgY3JlYXRlZEF0OiAnZGVzYycgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExpbWl0UXVlcnkgPSAob3B0aW9uczogeyBwYWdlPzogbnVtYmVyOyBwZXJQYWdlPzogbnVtYmVyIH0pOiB7IGxpbWl0PzogbnVtYmVyOyBvZmZzZXQ/OiBudW1iZXIgfSA9PiB7XG4gICAgY29uc3QgbGltaXQgPSBvcHRpb25zPy5wZXJQYWdlIHx8IDIwXG5cbiAgICByZXR1cm4ge1xuICAgICAgbGltaXQsXG4gICAgICBvZmZzZXQ6ICgob3B0aW9ucz8ucGFnZSB8fCAxKSAtIDEpICogbGltaXQsXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,56 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Inject, Injectable } from '@angular/core';
3
- import { Shops, } from '@infrab4a/connect';
4
- import { CATEGORY_STRUCTURE, DEFAULT_SHOP } from '../../consts';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@infrab4a/connect";
7
- export class CategoryService {
8
- constructor(productRepository, categoryRepository, categoryFilterRepository, categoryStructureAdapter, shop) {
9
- this.productRepository = productRepository;
10
- this.categoryRepository = categoryRepository;
11
- this.categoryFilterRepository = categoryFilterRepository;
12
- this.categoryStructureAdapter = categoryStructureAdapter;
13
- this.shop = shop;
14
- }
15
- fetchBrands(category, mainGender) {
16
- return __awaiter(this, void 0, void 0, function* () {
17
- const brands = yield this.productRepository
18
- .findCatalog({
19
- filters: yield this.categoryStructureAdapter.buildProductFilterByCategory(category),
20
- fields: ['brand'],
21
- }, mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female')
22
- .then(({ data }) => Object.keys(data.map((product) => product.brand).reduce((brands, brand) => (Object.assign(Object.assign({}, brands), { [brand]: true })), {})));
23
- return this.categoryRepository
24
- .find({ filters: { brandCategory: true }, orderBy: { name: 'asc' } })
25
- .then(({ data }) => data.filter((category) => brands.includes(category.conditions.brand)));
26
- });
27
- }
28
- fetchFilterOptions(category, filters) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- return yield this.categoryFilterRepository
31
- .find({ filters: { categoryId: +category.id } })
32
- .then(({ data }) => data.map((categoryFilter) => categoryFilter.filter));
33
- });
34
- }
35
- }
36
- CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CategoryService, deps: [{ token: 'ProductRepository' }, { token: 'CategoryRepository' }, { token: 'CategoryFilterRepository' }, { token: CATEGORY_STRUCTURE }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
37
- CategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CategoryService });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CategoryService, decorators: [{
39
- type: Injectable
40
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
41
- type: Inject,
42
- args: ['ProductRepository']
43
- }] }, { type: undefined, decorators: [{
44
- type: Inject,
45
- args: ['CategoryRepository']
46
- }] }, { type: undefined, decorators: [{
47
- type: Inject,
48
- args: ['CategoryFilterRepository']
49
- }] }, { type: undefined, decorators: [{
50
- type: Inject,
51
- args: [CATEGORY_STRUCTURE]
52
- }] }, { type: i1.Shops, decorators: [{
53
- type: Inject,
54
- args: [DEFAULT_SHOP]
55
- }] }]; } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBT0wsS0FBSyxHQUNOLE1BQU0sbUJBQW1CLENBQUE7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTs7O0FBSS9ELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ2dELGlCQUFvQyxFQUNuQyxrQkFBc0MsRUFDaEMsd0JBQWtELEVBQzFELHdCQUFrRCxFQUN4RCxJQUFXO1FBSkosc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ2hDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDMUQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUN4RCxTQUFJLEdBQUosSUFBSSxDQUFPO0lBQ2pELENBQUM7SUFFRSxXQUFXLENBQUMsUUFBa0IsRUFBRSxVQUEwQjs7WUFDOUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCO2lCQUN4QyxXQUFXLENBQ1Y7Z0JBQ0UsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQztnQkFDbkYsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO2FBQ2xCLEVBQ0QsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQ2pFO2lCQUNBLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxpQ0FBTSxNQUFNLEtBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNoSCxDQUFBO1lBRUgsT0FBTyxJQUFJLENBQUMsa0JBQWtCO2lCQUMzQixJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7aUJBQ3BFLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDOUYsQ0FBQztLQUFBO0lBRUssa0JBQWtCLENBQUMsUUFBa0IsRUFBRSxPQUFrQjs7WUFDN0QsT0FBTyxNQUFNLElBQUksQ0FBQyx3QkFBd0I7aUJBQ3ZDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO2lCQUMvQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUM1RSxDQUFDO0tBQUE7OzZHQS9CVSxlQUFlLGtCQUVoQixtQkFBbUIsYUFDbkIsb0JBQW9CLGFBQ3BCLDBCQUEwQixhQUMxQixrQkFBa0IsYUFDbEIsWUFBWTtpSEFOWCxlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLDBCQUEwQjs7MEJBQ2pDLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENhdGVnb3J5LFxuICBDYXRlZ29yeUZpbHRlclJlcG9zaXRvcnksXG4gIENhdGVnb3J5UmVwb3NpdG9yeSxcbiAgRmlsdGVyLFxuICBQcm9kdWN0R2VuZGVyLFxuICBQcm9kdWN0UmVwb3NpdG9yeSxcbiAgU2hvcHMsXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuaW1wb3J0IHsgQ0FURUdPUllfU1RSVUNUVVJFLCBERUZBVUxUX1NIT1AgfSBmcm9tICcuLi8uLi9jb25zdHMnXG5pbXBvcnQgeyBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgfSBmcm9tICcuL2FkYXB0ZXJzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnUHJvZHVjdFJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RSZXBvc2l0b3J5OiBQcm9kdWN0UmVwb3NpdG9yeSxcbiAgICBASW5qZWN0KCdDYXRlZ29yeVJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UmVwb3NpdG9yeTogQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoJ0NhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5OiBDYXRlZ29yeUZpbHRlclJlcG9zaXRvcnksXG4gICAgQEluamVjdChDQVRFR09SWV9TVFJVQ1RVUkUpIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyOiBDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIsXG4gICAgQEluamVjdChERUZBVUxUX1NIT1ApIHByaXZhdGUgcmVhZG9ubHkgc2hvcDogU2hvcHMsXG4gICkge31cblxuICBhc3luYyBmZXRjaEJyYW5kcyhjYXRlZ29yeTogQ2F0ZWdvcnksIG1haW5HZW5kZXI/OiBQcm9kdWN0R2VuZGVyKTogUHJvbWlzZTxDYXRlZ29yeVtdPiB7XG4gICAgY29uc3QgYnJhbmRzID0gYXdhaXQgdGhpcy5wcm9kdWN0UmVwb3NpdG9yeVxuICAgICAgLmZpbmRDYXRhbG9nKFxuICAgICAgICB7XG4gICAgICAgICAgZmlsdGVyczogYXdhaXQgdGhpcy5jYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIuYnVpbGRQcm9kdWN0RmlsdGVyQnlDYXRlZ29yeShjYXRlZ29yeSksXG4gICAgICAgICAgZmllbGRzOiBbJ2JyYW5kJ10sXG4gICAgICAgIH0sXG4gICAgICAgIG1haW5HZW5kZXIgfHwgdGhpcy5zaG9wID09PSBTaG9wcy5NRU5TTUFSS0VUID8gJ21hbGUnIDogJ2ZlbWFsZScsXG4gICAgICApXG4gICAgICAudGhlbigoeyBkYXRhIH0pID0+XG4gICAgICAgIE9iamVjdC5rZXlzKGRhdGEubWFwKChwcm9kdWN0KSA9PiBwcm9kdWN0LmJyYW5kKS5yZWR1Y2UoKGJyYW5kcywgYnJhbmQpID0+ICh7IC4uLmJyYW5kcywgW2JyYW5kXTogdHJ1ZSB9KSwge30pKSxcbiAgICAgIClcblxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5UmVwb3NpdG9yeVxuICAgICAgLmZpbmQoeyBmaWx0ZXJzOiB7IGJyYW5kQ2F0ZWdvcnk6IHRydWUgfSwgb3JkZXJCeTogeyBuYW1lOiAnYXNjJyB9IH0pXG4gICAgICAudGhlbigoeyBkYXRhIH0pID0+IGRhdGEuZmlsdGVyKChjYXRlZ29yeSkgPT4gYnJhbmRzLmluY2x1ZGVzKGNhdGVnb3J5LmNvbmRpdGlvbnMuYnJhbmQpKSlcbiAgfVxuXG4gIGFzeW5jIGZldGNoRmlsdGVyT3B0aW9ucyhjYXRlZ29yeTogQ2F0ZWdvcnksIGZpbHRlcnM/OiBzdHJpbmdbXSk6IFByb21pc2U8RmlsdGVyW10+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jYXRlZ29yeUZpbHRlclJlcG9zaXRvcnlcbiAgICAgIC5maW5kKHsgZmlsdGVyczogeyBjYXRlZ29yeUlkOiArY2F0ZWdvcnkuaWQgfSB9KVxuICAgICAgLnRoZW4oKHsgZGF0YSB9KSA9PiBkYXRhLm1hcCgoY2F0ZWdvcnlGaWx0ZXIpID0+IGNhdGVnb3J5RmlsdGVyLmZpbHRlcikpXG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './product-sorts.enum';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvZW51bXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1zb3J0cy5lbnVtJ1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zb3J0cy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2VudW1zL3Byb2R1Y3Qtc29ydHMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQVFYO0FBUkQsV0FBWSxZQUFZO0lBQ3RCLCtDQUErQixDQUFBO0lBQy9CLDRDQUE0QixDQUFBO0lBQzVCLCtDQUErQixDQUFBO0lBQy9CLDZDQUE2QixDQUFBO0lBQzdCLHFEQUFxQyxDQUFBO0lBQ3JDLDJDQUEyQixDQUFBO0lBQzNCLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBUlcsWUFBWSxLQUFaLFlBQVksUUFRdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBQcm9kdWN0U29ydHMge1xuICBNT1NUX1JFTEVWQU5UID0gJ21vc3QtcmVsZXZhbnQnLFxuICBCRVNUX1NFTExFUiA9ICdiZXN0LXNlbGxlcnMnLFxuICBCSUdHRVNUX1BSSUNFID0gJ2JpZ2dlc3QtcHJpY2UnLFxuICBMT1dFU1RfUFJJQ0UgPSAnbG93ZXN0LXByaWNlJyxcbiAgQklHR0VTVF9ESVNDT1VOVCA9ICdiaWdnZXN0LWRpc2NvdW50JyxcbiAgQkVTVF9SQVRJTkcgPSAnYmVzdC1yYXRpbmcnLFxuICBORVdTID0gJ25ld3MnLFxufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXRhbG9nLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2VudW1zJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJ1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktd2l0aC10cmVlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL21vZGVscy9jYXRlZ29yeS13aXRoLXRyZWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFNUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFFBQVE7Q0FHN0M7QUFEQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs7a0RBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInXG5cbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVdpdGhUcmVlIGV4dGVuZHMgQ2F0ZWdvcnkge1xuICBAVHlwZSgoKSA9PiBDYXRlZ29yeVdpdGhUcmVlKVxuICBjaGlsZHJlbj86IENhdGVnb3J5V2l0aFRyZWVbXVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export * from './category-with-tree.model';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LXdpdGgtdHJlZS5tb2RlbCdcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './product-sort.type';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1zb3J0LnR5cGUnXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zb3J0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvdHlwZXMvcHJvZHVjdC1zb3J0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3RTb3J0cyB9IGZyb20gJy4uL2VudW1zJ1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0U29ydCA9IGAke1Byb2R1Y3RTb3J0c31gXG4iXX0=
@@ -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}`;