@infrab4a/connect-angular 4.0.0-beta.30 → 4.0.0-beta.31

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.
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
53
53
  ],
54
54
  }]
55
55
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb25uZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1jb25uZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU3RCxPQUFPLEVBQTRCLEtBQUssRUFBUyxNQUFNLG1CQUFtQixDQUFBO0FBRTFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBd0IsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3BILE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGNBQWMsRUFDZCxlQUFlLEVBQ2YsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixhQUFhLEVBQ2IsZUFBZSxFQUNmLFlBQVksRUFDWixlQUFlLEdBQ2hCLE1BQU0sWUFBWSxDQUFBOztBQWtCbkIsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsYUFBYSxDQUNsQixXQUFrQixFQUNsQixPQUtDLEVBQ0QsWUFBeUM7UUFFekMsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQ2pGLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7Z0JBQ25HLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDMUYsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2FBQ2hHO1NBQ0YsQ0FBQTtJQUNILENBQUM7O2lIQXRCVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixZQWRyQix5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEI7a0hBYzVFLG9CQUFvQixhQWJwQjtRQUNULFdBQVc7UUFDWCxXQUFXO1FBQ1gsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLGFBQWE7UUFDYixlQUFlO1FBQ2YsWUFBWTtRQUNaLGVBQWU7S0FDaEIsWUFaUyx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEI7MkZBYzVFLG9CQUFvQjtrQkFmaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsQ0FBQztvQkFDeEYsU0FBUyxFQUFFO3dCQUNULFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZiwyQkFBMkI7d0JBQzNCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRmlyZWJhc2VPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXG5pbXBvcnQgeyBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsIGlzTmlsLCBTaG9wcyB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWZpcmViYXNlLWF1dGgubW9kdWxlJ1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1maXJlc3RvcmUubW9kdWxlJ1xuaW1wb3J0IHsgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUsIEhhc3VyYUdyYXBoUUxPcHRpb25zIH0gZnJvbSAnLi9hbmd1bGFyLWhhc3VyYS1ncmFwaHFsLm1vZHVsZSdcbmltcG9ydCB7IEJBQ0tFTkRfVVJMLCBERUZBVUxUX1NIT1AsIEVTX0NPTkZJRywgRklSRUJBU0VfQVBQX05BTUUsIEZJUkVCQVNFX09QVElPTlMsIEhBU1VSQV9PUFRJT05TIH0gZnJvbSAnLi9jb25zdHMnXG5pbXBvcnQge1xuICBBdXRoU2VydmljZSxcbiAgQ2FydFNlcnZpY2UsXG4gIENhdGFsb2dTZXJ2aWNlLFxuICBDYXRlZ29yeVNlcnZpY2UsXG4gIENoZWNrb3V0U2VydmljZSxcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICBDb3Vwb25TZXJ2aWNlLFxuICBIb21lU2hvcFNlcnZpY2UsXG4gIE9yZGVyU2VydmljZSxcbiAgU2hpcHBpbmdTZXJ2aWNlLFxufSBmcm9tICcuL3NlcnZpY2VzJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSwgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSwgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBBdXRoU2VydmljZSxcbiAgICBDYXJ0U2VydmljZSxcbiAgICBDYXRhbG9nU2VydmljZSxcbiAgICBDYXRlZ29yeVNlcnZpY2UsXG4gICAgQ2hlY2tvdXRTZXJ2aWNlLFxuICAgIENoZWNrb3V0U3Vic2NyaXB0aW9uU2VydmljZSxcbiAgICBDb3Vwb25TZXJ2aWNlLFxuICAgIEhvbWVTaG9wU2VydmljZSxcbiAgICBPcmRlclNlcnZpY2UsXG4gICAgU2hpcHBpbmdTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ29ubmVjdE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIGRlZmF1bHRTaG9wOiBTaG9wcyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBmaXJlYmFzZTogRmlyZWJhc2VPcHRpb25zXG4gICAgICBlbGFzdGljU2VhcmNoOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWdcbiAgICAgIGhhc3VyYTogSGFzdXJhR3JhcGhRTE9wdGlvbnNcbiAgICAgIGJhY2tlbmRVcmw6IHN0cmluZ1xuICAgIH0sXG4gICAgbmFtZU9yQ29uZmlnPzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckNvbm5lY3RNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJDb25uZWN0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLihpc05pbChkZWZhdWx0U2hvcCkgPyBbXSA6IFt7IHByb3ZpZGU6IERFRkFVTFRfU0hPUCwgdXNlVmFsdWU6IGRlZmF1bHRTaG9wIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmZpcmViYXNlKSA/IFtdIDogW3sgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnM/LmZpcmViYXNlIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmZpcmViYXNlKSA/IFtdIDogW3sgcHJvdmlkZTogRklSRUJBU0VfQVBQX05BTUUsIHVzZVZhbHVlOiBuYW1lT3JDb25maWcgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uZWxhc3RpY1NlYXJjaCkgPyBbXSA6IFt7IHByb3ZpZGU6IEVTX0NPTkZJRywgdXNlVmFsdWU6IG9wdGlvbnMuZWxhc3RpY1NlYXJjaCB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5oYXN1cmEpID8gW10gOiBbeyBwcm92aWRlOiBIQVNVUkFfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMuaGFzdXJhIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmJhY2tlbmRVcmwpID8gW10gOiBbeyBwcm92aWRlOiBCQUNLRU5EX1VSTCwgdXNlVmFsdWU6IG9wdGlvbnMuYmFja2VuZFVybCB9XSksXG4gICAgICBdLFxuICAgIH1cbiAgfVxufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb25uZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1jb25uZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU3RCxPQUFPLEVBQW1DLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRTFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBd0IsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3BILE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGNBQWMsRUFDZCxlQUFlLEVBQ2YsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixhQUFhLEVBQ2IsZUFBZSxFQUNmLFlBQVksRUFDWixlQUFlLEdBQ2hCLE1BQU0sWUFBWSxDQUFBOztBQWtCbkIsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsYUFBYSxDQUNsQixXQUFrQixFQUNsQixPQUtDLEVBQ0QsWUFBeUM7UUFFekMsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQ2pGLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7Z0JBQ25HLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDMUYsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2FBQ2hHO1NBQ0YsQ0FBQTtJQUNILENBQUM7O2lIQXRCVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixZQWRyQix5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEI7a0hBYzVFLG9CQUFvQixhQWJwQjtRQUNULFdBQVc7UUFDWCxXQUFXO1FBQ1gsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLGFBQWE7UUFDYixlQUFlO1FBQ2YsWUFBWTtRQUNaLGVBQWU7S0FDaEIsWUFaUyx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEI7MkZBYzVFLG9CQUFvQjtrQkFmaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsQ0FBQztvQkFDeEYsU0FBUyxFQUFFO3dCQUNULFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZiwyQkFBMkI7d0JBQzNCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRmlyZWJhc2VPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXG5pbXBvcnQgeyBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsIFNob3BzLCBpc05pbCB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWZpcmViYXNlLWF1dGgubW9kdWxlJ1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1maXJlc3RvcmUubW9kdWxlJ1xuaW1wb3J0IHsgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUsIEhhc3VyYUdyYXBoUUxPcHRpb25zIH0gZnJvbSAnLi9hbmd1bGFyLWhhc3VyYS1ncmFwaHFsLm1vZHVsZSdcbmltcG9ydCB7IEJBQ0tFTkRfVVJMLCBERUZBVUxUX1NIT1AsIEVTX0NPTkZJRywgRklSRUJBU0VfQVBQX05BTUUsIEZJUkVCQVNFX09QVElPTlMsIEhBU1VSQV9PUFRJT05TIH0gZnJvbSAnLi9jb25zdHMnXG5pbXBvcnQge1xuICBBdXRoU2VydmljZSxcbiAgQ2FydFNlcnZpY2UsXG4gIENhdGFsb2dTZXJ2aWNlLFxuICBDYXRlZ29yeVNlcnZpY2UsXG4gIENoZWNrb3V0U2VydmljZSxcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICBDb3Vwb25TZXJ2aWNlLFxuICBIb21lU2hvcFNlcnZpY2UsXG4gIE9yZGVyU2VydmljZSxcbiAgU2hpcHBpbmdTZXJ2aWNlLFxufSBmcm9tICcuL3NlcnZpY2VzJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSwgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSwgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBBdXRoU2VydmljZSxcbiAgICBDYXJ0U2VydmljZSxcbiAgICBDYXRhbG9nU2VydmljZSxcbiAgICBDYXRlZ29yeVNlcnZpY2UsXG4gICAgQ2hlY2tvdXRTZXJ2aWNlLFxuICAgIENoZWNrb3V0U3Vic2NyaXB0aW9uU2VydmljZSxcbiAgICBDb3Vwb25TZXJ2aWNlLFxuICAgIEhvbWVTaG9wU2VydmljZSxcbiAgICBPcmRlclNlcnZpY2UsXG4gICAgU2hpcHBpbmdTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ29ubmVjdE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIGRlZmF1bHRTaG9wOiBTaG9wcyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBmaXJlYmFzZTogRmlyZWJhc2VPcHRpb25zXG4gICAgICBlbGFzdGljU2VhcmNoOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWdcbiAgICAgIGhhc3VyYTogSGFzdXJhR3JhcGhRTE9wdGlvbnNcbiAgICAgIGJhY2tlbmRVcmw6IHN0cmluZ1xuICAgIH0sXG4gICAgbmFtZU9yQ29uZmlnPzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckNvbm5lY3RNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJDb25uZWN0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLihpc05pbChkZWZhdWx0U2hvcCkgPyBbXSA6IFt7IHByb3ZpZGU6IERFRkFVTFRfU0hPUCwgdXNlVmFsdWU6IGRlZmF1bHRTaG9wIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmZpcmViYXNlKSA/IFtdIDogW3sgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnM/LmZpcmViYXNlIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmZpcmViYXNlKSA/IFtdIDogW3sgcHJvdmlkZTogRklSRUJBU0VfQVBQX05BTUUsIHVzZVZhbHVlOiBuYW1lT3JDb25maWcgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uZWxhc3RpY1NlYXJjaCkgPyBbXSA6IFt7IHByb3ZpZGU6IEVTX0NPTkZJRywgdXNlVmFsdWU6IG9wdGlvbnMuZWxhc3RpY1NlYXJjaCB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5oYXN1cmEpID8gW10gOiBbeyBwcm92aWRlOiBIQVNVUkFfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMuaGFzdXJhIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmJhY2tlbmRVcmwpID8gW10gOiBbeyBwcm92aWRlOiBCQUNLRU5EX1VSTCwgdXNlVmFsdWU6IG9wdGlvbnMuYmFja2VuZFVybCB9XSksXG4gICAgICBdLFxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,17 +1,41 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
- import { Where } from '@infrab4a/connect';
2
+ import { set, Where, } from '@infrab4a/connect';
3
3
  import * as i0 from "@angular/core";
