@infrab4a/connect-angular 6.0.0-beta.11 → 6.0.0-beta.13

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.
@@ -1,17 +1,11 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { Shops, Where, isEmpty } from '@infrab4a/connect';
3
- import { DEFAULT_SHOP } from '../../../consts';
1
+ import { Injectable } from '@angular/core';
2
+ import { Where, isEmpty } from '@infrab4a/connect';
4
3
  import { ProductCatalogFacade } from '../facades';
5
- import { CategorySearchStrategy } from '../strategies';
6
4
  import * as i0 from "@angular/core";
7
5
  import * as i1 from "../facades";
8
- import * as i2 from "../strategies";
9
- import * as i3 from "@infrab4a/connect";
10
6
  export class BrandManagerHelper {
11
- constructor(productCatalog, categoryStrategy, shop) {
7
+ constructor(productCatalog) {
12
8
  this.productCatalog = productCatalog;
13
- this.categoryStrategy = categoryStrategy;
14
- this.shop = shop;
15
9
  this.brandsList = {};
16
10
  }
17
11
  async setBrandsList(options, brands) {
@@ -22,7 +16,11 @@ export class BrandManagerHelper {
22
16
  if (isEmpty(brands) && options.filters) {
23
17
  delete options.filters.brands;
24
18
  }
25
- this.brandsList[indexKey] = this.brandsList[indexKey] || brands || (await this.fetchBrandsOnly(options));
19
+ // eslint-disable-next-line no-console
20
+ console.log('this.brandsList[indexKey]', this.brandsList[indexKey]);
21
+ // eslint-disable-next-line no-console
22
+ console.log('brands', brands);
23
+ this.brandsList[indexKey] = brands || this.brandsList[indexKey] || (await this.fetchBrandsOnly(options));
26
24
  this.brandsList[indexKey] = this.brandsList[indexKey].filter(Boolean);
27
25
  // eslint-disable-next-line no-console
28
26
  console.log('setBrandsList indexKey', this.brandsList[indexKey]);
@@ -46,9 +44,24 @@ export class BrandManagerHelper {
46
44
  return '';
47
45
  }
48
46
  async fetchBrandsOnly(options, optionsCache) {
47
+ // eslint-disable-next-line no-console
48
+ console.log('fetchBrandsOnly');
49
49
  if (options.category) {
50
- const { distinct } = await this.categoryStrategy.search(options, this.shop, optionsCache);
51
- return distinct.brand;
50
+ const filters = await this.productCatalog.categoryStructureAdapter.buildProductFilterByCategory(options.category);
51
+ // eslint-disable-next-line no-console
52
+ console.log('fetchBrandsOnly', filters);
53
+ return this.productCatalog.productRepository
54
+ .findCatalog({
55
+ fields: ['id'],
56
+ filters: {
57
+ ...filters,
58
+ published: { operator: Where.EQUALS, value: true },
59
+ },
60
+ options: {
61
+ distinct: ['brand'],
62
+ },
63
+ }, options.mainGender)
64
+ .then((result) => result.distinct.brand);
52
65
  }
53
66
  return this.productCatalog.productRepository
54
67
  .findCatalog({
@@ -62,13 +75,10 @@ export class BrandManagerHelper {
62
75
  }, options.mainGender)
63
76
  .then((result) => result.distinct.brand);
64
77
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BrandManagerHelper, deps: [{ token: i1.ProductCatalogFacade }, { token: i2.CategorySearchStrategy }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable }); }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BrandManagerHelper, deps: [{ token: i1.ProductCatalogFacade }], target: i0.ɵɵFactoryTarget.Injectable }); }
66
79
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BrandManagerHelper }); }
67
80
  }
