taxtank-core 0.29.22 → 0.29.23

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,7 +1,7 @@
1
1
  import { Collection } from '../collection';
2
2
  import flatten from 'lodash/flatten';
3
3
  import { SubscriptionItemCollection } from './subscription-item.collection';
4
- import { Dictionary } from '../../models';
4
+ import { CollectionDictionary } from '../collection-dictionary';
5
5
  export class ServiceSubscriptionCollection extends Collection {
6
6
  getActive() {
7
7
  return this.filter((subscription) => subscription.isActive);
@@ -25,19 +25,24 @@ export class ServiceSubscriptionCollection extends Collection {
25
25
  return new SubscriptionItemCollection(flatten(this.mapBy('items')));
26
26
  }
27
27
  groupByProduct(products) {
28
- const dictionary = new Dictionary([]);
28
+ const collectionDictionary = new CollectionDictionary(new ServiceSubscriptionCollection([]));
29
29
  products.toArray().forEach((product) => {
30
- dictionary.add(product.id, this.findByProduct(product));
30
+ collectionDictionary.add(product.id, this.filterByProduct(product));
31
31
  });
32
- return dictionary;
32
+ return collectionDictionary;
33
33
  }
34
34
  findByProduct(product) {
35
35
  return this.find((subscription) => {
36
36
  return !!subscription.items.find((item) => item.price.product.id === product.id);
37
37
  });
38
38
  }
39
+ filterByProduct(product) {
40
+ return this.filter((subscription) => {
41
+ return !!subscription.items.find((item) => item.price.product.id === product.id);
42
+ });
43
+ }
39
44
  hasPropertyTank() {
40
45
  return !!this.getItems().propertiesItem;
41
46
  }
42
47
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1zdWJzY3JpcHRpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQTJDLE1BQU0sY0FBYyxDQUFDO0FBRW5GLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxVQUErQjtJQUNoRixTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksMEJBQTBCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxjQUFjLENBQUMsUUFBb0M7UUFDakQsTUFBTSxVQUFVLEdBQW9DLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUF1QixFQUFFLEVBQUU7WUFDckQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBdUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBaUMsRUFBRSxFQUFFO1lBQ3JELE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBNkIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMzRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7U2VydmljZVN1YnNjcmlwdGlvblN0YXR1c0VudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbi1zdGF0dXMuZW51bSc7XG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbic7XG5pbXBvcnQge1N1YnNjcmlwdGlvbkl0ZW1Db2xsZWN0aW9ufSBmcm9tICcuL3N1YnNjcmlwdGlvbi1pdGVtLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRGljdGlvbmFyeSwgU2VydmljZVByb2R1Y3QsIFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIFNlcnZpY2VTdWJzY3JpcHRpb25Db2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxTZXJ2aWNlU3Vic2NyaXB0aW9uPiB7XG4gIGdldEFjdGl2ZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLmlzQWN0aXZlKTtcbiAgfVxuXG4gIGdldFRyaWFscygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgnc3RyaXBlSWQnLCBudWxsKTtcbiAgfVxuXG4gIGdldEFjdGl2ZVRyaWFscygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmUoKS5nZXRUcmlhbHMoKTtcbiAgfVxuXG4gIGdldEV4cGlyaW5nVHJpYWxzKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZVRyaWFscygpLmZpbHRlcigoc3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24uaXNUcmlhbEV4cGlyaW5nKCkpO1xuICB9XG5cbiAgZ2V0UGFpZCgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHN1YnNjcmlwdGlvbikgPT4gISFzdWJzY3JpcHRpb24uc3RyaXBlSWQpO1xuICB9XG5cbiAgZ2V0QWN0aXZlUGFpZCgpOiBTZXJ2aWNlU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmUoKS5maW5kKChzdWJzY3JpcHRpb24pID0+ICEhc3Vic2NyaXB0aW9uLnN0cmlwZUlkKTtcbiAgfVxuXG4gIGdldEl0ZW1zKCk6IFN1YnNjcmlwdGlvbkl0ZW1Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbkl0ZW1Db2xsZWN0aW9uKGZsYXR0ZW4odGhpcy5tYXBCeSgnaXRlbXMnKSkpO1xuICB9XG5cbiAgZ3JvdXBCeVByb2R1Y3QocHJvZHVjdHM6IENvbGxlY3Rpb248U2VydmljZVByb2R1Y3Q+KTogRGljdGlvbmFyeTxTZXJ2aWNlU3Vic2NyaXB0aW9uPiB7XG4gICAgY29uc3QgZGljdGlvbmFyeTogRGljdGlvbmFyeTxTZXJ2aWNlU3Vic2NyaXB0aW9uPiA9IG5ldyBEaWN0aW9uYXJ5KFtdKTtcblxuICAgIHByb2R1Y3RzLnRvQXJyYXkoKS5mb3JFYWNoKChwcm9kdWN0OiBTZXJ2aWNlUHJvZHVjdCkgPT4ge1xuICAgICAgZGljdGlvbmFyeS5hZGQocHJvZHVjdC5pZCwgdGhpcy5maW5kQnlQcm9kdWN0KHByb2R1Y3QpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkaWN0aW9uYXJ5O1xuICB9XG5cbiAgZmluZEJ5UHJvZHVjdChwcm9kdWN0OiBTZXJ2aWNlUHJvZHVjdCk6IFNlcnZpY2VTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmZpbmQoKHN1YnNjcmlwdGlvbjogU2VydmljZVN1YnNjcmlwdGlvbikgPT4ge1xuICAgICAgcmV0dXJuICEhc3Vic2NyaXB0aW9uLml0ZW1zLmZpbmQoKGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiBpdGVtLnByaWNlLnByb2R1Y3QuaWQgPT09IHByb2R1Y3QuaWQpXG4gICAgfSk7XG4gIH1cblxuICBoYXNQcm9wZXJ0eVRhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5nZXRJdGVtcygpLnByb3BlcnRpZXNJdGVtO1xuICB9XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1zdWJzY3JpcHRpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxVQUErQjtJQUNoRixTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksMEJBQTBCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxjQUFjLENBQUMsUUFBb0M7UUFDakQsTUFBTSxvQkFBb0IsR0FBd0QsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLDZCQUE2QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbEosUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQXVCLEVBQUUsRUFBRTtZQUNyRCxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBdUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBaUMsRUFBRSxFQUFFO1lBQ3JELE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBNkIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMzRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBdUI7UUFDckMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBaUMsRUFBRSxFQUFFO1lBQ3ZELE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBNkIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbic7XG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbic7XG5pbXBvcnQge1N1YnNjcmlwdGlvbkl0ZW1Db2xsZWN0aW9ufSBmcm9tICcuL3N1YnNjcmlwdGlvbi1pdGVtLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgU2VydmljZVByb2R1Y3QsIFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtLCBTZXJ2aWNlU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcblxuZXhwb3J0IGNsYXNzIFNlcnZpY2VTdWJzY3JpcHRpb25Db2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxTZXJ2aWNlU3Vic2NyaXB0aW9uPiB7XG4gIGdldEFjdGl2ZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLmlzQWN0aXZlKTtcbiAgfVxuXG4gIGdldFRyaWFscygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgnc3RyaXBlSWQnLCBudWxsKTtcbiAgfVxuXG4gIGdldEFjdGl2ZVRyaWFscygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmUoKS5nZXRUcmlhbHMoKTtcbiAgfVxuXG4gIGdldEV4cGlyaW5nVHJpYWxzKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZVRyaWFscygpLmZpbHRlcigoc3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24uaXNUcmlhbEV4cGlyaW5nKCkpO1xuICB9XG5cbiAgZ2V0UGFpZCgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHN1YnNjcmlwdGlvbikgPT4gISFzdWJzY3JpcHRpb24uc3RyaXBlSWQpO1xuICB9XG5cbiAgZ2V0QWN0aXZlUGFpZCgpOiBTZXJ2aWNlU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmUoKS5maW5kKChzdWJzY3JpcHRpb24pID0+ICEhc3Vic2NyaXB0aW9uLnN0cmlwZUlkKTtcbiAgfVxuXG4gIGdldEl0ZW1zKCk6IFN1YnNjcmlwdGlvbkl0ZW1Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbkl0ZW1Db2xsZWN0aW9uKGZsYXR0ZW4odGhpcy5tYXBCeSgnaXRlbXMnKSkpO1xuICB9XG5cbiAgZ3JvdXBCeVByb2R1Y3QocHJvZHVjdHM6IENvbGxlY3Rpb248U2VydmljZVByb2R1Y3Q+KTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8U2VydmljZVN1YnNjcmlwdGlvbkNvbGxlY3Rpb24+IHtcbiAgICBjb25zdCBjb2xsZWN0aW9uRGljdGlvbmFyeTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8U2VydmljZVN1YnNjcmlwdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KG5ldyBTZXJ2aWNlU3Vic2NyaXB0aW9uQ29sbGVjdGlvbihbXSkpO1xuXG4gICAgcHJvZHVjdHMudG9BcnJheSgpLmZvckVhY2goKHByb2R1Y3Q6IFNlcnZpY2VQcm9kdWN0KSA9PiB7XG4gICAgICBjb2xsZWN0aW9uRGljdGlvbmFyeS5hZGQocHJvZHVjdC5pZCwgdGhpcy5maWx0ZXJCeVByb2R1Y3QocHJvZHVjdCkpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbGxlY3Rpb25EaWN0aW9uYXJ5O1xuICB9XG5cbiAgZmluZEJ5UHJvZHVjdChwcm9kdWN0OiBTZXJ2aWNlUHJvZHVjdCk6IFNlcnZpY2VTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmZpbmQoKHN1YnNjcmlwdGlvbjogU2VydmljZVN1YnNjcmlwdGlvbikgPT4ge1xuICAgICAgcmV0dXJuICEhc3Vic2NyaXB0aW9uLml0ZW1zLmZpbmQoKGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiBpdGVtLnByaWNlLnByb2R1Y3QuaWQgPT09IHByb2R1Y3QuaWQpXG4gICAgfSk7XG4gIH1cblxuICBmaWx0ZXJCeVByb2R1Y3QocHJvZHVjdDogU2VydmljZVByb2R1Y3QpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHN1YnNjcmlwdGlvbjogU2VydmljZVN1YnNjcmlwdGlvbikgPT4ge1xuICAgICAgcmV0dXJuICEhc3Vic2NyaXB0aW9uLml0ZW1zLmZpbmQoKGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiBpdGVtLnByaWNlLnByb2R1Y3QuaWQgPT09IHByb2R1Y3QuaWQpO1xuICAgIH0pO1xuICB9XG5cbiAgaGFzUHJvcGVydHlUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0SXRlbXMoKS5wcm9wZXJ0aWVzSXRlbTtcbiAgfVxufVxuIl19
@@ -3963,17 +3963,22 @@ class ServiceSubscriptionCollection extends Collection {
3963
3963
  return new SubscriptionItemCollection(flatten(this.mapBy('items')));
3964
3964
  }
3965
3965
  groupByProduct(products) {
3966
- const dictionary = new Dictionary([]);
3966
+ const collectionDictionary = new CollectionDictionary(new ServiceSubscriptionCollection([]));
3967
3967
  products.toArray().forEach((product) => {
3968
- dictionary.add(product.id, this.findByProduct(product));
3968
+ collectionDictionary.add(product.id, this.filterByProduct(product));
3969
3969
  });
3970
- return dictionary;
3970
+ return collectionDictionary;
3971
3971
  }
3972
3972
  findByProduct(product) {
3973
3973
  return this.find((subscription) => {
3974
3974
  return !!subscription.items.find((item) => item.price.product.id === product.id);
3975
3975
  });
3976
3976
  }
3977
+ filterByProduct(product) {
3978
+ return this.filter((subscription) => {
3979
+ return !!subscription.items.find((item) => item.price.product.id === product.id);
3980
+ });
3981
+ }
3977
3982
  hasPropertyTank() {
3978
3983
  return !!this.getItems().propertiesItem;
3979
3984
  }