4
4
  export class CatalogService {
5
5
  constructor(productRepository, categoryRepository) {
6
6
  this.productRepository = productRepository;
7
7
  this.categoryRepository = categoryRepository;
8
- this.buildFilterQuery = (category, filters) => { };
8
+ this.buildFilterQuery = ({ clubDiscount, brands, prices, gender, }) => {
9
+ const filters = {};
10
+ if (clubDiscount?.length)
11
+ set(filters, 'price.subscriberDiscountPercentage', { operator: Where.IN, value: clubDiscount });
12
+ if (brands?.length)
13
+ filters.brand = { operator: Where.IN, value: brands };
14
+ if (gender?.length)
15
+ filters.tags = {
16
+ operator: Where.IN,
17
+ value: gender
18
+ .map((genderOptions) => genderOptions === 'female' ? 'feminino' : genderOptions === 'male' ? 'masculino' : null)
19
+ .filter(Boolean),
20
+ };
21
+ if (prices?.min || prices?.max)
22
+ set(filters, prices.subscriberPrice ? 'price.subscriberPrice' : 'price.price', [
23
+ ...(prices.min ? [{ operator: Where.GTE, value: prices.min }] : []),
24
+ ...(prices.max ? [{ operator: Where.LTE, value: prices.max }] : []),
25
+ ]);
26
+ return filters;
27
+ };
9
28
  this.buildSortQuery = (sort) => {
10
- const query = {
11
- stock: 'desc',
12
- gender: 'asc',
13
- };
14
- return query;
29
+ if (!sort || sort === 'most-relevant')
30
+ return {};
31
+ if (sort === 'best-sellers')
32
+ return { shoppingCount: 'desc' };
33
+ if (sort === 'biggest-price')
34
+ return { price: 'desc' };
35
+ if (sort === 'lowest-price')
36
+ return { price: 'asc' };
37
+ if (sort === 'best-rating')
38
+ return { rate: 'desc' };
15
39
  };
16
40
  this.buildLimitQuery = (options) => {
17
41
  const limit = options?.perPage || 20;
@@ -22,7 +46,7 @@ export class CatalogService {
22
46
  };
23
47
  }
24
48
  async fetchProducts(category, options) {
25
- const productsIds = category.products.length
49
+ const productsIds = category.products?.length
26
50
  ? category.products
27
51
  : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
28
52
  const limits = this.buildLimitQuery(options);
@@ -31,10 +55,20 @@ export class CatalogService {
31
55
  filters: {
32
56
  id: { operator: Where.IN, value: productsIds },
33
57
  published: true,
58
+ ...this.buildFilterQuery(options?.filters || {}),
34
59
  },
60
+ ...(options?.sort ? { orderBy: this.buildSortQuery(options?.sort) } : {}),
35
61
  limits,
62
+ options: { minimal: ['price'], maximum: ['price'] },
36
63
  })
37
- .then(({ data, count: total }) => ({ products: data, pages: Math.ceil(total / limits.limit), total }));
64
+ .then(({ data, count: total, maximum, minimal }) => ({
65
+ products: { data, total },
66
+ pages: Math.ceil(total / limits.limit),
67
+ prices: {
68
+ price: { min: minimal.price.price, max: maximum.price.price },
69
+ subscriberPrice: { min: minimal.price.subscriberPrice, max: maximum.price.subscriberPrice },
70
+ },
71
+ }));
38
72
  }
39
73
  }