68
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BrandManagerHelper, decorators: [{
69
82
  type: Injectable
70
- }], ctorParameters: () => [{ type: i1.ProductCatalogFacade }, { type: i2.CategorySearchStrategy }, { type: i3.Shops, decorators: [{
71
- type: Inject,
72
- args: [DEFAULT_SHOP]
73
- }] }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQtbWFuYWdlci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvaGVscGVycy9icmFuZC1tYW5hZ2VyLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQTBCLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUE7Ozs7O0FBR3RELE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFDbUIsY0FBb0MsRUFDcEMsZ0JBQXdDLEVBQ2xCLElBQVc7UUFGakMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBTztRQUw1QyxlQUFVLEdBQTZCLEVBQUUsQ0FBQTtJQU05QyxDQUFDO0lBRUosS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUE0QixFQUFFLE1BQWdCO1FBQ2hFLHNDQUFzQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNwQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFL0MsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUN0QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFBO1NBQzlCO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBRXhHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDckUsc0NBQXNDO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBRWhFLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNuQixPQUFPLENBQUMsT0FBTyxHQUFHO2dCQUNoQixHQUFHLE9BQU8sQ0FBQyxPQUFPO2dCQUNsQixNQUFNLEVBQUUsWUFBWTthQUNyQixDQUFBO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBNEI7UUFDM0MsSUFBSSxPQUFPLENBQUMsUUFBUTtZQUFFLE9BQU8sWUFBWSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFBO1FBRTlELElBQUksT0FBTyxDQUFDLElBQUk7WUFBRSxPQUFPLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRS9DLElBQUksT0FBTyxDQUFDLE9BQU87WUFBRSxPQUFPLFdBQVcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQTtRQUVsRSxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFTyxLQUFLLENBQUMsZUFBZSxDQUMzQixPQUE0QixFQUM1QixZQUFpRDtRQUVqRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDcEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQTtZQUV6RixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUE7U0FDdEI7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCO2FBQ3pDLFdBQVcsQ0FDVjtZQUNFLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztZQUNkLE9BQU8sRUFBRTtnQkFDUCxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2FBQ25EO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNwQjtTQUNGLEVBQ0QsT0FBTyxDQUFDLFVBQVUsQ0FDbkI7YUFDQSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUMsQ0FBQzs4R0F2RVUsa0JBQWtCLDRGQU1uQixZQUFZO2tIQU5YLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVTs7MEJBT04sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgUmVwb3NpdG9yeUNhY2hlT3B0aW9ucywgU2hvcHMsIFdoZXJlLCBpc0VtcHR5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcblxyXG5pbXBvcnQgeyBERUZBVUxUX1NIT1AgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMnXHJcbmltcG9ydCB7IENhdGFsb2dTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xyXG5pbXBvcnQgeyBQcm9kdWN0Q2F0YWxvZ0ZhY2FkZSB9IGZyb20gJy4uL2ZhY2FkZXMnXHJcbmltcG9ydCB7IENhdGVnb3J5U2VhcmNoU3RyYXRlZ3kgfSBmcm9tICcuLi9zdHJhdGVnaWVzJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQnJhbmRNYW5hZ2VySGVscGVyIHtcclxuICBwcml2YXRlIGJyYW5kc0xpc3Q6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0Q2F0YWxvZzogUHJvZHVjdENhdGFsb2dGYWNhZGUsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5U3RyYXRlZ3k6IENhdGVnb3J5U2VhcmNoU3RyYXRlZ3ksXHJcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHJpdmF0ZSByZWFkb25seSBzaG9wOiBTaG9wcyxcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIHNldEJyYW5kc0xpc3Qob3B0aW9uczogQ2F0YWxvZ1NlYXJjaFBhcmFtcywgYnJhbmRzOiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcclxuICAgIGNvbnNvbGUubG9nKCdzZXRCcmFuZHNMaXN0JywgYnJhbmRzKVxyXG4gICAgY29uc3QgZmlsdGVyQnJhbmRzID0gb3B0aW9ucy5maWx0ZXJzPy5icmFuZHNcclxuICAgIGNvbnN0IGluZGV4S2V5ID0gdGhpcy5idWlsZEluZGV4QnJhbmRzKG9wdGlvbnMpXHJcblxyXG4gICAgaWYgKGlzRW1wdHkoYnJhbmRzKSAmJiBvcHRpb25zLmZpbHRlcnMpIHtcclxuICAgICAgZGVsZXRlIG9wdGlvbnMuZmlsdGVycy5icmFuZHNcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmJyYW5kc0xpc3RbaW5kZXhLZXldID0gdGhpcy5icmFuZHNMaXN0W2luZGV4S2V5XSB8fCBicmFuZHMgfHwgKGF3YWl0IHRoaXMuZmV0Y2hCcmFuZHNPbmx5KG9wdGlvbnMpKVxyXG5cclxuICAgIHRoaXMuYnJhbmRzTGlzdFtpbmRleEtleV0gPSB0aGlzLmJyYW5kc0xpc3RbaW5kZXhLZXldLmZpbHRlcihCb29sZWFuKVxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcclxuICAgIGNvbnNvbGUubG9nKCdzZXRCcmFuZHNMaXN0IGluZGV4S2V5JywgdGhpcy5icmFuZHNMaXN0W2luZGV4S2V5XSlcclxuXHJcbiAgICBpZiAob3B0aW9ucy5maWx0ZXJzKSB7XHJcbiAgICAgIG9wdGlvbnMuZmlsdGVycyA9IHtcclxuICAgICAgICAuLi5vcHRpb25zLmZpbHRlcnMsXHJcbiAgICAgICAgYnJhbmRzOiBmaWx0ZXJCcmFuZHMsXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEJyYW5kc0xpc3QoaW5kZXhLZXk6IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLmJyYW5kc0xpc3RbaW5kZXhLZXldXHJcbiAgfVxyXG5cclxuICBidWlsZEluZGV4QnJhbmRzKG9wdGlvbnM6IENhdGFsb2dTZWFyY2hQYXJhbXMpOiBzdHJpbmcge1xyXG4gICAgaWYgKG9wdGlvbnMuY2F0ZWdvcnkpIHJldHVybiBgY2F0ZWdvcnktJHtvcHRpb25zLmNhdGVnb3J5LmlkfWBcclxuXHJcbiAgICBpZiAob3B0aW9ucy50ZXJtKSByZXR1cm4gYHRlcm0tJHtvcHRpb25zLnRlcm19YFxyXG5cclxuICAgIGlmIChvcHRpb25zLnByb2ZpbGUpIHJldHVybiBgcHJvZmlsZS0ke29wdGlvbnMucHJvZmlsZS5qb2luKCcsJyl9YFxyXG5cclxuICAgIHJldHVybiAnJ1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBmZXRjaEJyYW5kc09ubHkoXHJcbiAgICBvcHRpb25zOiBDYXRhbG9nU2VhcmNoUGFyYW1zLFxyXG4gICAgb3B0aW9uc0NhY2hlPzogeyBjYWNoZT86IFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMgfSxcclxuICApOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICBpZiAob3B0aW9ucy5jYXRlZ29yeSkge1xyXG4gICAgICBjb25zdCB7IGRpc3RpbmN0IH0gPSBhd2FpdCB0aGlzLmNhdGVnb3J5U3RyYXRlZ3kuc2VhcmNoKG9wdGlvbnMsIHRoaXMuc2hvcCwgb3B0aW9uc0NhY2hlKVxyXG5cclxuICAgICAgcmV0dXJuIGRpc3RpbmN0LmJyYW5kXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdENhdGFsb2cucHJvZHVjdFJlcG9zaXRvcnlcclxuICAgICAgLmZpbmRDYXRhbG9nKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGZpZWxkczogWydpZCddLFxyXG4gICAgICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgICAgICBwdWJsaXNoZWQ6IHsgb3BlcmF0b3I6IFdoZXJlLkVRVUFMUywgdmFsdWU6IHRydWUgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgIGRpc3RpbmN0OiBbJ2JyYW5kJ10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3B0aW9ucy5tYWluR2VuZGVyLFxyXG4gICAgICApXHJcbiAgICAgIC50aGVuKChyZXN1bHQpID0+IHJlc3VsdC5kaXN0aW5jdC5icmFuZClcclxuICB9XHJcbn1cclxuIl19
83
+ }], ctorParameters: () => [{ type: i1.ProductCatalogFacade }] });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQtbWFuYWdlci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvaGVscGVycy9icmFuZC1tYW5hZ2VyLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBMEIsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQTs7O0FBR2pELE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBNkIsY0FBb0M7UUFBcEMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBRnpELGVBQVUsR0FBNkIsRUFBRSxDQUFBO0lBRW1CLENBQUM7SUFFckUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUE0QixFQUFFLE1BQWdCO1FBQ2hFLHNDQUFzQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNwQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFL0MsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUN0QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFBO1NBQzlCO1FBQ0Qsc0NBQXNDO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQ25FLHNDQUFzQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxN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QyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUMsQ0FBQzs4R0EzRlUsa0JBQWtCO2tIQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgUmVwb3NpdG9yeUNhY2hlT3B0aW9ucywgV2hlcmUsIGlzRW1wdHkgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IENhdGFsb2dTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xyXG5pbXBvcnQgeyBQcm9kdWN0Q2F0YWxvZ0ZhY2FkZSB9IGZyb20gJy4uL2ZhY2FkZXMnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCcmFuZE1hbmFnZXJIZWxwZXIge1xyXG4gIHByaXZhdGUgYnJhbmRzTGlzdDogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge31cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9kdWN0Q2F0YWxvZzogUHJvZHVjdENhdGFsb2dGYWNhZGUpIHt9XHJcblxyXG4gIGFzeW5jIHNldEJyYW5kc0xpc3Qob3B0aW9uczogQ2F0YWxvZ1NlYXJjaFBhcmFtcywgYnJhbmRzOiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcclxuICAgIGNvbnNvbGUubG9nKCdzZXRCcmFuZHNMaXN0JywgYnJhbmRzKVxyXG4gICAgY29uc3QgZmlsdGVyQnJhbmRzID0gb3B0aW9ucy5maWx0ZXJzPy5icmFuZHNcclxuICAgIGNvbnN0IGluZGV4S2V5ID0gdGhpcy5idWlsZEluZGV4QnJhbmRzKG9wdGlvbnMpXHJcblxyXG4gICAgaWYgKGlzRW1wdHkoYnJhbmRzKSAmJiBvcHRpb25zLmZpbHRlcnMpIHtcclxuICAgICAgZGVsZXRlIG9wdGlvbnMuZmlsdGVycy5icmFuZHNcclxuICAgIH1cclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXHJcbiAgICBjb25zb2xlLmxvZygndGhpcy5icmFuZHNMaXN0W2luZGV4S2V5XScsIHRoaXMuYnJhbmRzTGlzdFtpbmRleEtleV0pXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxyXG4gICAgY29uc29sZS5sb2coJ2JyYW5kcycsIGJyYW5kcylcclxuXHJcbiAgICB0aGlzLmJyYW5kc0xpc3RbaW5kZXhLZXldID0gYnJhbmRzIHx8IHRoaXMuYnJhbmRzTGlzdFtpbmRleEtleV0gfHwgKGF3YWl0IHRoaXMuZmV0Y2hCcmFuZHNPbmx5KG9wdGlvbnMpKVxyXG5cclxuICAgIHRoaXMuYnJhbmRzTGlzdFtpbmRleEtleV0gPSB0aGlzLmJyYW5kc0xpc3RbaW5kZXhLZXldLmZpbHRlcihCb29sZWFuKVxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcclxuICAgIGNvbnNvbGUubG9nKCdzZXRCcmFuZHNMaXN0IGluZGV4S2V5JywgdGhpcy5icmFuZHNMaXN0W2luZGV4S2V5XSlcclxuXHJcbiAgICBpZiAob3B0aW9ucy5maWx0ZXJzKSB7XHJcbiAgICAgIG9wdGlvbnMuZmlsdGVycyA9IHtcclxuICAgICAgICAuLi5vcHRpb25zLmZpbHRlcnMsXHJcbiAgICAgICAgYnJhbmRzOiBmaWx0ZXJCcmFuZHMsXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEJyYW5kc0xpc3QoaW5kZXhLZXk6IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLmJyYW5kc0xpc3RbaW5kZXhLZXldXHJcbiAgfVxyXG5cclxuICBidWlsZEluZGV4QnJhbmRzKG9wdGlvbnM6IENhdGFsb2dTZWFyY2hQYXJhbXMpOiBzdHJpbmcge1xyXG4gICAgaWYgKG9wdGlvbnMuY2F0ZWdvcnkpIHJldHVybiBgY2F0ZWdvcnktJHtvcHRpb25zLmNhdGVnb3J5LmlkfWBcclxuXHJcbiAgICBpZiAob3B0aW9ucy50ZXJtKSByZXR1cm4gYHRlcm0tJHtvcHRpb25zLnRlcm19YFxyXG5cclxuICAgIGlmIChvcHRpb25zLnByb2ZpbGUpIHJldHVybiBgcHJvZmlsZS0ke29wdGlvbnMucHJvZmlsZS5qb2luKCcsJyl9YFxyXG5cclxuICAgIHJldHVybiAnJ1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBmZXRjaEJyYW5kc09ubHkoXHJcbiAgICBvcHRpb25zOiBDYXRhbG9nU2VhcmNoUGFyYW1zLFxyXG4gICAgb3B0aW9uc0NhY2hlPzogeyBjYWNoZT86IFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMgfSxcclxuICApOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxyXG4gICAgY29uc29sZS5sb2coJ2ZldGNoQnJhbmRzT25seScpXHJcblxyXG4gICAgaWYgKG9wdGlvbnMuY2F0ZWdvcnkpIHtcclxuICAgICAgY29uc3QgZmlsdGVycyA9IGF3YWl0IHRoaXMucHJvZHVjdENhdGFsb2cuY2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLmJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkob3B0aW9ucy5jYXRlZ29yeSlcclxuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXHJcbiAgICAgIGNvbnNvbGUubG9nKCdmZXRjaEJyYW5kc09ubHknLCBmaWx0ZXJzKVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMucHJvZHVjdENhdGFsb2cucHJvZHVjdFJlcG9zaXRvcnlcclxuICAgICAgICAuZmluZENhdGFsb2coXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGZpZWxkczogWydpZCddLFxyXG4gICAgICAgICAgICBmaWx0ZXJzOiB7XHJcbiAgICAgICAgICAgICAgLi4uZmlsdGVycyxcclxuICAgICAgICAgICAgICBwdWJsaXNoZWQ6IHsgb3BlcmF0b3I6IFdoZXJlLkVRVUFMUywgdmFsdWU6IHRydWUgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgIGRpc3RpbmN0OiBbJ2JyYW5kJ10sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb3B0aW9ucy5tYWluR2VuZGVyLFxyXG4gICAgICAgIClcclxuICAgICAgICAudGhlbigocmVzdWx0KSA9PiByZXN1bHQuZGlzdGluY3QuYnJhbmQpXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdENhdGFsb2cucHJvZHVjdFJlcG9zaXRvcnlcclxuICAgICAgLmZpbmRDYXRhbG9nKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGZpZWxkczogWydpZCddLFxyXG4gICAgICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgICAgICBwdWJsaXNoZWQ6IHsgb3BlcmF0b3I6IFdoZXJlLkVRVUFMUywgdmFsdWU6IHRydWUgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgIGRpc3RpbmN0OiBbJ2JyYW5kJ10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3B0aW9ucy5tYWluR2VuZGVyLFxyXG4gICAgICApXHJcbiAgICAgIC50aGVuKChyZXN1bHQpID0+IHJlc3VsdC5kaXN0aW5jdC5icmFuZClcclxuICB9XHJcbn1cclxuIl19
@@ -1889,10 +1889,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
1889
1889
  }] }] });
