@infrab4a/connect 0.16.3-beta.0 → 0.16.3-beta.1
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.
- package/bundles/infrab4a-connect.umd.js +8 -50
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/users/models/user.d.ts +1 -0
- package/esm2015/domain/users/models/user.js +1 -1
- package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +7 -20
- package/fesm2015/infrab4a-connect.js +6 -18
- package/fesm2015/infrab4a-connect.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,6 +17,7 @@ export declare class User extends BaseModel<User> implements IdentifierFields<Us
|
|
|
17
17
|
area?: Area;
|
|
18
18
|
officePosition?: OfficePosition;
|
|
19
19
|
isSubscriber?: boolean;
|
|
20
|
+
subscriptionPlan?: string;
|
|
20
21
|
beautyProfile?: BeautyProfile;
|
|
21
22
|
static toInstance<T>(this: new () => Partial<T>, data: NonFunctionProperties<T> & NonFunctionProperties<User>): T;
|
|
22
23
|
identifierFields(): NonFunctionPropertyNames<User>[];
|
|
@@ -23,4 +23,4 @@ __decorate([
|
|
|
23
23
|
Type(() => BeautyProfile),
|
|
24
24
|
__metadata("design:type", BeautyProfile)
|
|
25
25
|
], User.prototype, "beautyProfile", void 0);
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi91c2Vycy9tb2RlbHMvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXhDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUUxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFJdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWhELE1BQU0sT0FBTyxJQUFLLFNBQVEsU0FBZTtJQW1CdkMsTUFBTSxDQUFDLFVBQVUsQ0FBZ0MsSUFBNEQ7UUFDM0csTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBTyxJQUFJLENBQUMsQ0FBQTtRQUU3QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDeEIsUUFBUSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUE7UUFFL0YsT0FBTyxRQUFlLENBQUE7SUFDeEIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdCLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQTtRQUUxQixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7Q0FDRjtBQXRCQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7OEJBQ1YsYUFBYTsyQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcclxuXHJcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gJy4uLy4uL2dlbmVyYWwvbW9kZWwvYmFzZS5tb2RlbCdcclxuaW1wb3J0IHsgSWRlbnRpZmllckZpZWxkcyB9IGZyb20gJy4uLy4uL2dlbmVyYWwvbW9kZWwvaWRlbnRpZmllci1maWVsZHMnXHJcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXHJcbmltcG9ydCB7IE5vbkZ1bmN0aW9uUHJvcGVydGllcywgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzIH0gZnJvbSAnLi4vLi4vZ2VuZXJhbC9tb2RlbC90eXBlcydcclxuXHJcbmltcG9ydCB7IEFyZWEsIE9mZmljZVBvc2l0aW9uLCBVc2VyVHlwZSB9IGZyb20gJy4vZW51bXMnXHJcbmltcG9ydCB7IEJlYXV0eVByb2ZpbGUgfSBmcm9tICcuL2JlYXV0eS1wcm9maWxlJ1xyXG5cclxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBCYXNlTW9kZWw8VXNlcj4gaW1wbGVtZW50cyBJZGVudGlmaWVyRmllbGRzPFVzZXI+IHtcclxuICBpZDogc3RyaW5nXHJcbiAgY3BmPzogc3RyaW5nXHJcbiAgZW1haWw6IHN0cmluZ1xyXG4gIGZpcnN0TmFtZTogc3RyaW5nXHJcbiAgbGFzdE5hbWU6IHN0cmluZ1xyXG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nXHJcbiAgcGhvbmU6IHN0cmluZ1xyXG4gIGJpcnRoZGF5PzogRGF0ZVxyXG4gIGFjY2VwdHNOZXdzbGV0dGVyOiBib29sZWFuXHJcbiAgdHlwZT86IFVzZXJUeXBlXHJcbiAgYXJlYT86IEFyZWFcclxuICBvZmZpY2VQb3NpdGlvbj86IE9mZmljZVBvc2l0aW9uXHJcbiAgaXNTdWJzY3JpYmVyPzogYm9vbGVhblxyXG4gIHN1YnNjcmlwdGlvblBsYW4/OiBzdHJpbmdcclxuXHJcbiAgQFR5cGUoKCkgPT4gQmVhdXR5UHJvZmlsZSlcclxuICBiZWF1dHlQcm9maWxlPzogQmVhdXR5UHJvZmlsZVxyXG5cclxuICBzdGF0aWMgdG9JbnN0YW5jZTxUPih0aGlzOiBuZXcgKCkgPT4gUGFydGlhbDxUPiwgZGF0YTogTm9uRnVuY3Rpb25Qcm9wZXJ0aWVzPFQ+ICYgTm9uRnVuY3Rpb25Qcm9wZXJ0aWVzPFVzZXI+KTogVCB7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IHN1cGVyLnRvSW5zdGFuY2U8VXNlcj4oZGF0YSlcclxuXHJcbiAgICBpZiAoIWlzTmlsKGRhdGEuZmlyc3ROYW1lKSlcclxuICAgICAgaW5zdGFuY2UuZGlzcGxheU5hbWUgPSBgJHtkYXRhLmZpcnN0TmFtZX0keyFpc05pbChkYXRhLmxhc3ROYW1lKSA/IGAgJHtkYXRhLmxhc3ROYW1lfWAgOiAnJ31gXHJcblxyXG4gICAgcmV0dXJuIGluc3RhbmNlIGFzIGFueVxyXG4gIH1cclxuXHJcbiAgaWRlbnRpZmllckZpZWxkcygpOiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VXNlcj5bXSB7XHJcbiAgICByZXR1cm4gWydpZCddXHJcbiAgfVxyXG5cclxuICB0b1BsYWluKCk6IGFueSB7XHJcbiAgICBjb25zdCBwbGFpbiA9IHN1cGVyLnRvUGxhaW4oKVxyXG5cclxuICAgIGRlbGV0ZSBwbGFpbi5iZWF1dHlQcm9maWxlXHJcblxyXG4gICAgcmV0dXJuIHBsYWluXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { chunk } from 'lodash';
|
|
3
2
|
import { Base } from '../../../../../utils';
|
|
4
|
-
import { Category
|
|
3
|
+
import { Category } from '../../../../../domain';
|
|
5
4
|
import { DuplicatedResultsError, NotFoundError, RequiredArgumentError } from '../../../../../errors';
|
|
6
5
|
import { withCrudFirestore, withFirestore, withHelpers } from '../../mixins';
|
|
7
6
|
export class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
|
|
@@ -49,24 +48,12 @@ export class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(w
|
|
|
49
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
50
49
|
if (!category.products)
|
|
51
50
|
throw new RequiredArgumentError(['Category products is empty']);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
break;
|
|
58
|
-
let query = yield this.collection('products').where(publishedField, '==', true).where('id', 'in', productIds);
|
|
59
|
-
if (options === null || options === void 0 ? void 0 : options.hasStock)
|
|
60
|
-
query = query.where('stock.quantity', '>', 0);
|
|
61
|
-
if (options === null || options === void 0 ? void 0 : options.limit)
|
|
62
|
-
query = query.limit(options === null || options === void 0 ? void 0 : options.limit);
|
|
63
|
-
const productSnap = yield query.get();
|
|
64
|
-
if (productSnap.empty)
|
|
65
|
-
continue;
|
|
66
|
-
products.push(...productSnap.docs.map((doc) => doc.data()));
|
|
67
|
-
}
|
|
68
|
-
return products;
|
|
51
|
+
return this.productsIndex.findById(category.products, {
|
|
52
|
+
hasStock: options === null || options === void 0 ? void 0 : options.hasStock,
|
|
53
|
+
size: options === null || options === void 0 ? void 0 : options.limit,
|
|
54
|
+
shop: category.shop,
|
|
55
|
+
});
|
|
69
56
|
});
|
|
70
57
|
}
|
|
71
58
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlyZXN0b3JlLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvcmVwb3NpdG9yaWVzL2NhdGFsb2cvY2F0ZWdvcnktZmlyZXN0b3JlLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFzQyxNQUFNLHVCQUF1QixDQUFBO0FBQ3BGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUVwRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU1RSxNQUFNLE9BQU8sMkJBQ1gsU0FBUSxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFXLElBQUksQ0FBQyxDQUFDLENBQUM7SUFHckUsWUFBcUIsU0FBNEIsRUFBbUIsYUFBNEI7UUFDOUYsS0FBSyxFQUFFLENBQUE7UUFEWSxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUFtQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUU5RixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQTtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQTtJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBWSxFQUFFLElBQVc7UUFDekMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7YUFDeEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2FBQ3pCLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQzthQUN6QixLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7YUFDOUIsR0FBRyxFQUFFO2FBQ0wsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQztnQkFBRSxNQUFNLElBQUksc0JBQXNCLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtZQUV2RixJQUFJLElBQUksQ0FBQyxLQUFLO2dCQUFFLE1BQU0sSUFBSSxhQUFhLENBQUMsc0JBQXNCLElBQUksWUFBWSxDQUFDLENBQUE7WUFFL0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQzVCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVLLG9CQUFvQixDQUFDLFdBQXFCLEVBQUUsS0FBSyxHQUFHLENBQUM7O1lBQ3pELE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2lCQUM1RCxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM5QyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7aUJBQzlCLEdBQUcsRUFBRSxDQUFBO1lBRVIsSUFBSSxZQUFZLENBQUMsS0FBSztnQkFBRSxNQUFNLElBQUksYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUE7WUFFdkUsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBQzdELE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDcEMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFPLFFBQVEsRUFBRSxFQUFFO2dCQUFDLE9BQUEsQ0FBQztvQkFDbEMsUUFBUTtvQkFDUixRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ3hFLENBQUMsQ0FBQTtjQUFBLENBQUMsQ0FDSixDQUFBO1lBRUQsT0FBTyxZQUFZLENBQUE7UUFDckIsQ0FBQztLQUFBO0lBRUssYUFBYSxDQUFDLFFBQWtCLEVBQUUsT0FBZ0Q7O1lBQ3RGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUTtnQkFBRSxNQUFNLElBQUkscUJBQXFCLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUE7WUFFdkYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2dCQUNwRCxRQUFRLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVE7Z0JBQzNCLElBQUksRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsS0FBSztnQkFDcEIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3BCLENBQUMsQ0FBQTtRQUNKLENBQUM7S0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlyZWJhc2VGaXJlc3RvcmUgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBDYXRlZ29yeSwgQ2F0ZWdvcnlSZXBvc2l0b3J5LCBQcm9kdWN0LCBTaG9wcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgRHVwbGljYXRlZFJlc3VsdHNFcnJvciwgTm90Rm91bmRFcnJvciwgUmVxdWlyZWRBcmd1bWVudEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZXJyb3JzJ1xyXG5pbXBvcnQgeyBQcm9kdWN0c0luZGV4IH0gZnJvbSAnLi4vLi4vLi4vLi4vZWxhc3RpY3NlYXJjaCdcclxuaW1wb3J0IHsgd2l0aENydWRGaXJlc3RvcmUsIHdpdGhGaXJlc3RvcmUsIHdpdGhIZWxwZXJzIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xyXG5cclxuZXhwb3J0IGNsYXNzIENhdGVnb3J5RmlyZXN0b3JlUmVwb3NpdG9yeVxyXG4gIGV4dGVuZHMgd2l0aENydWRGaXJlc3RvcmUod2l0aEhlbHBlcnMod2l0aEZpcmVzdG9yZTxDYXRlZ29yeT4oQmFzZSkpKVxyXG4gIGltcGxlbWVudHMgQ2F0ZWdvcnlSZXBvc2l0b3J5XHJcbntcclxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmaXJlc3RvcmU6IEZpcmViYXNlRmlyZXN0b3JlLCBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RzSW5kZXg6IFByb2R1Y3RzSW5kZXgpIHtcclxuICAgIHN1cGVyKClcclxuICAgIHRoaXMuY29sbGVjdGlvbk5hbWUgPSAnY2F0ZWdvcmllcydcclxuICAgIHRoaXMubW9kZWwgPSBDYXRlZ29yeVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0ZWdvcnlCeVNsdWcoc2x1Zzogc3RyaW5nLCBzaG9wOiBTaG9wcyk6IFByb21pc2U8Q2F0ZWdvcnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb24odGhpcy5jb2xsZWN0aW9uTmFtZSlcclxuICAgICAgLndoZXJlKCdzbHVnJywgJz09Jywgc2x1ZylcclxuICAgICAgLndoZXJlKCdzaG9wJywgJz09Jywgc2hvcClcclxuICAgICAgLndoZXJlKCdwdWJsaXNoZWQnLCAnPT0nLCB0cnVlKVxyXG4gICAgICAuZ2V0KClcclxuICAgICAgLnRoZW4oKHNuYXApID0+IHtcclxuICAgICAgICBpZiAoc25hcC5zaXplID4gMSkgdGhyb3cgbmV3IER1cGxpY2F0ZWRSZXN1bHRzRXJyb3IoJ1F1ZXJ5IHJldHVybmVkIGR1cGxpY2F0ZWQgdmFsdWVzJylcclxuXHJcbiAgICAgICAgaWYgKHNuYXAuZW1wdHkpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBEb2N1bWVudCB3aXRoIHNsdWcgJHtzbHVnfSBub3QgZm91bmRgKVxyXG5cclxuICAgICAgICByZXR1cm4gc25hcC5kb2NzWzBdLmRhdGEoKVxyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiBlcnJvcilcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldENhdGVnb3JpZXNGb3JIb21lKGNhdGVnb3J5SWRzOiBzdHJpbmdbXSwgbGltaXQgPSA0KTogUHJvbWlzZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcclxuICAgIGNvbnN0IGNhdGVnb3J5U25hcCA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbih0aGlzLmNvbGxlY3Rpb25OYW1lKVxyXG4gICAgICAud2hlcmUoJ2lkJywgJ2luJywgY2F0ZWdvcnlJZHMuZmlsdGVyKEJvb2xlYW4pKVxyXG4gICAgICAud2hlcmUoJ3B1Ymxpc2hlZCcsICc9PScsIHRydWUpXHJcbiAgICAgIC5nZXQoKVxyXG5cclxuICAgIGlmIChjYXRlZ29yeVNuYXAuZW1wdHkpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKCdDYXRlZ29yaWVzIG5vdCBmb3VuZCcpXHJcblxyXG4gICAgY29uc3QgY2F0ZWdvcmllcyA9IGNhdGVnb3J5U25hcC5kb2NzLm1hcCgoZG9jKSA9PiBkb2MuZGF0YSgpKVxyXG4gICAgY29uc3QgaG9tZVNlY3Rpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgIGNhdGVnb3JpZXMubWFwKGFzeW5jIChjYXRlZ29yeSkgPT4gKHtcclxuICAgICAgICBjYXRlZ29yeSxcclxuICAgICAgICBwcm9kdWN0czogYXdhaXQgdGhpcy5tb3VudENhdGVnb3J5KGNhdGVnb3J5LCB7IGxpbWl0LCBoYXNTdG9jazogdHJ1ZSB9KSxcclxuICAgICAgfSkpLFxyXG4gICAgKVxyXG5cclxuICAgIHJldHVybiBob21lU2VjdGlvbnNcclxuICB9XHJcblxyXG4gIGFzeW5jIG1vdW50Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5LCBvcHRpb25zPzogeyBsaW1pdD86IG51bWJlcjsgaGFzU3RvY2s/OiBib29sZWFuIH0pOiBQcm9taXNlPFByb2R1Y3RbXT4ge1xyXG4gICAgaWYgKCFjYXRlZ29yeS5wcm9kdWN0cykgdGhyb3cgbmV3IFJlcXVpcmVkQXJndW1lbnRFcnJvcihbJ0NhdGVnb3J5IHByb2R1Y3RzIGlzIGVtcHR5J10pXHJcblxyXG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdHNJbmRleC5maW5kQnlJZChjYXRlZ29yeS5wcm9kdWN0cywge1xyXG4gICAgICBoYXNTdG9jazogb3B0aW9ucz8uaGFzU3RvY2ssXHJcbiAgICAgIHNpemU6IG9wdGlvbnM/LmxpbWl0LFxyXG4gICAgICBzaG9wOiBjYXRlZ29yeS5zaG9wLFxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -2,7 +2,7 @@ import 'reflect-metadata';
|
|
|
2
2
|
import { plainToClass, classToPlain, Expose, Type } from 'class-transformer';
|
|
3
3
|
import { __decorate, __metadata, __awaiter } from 'tslib';
|
|
4
4
|
export { add, sub } from 'date-fns';
|
|
5
|
-
import { isNil, isNumber, isString, isDate, set, isObject, isEmpty
|
|
5
|
+
import { isNil, isNumber, isString, isDate, set, isObject, isEmpty } from 'lodash';
|
|
6
6
|
export { chunk, get, isDate, isEmpty, isNil, isNumber, isObject, isString, pick, set } from 'lodash';
|
|
7
7
|
import { Md5 } from 'ts-md5';
|
|
8
8
|
import axios from 'axios';
|
|
@@ -1491,23 +1491,11 @@ class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(withFire
|
|
|
1491
1491
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1492
1492
|
if (!category.products)
|
|
1493
1493
|
throw new RequiredArgumentError(['Category products is empty']);
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
break;
|
|
1500
|
-
let query = yield this.collection('products').where(publishedField, '==', true).where('id', 'in', productIds);
|
|
1501
|
-
if (options === null || options === void 0 ? void 0 : options.hasStock)
|
|
1502
|
-
query = query.where('stock.quantity', '>', 0);
|
|
1503
|
-
if (options === null || options === void 0 ? void 0 : options.limit)
|
|
1504
|
-
query = query.limit(options === null || options === void 0 ? void 0 : options.limit);
|
|
1505
|
-
const productSnap = yield query.get();
|
|
1506
|
-
if (productSnap.empty)
|
|
1507
|
-
continue;
|
|
1508
|
-
products.push(...productSnap.docs.map((doc) => doc.data()));
|
|
1509
|
-
}
|
|
1510
|
-
return products;
|
|
1494
|
+
return this.productsIndex.findById(category.products, {
|
|
1495
|
+
hasStock: options === null || options === void 0 ? void 0 : options.hasStock,
|
|
1496
|
+
size: options === null || options === void 0 ? void 0 : options.limit,
|
|
1497
|
+
shop: category.shop,
|
|
1498
|
+
});
|
|
1511
1499
|
});
|
|
1512
1500
|
}
|
|
1513
1501
|
}
|