@infrab4a/connect-angular 5.4.0-alpha.0 → 5.4.0-alpha.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/esm2020/services/order-product-review.service.mjs +51 -21
- package/esm2020/services/types/pending-product-review.type.mjs +1 -1
- package/fesm2015/infrab4a-connect-angular.mjs +54 -20
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +50 -20
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/package.json +2 -2
- package/services/order-product-review.service.d.ts +5 -2
- package/services/types/pending-product-review.type.d.ts +3 -0
|
@@ -3,50 +3,77 @@ import { OrderFirestoreRepository, OrderStatus, ProductReview, Where, } from '@i
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@infrab4a/connect";
|
|
5
5
|
export class OrderProductReviewService {
|
|
6
|
-
constructor(orderRepository, productReviewRepository) {
|
|
6
|
+
constructor(orderRepository, productReviewRepository, variantRepository) {
|
|
7
7
|
this.orderRepository = orderRepository;
|
|
8
8
|
this.productReviewRepository = productReviewRepository;
|
|
9
|
+
this.variantRepository = variantRepository;
|
|
9
10
|
}
|
|
10
11
|
async getPendingReviewsByEmail(email) {
|
|
11
12
|
const products = [];
|
|
13
|
+
const orders = await this.getOrdersByEmail(email);
|
|
14
|
+
if (orders.length) {
|
|
15
|
+
for (const order of orders) {
|
|
16
|
+
const lineItems = order.lineItems.filter((item) => !item.isGift);
|
|
17
|
+
for (const item of lineItems) {
|
|
18
|
+
const productReview = await this.getProductReview(order, item);
|
|
19
|
+
if (productReview?.status != null)
|
|
20
|
+
continue;
|
|
21
|
+
products.push(this.buildProductReview(order, item, productReview));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return products;
|
|
26
|
+
}
|
|
27
|
+
async getOrdersByEmail(email) {
|
|
12
28
|
const { data: orders } = await this.orderRepository.find({
|
|
13
29
|
filters: {
|
|
14
30
|
user: {
|
|
15
31
|
email: email,
|
|
16
32
|
},
|
|
17
33
|
status: OrderStatus.ENTREGUE,
|
|
34
|
+
createdAt: {
|
|
35
|
+
operator: Where.GTE,
|
|
36
|
+
value: new Date(2024, 0, 0, 0, 0, 0).getTime(),
|
|
37
|
+
},
|
|
18
38
|
},
|
|
19
39
|
orderBy: {
|
|
20
40
|
createdAt: 'desc',
|
|
21
41
|
},
|
|
22
42
|
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
return orders;
|
|
44
|
+
}
|
|
45
|
+
async getProductReview(order, item) {
|
|
46
|
+
const products = [item.id];
|
|
47
|
+
const isVariant = await this.variantRepository
|
|
48
|
+
.find({
|
|
49
|
+
filters: {
|
|
50
|
+
id: item.id,
|
|
51
|
+
},
|
|
52
|
+
})
|
|
53
|
+
.then((res) => res.data.at(0));
|
|
54
|
+
if (isVariant)
|
|
55
|
+
products.push(isVariant.productId);
|
|
56
|
+
const productReview = await this.productReviewRepository
|
|
57
|
+
.find({
|
|
58
|
+
filters: {
|
|
59
|
+
orderId: { operator: Where.IN, value: [order.id, order.orderNumber].filter(Boolean) },
|
|
60
|
+
productId: { operator: Where.IN, value: products },
|
|
61
|
+
},
|
|
62
|
+
})
|
|
63
|
+
.then((res) => res.data.at(0));
|
|
64
|
+
return productReview;
|
|
41
65
|
}
|
|
42
66
|
buildProductReview(order, item, review) {
|
|
43
67
|
return {
|
|
44
68
|
id: item.id,
|
|
69
|
+
orderId: order.id,
|
|
70
|
+
orderNumber: order.orderNumber,
|
|
45
71
|
isEdition: false,
|
|
46
72
|
name: item.name,
|
|
47
73
|
image: item.image,
|
|
48
74
|
deliveryDate: order.deliveredAt || null,
|
|
49
75
|
evaluationInAnalysis: review ? true : false,
|
|
76
|
+
rating: review ? review.rate : null,
|
|
50
77
|
shopProductSlug: item.slug,
|
|
51
78
|
};
|
|
52
79
|
}
|
|
@@ -66,7 +93,7 @@ export class OrderProductReviewService {
|
|
|
66
93
|
}));
|
|
67
94
|
}
|
|
68
95
|
}
|
|
69
|
-
OrderProductReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
96
|
+
OrderProductReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }, { token: 'VariantRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
97
|
OrderProductReviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService });
|
|
71
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService, decorators: [{
|
|
72
99
|
type: Injectable
|
|
@@ -76,5 +103,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
76
103
|
}] }, { type: undefined, decorators: [{
|
|
77
104
|
type: Inject,
|
|
78
105
|
args: ['ProductReviewRepository']
|
|
106
|
+
}] }, { type: undefined, decorators: [{
|
|
107
|
+
type: Inject,
|
|
108
|
+
args: ['VariantRepository']
|
|
79
109
|
}] }]; } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBR0wsd0JBQXdCLEVBQ3hCLFdBQVcsRUFDWCxhQUFhLEVBR2IsS0FBSyxHQUNOLE1BQU0sbUJBQW1CLENBQUE7OztBQUsxQixNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQzhDLGVBQXlDLEVBQ2pDLHVCQUFnRCxFQUN0RCxpQkFBb0M7UUFGdEMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBQ2pDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDdEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUNqRixDQUFDO0lBRUosS0FBSyxDQUFDLHdCQUF3QixDQUFDLEtBQWE7UUFDMUMsTUFBTSxRQUFRLEdBQTJCLEVBQUUsQ0FBQTtRQUMzQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUVqRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7Z0JBQzFCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFFaEUsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLEVBQUU7b0JBQzVCLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtvQkFFOUQsSUFBSSxhQUFhLEVBQUUsTUFBTSxJQUFJLElBQUk7d0JBQUUsU0FBUTtvQkFFM0MsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFBO2lCQUNuRTthQUNGO1NBQ0Y7UUFFRCxPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDO0lBRU8sS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQWE7UUFDMUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQ3ZELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLEtBQUs7aUJBQ2I7Z0JBQ0QsTUFBTSxFQUFFLFdBQVcsQ0FBQyxRQUFRO2dCQUM1QixTQUFTLEVBQUU7b0JBQ1QsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHO29CQUNuQixLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7aUJBQy9DO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFLE1BQU07YUFDbEI7U0FDRixDQUFDLENBQUE7UUFFRixPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFFTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBWSxFQUFFLElBQWM7UUFDekQsTUFBTSxRQUFRLEdBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDcEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCO2FBQzNDLElBQUksQ0FBQztZQUNKLE9BQU8sRUFBRTtnQkFDUCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7YUFDWjtTQUNGLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFaEMsSUFBSSxTQUFTO1lBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDakQsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsdUJBQXVCO2FBQ3JELElBQUksQ0FBQztZQUNKLE9BQU8sRUFBRTtnQkFDUCxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3JGLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7YUFDbkQ7U0FDRixDQUFDO2FBQ0QsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRWhDLE9BQU8sYUFBYSxDQUFBO0lBQ3RCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFZLEVBQUUsSUFBYyxFQUFFLE1BQXFCO1FBQzVFLE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDakIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixZQUFZLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJO1lBQ3ZDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzNDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbkMsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQzNCLENBQUE7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUEyQjtRQUM1QyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQ3hDLGFBQWEsQ0FBQyxVQUFVLENBQUM7WUFDdkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3RDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7O3NIQXRHVSx5QkFBeUIsa0JBRTFCLGlCQUFpQixhQUNqQix5QkFBeUIsYUFDekIsbUJBQW1COzBIQUpsQix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVTs7MEJBR04sTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQ2hDLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIExpbmVJdGVtLFxuICBPcmRlcixcbiAgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBPcmRlclN0YXR1cyxcbiAgUHJvZHVjdFJldmlldyxcbiAgUHJvZHVjdFJldmlld1JlcG9zaXRvcnksXG4gIFZhcmlhbnRSZXBvc2l0b3J5LFxuICBXaGVyZSxcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IFBlbmRpbmdQcm9kdWN0UmV2aWV3LCBQcm9kdWN0UmV2aWV3Q3JlYXRlIH0gZnJvbSAnLi90eXBlcydcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9yZGVyUHJvZHVjdFJldmlld1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdPcmRlclJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IG9yZGVyUmVwb3NpdG9yeTogT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoJ1Byb2R1Y3RSZXZpZXdSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0UmV2aWV3UmVwb3NpdG9yeTogUHJvZHVjdFJldmlld1JlcG9zaXRvcnksXG4gICAgQEluamVjdCgnVmFyaWFudFJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IHZhcmlhbnRSZXBvc2l0b3J5OiBWYXJpYW50UmVwb3NpdG9yeSxcbiAgKSB7fVxuXG4gIGFzeW5jIGdldFBlbmRpbmdSZXZpZXdzQnlFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTxQZW5kaW5nUHJvZHVjdFJldmlld1tdPiB7XG4gICAgY29uc3QgcHJvZHVjdHM6IFBlbmRpbmdQcm9kdWN0UmV2aWV3W10gPSBbXVxuICAgIGNvbnN0IG9yZGVycyA9IGF3YWl0IHRoaXMuZ2V0T3JkZXJzQnlFbWFpbChlbWFpbClcblxuICAgIGlmIChvcmRlcnMubGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IG9yZGVyIG9mIG9yZGVycykge1xuICAgICAgICBjb25zdCBsaW5lSXRlbXMgPSBvcmRlci5saW5lSXRlbXMuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5pc0dpZnQpXG5cbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGxpbmVJdGVtcykge1xuICAgICAgICAgIGNvbnN0IHByb2R1Y3RSZXZpZXcgPSBhd2FpdCB0aGlzLmdldFByb2R1Y3RSZXZpZXcob3JkZXIsIGl0ZW0pXG5cbiAgICAgICAgICBpZiAocHJvZHVjdFJldmlldz8uc3RhdHVzICE9IG51bGwpIGNvbnRpbnVlXG5cbiAgICAgICAgICBwcm9kdWN0cy5wdXNoKHRoaXMuYnVpbGRQcm9kdWN0UmV2aWV3KG9yZGVyLCBpdGVtLCBwcm9kdWN0UmV2aWV3KSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwcm9kdWN0c1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRPcmRlcnNCeUVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPE9yZGVyW10+IHtcbiAgICBjb25zdCB7IGRhdGE6IG9yZGVycyB9ID0gYXdhaXQgdGhpcy5vcmRlclJlcG9zaXRvcnkuZmluZCh7XG4gICAgICBmaWx0ZXJzOiB7XG4gICAgICAgIHVzZXI6IHtcbiAgICAgICAgICBlbWFpbDogZW1haWwsXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXR1czogT3JkZXJTdGF0dXMuRU5UUkVHVUUsXG4gICAgICAgIGNyZWF0ZWRBdDoge1xuICAgICAgICAgIG9wZXJhdG9yOiBXaGVyZS5HVEUsXG4gICAgICAgICAgdmFsdWU6IG5ldyBEYXRlKDIwMjQsIDAsIDAsIDAsIDAsIDApLmdldFRpbWUoKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBvcmRlckJ5OiB7XG4gICAgICAgIGNyZWF0ZWRBdDogJ2Rlc2MnLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIG9yZGVyc1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRQcm9kdWN0UmV2aWV3KG9yZGVyOiBPcmRlciwgaXRlbTogTGluZUl0ZW0pIHtcbiAgICBjb25zdCBwcm9kdWN0czogc3RyaW5nW10gPSBbaXRlbS5pZF1cbiAgICBjb25zdCBpc1ZhcmlhbnQgPSBhd2FpdCB0aGlzLnZhcmlhbnRSZXBvc2l0b3J5XG4gICAgICAuZmluZCh7XG4gICAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAudGhlbigocmVzKSA9PiByZXMuZGF0YS5hdCgwKSlcblxuICAgIGlmIChpc1ZhcmlhbnQpIHByb2R1Y3RzLnB1c2goaXNWYXJpYW50LnByb2R1Y3RJZClcbiAgICBjb25zdCBwcm9kdWN0UmV2aWV3ID0gYXdhaXQgdGhpcy5wcm9kdWN0UmV2aWV3UmVwb3NpdG9yeVxuICAgICAgLmZpbmQoe1xuICAgICAgICBmaWx0ZXJzOiB7XG4gICAgICAgICAgb3JkZXJJZDogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBbb3JkZXIuaWQsIG9yZGVyLm9yZGVyTnVtYmVyXS5maWx0ZXIoQm9vbGVhbikgfSxcbiAgICAgICAgICBwcm9kdWN0SWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogcHJvZHVjdHMgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAudGhlbigocmVzKSA9PiByZXMuZGF0YS5hdCgwKSlcblxuICAgIHJldHVybiBwcm9kdWN0UmV2aWV3XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUHJvZHVjdFJldmlldyhvcmRlcjogT3JkZXIsIGl0ZW06IExpbmVJdGVtLCByZXZpZXc6IFByb2R1Y3RSZXZpZXcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICBvcmRlcklkOiBvcmRlci5pZCxcbiAgICAgIG9yZGVyTnVtYmVyOiBvcmRlci5vcmRlck51bWJlcixcbiAgICAgIGlzRWRpdGlvbjogZmFsc2UsXG4gICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICBpbWFnZTogaXRlbS5pbWFnZSxcbiAgICAgIGRlbGl2ZXJ5RGF0ZTogb3JkZXIuZGVsaXZlcmVkQXQgfHwgbnVsbCxcbiAgICAgIGV2YWx1YXRpb25JbkFuYWx5c2lzOiByZXZpZXcgPyB0cnVlIDogZmFsc2UsXG4gICAgICByYXRpbmc6IHJldmlldyA/IHJldmlldy5yYXRlIDogbnVsbCxcbiAgICAgIHNob3BQcm9kdWN0U2x1ZzogaXRlbS5zbHVnLFxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVJldmlldyhyZXZpZXc6IFByb2R1Y3RSZXZpZXdDcmVhdGUpOiBQcm9taXNlPFByb2R1Y3RSZXZpZXc+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9kdWN0UmV2aWV3UmVwb3NpdG9yeS5jcmVhdGUoXG4gICAgICBQcm9kdWN0UmV2aWV3LnRvSW5zdGFuY2Uoe1xuICAgICAgICBwcm9kdWN0SWQ6IHJldmlldy5wcm9kdWN0SWQudG9TdHJpbmcoKSxcbiAgICAgICAgc2hvcDogcmV2aWV3LnNob3AsXG4gICAgICAgIHJhdGU6IHJldmlldy5yYXRlLFxuICAgICAgICBhdXRob3I6IHJldmlldy5hdXRob3IsXG4gICAgICAgIGVtYWlsOiByZXZpZXcuZW1haWwsXG4gICAgICAgIGxvY2F0aW9uOiByZXZpZXcubG9jYXRpb24sXG4gICAgICAgIHJldmlldzogcmV2aWV3LmNvbW1lbnQsXG4gICAgICAgIHRpdGxlOiByZXZpZXcudGl0bGUsXG4gICAgICAgIHBlcnNvbklkOiByZXZpZXcucGVyc29uSWQsXG4gICAgICAgIHBvaW50czogcmV2aWV3LnBvaW50cyxcbiAgICAgICAgb3JkZXJJZDogcmV2aWV3Lm9yZGVySWQsXG4gICAgICB9KSxcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1wcm9kdWN0LXJldmlldy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9wZW5kaW5nLXByb2R1Y3QtcmV2aWV3LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFBlbmRpbmdQcm9kdWN0UmV2aWV3ID0ge1xuICBpZDogc3RyaW5nXG4gIGlzRWRpdGlvbjogYm9vbGVhblxuICBvcmRlcklkOiBzdHJpbmdcbiAgb3JkZXJOdW1iZXI6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgaW1hZ2U6IHN0cmluZ1xuICBkZWxpdmVyeURhdGU6IHN0cmluZ1xuICBldmFsdWF0aW9uSW5BbmFseXNpczogYm9vbGVhblxuICByYXRpbmc/OiBudW1iZXJcbiAgc2hvcFByb2R1Y3RTbHVnOiBzdHJpbmdcbn1cbiJdfQ==
|
|
@@ -3076,52 +3076,83 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
3076
3076
|
}], ctorParameters: function () { return [{ type: HomeShopRepositoriesFacade }, { type: ConfigurationFacade }]; } });
|
|
3077
3077
|
|
|
3078
3078
|
class OrderProductReviewService {
|
|
3079
|
-
constructor(orderRepository, productReviewRepository) {
|
|
3079
|
+
constructor(orderRepository, productReviewRepository, variantRepository) {
|
|
3080
3080
|
this.orderRepository = orderRepository;
|
|
3081
3081
|
this.productReviewRepository = productReviewRepository;
|
|
3082
|
+
this.variantRepository = variantRepository;
|
|
3082
3083
|
}
|
|
3083
3084
|
getPendingReviewsByEmail(email) {
|
|
3084
3085
|
return __awaiter(this, void 0, void 0, function* () {
|
|
3085
3086
|
const products = [];
|
|
3087
|
+
const orders = yield this.getOrdersByEmail(email);
|
|
3088
|
+
if (orders.length) {
|
|
3089
|
+
for (const order of orders) {
|
|
3090
|
+
const lineItems = order.lineItems.filter((item) => !item.isGift);
|
|
3091
|
+
for (const item of lineItems) {
|
|
3092
|
+
const productReview = yield this.getProductReview(order, item);
|
|
3093
|
+
if ((productReview === null || productReview === void 0 ? void 0 : productReview.status) != null)
|
|
3094
|
+
continue;
|
|
3095
|
+
products.push(this.buildProductReview(order, item, productReview));
|
|
3096
|
+
}
|
|
3097
|
+
}
|
|
3098
|
+
}
|
|
3099
|
+
return products;
|
|
3100
|
+
});
|
|
3101
|
+
}
|
|
3102
|
+
getOrdersByEmail(email) {
|
|
3103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
3086
3104
|
const { data: orders } = yield this.orderRepository.find({
|
|
3087
3105
|
filters: {
|
|
3088
3106
|
user: {
|
|
3089
3107
|
email: email,
|
|
3090
3108
|
},
|
|
3091
3109
|
status: OrderStatus.ENTREGUE,
|
|
3110
|
+
createdAt: {
|
|
3111
|
+
operator: Where.GTE,
|
|
3112
|
+
value: new Date(2024, 0, 0, 0, 0, 0).getTime(),
|
|
3113
|
+
},
|
|
3092
3114
|
},
|
|
3093
3115
|
orderBy: {
|
|
3094
3116
|
createdAt: 'desc',
|
|
3095
3117
|
},
|
|
3096
3118
|
});
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3119
|
+
return orders;
|
|
3120
|
+
});
|
|
3121
|
+
}
|
|
3122
|
+
getProductReview(order, item) {
|
|
3123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
3124
|
+
const products = [item.id];
|
|
3125
|
+
const isVariant = yield this.variantRepository
|
|
3126
|
+
.find({
|
|
3127
|
+
filters: {
|
|
3128
|
+
id: item.id,
|
|
3129
|
+
},
|
|
3130
|
+
})
|
|
3131
|
+
.then((res) => res.data.at(0));
|
|
3132
|
+
if (isVariant)
|
|
3133
|
+
products.push(isVariant.productId);
|
|
3134
|
+
const productReview = yield this.productReviewRepository
|
|
3135
|
+
.find({
|
|
3136
|
+
filters: {
|
|
3137
|
+
orderId: { operator: Where.IN, value: [order.id, order.orderNumber].filter(Boolean) },
|
|
3138
|
+
productId: { operator: Where.IN, value: products },
|
|
3139
|
+
},
|
|
3140
|
+
})
|
|
3141
|
+
.then((res) => res.data.at(0));
|
|
3142
|
+
return productReview;
|
|
3115
3143
|
});
|
|
3116
3144
|
}
|
|
3117
3145
|
buildProductReview(order, item, review) {
|
|
3118
3146
|
return {
|
|
3119
3147
|
id: item.id,
|
|
3148
|
+
orderId: order.id,
|
|
3149
|
+
orderNumber: order.orderNumber,
|
|
3120
3150
|
isEdition: false,
|
|
3121
3151
|
name: item.name,
|
|
3122
3152
|
image: item.image,
|
|
3123
3153
|
deliveryDate: order.deliveredAt || null,
|
|
3124
3154
|
evaluationInAnalysis: review ? true : false,
|
|
3155
|
+
rating: review ? review.rate : null,
|
|
3125
3156
|
shopProductSlug: item.slug,
|
|
3126
3157
|
};
|
|
3127
3158
|
}
|
|
@@ -3143,7 +3174,7 @@ class OrderProductReviewService {
|
|
|
3143
3174
|
});
|
|
3144
3175
|
}
|
|
3145
3176
|
}
|
|
3146
|
-
OrderProductReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3177
|
+
OrderProductReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }, { token: 'VariantRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3147
3178
|
OrderProductReviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService });
|
|
3148
3179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService, decorators: [{
|
|
3149
3180
|
type: Injectable
|
|
@@ -3154,6 +3185,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
3154
3185
|
}] }, { type: undefined, decorators: [{
|
|
3155
3186
|
type: Inject,
|
|
3156
3187
|
args: ['ProductReviewRepository']
|
|
3188
|
+
}] }, { type: undefined, decorators: [{
|
|
3189
|
+
type: Inject,
|
|
3190
|
+
args: ['VariantRepository']
|
|
3157
3191
|
}] }];
|
|
3158
3192
|
} });
|
|
3159
3193
|
|