1890
1890
 
1891
1891
  class BrandManagerHelper {
1892
- constructor(productCatalog, categoryStrategy, shop) {
1892
+ constructor(productCatalog) {
1893
1893
  this.productCatalog = productCatalog;
1894
- this.categoryStrategy = categoryStrategy;
1895
- this.shop = shop;
1896
1894
  this.brandsList = {};
1897
1895
  }
1898
1896
  async setBrandsList(options, brands) {
@@ -1903,7 +1901,11 @@ class BrandManagerHelper {
1903
1901
  if (isEmpty(brands) && options.filters) {
1904
1902
  delete options.filters.brands;
1905
1903
  }
1906
- this.brandsList[indexKey] = this.brandsList[indexKey] || brands || (await this.fetchBrandsOnly(options));
1904
+ // eslint-disable-next-line no-console
1905
+ console.log('this.brandsList[indexKey]', this.brandsList[indexKey]);
1906
+ // eslint-disable-next-line no-console
1907
+ console.log('brands', brands);
1908
+ this.brandsList[indexKey] = brands || this.brandsList[indexKey] || (await this.fetchBrandsOnly(options));
1907
1909
  this.brandsList[indexKey] = this.brandsList[indexKey].filter(Boolean);
1908
1910
  // eslint-disable-next-line no-console
1909
1911
  console.log('setBrandsList indexKey', this.brandsList[indexKey]);
@@ -1927,9 +1929,24 @@ class BrandManagerHelper {
1927
1929
  return '';
1928
1930
  }
1929
1931
  async fetchBrandsOnly(options, optionsCache) {
1932
+ // eslint-disable-next-line no-console
1933
+ console.log('fetchBrandsOnly');
1930
1934
  if (options.category) {
1931
- const { distinct } = await this.categoryStrategy.search(options, this.shop, optionsCache);
1932
- return distinct.brand;
1935
+ const filters = await this.productCatalog.categoryStructureAdapter.buildProductFilterByCategory(options.category);
1936
+ // eslint-disable-next-line no-console
1937
+ console.log('fetchBrandsOnly', filters);
1938
+ return this.productCatalog.productRepository
1939
+ .findCatalog({
1940
+ fields: ['id'],
1941
+ filters: {
1942
+ ...filters,
1943
+ published: { operator: Where.EQUALS, value: true },
1944
+ },
1945
+ options: {
1946
+ distinct: ['brand'],
1947
+ },
1948
+ }, options.mainGender)
1949
+ .then((result) => result.distinct.brand);
1933
1950
  }
1934
1951
  return this.productCatalog.productRepository
1935
1952
  .findCatalog({
@@ -1943,15 +1960,12 @@ class BrandManagerHelper {
1943
1960
  }, options.mainGender)
1944
1961
  .then((result) => result.distinct.brand);
1945
1962
  }
1946
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BrandManagerHelper, deps: [{ token: ProductCatalogFacade }, { token: CategorySearchStrategy }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable }); }
1963
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BrandManagerHelper, deps: [{ token: ProductCatalogFacade }], target: i0.ɵɵFactoryTarget.Injectable }); }
1947
1964
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BrandManagerHelper }); }
1948
1965
  }
1949
1966
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BrandManagerHelper, decorators: [{
1950
1967
  type: Injectable
1951
- }], ctorParameters: () => [{ type: ProductCatalogFacade }, { type: CategorySearchStrategy }, { type: i3.Shops, decorators: [{
1952
- type: Inject,
1953
- args: [DEFAULT_SHOP]
1954
- }] }] });
1968
+ }], ctorParameters: () => [{ type: ProductCatalogFacade }] });
1955
1969
 
1956
1970
  class CatalogFilterHelper {
1957
1971
  buildFilterQuery(filters) {