@infrab4a/connect-angular 6.0.0-beta.0 → 6.0.0-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.
@@ -3,51 +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
- if (orders.length) {
24
- for (const order of orders) {
25
- const lineItems = order.lineItems.filter((item) => !item.isGift);
26
- for (const item of lineItems) {
27
- const productReview = await this.productReviewRepository
28
- .find({
29
- filters: {
30
- orderId: order.id,
31
- productId: item.id,
32
- status: { operator: Where.ISNULL },
33
- },
34
- })
35
- .then((res) => res.data.at(0));
36
- products.push(this.buildProductReview(order, item, productReview));
37
- }
38
- }
39
- }
40
- return products;
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,
45
- orderNumber: order.orderNumber ?? order.id,
69
+ orderId: order.id,
70
+ orderNumber: order.orderNumber,
46
71
  isEdition: false,
47
72
  name: item.name,
48
73
  image: item.image,
49
74
  deliveryDate: order.deliveredAt || null,
50
75
  evaluationInAnalysis: review ? true : false,
76
+ rating: review ? review.rate : null,
51
77
  shopProductSlug: item.slug,
52
78
  };
53
79
  }
@@ -66,7 +92,7 @@ export class OrderProductReviewService {
66
92
  orderId: review.orderId,
67
93
  }));
68
94
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }, { token: 'VariantRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
70
96
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService }); }
71
97
  }