40
74
  CatalogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, deps: [{ token: 'ProductRepository' }, { token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -48,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
48
82
  type: Inject,
49
83
  args: ['CategoryRepository']
50
84
  }] }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2NhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQStFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBOztBQUl0SCxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUNnRCxpQkFBb0MsRUFDbkMsa0JBQXNDO1FBRHZDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQXVCL0UscUJBQWdCLEdBQUcsQ0FBQyxRQUFrQixFQUFFLE9BQWlCLEVBQU8sRUFBRSxHQUFFLENBQUMsQ0FBQTtRQUVyRSxtQkFBYyxHQUFHLENBQUMsSUFBaUIsRUFBOEIsRUFBRTtZQUN6RSxNQUFNLEtBQUssR0FBK0I7Z0JBQ3hDLEtBQUssRUFBRSxNQUFNO2dCQUNiLE1BQU0sRUFBRSxLQUFLO2FBQ2QsQ0FBQTtZQUVELE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQyxDQUFBO1FBRU8sb0JBQWUsR0FBRyxDQUFDLE9BQTRDLEVBQXVDLEVBQUU7WUFDOUcsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUE7WUFFcEMsT0FBTztnQkFDTCxLQUFLO2dCQUNMLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLO2FBQzNDLENBQUE7UUFDSCxDQUFDLENBQUE7SUF4Q0UsQ0FBQztJQUVKLEtBQUssQ0FBQyxhQUFhLENBQ2pCLFFBQWtCLEVBQ2xCLE9BQXFGO1FBRXJGLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUMxQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVE7WUFDbkIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUMxRyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTVDLE9BQU8sTUFBTSxJQUFJLENBQUMsaUJBQWlCO2FBQ2hDLElBQUksQ0FBQztZQUNKLE9BQU8sRUFBRTtnQkFDUCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dCQUM5QyxTQUFTLEVBQUUsSUFBSTthQUNoQjtZQUNELE1BQU07U0FDUCxDQUFDO2FBQ0QsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMxRyxDQUFDOzsyR0F4QlUsY0FBYyxrQkFFZixtQkFBbUIsYUFDbkIsb0JBQW9COytHQUhuQixjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ2F0ZWdvcnksIENhdGVnb3J5UmVwb3NpdG9yeSwgUHJvZHVjdCwgUHJvZHVjdFJlcG9zaXRvcnksIFJlcG9zaXRvcnlPcmRlckJ5LCBXaGVyZSB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuaW1wb3J0IHsgUHJvZHVjdFNvcnQgfSBmcm9tICcuL3R5cGVzL3Byb2R1Y3Qtc29ydC50eXBlJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdQcm9kdWN0UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoJ0NhdGVnb3J5UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlSZXBvc2l0b3J5OiBDYXRlZ29yeVJlcG9zaXRvcnksXG4gICkge31cblxuICBhc3luYyBmZXRjaFByb2R1Y3RzKFxuICAgIGNhdGVnb3J5OiBDYXRlZ29yeSxcbiAgICBvcHRpb25zPzogeyBwYWdlPzogbnVtYmVyOyBwZXJQYWdlPzogbnVtYmVyOyBmaWx0ZXJzPzogc3RyaW5nW107IHNvcnQ/OiBQcm9kdWN0U29ydCB9LFxuICApOiBQcm9taXNlPHsgcHJvZHVjdHM6IFByb2R1Y3RbXTsgcGFnZXM6IG51bWJlcjsgdG90YWw6IG51bWJlciB9PiB7XG4gICAgY29uc3QgcHJvZHVjdHNJZHMgPSBjYXRlZ29yeS5wcm9kdWN0cy5sZW5ndGhcbiAgICAgID8gY2F0ZWdvcnkucHJvZHVjdHNcbiAgICAgIDogYXdhaXQgdGhpcy5jYXRlZ29yeVJlcG9zaXRvcnkuZ2V0KHsgaWQ6IGNhdGVnb3J5LmlkIH0pLnRoZW4oKGNhdGVnb3J5Rm91bmQpID0+IGNhdGVnb3J5Rm91bmQucHJvZHVjdHMpXG4gICAgY29uc3QgbGltaXRzID0gdGhpcy5idWlsZExpbWl0UXVlcnkob3B0aW9ucylcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2R1Y3RSZXBvc2l0b3J5XG4gICAgICAuZmluZCh7XG4gICAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgICBpZDogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBwcm9kdWN0c0lkcyB9LFxuICAgICAgICAgIHB1Ymxpc2hlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGltaXRzLFxuICAgICAgfSlcbiAgICAgIC50aGVuKCh7IGRhdGEsIGNvdW50OiB0b3RhbCB9KSA9PiAoeyBwcm9kdWN0czogZGF0YSwgcGFnZXM6IE1hdGguY2VpbCh0b3RhbCAvIGxpbWl0cy5saW1pdCksIHRvdGFsIH0pKVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEZpbHRlclF1ZXJ5ID0gKGNhdGVnb3J5OiBDYXRlZ29yeSwgZmlsdGVyczogc3RyaW5nW10pOiBhbnkgPT4ge31cblxuICBwcml2YXRlIGJ1aWxkU29ydFF1ZXJ5ID0gKHNvcnQ6IFByb2R1Y3RTb3J0KTogUmVwb3NpdG9yeU9yZGVyQnk8UHJvZHVjdD4gPT4ge1xuICAgIGNvbnN0IHF1ZXJ5OiBSZXBvc2l0b3J5T3JkZXJCeTxQcm9kdWN0PiA9IHtcbiAgICAgIHN0b2NrOiAnZGVzYycsXG4gICAgICBnZW5kZXI6ICdhc2MnLFxuICAgIH1cblxuICAgIHJldHVybiBxdWVyeVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExpbWl0UXVlcnkgPSAob3B0aW9uczogeyBwYWdlPzogbnVtYmVyOyBwZXJQYWdlPzogbnVtYmVyIH0pOiB7IGxpbWl0PzogbnVtYmVyOyBvZmZzZXQ/OiBudW1iZXIgfSA9PiB7XG4gICAgY29uc3QgbGltaXQgPSBvcHRpb25zPy5wZXJQYWdlIHx8IDIwXG5cbiAgICByZXR1cm4ge1xuICAgICAgbGltaXQsXG4gICAgICBvZmZzZXQ6ICgob3B0aW9ucz8ucGFnZSB8fCAxKSAtIDEpICogbGltaXQsXG4gICAgfVxuICB9XG59XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL2NhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBUUwsR0FBRyxFQUNILEtBQUssR0FDTixNQUFNLG1CQUFtQixDQUFBOztBQXVCMUIsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDZ0QsaUJBQW9DLEVBQ25DLGtCQUFzQztRQUR2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUE4Qi9FLHFCQUFnQixHQUFHLENBQUMsRUFDMUIsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxHQUNlLEVBQW1DLEVBQUU7WUFDMUQsTUFBTSxPQUFPLEdBQUcsRUFBcUMsQ0FBQTtZQUVyRCxJQUFJLFlBQVksRUFBRSxNQUFNO2dCQUN0QixHQUFHLENBQUMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUE7WUFDakcsSUFBSSxNQUFNLEVBQUUsTUFBTTtnQkFBRSxPQUFPLENBQUMsS0FBSyxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFBO1lBQ3pFLElBQUksTUFBTSxFQUFFLE1BQU07Z0JBQ2hCLE9BQU8sQ0FBQyxJQUFJLEdBQUc7b0JBQ2IsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNsQixLQUFLLEVBQUUsTUFBTTt5QkFDVixHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUNyQixh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O1lBQ0QsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RSxNQUFNO1lBQ04sT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUU7U0FDcEQsQ0FBQzthQUNELElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDdEMsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7Z0JBQzdELGVBQWUsRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7YUFDNUY7U0FDRixDQUFDLENBQUMsQ0FBQTtJQUNQLENBQUM7OzJHQS9CVSxjQUFjLGtCQUVmLG1CQUFtQixhQUNuQixvQkFBb0I7K0dBSG5CLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBR04sTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBDYXRlZ29yeSxcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICBQcm9kdWN0LFxuICBQcm9kdWN0R2VuZGVyLFxuICBQcm9kdWN0UmVwb3NpdG9yeSxcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVycyxcbiAgUmVwb3NpdG9yeU9yZGVyQnksXG4gIHNldCxcbiAgV2hlcmUsXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuaW1wb3J0IHsgUHJvZHVjdFNvcnQgfSBmcm9tICcuL3R5cGVzL3Byb2R1Y3Qtc29ydC50eXBlJ1xuXG50eXBlIEZldGNoUHJvZHVjdHNGaWx0ZXJzID0ge1xuICBjbHViRGlzY291bnQ/OiBudW1iZXJbXVxuICBicmFuZHM/OiBzdHJpbmdbXVxuICBwcmljZXM/OiB7IG1pbj86IG51bWJlcjsgbWF4PzogbnVtYmVyOyBzdWJzY3JpYmVyUHJpY2U/OiBib29sZWFuIH1cbiAgZ2VuZGVyPzogUHJvZHVjdEdlbmRlcltdXG4gIGN1c3RvbU9wdGlvbnM/OiBzdHJpbmdbXVxufVxuXG50eXBlIEZldGNoUHJvZHVjdHNPcHRpb25zID0geyBwYWdlPzogbnVtYmVyOyBwZXJQYWdlPzogbnVtYmVyOyBmaWx0ZXJzPzogRmV0Y2hQcm9kdWN0c0ZpbHRlcnM7IHNvcnQ/OiBQcm9kdWN0U29ydCB9XG5cbnR5cGUgRmV0Y2hQcm9kdWN0c1Jlc3BvbnNlID0ge1xuICBwcm9kdWN0czogeyBkYXRhOiBQcm9kdWN0W107IHRvdGFsOiBudW1iZXIgfVxuICBwYWdlczogbnVtYmVyXG4gIHByaWNlczoge1xuICAgIHByaWNlOiB7IG1pbjogbnVtYmVyOyBtYXg6IG51bWJlciB9XG4gICAgc3Vic2NyaWJlclByaWNlOiB7IG1pbjogbnVtYmVyOyBtYXg6IG51bWJlciB9XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhdGFsb2dTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnUHJvZHVjdFJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RSZXBvc2l0b3J5OiBQcm9kdWN0UmVwb3NpdG9yeSxcbiAgICBASW5qZWN0KCdDYXRlZ29yeVJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UmVwb3NpdG9yeTogQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICApIHt9XG5cbiAgYXN5bmMgZmV0Y2hQcm9kdWN0cyhjYXRlZ29yeTogQ2F0ZWdvcnksIG9wdGlvbnM/OiBGZXRjaFByb2R1Y3RzT3B0aW9ucyk6IFByb21pc2U8RmV0Y2hQcm9kdWN0c1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcHJvZHVjdHNJZHMgPSBjYXRlZ29yeS5wcm9kdWN0cz8ubGVuZ3RoXG4gICAgICA/IGNhdGVnb3J5LnByb2R1Y3RzXG4gICAgICA6IGF3YWl0IHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldCh7IGlkOiBjYXRlZ29yeS5pZCB9KS50aGVuKChjYXRlZ29yeUZvdW5kKSA9PiBjYXRlZ29yeUZvdW5kLnByb2R1Y3RzKVxuICAgIGNvbnN0IGxpbWl0cyA9IHRoaXMuYnVpbGRMaW1pdFF1ZXJ5KG9wdGlvbnMpXG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9kdWN0UmVwb3NpdG9yeVxuICAgICAgLmZpbmQoe1xuICAgICAgICBmaWx0ZXJzOiB7XG4gICAgICAgICAgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogcHJvZHVjdHNJZHMgfSxcbiAgICAgICAgICBwdWJsaXNoZWQ6IHRydWUsXG4gICAgICAgICAgLi4udGhpcy5idWlsZEZpbHRlclF1ZXJ5KG9wdGlvbnM/LmZpbHRlcnMgfHwge30pLFxuICAgICAgICB9LFxuICAgICAgICAuLi4ob3B0aW9ucz8uc29ydCA/IHsgb3JkZXJCeTogdGhpcy5idWlsZFNvcnRRdWVyeShvcHRpb25zPy5zb3J0KSB9IDoge30pLFxuICAgICAgICBsaW1pdHMsXG4gICAgICAgIG9wdGlvbnM6IHsgbWluaW1hbDogWydwcmljZSddLCBtYXhpbXVtOiBbJ3ByaWNlJ10gfSxcbiAgICAgIH0pXG4gICAgICAudGhlbigoeyBkYXRhLCBjb3VudDogdG90YWwsIG1heGltdW0sIG1pbmltYWwgfSkgPT4gKHtcbiAgICAgICAgcHJvZHVjdHM6IHsgZGF0YSwgdG90YWwgfSxcbiAgICAgICAgcGFnZXM6IE1hdGguY2VpbCh0b3RhbCAvIGxpbWl0cy5saW1pdCksXG4gICAgICAgIHByaWNlczoge1xuICAgICAgICAgIHByaWNlOiB7IG1pbjogbWluaW1hbC5wcmljZS5wcmljZSwgbWF4OiBtYXhpbXVtLnByaWNlLnByaWNlIH0sXG4gICAgICAgICAgc3Vic2NyaWJlclByaWNlOiB7IG1pbjogbWluaW1hbC5wcmljZS5zdWJzY3JpYmVyUHJpY2UsIG1heDogbWF4aW11bS5wcmljZS5zdWJzY3JpYmVyUHJpY2UgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pKVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEZpbHRlclF1ZXJ5ID0gKHtcbiAgICBjbHViRGlzY291bnQsXG4gICAgYnJhbmRzLFxuICAgIHByaWNlcyxcbiAgICBnZW5kZXIsXG4gIH06IEZldGNoUHJvZHVjdHNGaWx0ZXJzKTogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxQcm9kdWN0PiA9PiB7XG4gICAgY29uc3QgZmlsdGVycyA9IHt9IGFzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8UHJvZHVjdD5cblxuICAgIGlmIChjbHViRGlzY291bnQ/Lmxlbmd0aClcbiAgICAgIHNldChmaWx0ZXJzLCAncHJpY2Uuc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZScsIHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogY2x1YkRpc2NvdW50IH0pXG4gICAgaWYgKGJyYW5kcz8ubGVuZ3RoKSBmaWx0ZXJzLmJyYW5kID0geyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBicmFuZHMgfVxuICAgIGlmIChnZW5kZXI/Lmxlbmd0aClcbiAgICAgIGZpbHRlcnMudGFncyA9IHtcbiAgICAgICAgb3BlcmF0b3I6IFdoZXJlLklOLFxuICAgICAgICB2YWx1ZTogZ2VuZGVyXG4gICAgICAgICAgLm1hcCgoZ2VuZGVyT3B0aW9ucykgPT5cbiAgICAgICAgICAgIGdlbmRlck9wdGlvbnMgPT09ICdmZW1hbGUnID8gJ2ZlbWluaW5vJyA6IGdlbmRlck9wdGlvbnMgPT09ICdtYWxlJyA/ICdtYXNjdWxpbm8nIDogbnVsbCxcbiAgICAgICAgICApXG4gICAgICAgICAgLmZpbHRlcihCb29sZWFuKSxcbiAgICAgIH1cbiAgICBpZiAocHJpY2VzPy5taW4gfHwgcHJpY2VzPy5tYXgpXG4gICAgICBzZXQoZmlsdGVycywgcHJpY2VzLnN1YnNjcmliZXJQcmljZSA/ICdwcmljZS5zdWJzY3JpYmVyUHJpY2UnIDogJ3ByaWNlLnByaWNlJywgW1xuICAgICAgICAuLi4ocHJpY2VzLm1pbiA/IFt7IG9wZXJhdG9yOiBXaGVyZS5HVEUsIHZhbHVlOiBwcmljZXMubWluIH1dIDogW10pLFxuICAgICAgICAuLi4ocHJpY2VzLm1heCA/IFt7IG9wZXJhdG9yOiBXaGVyZS5MVEUsIHZhbHVlOiBwcmljZXMubWF4IH1dIDogW10pLFxuICAgICAgXSlcblxuICAgIHJldHVybiBmaWx0ZXJzXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkU29ydFF1ZXJ5ID0gKHNvcnQ6IFByb2R1Y3RTb3J0KTogUmVwb3NpdG9yeU9yZGVyQnk8UHJvZHVjdD4gPT4ge1xuICAgIGlmICghc29ydCB8fCBzb3J0ID09PSAnbW9zdC1yZWxldmFudCcpIHJldHVybiB7fVxuXG4gICAgaWYgKHNvcnQgPT09ICdiZXN0LXNlbGxlcnMnKSByZXR1cm4geyBzaG9wcGluZ0NvdW50OiAnZGVzYycgfVxuICAgIGlmIChzb3J0ID09PSAnYmlnZ2VzdC1wcmljZScpIHJldHVybiB7IHByaWNlOiAnZGVzYycgfVxuICAgIGlmIChzb3J0ID09PSAnbG93ZXN0LXByaWNlJykgcmV0dXJuIHsgcHJpY2U6ICdhc2MnIH1cbiAgICBpZiAoc29ydCA9PT0gJ2Jlc3QtcmF0aW5nJykgcmV0dXJuIHsgcmF0ZTogJ2Rlc2MnIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRMaW1pdFF1ZXJ5ID0gKG9wdGlvbnM6IHsgcGFnZT86IG51bWJlcjsgcGVyUGFnZT86IG51bWJlciB9KTogeyBsaW1pdD86IG51bWJlcjsgb2Zmc2V0PzogbnVtYmVyIH0gPT4ge1xuICAgIGNvbnN0IGxpbWl0ID0gb3B0aW9ucz8ucGVyUGFnZSB8fCAyMFxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbWl0LFxuICAgICAgb2Zmc2V0OiAoKG9wdGlvbnM/LnBhZ2UgfHwgMSkgLSAxKSAqIGxpbWl0LFxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,9 +1,29 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
