@lodashventure/medusa-review 1.5.15 → 1.5.18

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.
@@ -1,26 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
4
5
  const getReviewsWorkflow_1 = require("../../../../workflows/review/getReviewsWorkflow");
5
6
  const schema_org_1 = require("../../../../utils/schema-org");
6
7
  const GET = async (req, res) => {
7
8
  const { productId } = req.params;
9
+ const baseFilters = {
10
+ product_id: productId,
11
+ status: "approved",
12
+ parent: null,
13
+ };
8
14
  const { result } = await (0, getReviewsWorkflow_1.getReviewsWorkflow)().run({
9
15
  input: {
10
16
  queryConfig: req.queryConfig,
11
- filters: {
12
- product_id: productId,
13
- status: "approved",
14
- parent: null,
15
- },
17
+ filters: baseFilters,
16
18
  },
17
19
  });
18
- // Calculate aggregate rating for the reviews
19
- const aggregateRating = (0, schema_org_1.calculateAggregateRating)(result.reviews);
20
+ const aggregateRating = (await resolveAggregateRating(req, result.reviews, result.count, baseFilters)) ??
21
+ null;
20
22
  res.json({
21
23
  ...result,
22
24
  aggregateRating,
23
25
  });
24
26
  };
25
27
  exports.GET = GET;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3Jldmlld3MvW3Byb2R1Y3RJZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsd0ZBQXFGO0FBQ3JGLDZEQUF3RTtBQUVqRSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBa0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDbkUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFFakMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSx1Q0FBa0IsR0FBRSxDQUFDLEdBQUcsQ0FBQztRQUNoRCxLQUFLLEVBQUU7WUFDTCxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7WUFDNUIsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxTQUFTO2dCQUNyQixNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLElBQUk7YUFDYjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsNkNBQTZDO0lBQzdDLE1BQU0sZUFBZSxHQUFHLElBQUEscUNBQXdCLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWpFLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxHQUFHLE1BQU07UUFDVCxlQUFlO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQXJCVyxRQUFBLEdBQUcsT0FxQmQifQ==
28
+ async function resolveAggregateRating(req, currentPage, totalCount, filters) {
29
+ const currentAggregate = (0, schema_org_1.calculateAggregateRating)(currentPage);
30
+ const pageSize = currentPage.length;
31
+ const total = typeof totalCount === "number" ? totalCount : pageSize;
32
+ if (total <= pageSize || total === 0) {
33
+ return currentAggregate;
34
+ }
35
+ try {
36
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
37
+ const { data: allReviews = [] } = await query.graph({
38
+ entity: "review",
39
+ fields: ["rating"],
40
+ filters,
41
+ pagination: {
42
+ take: total,
43
+ },
44
+ });
45
+ const aggregate = (0, schema_org_1.calculateAggregateRating)(allReviews);
46
+ return aggregate ?? currentAggregate;
47
+ }
48
+ catch (error) {
49
+ console.error("Failed to load aggregate rating for reviews:", error);
50
+ return currentAggregate;
51
+ }
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3Jldmlld3MvW3Byb2R1Y3RJZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXNFO0FBQ3RFLHdGQUFxRjtBQUNyRiw2REFBd0U7QUFFakUsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ2pDLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLFVBQVUsRUFBRSxTQUFTO1FBQ3JCLE1BQU0sRUFBRSxVQUFtQjtRQUMzQixNQUFNLEVBQUUsSUFBcUI7S0FDOUIsQ0FBQztJQUVGLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsdUNBQWtCLEdBQUUsQ0FBQyxHQUFHLENBQUM7UUFDaEQsS0FBSyxFQUFFO1lBQ0wsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO1lBQzVCLE9BQU8sRUFBRSxXQUFXO1NBQ3JCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxlQUFlLEdBQ25CLENBQUMsTUFBTSxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQztJQUVQLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxHQUFHLE1BQU07UUFDVCxlQUFlO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQXZCVyxRQUFBLEdBQUcsT0F1QmQ7QUFFRixLQUFLLFVBQVUsc0JBQXNCLENBQ25DLEdBQWtCLEVBQ2xCLFdBQThDLEVBQzlDLFVBQW1CLEVBQ25CLE9BSUM7SUFFRCxNQUFNLGdCQUFnQixHQUFHLElBQUEscUNBQXdCLEVBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0QsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxNQUFNLEtBQUssR0FBRyxPQUFPLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRXJFLElBQUksS0FBSyxJQUFJLFFBQVEsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckMsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEdBQUcsRUFBRSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ2xELE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNsQixPQUFPO1lBQ1AsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxLQUFLO2FBQ1o7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxJQUFBLHFDQUF3QixFQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sU0FBUyxJQUFJLGdCQUFnQixDQUFDO0lBQ3ZDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRSxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7QUFDSCxDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodashventure/medusa-review",
3
- "version": "1.5.15",
3
+ "version": "1.5.18",
4
4
  "description": "A starter for Medusa plugins.",
5
5
  "author": "Medusa (https://medusajs.com)",
6
6
  "license": "MIT",