72
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService, decorators: [{
@@ -77,5 +103,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
77
103
  }] }, { type: undefined, decorators: [{
78
104
  type: Inject,
79
105
  args: ['ProductReviewRepository']
106
+ }] }, { type: undefined, decorators: [{
107
+ type: Inject,
108
+ args: ['VariantRepository']
80
109
  }] }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBR0wsd0JBQXdCLEVBQ3hCLFdBQVcsRUFDWCxhQUFhLEVBRWIsS0FBSyxHQUNOLE1BQU0sbUJBQW1CLENBQUE7OztBQUsxQixNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQzhDLGVBQXlDLEVBQ2pDLHVCQUFnRDtRQUR4RCxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDakMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtJQUNuRyxDQUFDO0lBRUosS0FBSyxDQUFDLHdCQUF3QixDQUFDLEtBQWE7UUFDMUMsTUFBTSxRQUFRLEdBQTJCLEVBQUUsQ0FBQTtRQUMzQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDdkQsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsS0FBSztpQkFDYjtnQkFDRCxNQUFNLEVBQUUsV0FBVyxDQUFDLFFBQVE7YUFDN0I7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFLE1BQU07YUFDbEI7U0FDRixDQUFDLENBQUE7UUFFRixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7Z0JBQzFCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFFaEUsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLEVBQUU7b0JBQzVCLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1Qjt5QkFDckQsSUFBSSxDQUFDO3dCQUNKLE9BQU8sRUFBRTs0QkFDUCxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7NEJBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRTs0QkFDbEIsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUU7eUJBQ25DO3FCQUNGLENBQUM7eUJBQ0QsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUVoQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUE7aUJBQ25FO2FBQ0Y7U0FDRjtRQUVELE9BQU8sUUFBUSxDQUFBO0lBQ2pCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFZLEVBQUUsSUFBYyxFQUFFLE1BQXFCO1FBQzVFLE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUMxQyxTQUFTLEVBQUUsS0FBSztZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsWUFBWSxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSTtZQUN2QyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMzQyxlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDM0IsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQTJCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FDeEMsYUFBYSxDQUFDLFVBQVUsQ0FBQztZQUN2QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1NBQ3hCLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQzs4R0F4RVUseUJBQXlCLGtCQUUxQixpQkFBaUIsYUFDakIseUJBQXlCO2tIQUh4Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1xyXG4gIExpbmVJdGVtLFxyXG4gIE9yZGVyLFxyXG4gIE9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBPcmRlclN0YXR1cyxcclxuICBQcm9kdWN0UmV2aWV3LFxyXG4gIFByb2R1Y3RSZXZpZXdSZXBvc2l0b3J5LFxyXG4gIFdoZXJlLFxyXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuaW1wb3J0IHsgUGVuZGluZ1Byb2R1Y3RSZXZpZXcsIFByb2R1Y3RSZXZpZXdDcmVhdGUgfSBmcm9tICcuL3R5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT3JkZXJQcm9kdWN0UmV2aWV3U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KCdPcmRlclJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IG9yZGVyUmVwb3NpdG9yeTogT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gICAgQEluamVjdCgnUHJvZHVjdFJldmlld1JlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RSZXZpZXdSZXBvc2l0b3J5OiBQcm9kdWN0UmV2aWV3UmVwb3NpdG9yeSxcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIGdldFBlbmRpbmdSZXZpZXdzQnlFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTxQZW5kaW5nUHJvZHVjdFJldmlld1tdPiB7XHJcbiAgICBjb25zdCBwcm9kdWN0czogUGVuZGluZ1Byb2R1Y3RSZXZpZXdbXSA9IFtdXHJcbiAgICBjb25zdCB7IGRhdGE6IG9yZGVycyB9ID0gYXdhaXQgdGhpcy5vcmRlclJlcG9zaXRvcnkuZmluZCh7XHJcbiAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICB1c2VyOiB7XHJcbiAgICAgICAgICBlbWFpbDogZW1haWwsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzdGF0dXM6IE9yZGVyU3RhdHVzLkVOVFJFR1VFLFxyXG4gICAgICB9LFxyXG4gICAgICBvcmRlckJ5OiB7XHJcbiAgICAgICAgY3JlYXRlZEF0OiAnZGVzYycsXHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG5cclxuICAgIGlmIChvcmRlcnMubGVuZ3RoKSB7XHJcbiAgICAgIGZvciAoY29uc3Qgb3JkZXIgb2Ygb3JkZXJzKSB7XHJcbiAgICAgICAgY29uc3QgbGluZUl0ZW1zID0gb3JkZXIubGluZUl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uaXNHaWZ0KVxyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgbGluZUl0ZW1zKSB7XHJcbiAgICAgICAgICBjb25zdCBwcm9kdWN0UmV2aWV3ID0gYXdhaXQgdGhpcy5wcm9kdWN0UmV2aWV3UmVwb3NpdG9yeVxyXG4gICAgICAgICAgICAuZmluZCh7XHJcbiAgICAgICAgICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgICAgICAgICAgb3JkZXJJZDogb3JkZXIuaWQsXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0SWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgICAgICAgICBzdGF0dXM6IHsgb3BlcmF0b3I6IFdoZXJlLklTTlVMTCB9LFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKChyZXMpID0+IHJlcy5kYXRhLmF0KDApKVxyXG5cclxuICAgICAgICAgIHByb2R1Y3RzLnB1c2godGhpcy5idWlsZFByb2R1Y3RSZXZpZXcob3JkZXIsIGl0ZW0sIHByb2R1Y3RSZXZpZXcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwcm9kdWN0c1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFByb2R1Y3RSZXZpZXcob3JkZXI6IE9yZGVyLCBpdGVtOiBMaW5lSXRlbSwgcmV2aWV3OiBQcm9kdWN0UmV2aWV3KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpZDogaXRlbS5pZCxcclxuICAgICAgb3JkZXJOdW1iZXI6IG9yZGVyLm9yZGVyTnVtYmVyID8/IG9yZGVyLmlkLFxyXG4gICAgICBpc0VkaXRpb246IGZhbHNlLFxyXG4gICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgIGltYWdlOiBpdGVtLmltYWdlLFxyXG4gICAgICBkZWxpdmVyeURhdGU6IG9yZGVyLmRlbGl2ZXJlZEF0IHx8IG51bGwsXHJcbiAgICAgIGV2YWx1YXRpb25JbkFuYWx5c2lzOiByZXZpZXcgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgIHNob3BQcm9kdWN0U2x1ZzogaXRlbS5zbHVnLFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgY3JlYXRlUmV2aWV3KHJldmlldzogUHJvZHVjdFJldmlld0NyZWF0ZSk6IFByb21pc2U8UHJvZHVjdFJldmlldz4ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdFJldmlld1JlcG9zaXRvcnkuY3JlYXRlKFxyXG4gICAgICBQcm9kdWN0UmV2aWV3LnRvSW5zdGFuY2Uoe1xyXG4gICAgICAgIHByb2R1Y3RJZDogcmV2aWV3LnByb2R1Y3RJZC50b1N0cmluZygpLFxyXG4gICAgICAgIHNob3A6IHJldmlldy5zaG9wLFxyXG4gICAgICAgIHJhdGU6IHJldmlldy5yYXRlLFxyXG4gICAgICAgIGF1dGhvcjogcmV2aWV3LmF1dGhvcixcclxuICAgICAgICBlbWFpbDogcmV2aWV3LmVtYWlsLFxyXG4gICAgICAgIGxvY2F0aW9uOiByZXZpZXcubG9jYXRpb24sXHJcbiAgICAgICAgcmV2aWV3OiByZXZpZXcuY29tbWVudCxcclxuICAgICAgICB0aXRsZTogcmV2aWV3LnRpdGxlLFxyXG4gICAgICAgIHBlcnNvbklkOiByZXZpZXcucGVyc29uSWQsXHJcbiAgICAgICAgcG9pbnRzOiByZXZpZXcucG9pbnRzLFxyXG4gICAgICAgIG9yZGVySWQ6IHJldmlldy5vcmRlcklkLFxyXG4gICAgICB9KSxcclxuICAgIClcclxuICB9XHJcbn1cclxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBR0wsd0JBQXdCLEVBQ3hCLFdBQVcsRUFDWCxhQUFhLEVBR2IsS0FBSyxHQUNOLE1BQU0sbUJBQW1CLENBQUE7OztBQUsxQixNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQzhDLGVBQXlDLEVBQ2pDLHVCQUFnRCxFQUN0RCxpQkFBb0M7UUFGdEMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBQ2pDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDdEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUNqRixDQUFDO0lBRUosS0FBSyxDQUFDLHdCQUF3QixDQUFDLEtBQWE7UUFDMUMsTUFBTSxRQUFRLEdBQTJCLEVBQUUsQ0FBQTtRQUMzQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUVqRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7Z0JBQzFCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFFaEUsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLEVBQUU7b0JBQzVCLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtvQkFFOUQsSUFBSSxhQUFhLEVBQUUsTUFBTSxJQUFJLElBQUk7d0JBQUUsU0FBUTtvQkFFM0MsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFBO2lCQUNuRTthQUNGO1NBQ0Y7UUFFRCxPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDO0lBRU8sS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQWE7UUFDMUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQ3ZELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLEtBQUs7aUJBQ2I7Z0JBQ0QsTUFBTSxFQUFFLFdBQVcsQ0FBQyxRQUFRO2dCQUM1QixTQUFTLEVBQUU7b0JBQ1QsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHO29CQUNuQixLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7aUJBQy9DO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFLE1BQU07YUFDbEI7U0FDRixDQUFDLENBQUE7UUFFRixPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFFTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBWSxFQUFFLElBQWM7UUFDekQsTUFBTSxRQUFRLEdBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDcEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCO2FBQzNDLElBQUksQ0FBQztZQUNKLE9BQU8sRUFBRTtnQkFDUCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7YUFDWjtTQUNGLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFaEMsSUFBSSxTQUFTO1lBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDakQsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsdUJBQXVCO2FBQ3JELElBQUksQ0FBQztZQUNKLE9BQU8sRUFBRTtnQkFDUCxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3JGLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7YUFDbkQ7U0FDRixDQUFDO2FBQ0QsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRWhDLE9BQU8sYUFBYSxDQUFBO0lBQ3RCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFZLEVBQUUsSUFBYyxFQUFFLE1BQXFCO1FBQzVFLE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDakIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixZQUFZLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJO1lBQ3ZDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzNDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbkMsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQzNCLENBQUE7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUEyQjtRQUM1QyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQ3hDLGFBQWEsQ0FBQyxVQUFVLENBQUM7WUFDdkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3RDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7OEdBdEdVLHlCQUF5QixrQkFFMUIsaUJBQWlCLGFBQ2pCLHlCQUF5QixhQUN6QixtQkFBbUI7a0hBSmxCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVTs7MEJBR04sTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQ2hDLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtcclxuICBMaW5lSXRlbSxcclxuICBPcmRlcixcclxuICBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgT3JkZXJTdGF0dXMsXHJcbiAgUHJvZHVjdFJldmlldyxcclxuICBQcm9kdWN0UmV2aWV3UmVwb3NpdG9yeSxcclxuICBWYXJpYW50UmVwb3NpdG9yeSxcclxuICBXaGVyZSxcclxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IFBlbmRpbmdQcm9kdWN0UmV2aWV3LCBQcm9kdWN0UmV2aWV3Q3JlYXRlIH0gZnJvbSAnLi90eXBlcydcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE9yZGVyUHJvZHVjdFJldmlld1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnT3JkZXJSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBvcmRlclJlcG9zaXRvcnk6IE9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICAgIEBJbmplY3QoJ1Byb2R1Y3RSZXZpZXdSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0UmV2aWV3UmVwb3NpdG9yeTogUHJvZHVjdFJldmlld1JlcG9zaXRvcnksXHJcbiAgICBASW5qZWN0KCdWYXJpYW50UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgdmFyaWFudFJlcG9zaXRvcnk6IFZhcmlhbnRSZXBvc2l0b3J5LFxyXG4gICkge31cclxuXHJcbiAgYXN5bmMgZ2V0UGVuZGluZ1Jldmlld3NCeUVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPFBlbmRpbmdQcm9kdWN0UmV2aWV3W10+IHtcclxuICAgIGNvbnN0IHByb2R1Y3RzOiBQZW5kaW5nUHJvZHVjdFJldmlld1tdID0gW11cclxuICAgIGNvbnN0IG9yZGVycyA9IGF3YWl0IHRoaXMuZ2V0T3JkZXJzQnlFbWFpbChlbWFpbClcclxuXHJcbiAgICBpZiAob3JkZXJzLmxlbmd0aCkge1xyXG4gICAgICBmb3IgKGNvbnN0IG9yZGVyIG9mIG9yZGVycykge1xyXG4gICAgICAgIGNvbnN0IGxpbmVJdGVtcyA9IG9yZGVyLmxpbmVJdGVtcy5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmlzR2lmdClcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGxpbmVJdGVtcykge1xyXG4gICAgICAgICAgY29uc3QgcHJvZHVjdFJldmlldyA9IGF3YWl0IHRoaXMuZ2V0UHJvZHVjdFJldmlldyhvcmRlciwgaXRlbSlcclxuXHJcbiAgICAgICAgICBpZiAocHJvZHVjdFJldmlldz8uc3RhdHVzICE9IG51bGwpIGNvbnRpbnVlXHJcblxyXG4gICAgICAgICAgcHJvZHVjdHMucHVzaCh0aGlzLmJ1aWxkUHJvZHVjdFJldmlldyhvcmRlciwgaXRlbSwgcHJvZHVjdFJldmlldykpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHByb2R1Y3RzXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldE9yZGVyc0J5RW1haWwoZW1haWw6IHN0cmluZyk6IFByb21pc2U8T3JkZXJbXT4ge1xyXG4gICAgY29uc3QgeyBkYXRhOiBvcmRlcnMgfSA9IGF3YWl0IHRoaXMub3JkZXJSZXBvc2l0b3J5LmZpbmQoe1xyXG4gICAgICBmaWx0ZXJzOiB7XHJcbiAgICAgICAgdXNlcjoge1xyXG4gICAgICAgICAgZW1haWw6IGVtYWlsLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc3RhdHVzOiBPcmRlclN0YXR1cy5FTlRSRUdVRSxcclxuICAgICAgICBjcmVhdGVkQXQ6IHtcclxuICAgICAgICAgIG9wZXJhdG9yOiBXaGVyZS5HVEUsXHJcbiAgICAgICAgICB2YWx1ZTogbmV3IERhdGUoMjAyNCwgMCwgMCwgMCwgMCwgMCkuZ2V0VGltZSgpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIG9yZGVyQnk6IHtcclxuICAgICAgICBjcmVhdGVkQXQ6ICdkZXNjJyxcclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIG9yZGVyc1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBnZXRQcm9kdWN0UmV2aWV3KG9yZGVyOiBPcmRlciwgaXRlbTogTGluZUl0ZW0pIHtcclxuICAgIGNvbnN0IHByb2R1Y3RzOiBzdHJpbmdbXSA9IFtpdGVtLmlkXVxyXG4gICAgY29uc3QgaXNWYXJpYW50ID0gYXdhaXQgdGhpcy52YXJpYW50UmVwb3NpdG9yeVxyXG4gICAgICAuZmluZCh7XHJcbiAgICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgICAgaWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgICAgLnRoZW4oKHJlcykgPT4gcmVzLmRhdGEuYXQoMCkpXHJcblxyXG4gICAgaWYgKGlzVmFyaWFudCkgcHJvZHVjdHMucHVzaChpc1ZhcmlhbnQucHJvZHVjdElkKVxyXG4gICAgY29uc3QgcHJvZHVjdFJldmlldyA9IGF3YWl0IHRoaXMucHJvZHVjdFJldmlld1JlcG9zaXRvcnlcclxuICAgICAgLmZpbmQoe1xyXG4gICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgIG9yZGVySWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogW29yZGVyLmlkLCBvcmRlci5vcmRlck51bWJlcl0uZmlsdGVyKEJvb2xlYW4pIH0sXHJcbiAgICAgICAgICBwcm9kdWN0SWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogcHJvZHVjdHMgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gICAgICAudGhlbigocmVzKSA9PiByZXMuZGF0YS5hdCgwKSlcclxuXHJcbiAgICByZXR1cm4gcHJvZHVjdFJldmlld1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFByb2R1Y3RSZXZpZXcob3JkZXI6IE9yZGVyLCBpdGVtOiBMaW5lSXRlbSwgcmV2aWV3OiBQcm9kdWN0UmV2aWV3KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpZDogaXRlbS5pZCxcclxuICAgICAgb3JkZXJJZDogb3JkZXIuaWQsXHJcbiAgICAgIG9yZGVyTnVtYmVyOiBvcmRlci5vcmRlck51bWJlcixcclxuICAgICAgaXNFZGl0aW9uOiBmYWxzZSxcclxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICBpbWFnZTogaXRlbS5pbWFnZSxcclxuICAgICAgZGVsaXZlcnlEYXRlOiBvcmRlci5kZWxpdmVyZWRBdCB8fCBudWxsLFxyXG4gICAgICBldmFsdWF0aW9uSW5BbmFseXNpczogcmV2aWV3ID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICByYXRpbmc6IHJldmlldyA/IHJldmlldy5yYXRlIDogbnVsbCxcclxuICAgICAgc2hvcFByb2R1Y3RTbHVnOiBpdGVtLnNsdWcsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBjcmVhdGVSZXZpZXcocmV2aWV3OiBQcm9kdWN0UmV2aWV3Q3JlYXRlKTogUHJvbWlzZTxQcm9kdWN0UmV2aWV3PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9kdWN0UmV2aWV3UmVwb3NpdG9yeS5jcmVhdGUoXHJcbiAgICAgIFByb2R1Y3RSZXZpZXcudG9JbnN0YW5jZSh7XHJcbiAgICAgICAgcHJvZHVjdElkOiByZXZpZXcucHJvZHVjdElkLnRvU3RyaW5nKCksXHJcbiAgICAgICAgc2hvcDogcmV2aWV3LnNob3AsXHJcbiAgICAgICAgcmF0ZTogcmV2aWV3LnJhdGUsXHJcbiAgICAgICAgYXV0aG9yOiByZXZpZXcuYXV0aG9yLFxyXG4gICAgICAgIGVtYWlsOiByZXZpZXcuZW1haWwsXHJcbiAgICAgICAgbG9jYXRpb246IHJldmlldy5sb2NhdGlvbixcclxuICAgICAgICByZXZpZXc6IHJldmlldy5jb21tZW50LFxyXG4gICAgICAgIHRpdGxlOiByZXZpZXcudGl0bGUsXHJcbiAgICAgICAgcGVyc29uSWQ6IHJldmlldy5wZXJzb25JZCxcclxuICAgICAgICBwb2ludHM6IHJldmlldy5wb2ludHMsXHJcbiAgICAgICAgb3JkZXJJZDogcmV2aWV3Lm9yZGVySWQsXHJcbiAgICAgIH0pLFxyXG4gICAgKVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1wcm9kdWN0LXJldmlldy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9wZW5kaW5nLXByb2R1Y3QtcmV2aWV3LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFBlbmRpbmdQcm9kdWN0UmV2aWV3ID0ge1xyXG4gIGlkOiBzdHJpbmdcclxuICBvcmRlck51bWJlcjogc3RyaW5nXHJcbiAgaXNFZGl0aW9uOiBib29sZWFuXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaW1hZ2U6IHN0cmluZ1xyXG4gIGRlbGl2ZXJ5RGF0ZTogc3RyaW5nXHJcbiAgZXZhbHVhdGlvbkluQW5hbHlzaXM6IGJvb2xlYW5cclxuICBzaG9wUHJvZHVjdFNsdWc6IHN0cmluZ1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1wcm9kdWN0LXJldmlldy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9wZW5kaW5nLXByb2R1Y3QtcmV2aWV3LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFBlbmRpbmdQcm9kdWN0UmV2aWV3ID0ge1xyXG4gIGlkOiBzdHJpbmdcclxuICBpc0VkaXRpb246IGJvb2xlYW5cclxuICBvcmRlcklkOiBzdHJpbmdcclxuICBvcmRlck51bWJlcjogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaW1hZ2U6IHN0cmluZ1xyXG4gIGRlbGl2ZXJ5RGF0ZTogc3RyaW5nXHJcbiAgZXZhbHVhdGlvbkluQW5hbHlzaXM6IGJvb2xlYW5cclxuICByYXRpbmc/OiBudW1iZXJcclxuICBzaG9wUHJvZHVjdFNsdWc6IHN0cmluZ1xyXG59XHJcbiJdfQ==