+ import { Where, } from '@infrab4a/connect';
2
3
  import * as i0 from "@angular/core";
3
4
  export class CategoryService {
4
- constructor(categoryFilterRepository) {
5
+ constructor(productRepository, categoryRepository, categoryFilterRepository) {
6
+ this.productRepository = productRepository;
7
+ this.categoryRepository = categoryRepository;
5
8
  this.categoryFilterRepository = categoryFilterRepository;
6
9
  }
10
+ async fetchBrands(category) {
11
+ const productsIds = category.products?.length
12
+ ? category.products
13
+ : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
14
+ const brands = await this.productRepository
15
+ .find({
16
+ filters: {
17
+ id: { operator: Where.IN, value: productsIds },
18
+ published: true,
19
+ },
20
+ fields: ['brand'],
21
+ })
22
+ .then(({ data }) => Object.keys(data.map((product) => product.brand).reduce((brands, brand) => ({ ...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
+ }
7
27
  async fetchSubCategories(category) {
8
28
  return [];
9
29
  }
@@ -18,12 +38,18 @@ export class CategoryService {
18
38
  : categoryFilters;
19
39
  }
20
40
  }
21
- CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, deps: [{ token: 'CategoryFilterRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, deps: [{ token: 'ProductRepository' }, { token: 'CategoryRepository' }, { token: 'CategoryFilterRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
22
42
  CategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService });
23
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, decorators: [{
24
44
  type: Injectable
25
45
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
46
+ type: Inject,
47
+ args: ['ProductRepository']
48
+ }] }, { type: undefined, decorators: [{
49
+ type: Inject,
50
+ args: ['CategoryRepository']
51
+ }] }, { type: undefined, decorators: [{
26
52
  type: Inject,
27
53
  args: ['CategoryFilterRepository']
28
54
  }] }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQU1sRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUN1RCx3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUN0RyxDQUFDO0lBRUosS0FBSyxDQUFDLGtCQUFrQixDQUFDLFFBQWtCO1FBQ3pDLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxRQUFrQixFQUFFLE9BQWtCO1FBQzdELE1BQU0sZUFBZSxHQUNuQixRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUN6QyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU87WUFDbEIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLHdCQUF3QjtpQkFDaEMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7aUJBQy9DLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBRWhGLE9BQU8sT0FBTyxFQUFFLE1BQU07WUFDcEIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQ3BCLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDakIsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN0RztZQUNILENBQUMsQ0FBQyxlQUFlLENBQUE7SUFDckIsQ0FBQzs7NEdBdkJVLGVBQWUsa0JBRWhCLDBCQUEwQjtnSEFGekIsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFHTixNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDYXRlZ29yeSwgQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5LCBGaWx0ZXIgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuaW1wb3J0IHsgQ2F0ZWdvcnlXaXRoVHJlZSB9IGZyb20gJy4vbW9kZWxzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeUZpbHRlclJlcG9zaXRvcnk6IENhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeSxcbiAgKSB7fVxuXG4gIGFzeW5jIGZldGNoU3ViQ2F0ZWdvcmllcyhjYXRlZ29yeTogQ2F0ZWdvcnkpOiBQcm9taXNlPENhdGVnb3J5V2l0aFRyZWVbXT4ge1xuICAgIHJldHVybiBbXVxuICB9XG5cbiAgYXN5bmMgZmV0Y2hGaWx0ZXJPcHRpb25zKGNhdGVnb3J5OiBDYXRlZ29yeSwgZmlsdGVycz86IHN0cmluZ1tdKTogUHJvbWlzZTxGaWx0ZXJbXT4ge1xuICAgIGNvbnN0IGNhdGVnb3J5RmlsdGVycyA9XG4gICAgICBjYXRlZ29yeS5maWx0ZXJzICYmIGNhdGVnb3J5LmZpbHRlcnMubGVuZ3RoXG4gICAgICAgID8gY2F0ZWdvcnkuZmlsdGVyc1xuICAgICAgICA6IGF3YWl0IHRoaXMuY2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5XG4gICAgICAgICAgICAuZmluZCh7IGZpbHRlcnM6IHsgY2F0ZWdvcnlJZDogK2NhdGVnb3J5LmlkIH0gfSlcbiAgICAgICAgICAgIC50aGVuKCh7IGRhdGEgfSkgPT4gZGF0YS5tYXAoKGNhdGVnb3J5RmlsdGVyKSA9PiBjYXRlZ29yeUZpbHRlci5maWx0ZXIpKVxuXG4gICAgcmV0dXJuIGZpbHRlcnM/Lmxlbmd0aFxuICAgICAgPyBjYXRlZ29yeUZpbHRlcnMuZmlsdGVyKFxuICAgICAgICAgIChjYXRlZ29yeUZpbHRlcikgPT5cbiAgICAgICAgICAgICFmaWx0ZXJzIHx8ICFmaWx0ZXJzLmxlbmd0aCB8fCBjYXRlZ29yeUZpbHRlci5vcHRpb25zLnNvbWUoKG9wdGlvbikgPT4gZmlsdGVycy5pbmNsdWRlcyhvcHRpb24uaWQpKSxcbiAgICAgICAgKVxuICAgICAgOiBjYXRlZ29yeUZpbHRlcnNcbiAgfVxufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFNTCxLQUFLLEdBQ04sTUFBTSxtQkFBbUIsQ0FBQTs7QUFJMUIsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFDZ0QsaUJBQW9DLEVBQ25DLGtCQUFzQyxFQUNoQyx3QkFBa0Q7UUFGekQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ2hDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7SUFDdEcsQ0FBQztJQUVKLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBa0I7UUFDbEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNO1lBQzNDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUTtZQUNuQixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzFHLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQjthQUN4QyxJQUFJLENBQUM7WUFDSixPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtnQkFDOUMsU0FBUyxFQUFFLElBQUk7YUFDaEI7WUFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUM7U0FDbEIsQ0FBQzthQUNELElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ2hILENBQUE7UUFFSCxPQUFPLElBQUksQ0FBQyxrQkFBa0I7YUFDM0IsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2FBQ3BFLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDOUYsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxRQUFrQjtRQUN6QyxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBa0IsRUFBRSxPQUFrQjtRQUM3RCxNQUFNLGVBQWUsR0FDbkIsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDekMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQ2xCLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyx3QkFBd0I7aUJBQ2hDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO2lCQUMvQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUVoRixPQUFPLE9BQU8sRUFBRSxNQUFNO1lBQ3BCLENBQUMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUNwQixDQUFDLGNBQWMsRUFBRSxFQUFFLENBQ2pCLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDdEc7WUFDSCxDQUFDLENBQUMsZUFBZSxDQUFBO0lBQ3JCLENBQUM7OzRHQTlDVSxlQUFlLGtCQUVoQixtQkFBbUIsYUFDbkIsb0JBQW9CLGFBQ3BCLDBCQUEwQjtnSEFKekIsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFHTixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2F0ZWdvcnksXG4gIENhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeSxcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICBGaWx0ZXIsXG4gIFByb2R1Y3RSZXBvc2l0b3J5LFxuICBXaGVyZSxcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5pbXBvcnQgeyBDYXRlZ29yeVdpdGhUcmVlIH0gZnJvbSAnLi9tb2RlbHMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdQcm9kdWN0UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoJ0NhdGVnb3J5UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlSZXBvc2l0b3J5OiBDYXRlZ29yeVJlcG9zaXRvcnksXG4gICAgQEluamVjdCgnQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeUZpbHRlclJlcG9zaXRvcnk6IENhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeSxcbiAgKSB7fVxuXG4gIGFzeW5jIGZldGNoQnJhbmRzKGNhdGVnb3J5OiBDYXRlZ29yeSk6IFByb21pc2U8Q2F0ZWdvcnlbXT4ge1xuICAgIGNvbnN0IHByb2R1Y3RzSWRzID0gY2F0ZWdvcnkucHJvZHVjdHM/Lmxlbmd0aFxuICAgICAgPyBjYXRlZ29yeS5wcm9kdWN0c1xuICAgICAgOiBhd2FpdCB0aGlzLmNhdGVnb3J5UmVwb3NpdG9yeS5nZXQoeyBpZDogY2F0ZWdvcnkuaWQgfSkudGhlbigoY2F0ZWdvcnlGb3VuZCkgPT4gY2F0ZWdvcnlGb3VuZC5wcm9kdWN0cylcbiAgICBjb25zdCBicmFuZHMgPSBhd2FpdCB0aGlzLnByb2R1Y3RSZXBvc2l0b3J5XG4gICAgICAuZmluZCh7XG4gICAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgICBpZDogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBwcm9kdWN0c0lkcyB9LFxuICAgICAgICAgIHB1Ymxpc2hlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZmllbGRzOiBbJ2JyYW5kJ10sXG4gICAgICB9KVxuICAgICAgLnRoZW4oKHsgZGF0YSB9KSA9PlxuICAgICAgICBPYmplY3Qua2V5cyhkYXRhLm1hcCgocHJvZHVjdCkgPT4gcHJvZHVjdC5icmFuZCkucmVkdWNlKChicmFuZHMsIGJyYW5kKSA9PiAoeyAuLi5icmFuZHMsIFticmFuZF06IHRydWUgfSksIHt9KSksXG4gICAgICApXG5cbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeVJlcG9zaXRvcnlcbiAgICAgIC5maW5kKHsgZmlsdGVyczogeyBicmFuZENhdGVnb3J5OiB0cnVlIH0sIG9yZGVyQnk6IHsgbmFtZTogJ2FzYycgfSB9KVxuICAgICAgLnRoZW4oKHsgZGF0YSB9KSA9PiBkYXRhLmZpbHRlcigoY2F0ZWdvcnkpID0+IGJyYW5kcy5pbmNsdWRlcyhjYXRlZ29yeS5jb25kaXRpb25zLmJyYW5kKSkpXG4gIH1cblxuICBhc3luYyBmZXRjaFN1YkNhdGVnb3JpZXMoY2F0ZWdvcnk6IENhdGVnb3J5KTogUHJvbWlzZTxDYXRlZ29yeVdpdGhUcmVlW10+IHtcbiAgICByZXR1cm4gW11cbiAgfVxuXG4gIGFzeW5jIGZldGNoRmlsdGVyT3B0aW9ucyhjYXRlZ29yeTogQ2F0ZWdvcnksIGZpbHRlcnM/OiBzdHJpbmdbXSk6IFByb21pc2U8RmlsdGVyW10+IHtcbiAgICBjb25zdCBjYXRlZ29yeUZpbHRlcnMgPVxuICAgICAgY2F0ZWdvcnkuZmlsdGVycyAmJiBjYXRlZ29yeS5maWx0ZXJzLmxlbmd0aFxuICAgICAgICA/IGNhdGVnb3J5LmZpbHRlcnNcbiAgICAgICAgOiBhd2FpdCB0aGlzLmNhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeVxuICAgICAgICAgICAgLmZpbmQoeyBmaWx0ZXJzOiB7IGNhdGVnb3J5SWQ6ICtjYXRlZ29yeS5pZCB9IH0pXG4gICAgICAgICAgICAudGhlbigoeyBkYXRhIH0pID0+IGRhdGEubWFwKChjYXRlZ29yeUZpbHRlcikgPT4gY2F0ZWdvcnlGaWx0ZXIuZmlsdGVyKSlcblxuICAgIHJldHVybiBmaWx0ZXJzPy5sZW5ndGhcbiAgICAgID8gY2F0ZWdvcnlGaWx0ZXJzLmZpbHRlcihcbiAgICAgICAgICAoY2F0ZWdvcnlGaWx0ZXIpID0+XG4gICAgICAgICAgICAhZmlsdGVycyB8fCAhZmlsdGVycy5sZW5ndGggfHwgY2F0ZWdvcnlGaWx0ZXIub3B0aW9ucy5zb21lKChvcHRpb24pID0+IGZpbHRlcnMuaW5jbHVkZXMob3B0aW9uLmlkKSksXG4gICAgICAgIClcbiAgICAgIDogY2F0ZWdvcnlGaWx0ZXJzXG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, NgModule, PLATFORM_ID, Injectable, Inject } from '@angular/core';
3
3
  import * as i3 from '@infrab4a/connect';
4
- import { Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ProductsIndex, AxiosAdapter, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, ProductVariantFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, VariantHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, Category, CheckoutSubscription, Product, RequiredArgumentError, add, Order } from '@infrab4a/connect';
4
+ import { Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ProductsIndex, AxiosAdapter, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, ProductVariantFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, VariantHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, Category, CheckoutSubscription, Product, RequiredArgumentError, add, Order } from '@infrab4a/connect';
5
5
  import * as i1 from '@angular/fire/app';
6
6
  import { provideFirebaseApp, initializeApp } from '@angular/fire/app';
7
7
  import * as i1$1 from '@angular/fire/auth';
@@ -1421,13 +1421,37 @@ class CatalogService {
1421
1421
  constructor(productRepository, categoryRepository) {
1422
1422
  this.productRepository = productRepository;
1423
1423
  this.categoryRepository = categoryRepository;
1424
- this.buildFilterQuery = (category, filters) => { };
1424
+ this.buildFilterQuery = ({ clubDiscount, brands, prices, gender, }) => {
1425
+ const filters = {};
1426
+ if (clubDiscount === null || clubDiscount === void 0 ? void 0 : clubDiscount.length)
1427
+ set(filters, 'price.subscriberDiscountPercentage', { operator: Where.IN, value: clubDiscount });
1428
+ if (brands === null || brands === void 0 ? void 0 : brands.length)
1429
+ filters.brand = { operator: Where.IN, value: brands };
1430
+ if (gender === null || gender === void 0 ? void 0 : gender.length)
1431
+ filters.tags = {
1432
+ operator: Where.IN,
1433
+ value: gender
1434
+ .map((genderOptions) => genderOptions === 'female' ? 'feminino' : genderOptions === 'male' ? 'masculino' : null)
1435
+ .filter(Boolean),
1436
+ };
1437
+ if ((prices === null || prices === void 0 ? void 0 : prices.min) || (prices === null || prices === void 0 ? void 0 : prices.max))
1438
+ set(filters, prices.subscriberPrice ? 'price.subscriberPrice' : 'price.price', [
1439
+ ...(prices.min ? [{ operator: Where.GTE, value: prices.min }] : []),
1440
+ ...(prices.max ? [{ operator: Where.LTE, value: prices.max }] : []),
1441
+ ]);
1442
+ return filters;
1443
+ };
1425
1444
  this.buildSortQuery = (sort) => {
1426
- const query = {
1427
- stock: 'desc',
1428
- gender: 'asc',
1429
- };
1430
- return query;
1445
+ if (!sort || sort === 'most-relevant')
1446
+ return {};
1447
+ if (sort === 'best-sellers')
1448
+ return { shoppingCount: 'desc' };
1449
+ if (sort === 'biggest-price')
1450
+ return { price: 'desc' };
1451
+ if (sort === 'lowest-price')
1452
+ return { price: 'asc' };
1453
+ if (sort === 'best-rating')
1454
+ return { rate: 'desc' };
1431
1455
  };
1432
1456
  this.buildLimitQuery = (options) => {
1433
1457
  const limit = (options === null || options === void 0 ? void 0 : options.perPage) || 20;
@@ -1438,20 +1462,22 @@ class CatalogService {
1438
1462
  };
1439
1463
  }
1440
1464
  fetchProducts(category, options) {
1465
+ var _a;
1441
1466
  return __awaiter(this, void 0, void 0, function* () {
1442
- const productsIds = category.products.length
1467
+ const productsIds = ((_a = category.products) === null || _a === void 0 ? void 0 : _a.length)
1443
1468
  ? category.products
1444
1469
  : yield this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
1445
1470
  const limits = this.buildLimitQuery(options);
1446
1471
  return yield this.productRepository
1447
- .find({
1448
- filters: {
1449
- id: { operator: Where.IN, value: productsIds },
1450
- published: true,
1472
+ .find(Object.assign(Object.assign({ filters: Object.assign({ id: { operator: Where.IN, value: productsIds }, published: true }, 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'] } }))
1473
+ .then(({ data, count: total, maximum, minimal }) => ({
1474
+ products: { data, total },
1475
+ pages: Math.ceil(total / limits.limit),
1476
+ prices: {
1477
+ price: { min: minimal.price.price, max: maximum.price.price },
1478
+ subscriberPrice: { min: minimal.price.subscriberPrice, max: maximum.price.subscriberPrice },
1451
1479
  },
1452
- limits,
1453
- })
1454
- .then(({ data, count: total }) => ({ products: data, pages: Math.ceil(total / limits.limit), total }));
1480
+ }));
1455
1481
  });
1456
1482
  }
1457
1483
  }
@@ -1470,9 +1496,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1470
1496
  } });
1471
1497
 
1472
1498
  class CategoryService {
1473
- constructor(categoryFilterRepository) {
1499
+ constructor(productRepository, categoryRepository, categoryFilterRepository) {
1500
+ this.productRepository = productRepository;
1501
+ this.categoryRepository = categoryRepository;
1474
1502
  this.categoryFilterRepository = categoryFilterRepository;
1475
1503
  }
1504
+ fetchBrands(category) {
1505
+ var _a;
1506
+ return __awaiter(this, void 0, void 0, function* () {
1507
+ const productsIds = ((_a = category.products) === null || _a === void 0 ? void 0 : _a.length)
1508
+ ? category.products
1509
+ : yield this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
1510
+ const brands = yield this.productRepository
1511
+ .find({
1512
+ filters: {
1513
+ id: { operator: Where.IN, value: productsIds },
1514
+ published: true,
1515
+ },
1516
+ fields: ['brand'],
1517
+ })
1518
+ .then(({ data }) => Object.keys(data.map((product) => product.brand).reduce((brands, brand) => (Object.assign(Object.assign({}, brands), { [brand]: true })), {})));
1519
+ return this.categoryRepository
1520
+ .find({ filters: { brandCategory: true }, orderBy: { name: 'asc' } })
1521
+ .then(({ data }) => data.filter((category) => brands.includes(category.conditions.brand)));
1522
+ });
1523
+ }
1476
1524
  fetchSubCategories(category) {
1477
1525
  return __awaiter(this, void 0, void 0, function* () {
1478
1526
  return [];
@@ -1491,12 +1539,18 @@ class CategoryService {
1491
1539
  });
1492
1540
  }
1493
1541
  }
1494
- CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, deps: [{ token: 'CategoryFilterRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
1542
+ CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, deps: [{ token: 'ProductRepository' }, { token: 'CategoryRepository' }, { token: 'CategoryFilterRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
1495
1543
  CategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService });
1496
1544
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, decorators: [{
1497
1545
  type: Injectable
1498
1546
  }], ctorParameters: function () {
1499
1547
  return [{ type: undefined, decorators: [{
1548
+ type: Inject,
1549
+ args: ['ProductRepository']
1550
+ }] }, { type: undefined, decorators: [{
1551
+ type: Inject,
1552
+ args: ['CategoryRepository']
1553
+ }] }, { type: undefined, decorators: [{
1500
1554
  type: Inject,
1501
1555
  args: ['CategoryFilterRepository']
1502
1556
  }] }];