@lodashventure/medusa-review 1.4.1 → 1.4.2

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,7 +3,6 @@ const jsxRuntime = require("react/jsx-runtime");
3
3
  const adminSdk = require("@medusajs/admin-sdk");
4
4
  const icons = require("@medusajs/icons");
5
5
  const ui = require("@medusajs/ui");
6
- const reactQuery = require("@tanstack/react-query");
7
6
  const Mentions = require("rc-mentions");
8
7
  const react = require("react");
9
8
  const reactRouterDom = require("react-router-dom");
@@ -1405,13 +1404,13 @@ const ReviewsPage = () => {
1405
1404
  }
1406
1405
  return ids;
1407
1406
  }, [selectedReview]);
1408
- const {
1409
- data: reviews,
1410
- isLoading,
1411
- refetch
1412
- } = reactQuery.useQuery({
1413
- queryKey: ["reviews", offset, limit],
1414
- queryFn: async () => {
1407
+ const [reviews, setReviews] = react.useState(null);
1408
+ const [isLoading, setIsLoading] = react.useState(true);
1409
+ const [error, setError] = react.useState(null);
1410
+ const fetchReviews = async () => {
1411
+ setIsLoading(true);
1412
+ setError(null);
1413
+ try {
1415
1414
  const { data } = await axios$1.get("/admin/reviews", {
1416
1415
  params: {
1417
1416
  offset: pagination.pageIndex * pagination.pageSize,
@@ -1419,9 +1418,19 @@ const ReviewsPage = () => {
1419
1418
  order: "-created_at"
1420
1419
  }
1421
1420
  });
1422
- return data;
1421
+ setReviews(data);
1422
+ } catch (err) {
1423
+ setError(
1424
+ err instanceof Error ? err : new Error("Failed to fetch reviews")
1425
+ );
1426
+ } finally {
1427
+ setIsLoading(false);
1423
1428
  }
1424
- });
1429
+ };
1430
+ react.useEffect(() => {
1431
+ fetchReviews();
1432
+ }, [offset, limit, pagination.pageIndex, pagination.pageSize]);
1433
+ const refetch = fetchReviews;
1425
1434
  const users = react.useMemo(() => {
1426
1435
  var _a2;
1427
1436
  const _users = reviews == null ? void 0 : reviews.reviews.filter((review) => review.product_id === (selectedReview == null ? void 0 : selectedReview.product_id)).map((review) => {
@@ -1623,11 +1632,13 @@ const formModule = { customFields: {} };
1623
1632
  const displayModule = {
1624
1633
  displays: {}
1625
1634
  };
1635
+ const i18nModule = { resources: {} };
1626
1636
  const plugin = {
1627
1637
  widgetModule,
1628
1638
  routeModule,
1629
1639
  menuItemModule,
1630
1640
  formModule,
1631
- displayModule
1641
+ displayModule,
1642
+ i18nModule
1632
1643
  };
1633
1644
  module.exports = plugin;
@@ -2,9 +2,8 @@ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
2
  import { defineRouteConfig } from "@medusajs/admin-sdk";
3
3
  import { ChatBubbleLeftRight } from "@medusajs/icons";
4
4
  import { FocusModal, clx, ProgressAccordion, StatusBadge, Text, Button, createDataTableColumnHelper, Container, DataTable, Heading, Toaster, createDataTableCommandHelper, toast, useDataTable, Drawer } from "@medusajs/ui";
5
- import { useQuery } from "@tanstack/react-query";
6
5
  import Mentions from "rc-mentions";
7
- import { useState, useMemo } from "react";
6
+ import { useState, useMemo, useEffect } from "react";
8
7
  import { Link } from "react-router-dom";
9
8
  import Medusa from "@medusajs/js-sdk";
10
9
  function getDefaultExportFromCjs(x) {
@@ -1401,13 +1400,13 @@ const ReviewsPage = () => {
1401
1400
  }
1402
1401
  return ids;
1403
1402
  }, [selectedReview]);
1404
- const {
1405
- data: reviews,
1406
- isLoading,
1407
- refetch
1408
- } = useQuery({
1409
- queryKey: ["reviews", offset, limit],
1410
- queryFn: async () => {
1403
+ const [reviews, setReviews] = useState(null);
1404
+ const [isLoading, setIsLoading] = useState(true);
1405
+ const [error, setError] = useState(null);
1406
+ const fetchReviews = async () => {
1407
+ setIsLoading(true);
1408
+ setError(null);
1409
+ try {
1411
1410
  const { data } = await axios$1.get("/admin/reviews", {
1412
1411
  params: {
1413
1412
  offset: pagination.pageIndex * pagination.pageSize,
@@ -1415,9 +1414,19 @@ const ReviewsPage = () => {
1415
1414
  order: "-created_at"
1416
1415
  }
1417
1416
  });
1418
- return data;
1417
+ setReviews(data);
1418
+ } catch (err) {
1419
+ setError(
1420
+ err instanceof Error ? err : new Error("Failed to fetch reviews")
1421
+ );
1422
+ } finally {
1423
+ setIsLoading(false);
1419
1424
  }
1420
- });
1425
+ };
1426
+ useEffect(() => {
1427
+ fetchReviews();
1428
+ }, [offset, limit, pagination.pageIndex, pagination.pageSize]);
1429
+ const refetch = fetchReviews;
1421
1430
  const users = useMemo(() => {
1422
1431
  var _a2;
1423
1432
  const _users = reviews == null ? void 0 : reviews.reviews.filter((review) => review.product_id === (selectedReview == null ? void 0 : selectedReview.product_id)).map((review) => {
@@ -1619,12 +1628,14 @@ const formModule = { customFields: {} };
1619
1628
  const displayModule = {
1620
1629
  displays: {}
1621
1630
  };
1631
+ const i18nModule = { resources: {} };
1622
1632
  const plugin = {
1623
1633
  widgetModule,
1624
1634
  routeModule,
1625
1635
  menuItemModule,
1626
1636
  formModule,
1627
- displayModule
1637
+ displayModule,
1638
+ i18nModule
1628
1639
  };
1629
1640
  export {
1630
1641
  plugin as default
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addReviewAggregates = addReviewAggregates;
4
+ /**
5
+ * Middleware to add review aggregates to product responses
6
+ * This enhances product payloads with review ratings and counts
7
+ * for Schema.org structured data
8
+ */
9
+ async function addReviewAggregates(req, res, next) {
10
+ try {
11
+ const originalJson = res.json.bind(res);
12
+ res.json = async function (data) {
13
+ try {
14
+ // Handle single product response
15
+ if (data?.product && !Array.isArray(data.product)) {
16
+ data.product = await enrichProductWithReviews(req, data.product);
17
+ }
18
+ // Handle products array response
19
+ if (data?.products && Array.isArray(data.products)) {
20
+ data.products = await Promise.all(data.products.map((product) => enrichProductWithReviews(req, product)));
21
+ }
22
+ }
23
+ catch (error) {
24
+ console.error("Error adding review aggregates:", error?.message || error);
25
+ // Continue with original data on error
26
+ }
27
+ return originalJson(data);
28
+ };
29
+ next();
30
+ }
31
+ catch (middlewareError) {
32
+ console.error("Error in addReviewAggregates middleware:", middlewareError);
33
+ next(middlewareError);
34
+ }
35
+ }
36
+ /**
37
+ * Get empty review aggregate
38
+ */
39
+ function getEmptyReviewAggregate() {
40
+ return {
41
+ average_rating: 0,
42
+ review_count: 0,
43
+ rating_distribution: {
44
+ 1: 0,
45
+ 2: 0,
46
+ 3: 0,
47
+ 4: 0,
48
+ 5: 0,
49
+ },
50
+ reviews: [],
51
+ };
52
+ }
53
+ /**
54
+ * Enrich a single product with review aggregate information
55
+ */
56
+ async function enrichProductWithReviews(req, product) {
57
+ if (!product || !product.id) {
58
+ return product;
59
+ }
60
+ try {
61
+ // Try to resolve the review module service
62
+ let reviewService;
63
+ try {
64
+ reviewService = req.scope.resolve("productReview");
65
+ }
66
+ catch (resolveError) {
67
+ // Review service not available - skip enrichment
68
+ return {
69
+ ...product,
70
+ review_aggregate: getEmptyReviewAggregate(),
71
+ };
72
+ }
73
+ if (!reviewService || !reviewService.listReviews) {
74
+ return {
75
+ ...product,
76
+ review_aggregate: getEmptyReviewAggregate(),
77
+ };
78
+ }
79
+ // Fetch approved reviews for this product
80
+ let reviews;
81
+ try {
82
+ reviews = await reviewService.listReviews({
83
+ product_id: product.id,
84
+ status: "approved",
85
+ parent: null, // Only top-level reviews (not replies)
86
+ });
87
+ }
88
+ catch (reviewFetchError) {
89
+ console.error(`Error fetching reviews for product ${product.id}:`, reviewFetchError);
90
+ return {
91
+ ...product,
92
+ review_aggregate: getEmptyReviewAggregate(),
93
+ };
94
+ }
95
+ if (!reviews || !Array.isArray(reviews)) {
96
+ return {
97
+ ...product,
98
+ review_aggregate: getEmptyReviewAggregate(),
99
+ };
100
+ }
101
+ // Calculate aggregate rating
102
+ const reviewsWithRating = reviews.filter((r) => r.rating !== null && r.rating !== undefined && r.rating > 0);
103
+ if (reviewsWithRating.length === 0) {
104
+ return {
105
+ ...product,
106
+ review_aggregate: getEmptyReviewAggregate(),
107
+ };
108
+ }
109
+ // Calculate average rating
110
+ const totalRating = reviewsWithRating.reduce((sum, review) => sum + (review.rating || 0), 0);
111
+ const averageRating = totalRating / reviewsWithRating.length;
112
+ // Calculate rating distribution
113
+ const ratingDistribution = {
114
+ 1: 0,
115
+ 2: 0,
116
+ 3: 0,
117
+ 4: 0,
118
+ 5: 0,
119
+ };
120
+ reviewsWithRating.forEach((review) => {
121
+ const rating = Math.round(review.rating);
122
+ if (rating >= 1 && rating <= 5) {
123
+ ratingDistribution[rating]++;
124
+ }
125
+ });
126
+ // Format reviews for Schema.org (limit to 10)
127
+ const formattedReviews = reviewsWithRating
128
+ .slice(0, 10)
129
+ .map((review) => ({
130
+ id: review.id,
131
+ rating: review.rating,
132
+ title: review.title || null,
133
+ content: review.content || "",
134
+ author_name: review.customer_id
135
+ ? "ลูกค้าที่ได้รับการยืนยัน"
136
+ : "ผู้ดูแลระบบ",
137
+ date_published: review.created_at
138
+ ? new Date(review.created_at).toISOString().split("T")[0]
139
+ : new Date().toISOString().split("T")[0],
140
+ is_admin: review.is_admin || false,
141
+ }));
142
+ // Add review aggregate to product
143
+ return {
144
+ ...product,
145
+ review_aggregate: {
146
+ average_rating: Math.round(averageRating * 10) / 10, // Round to 1 decimal
147
+ review_count: reviewsWithRating.length,
148
+ rating_distribution: ratingDistribution,
149
+ reviews: formattedReviews,
150
+ },
151
+ };
152
+ }
153
+ catch (error) {
154
+ console.error(`Error enriching product ${product.id} with reviews:`, error?.message || error);
155
+ // Fallback: return product without review data
156
+ return {
157
+ ...product,
158
+ review_aggregate: getEmptyReviewAggregate(),
159
+ };
160
+ }
161
+ }
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJldmlldy1hZ2dyZWdhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9taWRkbGV3YXJlcy9hZGQtcmV2aWV3LWFnZ3JlZ2F0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFXQSxrREF1Q0M7QUE1Q0Q7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxtQkFBbUIsQ0FDdkMsR0FBa0IsRUFDbEIsR0FBbUIsRUFDbkIsSUFBd0I7SUFFeEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkMsR0FBVyxDQUFDLElBQUksR0FBRyxLQUFLLFdBQVcsSUFBUztZQUMzQyxJQUFJLENBQUM7Z0JBQ0gsaUNBQWlDO2dCQUNqQyxJQUFJLElBQUksRUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sd0JBQXdCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbkUsQ0FBQztnQkFFRCxpQ0FBaUM7Z0JBQ2pDLElBQUksSUFBSSxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUNqQyx3QkFBd0IsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQ3ZDLENBQ0YsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztZQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQ1gs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
@@ -8,6 +8,7 @@ const route_1 = require("./store/reviews/route");
8
8
  const route_2 = require("./admin/reviews/status/route");
9
9
  const multer_1 = __importDefault(require("multer"));
10
10
  const getReviewsWorkflow_1 = require("../workflows/review/getReviewsWorkflow");
11
+ const add_review_aggregates_1 = require("./middlewares/add-review-aggregates");
11
12
  const upload = (0, multer_1.default)({ storage: multer_1.default.memoryStorage() });
12
13
  exports.default = (0, http_1.defineMiddlewares)({
13
14
  routes: [
@@ -72,6 +73,27 @@ exports.default = (0, http_1.defineMiddlewares)({
72
73
  }),
73
74
  ],
74
75
  },
76
+ // Add review aggregates to product endpoints
77
+ {
78
+ matcher: "/store/products",
79
+ method: "GET",
80
+ middlewares: [add_review_aggregates_1.addReviewAggregates],
81
+ },
82
+ {
83
+ matcher: "/store/products/:id",
84
+ method: "GET",
85
+ middlewares: [add_review_aggregates_1.addReviewAggregates],
86
+ },
87
+ {
88
+ matcher: "/admin/products",
89
+ method: "GET",
90
+ middlewares: [add_review_aggregates_1.addReviewAggregates],
91
+ },
92
+ {
93
+ matcher: "/admin/products/:id",
94
+ method: "GET",
95
+ middlewares: [add_review_aggregates_1.addReviewAggregates],
96
+ },
75
97
  ],
76
98
  });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbURBS2tDO0FBQ2xDLGlEQUE4RDtBQUM5RCx3REFBa0Y7QUFDbEYsb0RBQTRCO0FBQzVCLCtFQUEwRTtBQUUxRSxNQUFNLE1BQU0sR0FBRyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFM0Qsa0JBQWUsSUFBQSx3QkFBaUIsRUFBQztJQUMvQixNQUFNLEVBQUU7UUFDTjtZQUNFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNoQixPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxhQUFhO2dCQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO2dCQUNyQixJQUFBLCtCQUF3QixFQUFDLDZCQUE0QixDQUFDO2FBQ3ZEO1NBQ0Y7UUFDRDtZQUNFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNoQixPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxhQUFhO2dCQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO2dCQUNyQixJQUFBLCtCQUF3QixFQUFDLDZCQUE0QixDQUFDO2FBQ3ZEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2hCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLCtCQUF3QixFQUFDLDBDQUF5QyxDQUFDO2FBQ3BFO1NBQ0Y7UUFDRDtZQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNmLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsV0FBVyxFQUFFO2dCQUNYLElBQUEsZ0NBQXlCLEVBQUMscUNBQXVCLEVBQUU7b0JBQ2pELFFBQVEsRUFBRTt3QkFDUixHQUFHO3dCQUNILGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixVQUFVO3dCQUNWLFlBQVk7d0JBQ1osbUJBQW1CO3FCQUNwQjtvQkFDRCxNQUFNLEVBQUUsSUFBSTtpQkFDYixDQUFDO2FBQ0g7U0FDRjtRQUNEO1lBQ0UsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2YsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxnQ0FBeUIsRUFBQyxxQ0FBdUIsRUFBRTtvQkFDakQsUUFBUSxFQUFFO3dCQUNSLEdBQUc7d0JBQ0gsZUFBZTt3QkFDZixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE1BQU0sRUFBRSxJQUFJO2lCQUNiLENBQUM7YUFDSDtTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUMifQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbURBS2tDO0FBQ2xDLGlEQUE4RDtBQUM5RCx3REFBa0Y7QUFDbEYsb0RBQTRCO0FBQzVCLCtFQUEwRTtBQUMxRSwrRUFBMEU7QUFFMUUsTUFBTSxNQUFNLEdBQUcsSUFBQSxnQkFBTSxFQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRTNELGtCQUFlLElBQUEsd0JBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ047WUFDRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDaEIsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDM0MsYUFBYTtnQkFDYixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDckIsSUFBQSwrQkFBd0IsRUFBQyw2QkFBNEIsQ0FBQzthQUN2RDtTQUNGO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDaEIsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDL0MsYUFBYTtnQkFDYixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDckIsSUFBQSwrQkFBd0IsRUFBQyw2QkFBNEIsQ0FBQzthQUN2RDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNoQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSwrQkFBd0IsRUFBQywwQ0FBeUMsQ0FBQzthQUNwRTtTQUNGO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDZixPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLGdDQUF5QixFQUFDLHFDQUF1QixFQUFFO29CQUNqRCxRQUFRLEVBQUU7d0JBQ1IsR0FBRzt3QkFDSCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixZQUFZO3dCQUNaLG1CQUFtQjtxQkFDcEI7b0JBQ0QsTUFBTSxFQUFFLElBQUk7aUJBQ2IsQ0FBQzthQUNIO1NBQ0Y7UUFDRDtZQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNmLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsV0FBVyxFQUFFO2dCQUNYLElBQUEsZ0NBQXlCLEVBQUMscUNBQXVCLEVBQUU7b0JBQ2pELFFBQVEsRUFBRTt3QkFDUixHQUFHO3dCQUNILGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixVQUFVO3dCQUNWLFlBQVk7d0JBQ1osbUJBQW1CO3FCQUNwQjtvQkFDRCxNQUFNLEVBQUUsSUFBSTtpQkFDYixDQUFDO2FBQ0g7U0FDRjtRQUNELDZDQUE2QztRQUM3QztZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsTUFBTSxFQUFFLEtBQUs7WUFDYixXQUFXLEVBQUUsQ0FBQywyQ0FBbUIsQ0FBQztTQUNuQztRQUNEO1lBQ0UsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixNQUFNLEVBQUUsS0FBSztZQUNiLFdBQVcsRUFBRSxDQUFDLDJDQUFtQixDQUFDO1NBQ25DO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsV0FBVyxFQUFFLENBQUMsMkNBQW1CLENBQUM7U0FDbkM7UUFDRDtZQUNFLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsTUFBTSxFQUFFLEtBQUs7WUFDYixXQUFXLEVBQUUsQ0FBQywyQ0FBbUIsQ0FBQztTQUNuQztLQUNGO0NBQ0YsQ0FBQyxDQUFDIn0=
@@ -23,4 +23,4 @@ const GET = async (req, res) => {
23
23
  });
24
24
  };
25
25
  exports.GET = GET;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3Jldmlld3MvW3Byb2R1Y3RJZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0Esd0ZBQXFGO0FBQ3JGLDZEQUF3RTtBQUVqRSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBa0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDbkUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFFakMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSx1Q0FBa0IsR0FBRSxDQUFDLEdBQUcsQ0FBQztRQUNoRCxLQUFLLEVBQUU7WUFDTCxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7WUFDNUIsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxTQUFTO2dCQUNyQixNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLElBQUk7YUFDYjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsNkNBQTZDO0lBQzdDLE1BQU0sZUFBZSxHQUFHLElBQUEscUNBQXdCLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWpFLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxHQUFHLE1BQU07UUFDVCxlQUFlO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQXJCVyxRQUFBLEdBQUcsT0FxQmQifQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3Jldmlld3MvW3Byb2R1Y3RJZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsd0ZBQXFGO0FBQ3JGLDZEQUF3RTtBQUVqRSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBa0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDbkUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFFakMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSx1Q0FBa0IsR0FBRSxDQUFDLEdBQUcsQ0FBQztRQUNoRCxLQUFLLEVBQUU7WUFDTCxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7WUFDNUIsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxTQUFTO2dCQUNyQixNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLElBQUk7YUFDYjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsNkNBQTZDO0lBQzdDLE1BQU0sZUFBZSxHQUFHLElBQUEscUNBQXdCLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWpFLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxHQUFHLE1BQU07UUFDVCxlQUFlO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQXJCVyxRQUFBLEdBQUcsT0FxQmQifQ==
@@ -85,7 +85,7 @@ const GET = async (req, res) => {
85
85
  const schema = (0, schema_org_1.generateProductWithReviewsSchema)({
86
86
  productName: product.title,
87
87
  productUrl,
88
- productDescription: product.description,
88
+ productDescription: product.description ?? undefined,
89
89
  productImage,
90
90
  reviews: formattedReviews,
91
91
  aggregateRating: aggregateRating || undefined,
@@ -100,4 +100,4 @@ const GET = async (req, res) => {
100
100
  });
101
101
  };
102
102
  exports.GET = GET;
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3Jldmlld3MvW3Byb2R1Y3RJZF0vc2NoZW1hL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJGQUF3RjtBQUN4RixnRUFHeUM7QUFDekMscURBQW9EO0FBRXBEOzs7Ozs7OztHQVFHO0FBQ0ksTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ2pDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFNUQsMEJBQTBCO0lBQzFCLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUU7UUFDOUQsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDO1FBQ2hELFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUN0QixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxtQkFBbUI7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHVDQUF1QztJQUN2QyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLHVDQUFrQixHQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2hELEtBQUssRUFBRTtZQUNMLFdBQVcsRUFBRTtn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
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3Jldmlld3MvW3Byb2R1Y3RJZF0vc2NoZW1hL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJGQUF3RjtBQUN4RixnRUFHeUM7QUFDekMscURBQW9EO0FBRXBEOzs7Ozs7OztHQVFHO0FBQ0ksTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ2pDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFNUQsMEJBQTBCO0lBQzFCLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUU7UUFDOUQsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDO1FBQ2hELFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUN0QixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxtQkFBbUI7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHVDQUF1QztJQUN2QyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLHVDQUFrQixHQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2hELEtBQUssRUFBRTtZQUNMLFdBQVcsRUFBRTtn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
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Migration20250514002111 = void 0;
4
- const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
5
  class Migration20250514002111 extends migrations_1.Migration {
6
6
  async up() {
7
7
  this.addSql(`create table if not exists "review" ("id" text not null, "title" text null, "content" text not null, "rating" real not null, "first_name" text not null, "last_name" text not null, "status" text check ("status" in ('pending', 'approved', 'rejected')) not null default 'pending', "product_id" text not null, "customer_id" text null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "review_pkey" primary key ("id"), constraint rating_range check (rating >= 1 AND rating <= 5));`);
@@ -13,4 +13,4 @@ class Migration20250514002111 extends migrations_1.Migration {
13
13
  }
14
14
  }
15
15
  exports.Migration20250514002111 = Migration20250514002111;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTQwMDIxMTEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE0MDAyMTExLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRTNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3akJBQXdqQixDQUFDLENBQUM7UUFDdGtCLElBQUksQ0FBQyxNQUFNLENBQUMsdUdBQXVHLENBQUMsQ0FBQztRQUNySCxJQUFJLENBQUMsTUFBTSxDQUFDLHVHQUF1RyxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBRUY7QUFaRCwwREFZQyJ9
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTQwMDIxMTEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE0MDAyMTExLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQUVsRCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCx3akJBQXdqQixDQUN6akIsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1QsdUdBQXVHLENBQ3hHLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULHVHQUF1RyxDQUN4RyxDQUFDO0lBQ0osQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0Y7QUFoQkQsMERBZ0JDIn0=
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Migration20250514010337 = void 0;
4
- const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
5
  class Migration20250514010337 extends migrations_1.Migration {
6
6
  async up() {
7
7
  this.addSql(`create table if not exists "review_media" ("id" text not null, "fileId" text not null, "mimeType" text not null, "review_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "review_media_pkey" primary key ("id"));`);
@@ -14,4 +14,4 @@ class Migration20250514010337 extends migrations_1.Migration {
14
14
  }
15
15
  }
16
16
  exports.Migration20250514010337 = Migration20250514010337;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTQwMTAzMzcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE0MDEwMzM3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRTNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrVUFBa1UsQ0FBQyxDQUFDO1FBQ2hWLElBQUksQ0FBQyxNQUFNLENBQUMsaUhBQWlILENBQUMsQ0FBQztRQUMvSCxJQUFJLENBQUMsTUFBTSxDQUFDLG1IQUFtSCxDQUFDLENBQUM7UUFFakksSUFBSSxDQUFDLE1BQU0sQ0FBQyxnTEFBZ0wsQ0FBQyxDQUFDO0lBQ2hNLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUVGO0FBZEQsMERBY0MifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTQwMTAzMzcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE0MDEwMzM3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQUVsRCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCxrVUFBa1UsQ0FDblUsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1QsaUhBQWlILENBQ2xILENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULG1IQUFtSCxDQUNwSCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FDVCxnTEFBZ0wsQ0FDakwsQ0FBQztJQUNKLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNGO0FBcEJELDBEQW9CQyJ9
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Migration20250514020039 = void 0;
4
- const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
5
  class Migration20250514020039 extends migrations_1.Migration {
6
6
  async up() {
7
7
  this.addSql(`alter table if exists "review" drop column if exists "first_name", drop column if exists "last_name";`);
@@ -11,4 +11,4 @@ class Migration20250514020039 extends migrations_1.Migration {
11
11
  }
12
12
  }
13
13
  exports.Migration20250514020039 = Migration20250514020039;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTQwMjAwMzkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE0MDIwMDM5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRTNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1R0FBdUcsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLHlJQUF5SSxDQUFDLENBQUM7SUFDekosQ0FBQztDQUVGO0FBVkQsMERBVUMifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTQwMjAwMzkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE0MDIwMDM5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQUVsRCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCx1R0FBdUcsQ0FDeEcsQ0FBQztJQUNKLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUNULHlJQUF5SSxDQUMxSSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBWkQsMERBWUMifQ==
@@ -1,12 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Migration20250516011714 = void 0;
4
- const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
5
  class Migration20250516011714 extends migrations_1.Migration {
6
6
  async up() {
7
7
  this.addSql(`alter table if exists "review" add column if not exists "parent_id" text null;`);
8
8
  this.addSql(`alter table if exists "review" add constraint "review_parent_id_foreign" foreign key ("parent_id") references "review" ("id") on update cascade on delete set null;`);
9
9
  this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_review_parent_id" ON "review" (parent_id) WHERE deleted_at IS NULL;`);
10
+ this.addSql(`alter table if exists "review" add column if not exists "parent_id" text null;`);
11
+ this.addSql(`alter table if exists "review" add constraint "review_parent_id_foreign" foreign key ("parent_id") references "review" ("id") on update cascade on delete set null;`);
12
+ this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_review_parent_id" ON "review" (parent_id) WHERE deleted_at IS NULL;`);
10
13
  }
11
14
  async down() {
12
15
  this.addSql(`alter table if exists "review" drop constraint if exists "review_parent_id_foreign";`);
@@ -15,4 +18,4 @@ class Migration20250516011714 extends migrations_1.Migration {
15
18
  }
16
19
  }
17
20
  exports.Migration20250516011714 = Migration20250516011714;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTYwMTE3MTQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE2MDExNzE0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRTNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnRkFBZ0YsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxNQUFNLENBQUMscUtBQXFLLENBQUMsQ0FBQztRQUNuTCxJQUFJLENBQUMsTUFBTSxDQUFDLHFHQUFxRyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsc0ZBQXNGLENBQUMsQ0FBQztRQUVwRyxJQUFJLENBQUMsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7Q0FFRjtBQWZELDBEQWVDIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTYwMTE3MTQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE2MDExNzE0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQUVsRCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCxnRkFBZ0YsQ0FDakYsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1QscUtBQXFLLENBQ3RLLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULHFHQUFxRyxDQUN0RyxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FDVCxnRkFBZ0YsQ0FDakYsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1QscUtBQXFLLENBQ3RLLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULHFHQUFxRyxDQUN0RyxDQUFDO0lBQ0osQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQ1Qsc0ZBQXNGLENBQ3ZGLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FDVCxtRUFBbUUsQ0FDcEUsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWhDRCwwREFnQ0MifQ==
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Migration20250516015055 = void 0;
4
- const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
5
  class Migration20250516015055 extends migrations_1.Migration {
6
6
  async up() {
7
7
  this.addSql(`alter table if exists "review" alter column "rating" type real using ("rating"::real);`);
@@ -13,4 +13,4 @@ class Migration20250516015055 extends migrations_1.Migration {
13
13
  }
14
14
  }
15
15
  exports.Migration20250516015055 = Migration20250516015055;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTYwMTUwNTUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE2MDE1MDU1LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRTNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxNQUFNLENBQUMscUVBQXFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxNQUFNLENBQUMsb0VBQW9FLENBQUMsQ0FBQztJQUNwRixDQUFDO0NBRUY7QUFaRCwwREFZQyJ9
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTYwMTUwNTUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE2MDE1MDU1LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQUVsRCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCx3RkFBd0YsQ0FDekYsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1QscUVBQXFFLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FDVCx3RkFBd0YsQ0FDekYsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1Qsb0VBQW9FLENBQ3JFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFsQkQsMERBa0JDIn0=
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Migration20250516022918 = void 0;
4
- const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
5
  class Migration20250516022918 extends migrations_1.Migration {
6
6
  async up() {
7
7
  this.addSql(`alter table if exists "review" add column if not exists "is_admin" boolean null;`);
@@ -11,4 +11,4 @@ class Migration20250516022918 extends migrations_1.Migration {
11
11
  }
12
12
  }
13
13
  exports.Migration20250516022918 = Migration20250516022918;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTYwMjI5MTguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE2MDIyOTE4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRTNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrRkFBa0YsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLGtFQUFrRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUVGO0FBVkQsMERBVUMifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTYwMjI5MTguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE2MDIyOTE4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQUVsRCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCxrRkFBa0YsQ0FDbkYsQ0FBQztJQUNKLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUNULGtFQUFrRSxDQUNuRSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBWkQsMERBWUMifQ==
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Migration20250517112618 = void 0;
4
- const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
5
  class Migration20250517112618 extends migrations_1.Migration {
6
6
  async up() {
7
7
  this.addSql(`alter table if exists "review_media" add column if not exists "fileUrl" text not null;`);
@@ -11,4 +11,4 @@ class Migration20250517112618 extends migrations_1.Migration {
11
11
  }
12
12
  }
13
13
  exports.Migration20250517112618 = Migration20250517112618;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTcxMTI2MTguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE3MTEyNjE4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRTNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLHVFQUF1RSxDQUFDLENBQUM7SUFDdkYsQ0FBQztDQUVGO0FBVkQsMERBVUMifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTcxMTI2MTguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNTE3MTEyNjE4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQUVsRCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCx3RkFBd0YsQ0FDekYsQ0FBQztJQUNKLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUNULHVFQUF1RSxDQUN4RSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBWkQsMERBWUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodashventure/medusa-review",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "description": "A starter for Medusa plugins.",
5
5
  "author": "Medusa (https://medusajs.com)",
6
6
  "license": "MIT",
@@ -25,28 +25,22 @@
25
25
  ],
26
26
  "scripts": {
27
27
  "build": "medusa plugin:build",
28
- "dev": "medusa plugin:develop"
28
+ "dev": "medusa plugin:develop",
29
+ "prepublishOnly": "medusa plugin:build"
29
30
  },
30
31
  "devDependencies": {
31
- "@medusajs/admin-sdk": "2.10.0",
32
- "@medusajs/cli": "2.10.0",
33
- "@medusajs/framework": "2.10.0",
34
- "@medusajs/icons": "^2.10.0",
35
- "@medusajs/medusa": "2.10.0",
36
- "@medusajs/test-utils": "2.10.0",
32
+ "@medusajs/admin-sdk": "2.11.1",
33
+ "@medusajs/cli": "2.11.1",
34
+ "@medusajs/framework": "2.11.1",
35
+ "@medusajs/icons": "^2.11.1",
36
+ "@medusajs/medusa": "2.11.1",
37
+ "@medusajs/test-utils": "2.11.1",
37
38
  "@medusajs/ui": "4.0.4",
38
- "@mikro-orm/cli": "6.4.3",
39
- "@mikro-orm/core": "6.4.3",
40
- "@mikro-orm/knex": "6.4.3",
41
- "@mikro-orm/migrations": "6.4.3",
42
- "@mikro-orm/postgresql": "6.4.3",
43
39
  "@swc/core": "1.5.7",
44
40
  "@types/multer": "^1.4.12",
45
41
  "@types/node": "^20.0.0",
46
42
  "@types/react": "^18.3.2",
47
43
  "@types/react-dom": "^18.2.25",
48
- "awilix": "^8.0.1",
49
- "pg": "^8.13.0",
50
44
  "prop-types": "^15.8.1",
51
45
  "react": "^18.2.0",
52
46
  "react-dom": "^18.2.0",
@@ -56,21 +50,13 @@
56
50
  "yalc": "^1.0.0-pre.53"
57
51
  },
58
52
  "peerDependencies": {
59
- "@medusajs/admin-sdk": "2.10.0",
60
- "@medusajs/cli": "2.10.0",
61
- "@medusajs/framework": "2.10.0",
62
- "@medusajs/icons": "^2.10.0",
63
- "@medusajs/medusa": "2.10.0",
64
- "@medusajs/test-utils": "2.10.0",
65
- "@medusajs/ui": "4.0.3",
66
- "@tanstack/react-query": "*",
67
- "@mikro-orm/cli": "6.4.3",
68
- "@mikro-orm/core": "6.4.3",
69
- "@mikro-orm/knex": "6.4.3",
70
- "@mikro-orm/migrations": "6.4.3",
71
- "@mikro-orm/postgresql": "6.4.3",
72
- "awilix": "^8.0.1",
73
- "pg": "^8.13.0"
53
+ "@medusajs/admin-sdk": "2.11.1",
54
+ "@medusajs/cli": "2.11.1",
55
+ "@medusajs/framework": "2.11.1",
56
+ "@medusajs/icons": "^2.11.1",
57
+ "@medusajs/medusa": "2.11.1",
58
+ "@medusajs/test-utils": "2.11.1",
59
+ "@medusajs/ui": "4.0.3"
74
60
  },
75
61
  "engines": {
76
62
  "node": ">=20"
@@ -79,4 +65,4 @@
79
65
  "multer": "^1.4.5-lts.2",
80
66
  "rc-mentions": "^2.20.0"
81
67
  }
82
- }
68
+ }