@@ -2984,51 +2984,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
2984
2984
  }], ctorParameters: () => [{ type: HomeShopRepositoriesFacade }, { type: ConfigurationFacade }] });
2985
2985
 
2986
2986
  class OrderProductReviewService {
2987
- constructor(orderRepository, productReviewRepository) {
2987
+ constructor(orderRepository, productReviewRepository, variantRepository) {
2988
2988
  this.orderRepository = orderRepository;
2989
2989
  this.productReviewRepository = productReviewRepository;
2990
+ this.variantRepository = variantRepository;
2990
2991
  }
2991
2992
  async getPendingReviewsByEmail(email) {
2992
2993
  const products = [];
2994
+ const orders = await this.getOrdersByEmail(email);
2995
+ if (orders.length) {
2996
+ for (const order of orders) {
2997
+ const lineItems = order.lineItems.filter((item) => !item.isGift);
2998
+ for (const item of lineItems) {
2999
+ const productReview = await this.getProductReview(order, item);
3000
+ if (productReview?.status != null)
3001
+ continue;
3002
+ products.push(this.buildProductReview(order, item, productReview));
3003
+ }
3004
+ }
3005
+ }
3006
+ return products;
3007
+ }
3008
+ async getOrdersByEmail(email) {
2993
3009
  const { data: orders } = await this.orderRepository.find({
2994
3010
  filters: {
2995
3011
  user: {
2996
3012
  email: email,
2997
3013
  },
2998
3014
  status: OrderStatus.ENTREGUE,
3015
+ createdAt: {
3016
+ operator: Where.GTE,
3017
+ value: new Date(2024, 0, 0, 0, 0, 0).getTime(),
3018
+ },
2999
3019
  },
3000
3020
  orderBy: {
3001
3021
  createdAt: 'desc',
3002
3022
  },
3003
3023
  });
3004
- if (orders.length) {
3005
- for (const order of orders) {
3006
- const lineItems = order.lineItems.filter((item) => !item.isGift);
3007
- for (const item of lineItems) {
3008
- const productReview = await this.productReviewRepository
3009
- .find({
3010
- filters: {
3011
- orderId: order.id,
3012
- productId: item.id,
3013
- status: { operator: Where.ISNULL },
3014
- },
3015
- })
3016
- .then((res) => res.data.at(0));
3017
- products.push(this.buildProductReview(order, item, productReview));
3018
- }
3019
- }
3020
- }
3021
- return products;
3024
+ return orders;
3025
+ }
3026
+ async getProductReview(order, item) {
3027
+ const products = [item.id];
3028
+ const isVariant = await this.variantRepository
3029
+ .find({
3030
+ filters: {
3031
+ id: item.id,
3032
+ },
3033
+ })
3034
+ .then((res) => res.data.at(0));
3035
+ if (isVariant)
3036
+ products.push(isVariant.productId);
3037
+ const productReview = await this.productReviewRepository
3038
+ .find({
3039
+ filters: {
3040
+ orderId: { operator: Where.IN, value: [order.id, order.orderNumber].filter(Boolean) },
3041
+ productId: { operator: Where.IN, value: products },
3042
+ },
3043
+ })
3044
+ .then((res) => res.data.at(0));
3045
+ return productReview;
3022
3046
  }
3023
3047
  buildProductReview(order, item, review) {
3024
3048
  return {
3025
3049
  id: item.id,
3026
- orderNumber: order.orderNumber ?? order.id,
3050
+ orderId: order.id,
3051
+ orderNumber: order.orderNumber,
3027
3052
  isEdition: false,
3028
3053
  name: item.name,
3029
3054
  image: item.image,
3030
3055
  deliveryDate: order.deliveredAt || null,
3031
3056
  evaluationInAnalysis: review ? true : false,
3057
+ rating: review ? review.rate : null,
3032
3058
  shopProductSlug: item.slug,
3033
3059
  };
3034
3060
  }
@@ -3047,7 +3073,7 @@ class OrderProductReviewService {
3047
3073
  orderId: review.orderId,
3048
3074
  }));
3049
3075
  }
3050
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
3076
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }, { token: 'VariantRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
3051
3077
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService }); }
3052
3078
  }
3053
3079
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService, decorators: [{
@@ -3058,6 +3084,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
3058
3084
  }] }, { type: undefined, decorators: [{
3059
3085
  type: Inject,
3060
3086
  args: ['ProductReviewRepository']
3087
+ }] }, { type: undefined, decorators: [{
3088
+ type: Inject,
3089
+ args: ['VariantRepository']
3061
3090
  }] }] });
3062
3091
 
3063
3092
  class OrderService {