@infrab4a/connect 0.16.10 → 0.17.0-beta.0
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 +27 -59
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/catalog/repositories/category.repository.d.ts +6 -1
- package/domain/users/models/subscription/edition.d.ts +0 -2
- package/domain/users/models/user-payment-method.d.ts +0 -1
- package/domain/users/models/user.d.ts +0 -3
- package/esm2015/domain/catalog/repositories/category.repository.js +1 -1
- package/esm2015/domain/users/models/subscription/edition.js +1 -1
- package/esm2015/domain/users/models/user-payment-method.js +1 -1
- package/esm2015/domain/users/models/user.js +1 -1
- package/esm2015/infra/elasticsearch/indexes/products-index.js +13 -2
- package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +14 -26
- package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +2 -2
- package/fesm2015/infrab4a-connect.js +24 -25
- package/fesm2015/infrab4a-connect.js.map +1 -1
- package/infra/elasticsearch/indexes/products-index.d.ts +1 -0
- package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +9 -2
- package/package.json +1 -1
|
@@ -4,12 +4,17 @@ import { Shops } from '../models/enums/shops.enum';
|
|
|
4
4
|
import { Product } from '../models';
|
|
5
5
|
export interface CategoryRepository extends CrudRepository<Category> {
|
|
6
6
|
getCategoryBySlug(slug: string, shop: Shops): Promise<Category>;
|
|
7
|
-
getCategoriesForHome(categoryIds: string[],
|
|
7
|
+
getCategoriesForHome(categoryIds: string[], options?: {
|
|
8
|
+
limit?: number;
|
|
9
|
+
hasStock?: boolean;
|
|
10
|
+
stock?: number;
|
|
11
|
+
}): Promise<{
|
|
8
12
|
category: Category;
|
|
9
13
|
products: Product[];
|
|
10
14
|
}[]>;
|
|
11
15
|
mountCategory(category: Category, options?: {
|
|
12
16
|
limit?: number;
|
|
13
17
|
hasStock?: boolean;
|
|
18
|
+
stock?: number;
|
|
14
19
|
}): Promise<Product[]>;
|
|
15
20
|
}
|
|
@@ -17,9 +17,6 @@ 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;
|
|
21
|
-
badgeId?: number;
|
|
22
|
-
badgeMultiplier?: number;
|
|
23
20
|
beautyProfile?: BeautyProfile;
|
|
24
21
|
static toInstance<T>(this: new () => Partial<T>, data: NonFunctionProperties<T> & NonFunctionProperties<User>): T;
|
|
25
22
|
identifierFields(): NonFunctionPropertyNames<User>[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi9jYXRhbG9nL3JlcG9zaXRvcmllcy9jYXRlZ29yeS5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4uL21vZGVscy9jYXRlZ29yeSdcbmltcG9ydCB7IENydWRSZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vZ2VuZXJhbC9yZXBvc2l0b3J5L2NydWQucmVwb3NpdG9yeSdcbmltcG9ydCB7IFNob3BzIH0gZnJvbSAnLi4vbW9kZWxzL2VudW1zL3Nob3BzLmVudW0nXG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi4vbW9kZWxzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIENhdGVnb3J5UmVwb3NpdG9yeSBleHRlbmRzIENydWRSZXBvc2l0b3J5PENhdGVnb3J5PiB7XG4gIGdldENhdGVnb3J5QnlTbHVnKHNsdWc6IHN0cmluZywgc2hvcDogU2hvcHMpOiBQcm9taXNlPENhdGVnb3J5PlxuICBnZXRDYXRlZ29yaWVzRm9ySG9tZShcbiAgICBjYXRlZ29yeUlkczogc3RyaW5nW10sXG4gICAgb3B0aW9ucz86IHsgbGltaXQ/OiBudW1iZXI7IGhhc1N0b2NrPzogYm9vbGVhbjsgc3RvY2s/OiBudW1iZXIgfSxcbiAgKTogUHJvbWlzZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+XG4gIG1vdW50Q2F0ZWdvcnkoXG4gICAgY2F0ZWdvcnk6IENhdGVnb3J5LFxuICAgIG9wdGlvbnM/OiB7IGxpbWl0PzogbnVtYmVyOyBoYXNTdG9jaz86IGJvb2xlYW47IHN0b2NrPzogbnVtYmVyIH0sXG4gICk6IFByb21pc2U8UHJvZHVjdFtdPlxufVxuIl19
|
|
@@ -4,4 +4,4 @@ export class Edition extends BaseModel {
|
|
|
4
4
|
return ['id'];
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi91c2Vycy9tb2RlbHMvc3Vic2NyaXB0aW9uL2VkaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBTTdELE1BQU0sT0FBTyxPQUFRLFNBQVEsU0FBa0I7SUFVN0MsZ0JBQWdCO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZ2VuZXJhbC9tb2RlbC9iYXNlLm1vZGVsJ1xuaW1wb3J0IHsgSWRlbnRpZmllckZpZWxkcyB9IGZyb20gJy4uLy4uLy4uL2dlbmVyYWwvbW9kZWwvaWRlbnRpZmllci1maWVsZHMnXG5pbXBvcnQgeyBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmFsL21vZGVsL3R5cGVzL25vbi1mdW5jdGlvbi1wcm9wZXJ0eS1uYW1lLnR5cGUnXG5cbmltcG9ydCB7IEVkaXRpb25TdGF0dXMsIEJpbGxpbmdTdGF0dXMgfSBmcm9tICcuL2VudW1zJ1xuXG5leHBvcnQgY2xhc3MgRWRpdGlvbiBleHRlbmRzIEJhc2VNb2RlbDxFZGl0aW9uPiBpbXBsZW1lbnRzIElkZW50aWZpZXJGaWVsZHM8RWRpdGlvbj4ge1xuICBpZDogc3RyaW5nXG4gIHN1YnNjcmlwdGlvbklkOiBzdHJpbmdcbiAgYmlsbGluZ1N0YXR1czogQmlsbGluZ1N0YXR1c1xuICBlZGl0aW9uSWQ6IG51bWJlclxuICBlZGl0aW9uU3RhdHVzOiBFZGl0aW9uU3RhdHVzXG4gIGluc3RhbGxtZW50OiBudW1iZXJcbiAgcGF5bWVudElkOiBzdHJpbmdcbiAgZHJhZnRJZD86IHN0cmluZ1xuXG4gIGlkZW50aWZpZXJGaWVsZHMoKTogTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPEVkaXRpb24+W10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
|
|
@@ -4,4 +4,4 @@ export class UserPaymentMethod extends BaseModel {
|
|
|
4
4
|
return ['id'];
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wYXltZW50LW1ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi91c2Vycy9tb2RlbHMvdXNlci1wYXltZW50LW1ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFHMUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFNBQTRCO0lBVWpFLGdCQUFnQjtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gJy4uLy4uL2dlbmVyYWwvbW9kZWwvYmFzZS5tb2RlbCdcbmltcG9ydCB7IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lcyB9IGZyb20gJy4uLy4uL2dlbmVyYWwvbW9kZWwvdHlwZXMvbm9uLWZ1bmN0aW9uLXByb3BlcnR5LW5hbWUudHlwZSdcblxuZXhwb3J0IGNsYXNzIFVzZXJQYXltZW50TWV0aG9kIGV4dGVuZHMgQmFzZU1vZGVsPFVzZXJQYXltZW50TWV0aG9kPiB7XG4gIGJyYW5kOiBzdHJpbmdcbiAgY3BmOiBzdHJpbmdcbiAgaG9sZGVyTmFtZTogc3RyaW5nXG4gIGxhc3Q0OiBzdHJpbmdcbiAgcGFnYXJtZVRva2VuOiBzdHJpbmdcbiAgdmFsaWRVbnRpbDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIGlkOiBzdHJpbmdcblxuICBpZGVudGlmaWVyRmllbGRzKCk6IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxVc2VyUGF5bWVudE1ldGhvZD5bXSB7XG4gICAgcmV0dXJuIFsnaWQnXVxuICB9XG59XG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi91c2Vycy9tb2RlbHMvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXhDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUUxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFJdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWhELE1BQU0sT0FBTyxJQUFLLFNBQVEsU0FBZTtJQWtCdkMsTUFBTSxDQUFDLFVBQVUsQ0FBZ0MsSUFBNEQ7UUFDM0csTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBTyxJQUFJLENBQUMsQ0FBQTtRQUU3QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDeEIsUUFBUSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUE7UUFFL0YsT0FBTyxRQUFlLENBQUE7SUFDeEIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdCLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQTtRQUUxQixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7Q0FDRjtBQXRCQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7OEJBQ1YsYUFBYTsyQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcblxuaW1wb3J0IHsgQmFzZU1vZGVsIH0gZnJvbSAnLi4vLi4vZ2VuZXJhbC9tb2RlbC9iYXNlLm1vZGVsJ1xuaW1wb3J0IHsgSWRlbnRpZmllckZpZWxkcyB9IGZyb20gJy4uLy4uL2dlbmVyYWwvbW9kZWwvaWRlbnRpZmllci1maWVsZHMnXG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgTm9uRnVuY3Rpb25Qcm9wZXJ0aWVzLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMgfSBmcm9tICcuLi8uLi9nZW5lcmFsL21vZGVsL3R5cGVzJ1xuXG5pbXBvcnQgeyBBcmVhLCBPZmZpY2VQb3NpdGlvbiwgVXNlclR5cGUgfSBmcm9tICcuL2VudW1zJ1xuaW1wb3J0IHsgQmVhdXR5UHJvZmlsZSB9IGZyb20gJy4vYmVhdXR5LXByb2ZpbGUnXG5cbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgQmFzZU1vZGVsPFVzZXI+IGltcGxlbWVudHMgSWRlbnRpZmllckZpZWxkczxVc2VyPiB7XG4gIGlkOiBzdHJpbmdcbiAgY3BmPzogc3RyaW5nXG4gIGVtYWlsOiBzdHJpbmdcbiAgZmlyc3ROYW1lOiBzdHJpbmdcbiAgbGFzdE5hbWU6IHN0cmluZ1xuICBkaXNwbGF5TmFtZT86IHN0cmluZ1xuICBwaG9uZTogc3RyaW5nXG4gIGJpcnRoZGF5PzogRGF0ZVxuICBhY2NlcHRzTmV3c2xldHRlcjogYm9vbGVhblxuICB0eXBlPzogVXNlclR5cGVcbiAgYXJlYT86IEFyZWFcbiAgb2ZmaWNlUG9zaXRpb24/OiBPZmZpY2VQb3NpdGlvblxuICBpc1N1YnNjcmliZXI/OiBib29sZWFuXG5cbiAgQFR5cGUoKCkgPT4gQmVhdXR5UHJvZmlsZSlcbiAgYmVhdXR5UHJvZmlsZT86IEJlYXV0eVByb2ZpbGVcblxuICBzdGF0aWMgdG9JbnN0YW5jZTxUPih0aGlzOiBuZXcgKCkgPT4gUGFydGlhbDxUPiwgZGF0YTogTm9uRnVuY3Rpb25Qcm9wZXJ0aWVzPFQ+ICYgTm9uRnVuY3Rpb25Qcm9wZXJ0aWVzPFVzZXI+KTogVCB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBzdXBlci50b0luc3RhbmNlPFVzZXI+KGRhdGEpXG5cbiAgICBpZiAoIWlzTmlsKGRhdGEuZmlyc3ROYW1lKSlcbiAgICAgIGluc3RhbmNlLmRpc3BsYXlOYW1lID0gYCR7ZGF0YS5maXJzdE5hbWV9JHshaXNOaWwoZGF0YS5sYXN0TmFtZSkgPyBgICR7ZGF0YS5sYXN0TmFtZX1gIDogJyd9YFxuXG4gICAgcmV0dXJuIGluc3RhbmNlIGFzIGFueVxuICB9XG5cbiAgaWRlbnRpZmllckZpZWxkcygpOiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VXNlcj5bXSB7XG4gICAgcmV0dXJuIFsnaWQnXVxuICB9XG5cbiAgdG9QbGFpbigpOiBhbnkge1xuICAgIGNvbnN0IHBsYWluID0gc3VwZXIudG9QbGFpbigpXG5cbiAgICBkZWxldGUgcGxhaW4uYmVhdXR5UHJvZmlsZVxuXG4gICAgcmV0dXJuIHBsYWluXG4gIH1cbn1cbiJdfQ==
|
|
@@ -38,7 +38,7 @@ export class ProductsIndex {
|
|
|
38
38
|
[publishedField]: true,
|
|
39
39
|
},
|
|
40
40
|
},
|
|
41
|
-
...(options.hasStock
|
|
41
|
+
...(options.hasStock && !options.stock
|
|
42
42
|
? [
|
|
43
43
|
{
|
|
44
44
|
range: {
|
|
@@ -49,6 +49,17 @@ export class ProductsIndex {
|
|
|
49
49
|
},
|
|
50
50
|
]
|
|
51
51
|
: []),
|
|
52
|
+
...(options.stock
|
|
53
|
+
? [
|
|
54
|
+
{
|
|
55
|
+
range: {
|
|
56
|
+
'stock.quantity': {
|
|
57
|
+
gte: options.stock,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
]
|
|
62
|
+
: []),
|
|
52
63
|
],
|
|
53
64
|
},
|
|
54
65
|
} }, (options.size ? { size: options.size } : {})));
|
|
@@ -56,4 +67,4 @@ export class ProductsIndex {
|
|
|
56
67
|
});
|
|
57
68
|
}
|
|
58
69
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFaEQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBNkIsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7SUFBRyxDQUFDO0lBRXpELFFBQVEsQ0FDWixHQUFhLEVBQ2IsT0FBMEU7O1lBRTFFLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUE7WUFDdEYsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsT0FBTztnQkFDUCxJQUFJO2dCQUNKLFFBQVE7Z0JBQ1IsWUFBWTtnQkFDWixNQUFNO2dCQUNOLE9BQU87Z0JBQ1AsS0FBSztnQkFDTCxPQUFPO2dCQUNQLE1BQU07Z0JBQ04sU0FBUztnQkFDVCxXQUFXO2dCQUNYLFFBQVE7Z0JBQ1IsT0FBTztnQkFDUCxRQUFRO2dCQUNSLE1BQU07Z0JBQ04sYUFBYTthQUNkLENBQUE7WUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0Isa0JBQzFELE9BQU8sRUFBRSxNQUFNLEVBQ2YsS0FBSyxFQUFFO29CQUNMLElBQUksRUFBRTt3QkFDSixNQUFNLEVBQUU7NEJBQ047Z0NBQ0UsS0FBSyxFQUFFO29DQUNMLEdBQUcsRUFBRSxHQUFHO2lDQUNUOzZCQUNGOzRCQUNEO2dDQUNFLElBQUksRUFBRTtvQ0FDSixDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUk7aUNBQ3ZCOzZCQUNGOzRCQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7Z0NBQ3BDLENBQUMsQ0FBQztvQ0FDRTt3Q0FDRSxLQUFLLEVBQUU7NENBQ0wsZ0JBQWdCLEVBQUU7Z0RBQ2hCLEVBQUUsRUFBRSxDQUFDOzZDQUNOO3lDQUNGO3FDQUNGO2lDQUNGO2dDQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7NEJBQ1AsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLO2dDQUNmLENBQUMsQ0FBQztvQ0FDRTt3Q0FDRSxLQUFLLEVBQUU7NENBQ0wsZ0JBQWdCLEVBQUU7Z0RBQ2hCLEdBQUcsRUFBRSxPQUFPLENBQUMsS0FBSzs2Q0FDbkI7eUNBQ0Y7cUNBQ0Y7aUNBQ0Y7Z0NBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt5QkFDUjtxQkFDRjtpQkFDRixJQUNFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDL0MsQ0FBQTtZQUVGLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUMzRCxDQUFDO0tBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF4aW9zQWRhcHRlciB9IGZyb20gJy4uL2FkYXB0ZXJzJ1xuaW1wb3J0IHsgUHJvZHVjdCwgU2hvcHMgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0luZGV4IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhZGFwdGVyOiBBeGlvc0FkYXB0ZXI8UHJvZHVjdD4pIHt9XG5cbiAgYXN5bmMgZmluZEJ5SWQoXG4gICAgaWRzOiBzdHJpbmdbXSxcbiAgICBvcHRpb25zPzogeyBoYXNTdG9jazogYm9vbGVhbjsgc3RvY2s/OiBudW1iZXI7IHNpemU6IG51bWJlcjsgc2hvcDogU2hvcHMgfSxcbiAgKTogUHJvbWlzZTxQcm9kdWN0W10+IHtcbiAgICBjb25zdCBwdWJsaXNoZWRGaWVsZCA9IG9wdGlvbnMuc2hvcCA9PT0gU2hvcHMuR0xBTVNIT1AgPyAncHVibGlzaGVkR2xhbScgOiAncHVibGlzaGVkJ1xuICAgIGNvbnN0IGZpZWxkcyA9IFtcbiAgICAgICdicmFuZCcsXG4gICAgICAnaWQnLFxuICAgICAgJ2ltYWdlcycsXG4gICAgICAnbWluaWF0dXJlcycsXG4gICAgICAnbmFtZScsXG4gICAgICAncHJpY2UnLFxuICAgICAgJ3NrdScsXG4gICAgICAnc3RvY2snLFxuICAgICAgJ3NsdWcnLFxuICAgICAgJ3Jldmlld3MnLFxuICAgICAgJ3ByaWNlUGFpZCcsXG4gICAgICAnaXNHaWZ0JyxcbiAgICAgICdzdG9jaycsXG4gICAgICAnd2VpZ2h0JyxcbiAgICAgICd0YWdzJyxcbiAgICAgICdoYXNWYXJpYW50cycsXG4gICAgXVxuICAgIGNvbnN0IHsgaGl0cyB9ID0gYXdhaXQgdGhpcy5hZGFwdGVyLnF1ZXJ5KCdwcm9kdWN0cy9fc2VhcmNoJywge1xuICAgICAgX3NvdXJjZTogZmllbGRzLFxuICAgICAgcXVlcnk6IHtcbiAgICAgICAgYm9vbDoge1xuICAgICAgICAgIGZpbHRlcjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXJtczoge1xuICAgICAgICAgICAgICAgIF9pZDogaWRzLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVybToge1xuICAgICAgICAgICAgICAgIFtwdWJsaXNoZWRGaWVsZF06IHRydWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uKG9wdGlvbnMuaGFzU3RvY2sgJiYgIW9wdGlvbnMuc3RvY2tcbiAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJhbmdlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgJ3N0b2NrLnF1YW50aXR5Jzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3Q6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAgIC4uLihvcHRpb25zLnN0b2NrXG4gICAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICByYW5nZToge1xuICAgICAgICAgICAgICAgICAgICAgICdzdG9jay5xdWFudGl0eSc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGd0ZTogb3B0aW9ucy5zdG9jayxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgLi4uKG9wdGlvbnMuc2l6ZSA/IHsgc2l6ZTogb3B0aW9ucy5zaXplIH0gOiB7fSksXG4gICAgfSlcblxuICAgIHJldHVybiBoaXRzLm1hcCgoaGl0KSA9PiBQcm9kdWN0LnRvSW5zdGFuY2UoaGl0Ll9zb3VyY2UpKVxuICB9XG59XG4iXX0=
|
package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Base
|
|
3
|
-
import { Category
|
|
4
|
-
import { withCrudFirestore, withFirestore, withHelpers } from '../../mixins';
|
|
2
|
+
import { Base } from '../../../../../utils';
|
|
3
|
+
import { Category } from '../../../../../domain';
|
|
5
4
|
import { DuplicatedResultsError, NotFoundError, RequiredArgumentError } from '../../../../../errors';
|
|
5
|
+
import { withCrudFirestore, withFirestore, withHelpers } from '../../mixins';
|
|
6
6
|
export class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
|
|
7
|
-
constructor(firestore) {
|
|
7
|
+
constructor(firestore, productsIndex) {
|
|
8
8
|
super();
|
|
9
9
|
this.firestore = firestore;
|
|
10
|
+
this.productsIndex = productsIndex;
|
|
10
11
|
this.collectionName = 'categories';
|
|
11
12
|
this.model = Category;
|
|
12
13
|
}
|
|
@@ -25,7 +26,7 @@ export class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(w
|
|
|
25
26
|
})
|
|
26
27
|
.catch((error) => error);
|
|
27
28
|
}
|
|
28
|
-
getCategoriesForHome(categoryIds, limit =
|
|
29
|
+
getCategoriesForHome(categoryIds, { limit, stock } = {}) {
|
|
29
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
31
|
const categorySnap = yield this.collection(this.collectionName)
|
|
31
32
|
.where('id', 'in', categoryIds.filter(Boolean))
|
|
@@ -37,7 +38,7 @@ export class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(w
|
|
|
37
38
|
const homeSections = yield Promise.all(categories.map((category) => __awaiter(this, void 0, void 0, function* () {
|
|
38
39
|
return ({
|
|
39
40
|
category,
|
|
40
|
-
products: yield this.mountCategory(category, { limit, hasStock: true }),
|
|
41
|
+
products: yield this.mountCategory(category, { limit, stock, hasStock: true }),
|
|
41
42
|
});
|
|
42
43
|
})));
|
|
43
44
|
return homeSections;
|
|
@@ -47,26 +48,13 @@ export class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(w
|
|
|
47
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
48
49
|
if (!category.products)
|
|
49
50
|
throw new RequiredArgumentError(['Category products is empty']);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
let query = yield this.collection('productsErpVitrine')
|
|
57
|
-
.where(publishedField, '==', true)
|
|
58
|
-
.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
|
+
stock: options.stock,
|
|
55
|
+
shop: category.shop,
|
|
56
|
+
});
|
|
69
57
|
});
|
|
70
58
|
}
|
|
71
59
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlyZXN0b3JlLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvcmVwb3NpdG9yaWVzL2NhdGFsb2cvY2F0ZWdvcnktZmlyZXN0b3JlLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFzQyxNQUFNLHVCQUF1QixDQUFBO0FBQ3BGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUVwRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU1RSxNQUFNLE9BQU8sMkJBQ1gsU0FBUSxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFXLElBQUksQ0FBQyxDQUFDLENBQUM7SUFHckUsWUFBcUIsU0FBNEIsRUFBbUIsYUFBNEI7UUFDOUYsS0FBSyxFQUFFLENBQUE7UUFEWSxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUFtQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUU5RixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQTtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQTtJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBWSxFQUFFLElBQVc7UUFDekMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7YUFDeEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2FBQ3pCLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQzthQUN6QixLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7YUFDOUIsR0FBRyxFQUFFO2FBQ0wsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQztnQkFBRSxNQUFNLElBQUksc0JBQXNCLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtZQUV2RixJQUFJLElBQUksQ0FBQyxLQUFLO2dCQUFFLE1BQU0sSUFBSSxhQUFhLENBQUMsc0JBQXNCLElBQUksWUFBWSxDQUFDLENBQUE7WUFFL0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQzVCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVLLG9CQUFvQixDQUN4QixXQUFxQixFQUNyQixFQUFFLEtBQUssRUFBRSxLQUFLLEtBQTZELEVBQUU7O1lBRTdFLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2lCQUM1RCxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM5QyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7aUJBQzlCLEdBQUcsRUFBRSxDQUFBO1lBRVIsSUFBSSxZQUFZLENBQUMsS0FBSztnQkFBRSxNQUFNLElBQUksYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUE7WUFFdkUsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBQzdELE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDcEMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFPLFFBQVEsRUFBRSxFQUFFO2dCQUFDLE9BQUEsQ0FBQztvQkFDbEMsUUFBUTtvQkFDUixRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO2lCQUMvRSxDQUFDLENBQUE7Y0FBQSxDQUFDLENBQ0osQ0FBQTtZQUVELE9BQU8sWUFBWSxDQUFBO1FBQ3JCLENBQUM7S0FBQTtJQUVLLGFBQWEsQ0FDakIsUUFBa0IsRUFDbEIsT0FBZ0U7O1lBRWhFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUTtnQkFBRSxNQUFNLElBQUkscUJBQXFCLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUE7WUFFdkYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2dCQUNwRCxRQUFRLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVE7Z0JBQzNCLElBQUksRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsS0FBSztnQkFDcEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUNwQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7YUFDcEIsQ0FBQyxDQUFBO1FBQ0osQ0FBQztLQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaXJlYmFzZUZpcmVzdG9yZSB9IGZyb20gJ0BmaXJlYmFzZS9maXJlc3RvcmUtdHlwZXMnXG5cbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IENhdGVnb3J5LCBDYXRlZ29yeVJlcG9zaXRvcnksIFByb2R1Y3QsIFNob3BzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgRHVwbGljYXRlZFJlc3VsdHNFcnJvciwgTm90Rm91bmRFcnJvciwgUmVxdWlyZWRBcmd1bWVudEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgUHJvZHVjdHNJbmRleCB9IGZyb20gJy4uLy4uLy4uLy4uL2VsYXN0aWNzZWFyY2gnXG5pbXBvcnQgeyB3aXRoQ3J1ZEZpcmVzdG9yZSwgd2l0aEZpcmVzdG9yZSwgd2l0aEhlbHBlcnMgfSBmcm9tICcuLi8uLi9taXhpbnMnXG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnlcbiAgZXh0ZW5kcyB3aXRoQ3J1ZEZpcmVzdG9yZSh3aXRoSGVscGVycyh3aXRoRmlyZXN0b3JlPENhdGVnb3J5PihCYXNlKSkpXG4gIGltcGxlbWVudHMgQ2F0ZWdvcnlSZXBvc2l0b3J5XG57XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZpcmVzdG9yZTogRmlyZWJhc2VGaXJlc3RvcmUsIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdHNJbmRleDogUHJvZHVjdHNJbmRleCkge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLmNvbGxlY3Rpb25OYW1lID0gJ2NhdGVnb3JpZXMnXG4gICAgdGhpcy5tb2RlbCA9IENhdGVnb3J5XG4gIH1cblxuICBnZXRDYXRlZ29yeUJ5U2x1ZyhzbHVnOiBzdHJpbmcsIHNob3A6IFNob3BzKTogUHJvbWlzZTxDYXRlZ29yeT4ge1xuICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb24odGhpcy5jb2xsZWN0aW9uTmFtZSlcbiAgICAgIC53aGVyZSgnc2x1ZycsICc9PScsIHNsdWcpXG4gICAgICAud2hlcmUoJ3Nob3AnLCAnPT0nLCBzaG9wKVxuICAgICAgLndoZXJlKCdwdWJsaXNoZWQnLCAnPT0nLCB0cnVlKVxuICAgICAgLmdldCgpXG4gICAgICAudGhlbigoc25hcCkgPT4ge1xuICAgICAgICBpZiAoc25hcC5zaXplID4gMSkgdGhyb3cgbmV3IER1cGxpY2F0ZWRSZXN1bHRzRXJyb3IoJ1F1ZXJ5IHJldHVybmVkIGR1cGxpY2F0ZWQgdmFsdWVzJylcblxuICAgICAgICBpZiAoc25hcC5lbXB0eSkgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYERvY3VtZW50IHdpdGggc2x1ZyAke3NsdWd9IG5vdCBmb3VuZGApXG5cbiAgICAgICAgcmV0dXJuIHNuYXAuZG9jc1swXS5kYXRhKClcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiBlcnJvcilcbiAgfVxuXG4gIGFzeW5jIGdldENhdGVnb3JpZXNGb3JIb21lKFxuICAgIGNhdGVnb3J5SWRzOiBzdHJpbmdbXSxcbiAgICB7IGxpbWl0LCBzdG9jayB9OiB7IGxpbWl0PzogbnVtYmVyOyBoYXNTdG9jaz86IGJvb2xlYW47IHN0b2NrPzogbnVtYmVyIH0gPSB7fSxcbiAgKTogUHJvbWlzZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcbiAgICBjb25zdCBjYXRlZ29yeVNuYXAgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24odGhpcy5jb2xsZWN0aW9uTmFtZSlcbiAgICAgIC53aGVyZSgnaWQnLCAnaW4nLCBjYXRlZ29yeUlkcy5maWx0ZXIoQm9vbGVhbikpXG4gICAgICAud2hlcmUoJ3B1Ymxpc2hlZCcsICc9PScsIHRydWUpXG4gICAgICAuZ2V0KClcblxuICAgIGlmIChjYXRlZ29yeVNuYXAuZW1wdHkpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKCdDYXRlZ29yaWVzIG5vdCBmb3VuZCcpXG5cbiAgICBjb25zdCBjYXRlZ29yaWVzID0gY2F0ZWdvcnlTbmFwLmRvY3MubWFwKChkb2MpID0+IGRvYy5kYXRhKCkpXG4gICAgY29uc3QgaG9tZVNlY3Rpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjYXRlZ29yaWVzLm1hcChhc3luYyAoY2F0ZWdvcnkpID0+ICh7XG4gICAgICAgIGNhdGVnb3J5LFxuICAgICAgICBwcm9kdWN0czogYXdhaXQgdGhpcy5tb3VudENhdGVnb3J5KGNhdGVnb3J5LCB7IGxpbWl0LCBzdG9jaywgaGFzU3RvY2s6IHRydWUgfSksXG4gICAgICB9KSksXG4gICAgKVxuXG4gICAgcmV0dXJuIGhvbWVTZWN0aW9uc1xuICB9XG5cbiAgYXN5bmMgbW91bnRDYXRlZ29yeShcbiAgICBjYXRlZ29yeTogQ2F0ZWdvcnksXG4gICAgb3B0aW9ucz86IHsgbGltaXQ/OiBudW1iZXI7IGhhc1N0b2NrPzogYm9vbGVhbjsgc3RvY2s/OiBudW1iZXIgfSxcbiAgKTogUHJvbWlzZTxQcm9kdWN0W10+IHtcbiAgICBpZiAoIWNhdGVnb3J5LnByb2R1Y3RzKSB0aHJvdyBuZXcgUmVxdWlyZWRBcmd1bWVudEVycm9yKFsnQ2F0ZWdvcnkgcHJvZHVjdHMgaXMgZW1wdHknXSlcblxuICAgIHJldHVybiB0aGlzLnByb2R1Y3RzSW5kZXguZmluZEJ5SWQoY2F0ZWdvcnkucHJvZHVjdHMsIHtcbiAgICAgIGhhc1N0b2NrOiBvcHRpb25zPy5oYXNTdG9jayxcbiAgICAgIHNpemU6IG9wdGlvbnM/LmxpbWl0LFxuICAgICAgc3RvY2s6IG9wdGlvbnMuc3RvY2ssXG4gICAgICBzaG9wOiBjYXRlZ29yeS5zaG9wLFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js
CHANGED
|
@@ -6,7 +6,7 @@ export class ProductFirestoreRepository extends withCrudFirestore(withHelpers(wi
|
|
|
6
6
|
constructor(firestore) {
|
|
7
7
|
super();
|
|
8
8
|
this.firestore = firestore;
|
|
9
|
-
this.collectionName = '
|
|
9
|
+
this.collectionName = 'products';
|
|
10
10
|
this.model = Product;
|
|
11
11
|
}
|
|
12
12
|
getBySlug(slug, shop) {
|
|
@@ -20,4 +20,4 @@ export class ProductFirestoreRepository extends withCrudFirestore(withHelpers(wi
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1maXJlc3RvcmUucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9yZXBvc2l0b3JpZXMvY2F0YWxvZy9wcm9kdWN0LWZpcmVzdG9yZS5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBNEIsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFNUUsTUFBTSxPQUFPLDBCQUNYLFNBQVEsaUJBQWlCLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBVSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBR3BFLFlBQXFCLFNBQTRCO1FBQy9DLEtBQUssRUFBRSxDQUFBO1FBRFksY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFFL0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUE7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUE7SUFDdEIsQ0FBQztJQUVLLFNBQVMsQ0FBQyxJQUFZLEVBQUUsSUFBVzs7O1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDN0IsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ2pELEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO2FBQzVELENBQUMsQ0FBQTtZQUVGLE9BQU8sTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSwwQ0FBRSxLQUFLLEVBQUUsQ0FBQTs7S0FDN0I7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpcmViYXNlRmlyZXN0b3JlIH0gZnJvbSAnQGZpcmViYXNlL2ZpcmVzdG9yZS10eXBlcydcblxuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgUHJvZHVjdCwgUHJvZHVjdFJlcG9zaXRvcnksIFNob3BzLCBXaGVyZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbidcblxuaW1wb3J0IHsgd2l0aENydWRGaXJlc3RvcmUsIHdpdGhGaXJlc3RvcmUsIHdpdGhIZWxwZXJzIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xuXG5leHBvcnQgY2xhc3MgUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnlcbiAgZXh0ZW5kcyB3aXRoQ3J1ZEZpcmVzdG9yZSh3aXRoSGVscGVycyh3aXRoRmlyZXN0b3JlPFByb2R1Y3Q+KEJhc2UpKSlcbiAgaW1wbGVtZW50cyBQcm9kdWN0UmVwb3NpdG9yeVxue1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmaXJlc3RvcmU6IEZpcmViYXNlRmlyZXN0b3JlKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuY29sbGVjdGlvbk5hbWUgPSAncHJvZHVjdHMnXG4gICAgdGhpcy5tb2RlbCA9IFByb2R1Y3RcbiAgfVxuXG4gIGFzeW5jIGdldEJ5U2x1ZyhzbHVnOiBzdHJpbmcsIHNob3A6IFNob3BzKTogUHJvbWlzZTxQcm9kdWN0PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5maW5kKFtcbiAgICAgIHsgc2x1ZzogeyBvcGVyYXRvcjogV2hlcmUuRVFVQUxTLCB2YWx1ZTogc2x1ZyB9IH0sXG4gICAgICB7IHNob3BBdmFpbGFiaWxpdHk6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogW3Nob3BdIH0gfSxcbiAgICBdKVxuXG4gICAgcmV0dXJuIHJlc3VsdD8uZGF0YT8uc2hpZnQoKVxuICB9XG59XG4iXX0=
|
|
@@ -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';
|
|
@@ -1025,7 +1025,7 @@ class ProductsIndex {
|
|
|
1025
1025
|
[publishedField]: true,
|
|
1026
1026
|
},
|
|
1027
1027
|
},
|
|
1028
|
-
...(options.hasStock
|
|
1028
|
+
...(options.hasStock && !options.stock
|
|
1029
1029
|
? [
|
|
1030
1030
|
{
|
|
1031
1031
|
range: {
|
|
@@ -1036,6 +1036,17 @@ class ProductsIndex {
|
|
|
1036
1036
|
},
|
|
1037
1037
|
]
|
|
1038
1038
|
: []),
|
|
1039
|
+
...(options.stock
|
|
1040
|
+
? [
|
|
1041
|
+
{
|
|
1042
|
+
range: {
|
|
1043
|
+
'stock.quantity': {
|
|
1044
|
+
gte: options.stock,
|
|
1045
|
+
},
|
|
1046
|
+
},
|
|
1047
|
+
},
|
|
1048
|
+
]
|
|
1049
|
+
: []),
|
|
1039
1050
|
],
|
|
1040
1051
|
},
|
|
1041
1052
|
} }, (options.size ? { size: options.size } : {})));
|
|
@@ -1447,9 +1458,10 @@ class LeadFirestoreRepository extends withCrudFirestore(withHelpers(withFirestor
|
|
|
1447
1458
|
}
|
|
1448
1459
|
|
|
1449
1460
|
class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
|
|
1450
|
-
constructor(firestore) {
|
|
1461
|
+
constructor(firestore, productsIndex) {
|
|
1451
1462
|
super();
|
|
1452
1463
|
this.firestore = firestore;
|
|
1464
|
+
this.productsIndex = productsIndex;
|
|
1453
1465
|
this.collectionName = 'categories';
|
|
1454
1466
|
this.model = Category;
|
|
1455
1467
|
}
|
|
@@ -1468,7 +1480,7 @@ class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(withFire
|
|
|
1468
1480
|
})
|
|
1469
1481
|
.catch((error) => error);
|
|
1470
1482
|
}
|
|
1471
|
-
getCategoriesForHome(categoryIds, limit =
|
|
1483
|
+
getCategoriesForHome(categoryIds, { limit, stock } = {}) {
|
|
1472
1484
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1473
1485
|
const categorySnap = yield this.collection(this.collectionName)
|
|
1474
1486
|
.where('id', 'in', categoryIds.filter(Boolean))
|
|
@@ -1480,7 +1492,7 @@ class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(withFire
|
|
|
1480
1492
|
const homeSections = yield Promise.all(categories.map((category) => __awaiter(this, void 0, void 0, function* () {
|
|
1481
1493
|
return ({
|
|
1482
1494
|
category,
|
|
1483
|
-
products: yield this.mountCategory(category, { limit, hasStock: true }),
|
|
1495
|
+
products: yield this.mountCategory(category, { limit, stock, hasStock: true }),
|
|
1484
1496
|
});
|
|
1485
1497
|
})));
|
|
1486
1498
|
return homeSections;
|
|
@@ -1490,25 +1502,12 @@ class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(withFire
|
|
|
1490
1502
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1491
1503
|
if (!category.products)
|
|
1492
1504
|
throw new RequiredArgumentError(['Category products is empty']);
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
let query = yield this.collection('productsErpVitrine')
|
|
1500
|
-
.where(publishedField, '==', true)
|
|
1501
|
-
.where('id', 'in', productIds);
|
|
1502
|
-
if (options === null || options === void 0 ? void 0 : options.hasStock)
|
|
1503
|
-
query = query.where('stock.quantity', '>', 0);
|
|
1504
|
-
if (options === null || options === void 0 ? void 0 : options.limit)
|
|
1505
|
-
query = query.limit(options === null || options === void 0 ? void 0 : options.limit);
|
|
1506
|
-
const productSnap = yield query.get();
|
|
1507
|
-
if (productSnap.empty)
|
|
1508
|
-
continue;
|
|
1509
|
-
products.push(...productSnap.docs.map((doc) => doc.data()));
|
|
1510
|
-
}
|
|
1511
|
-
return products;
|
|
1505
|
+
return this.productsIndex.findById(category.products, {
|
|
1506
|
+
hasStock: options === null || options === void 0 ? void 0 : options.hasStock,
|
|
1507
|
+
size: options === null || options === void 0 ? void 0 : options.limit,
|
|
1508
|
+
stock: options.stock,
|
|
1509
|
+
shop: category.shop,
|
|
1510
|
+
});
|
|
1512
1511
|
});
|
|
1513
1512
|
}
|
|
1514
1513
|
}
|
|
@@ -1517,7 +1516,7 @@ class ProductFirestoreRepository extends withCrudFirestore(withHelpers(withFires
|
|
|
1517
1516
|
constructor(firestore) {
|
|
1518
1517
|
super();
|
|
1519
1518
|
this.firestore = firestore;
|
|
1520
|
-
this.collectionName = '
|
|
1519
|
+
this.collectionName = 'products';
|
|
1521
1520
|
this.model = Product;
|
|
1522
1521
|
}
|
|
1523
1522
|
getBySlug(slug, shop) {
|