@mercurjs/core 2.2.1 → 2.3.0-canary.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.
Files changed (132) hide show
  1. package/.medusa/server/src/api/admin/campaigns/helpers.d.ts +2 -0
  2. package/.medusa/server/src/api/admin/campaigns/helpers.js +152 -0
  3. package/.medusa/server/src/api/admin/campaigns/middlewares.d.ts +2 -0
  4. package/.medusa/server/src/api/admin/campaigns/middlewares.js +42 -0
  5. package/.medusa/server/src/api/admin/inventory-items/middlewares.d.ts +2 -0
  6. package/.medusa/server/src/api/admin/inventory-items/middlewares.js +46 -0
  7. package/.medusa/server/src/api/admin/middlewares.js +25 -15
  8. package/.medusa/server/src/api/admin/price-lists/middlewares.d.ts +2 -0
  9. package/.medusa/server/src/api/admin/price-lists/middlewares.js +57 -0
  10. package/.medusa/server/src/api/admin/reservations/middlewares.d.ts +2 -0
  11. package/.medusa/server/src/api/admin/reservations/middlewares.js +76 -0
  12. package/.medusa/server/src/api/admin/reservations/query-config.d.ts +9 -0
  13. package/.medusa/server/src/api/admin/reservations/query-config.js +48 -0
  14. package/.medusa/server/src/api/admin/reservations/validators.d.ts +123 -0
  15. package/.medusa/server/src/api/admin/reservations/validators.js +12 -0
  16. package/.medusa/server/src/api/admin/reviews/[id]/respond/route.d.ts +4 -0
  17. package/.medusa/server/src/api/admin/reviews/[id]/respond/route.js +22 -0
  18. package/.medusa/server/src/api/admin/reviews/[id]/route.d.ts +6 -0
  19. package/.medusa/server/src/api/admin/reviews/[id]/route.js +47 -0
  20. package/.medusa/server/src/api/admin/reviews/middlewares.d.ts +2 -0
  21. package/.medusa/server/src/api/admin/reviews/middlewares.js +60 -0
  22. package/.medusa/server/src/api/admin/reviews/query-config.d.ts +11 -0
  23. package/.medusa/server/src/api/admin/reviews/query-config.js +35 -0
  24. package/.medusa/server/src/api/admin/reviews/route.d.ts +3 -0
  25. package/.medusa/server/src/api/admin/reviews/route.js +20 -0
  26. package/.medusa/server/src/api/admin/reviews/validators.d.ts +62 -0
  27. package/.medusa/server/src/api/admin/reviews/validators.js +35 -0
  28. package/.medusa/server/src/api/store/middlewares.js +3 -1
  29. package/.medusa/server/src/api/store/reviews/[id]/route.d.ts +6 -0
  30. package/.medusa/server/src/api/store/reviews/[id]/route.js +53 -0
  31. package/.medusa/server/src/api/store/reviews/helpers.d.ts +2 -0
  32. package/.medusa/server/src/api/store/reviews/helpers.js +24 -0
  33. package/.medusa/server/src/api/store/reviews/middlewares.d.ts +2 -0
  34. package/.medusa/server/src/api/store/reviews/middlewares.js +48 -0
  35. package/.medusa/server/src/api/store/reviews/query-config.d.ts +11 -0
  36. package/.medusa/server/src/api/store/reviews/query-config.js +27 -0
  37. package/.medusa/server/src/api/store/reviews/route.d.ts +5 -0
  38. package/.medusa/server/src/api/store/reviews/route.js +47 -0
  39. package/.medusa/server/src/api/store/reviews/validators.d.ts +52 -0
  40. package/.medusa/server/src/api/store/reviews/validators.js +21 -0
  41. package/.medusa/server/src/api/vendor/campaigns/helpers.d.ts +9 -0
  42. package/.medusa/server/src/api/vendor/campaigns/helpers.js +68 -2
  43. package/.medusa/server/src/api/vendor/campaigns/middlewares.js +3 -1
  44. package/.medusa/server/src/api/vendor/campaigns/route.js +3 -1
  45. package/.medusa/server/src/api/vendor/campaigns/validators.d.ts +18 -6
  46. package/.medusa/server/src/api/vendor/campaigns/validators.js +3 -1
  47. package/.medusa/server/src/api/vendor/middlewares.js +23 -21
  48. package/.medusa/server/src/api/vendor/offers/query-config.js +3 -1
  49. package/.medusa/server/src/api/vendor/offers/validators.d.ts +22 -0
  50. package/.medusa/server/src/api/vendor/offers/validators.js +7 -1
  51. package/.medusa/server/src/api/vendor/orders/validators.d.ts +2 -2
  52. package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +93 -6
  53. package/.medusa/server/src/api/vendor/price-lists/validators.js +4 -1
  54. package/.medusa/server/src/api/vendor/promotions/validators.d.ts +88 -88
  55. package/.medusa/server/src/api/vendor/reservations/middlewares.js +119 -2
  56. package/.medusa/server/src/api/vendor/reservations/query-config.js +6 -1
  57. package/.medusa/server/src/api/vendor/reservations/validators.d.ts +3 -0
  58. package/.medusa/server/src/api/vendor/reservations/validators.js +4 -1
  59. package/.medusa/server/src/api/vendor/reviews/[id]/route.d.ts +5 -0
  60. package/.medusa/server/src/api/vendor/reviews/[id]/route.js +39 -0
  61. package/.medusa/server/src/api/vendor/reviews/helpers.d.ts +2 -0
  62. package/.medusa/server/src/api/vendor/reviews/helpers.js +24 -0
  63. package/.medusa/server/src/api/vendor/reviews/middlewares.d.ts +2 -0
  64. package/.medusa/server/src/api/vendor/reviews/middlewares.js +45 -0
  65. package/.medusa/server/src/api/vendor/reviews/query-config.d.ts +11 -0
  66. package/.medusa/server/src/api/vendor/reviews/query-config.js +32 -0
  67. package/.medusa/server/src/api/vendor/reviews/route.d.ts +3 -0
  68. package/.medusa/server/src/api/vendor/reviews/route.js +21 -0
  69. package/.medusa/server/src/api/vendor/reviews/validators.d.ts +48 -0
  70. package/.medusa/server/src/api/vendor/reviews/validators.js +31 -0
  71. package/.medusa/server/src/api/vendor/sellers/validators.d.ts +12 -12
  72. package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +70 -70
  73. package/.medusa/server/src/links/customer-review.d.ts +2 -0
  74. package/.medusa/server/src/links/customer-review.js +13 -0
  75. package/.medusa/server/src/links/order-review.d.ts +2 -0
  76. package/.medusa/server/src/links/order-review.js +13 -0
  77. package/.medusa/server/src/links/product-review.d.ts +2 -0
  78. package/.medusa/server/src/links/product-review.js +13 -0
  79. package/.medusa/server/src/links/seller-review.d.ts +2 -0
  80. package/.medusa/server/src/links/seller-review.js +13 -0
  81. package/.medusa/server/src/modules/offer/migrations/Migration20260804000000.d.ts +5 -0
  82. package/.medusa/server/src/modules/offer/migrations/Migration20260804000000.js +16 -0
  83. package/.medusa/server/src/modules/offer/models/offer.d.ts +2 -0
  84. package/.medusa/server/src/modules/offer/models/offer.js +3 -1
  85. package/.medusa/server/src/modules/offer/service.d.ts +2 -0
  86. package/.medusa/server/src/modules/review/index.d.ts +21 -0
  87. package/.medusa/server/src/modules/review/index.js +12 -0
  88. package/.medusa/server/src/modules/review/migrations/Migration20260729120000.d.ts +5 -0
  89. package/.medusa/server/src/modules/review/migrations/Migration20260729120000.js +16 -0
  90. package/.medusa/server/src/modules/review/models/index.d.ts +1 -0
  91. package/.medusa/server/src/modules/review/models/index.js +9 -0
  92. package/.medusa/server/src/modules/review/models/review.d.ts +10 -0
  93. package/.medusa/server/src/modules/review/models/review.js +14 -0
  94. package/.medusa/server/src/modules/review/service.d.ts +19 -0
  95. package/.medusa/server/src/modules/review/service.js +71 -0
  96. package/.medusa/server/src/utils/disable-medusa-middlewares.js +5 -1
  97. package/.medusa/server/src/workflows/cart/hooks/validate.js +3 -3
  98. package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +9 -2
  99. package/.medusa/server/src/workflows/index.d.ts +2 -0
  100. package/.medusa/server/src/workflows/index.js +3 -1
  101. package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +2 -0
  102. package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +4 -0
  103. package/.medusa/server/src/workflows/offer/steps/update-offers.js +3 -1
  104. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.d.ts +3 -0
  105. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.js +5 -2
  106. package/.medusa/server/src/workflows/offer/workflows/create-offers.js +13 -9
  107. package/.medusa/server/src/workflows/offer/workflows/update-offers.js +3 -1
  108. package/.medusa/server/src/workflows/review/index.d.ts +2 -0
  109. package/.medusa/server/src/workflows/review/index.js +19 -0
  110. package/.medusa/server/src/workflows/review/steps/create-review.d.ts +13 -0
  111. package/.medusa/server/src/workflows/review/steps/create-review.js +41 -0
  112. package/.medusa/server/src/workflows/review/steps/delete-review.d.ts +1 -0
  113. package/.medusa/server/src/workflows/review/steps/delete-review.js +17 -0
  114. package/.medusa/server/src/workflows/review/steps/index.d.ts +5 -0
  115. package/.medusa/server/src/workflows/review/steps/index.js +22 -0
  116. package/.medusa/server/src/workflows/review/steps/respond-review.d.ts +13 -0
  117. package/.medusa/server/src/workflows/review/steps/respond-review.js +28 -0
  118. package/.medusa/server/src/workflows/review/steps/update-review.d.ts +13 -0
  119. package/.medusa/server/src/workflows/review/steps/update-review.js +24 -0
  120. package/.medusa/server/src/workflows/review/steps/validate-review.d.ts +2 -0
  121. package/.medusa/server/src/workflows/review/steps/validate-review.js +36 -0
  122. package/.medusa/server/src/workflows/review/workflows/create-review.d.ts +13 -0
  123. package/.medusa/server/src/workflows/review/workflows/create-review.js +40 -0
  124. package/.medusa/server/src/workflows/review/workflows/delete-review.d.ts +1 -0
  125. package/.medusa/server/src/workflows/review/workflows/delete-review.js +12 -0
  126. package/.medusa/server/src/workflows/review/workflows/index.d.ts +4 -0
  127. package/.medusa/server/src/workflows/review/workflows/index.js +21 -0
  128. package/.medusa/server/src/workflows/review/workflows/respond-review.d.ts +13 -0
  129. package/.medusa/server/src/workflows/review/workflows/respond-review.js +12 -0
  130. package/.medusa/server/src/workflows/review/workflows/update-review.d.ts +13 -0
  131. package/.medusa/server/src/workflows/review/workflows/update-review.js +12 -0
  132. package/package.json +6 -6
@@ -2,14 +2,128 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.vendorReservationsMiddlewares = void 0;
4
4
  const framework_1 = require("@medusajs/framework");
5
+ const utils_1 = require("@medusajs/framework/utils");
5
6
  const query_config_1 = require("./query-config");
6
7
  const validators_1 = require("./validators");
8
+ /**
9
+ * Reservations have no direct reservation↔seller link — they belong to a seller
10
+ * only through their inventory item (`inventory_item_seller`). These middlewares
11
+ * scope the vendor reservation routes to the caller's own inventory items so a
12
+ * vendor can never read, list, edit, delete, or create a reservation against
13
+ * another store's inventory.
14
+ */
15
+ const getSellerInventoryItemIds = async (req, restrictTo) => {
16
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
17
+ const filters = {
18
+ seller_id: req.seller_context.seller_id,
19
+ };
20
+ if (restrictTo?.length) {
21
+ filters.inventory_item_id = restrictTo;
22
+ }
23
+ const { data } = await query.graph({
24
+ entity: "inventory_item_seller",
25
+ fields: ["inventory_item_id"],
26
+ filters,
27
+ pagination: {
28
+ take: restrictTo?.length ? restrictTo.length : 100000,
29
+ skip: 0,
30
+ },
31
+ });
32
+ return data.map((row) => row.inventory_item_id);
33
+ };
34
+ // The list exposes a free-text SKU filter; SKU lives on the linked inventory
35
+ // item, which the reservation query can't filter through a nested relation
36
+ // path. Resolve the matching inventory item ids and narrow the query by
37
+ // `inventory_item_id`. Runs before the seller scope so a sku query is
38
+ // intersected with the seller's own items rather than replacing it.
39
+ const maybeApplyInventoryItemSkuFilter = async (req, _res, next) => {
40
+ const sku = req.filterableFields?.sku;
41
+ if (!sku) {
42
+ return next();
43
+ }
44
+ delete req.filterableFields.sku;
45
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
46
+ const { data: inventoryItems } = await query.graph({
47
+ entity: "inventory_item",
48
+ fields: ["id"],
49
+ filters: { sku },
50
+ });
51
+ const matchedIds = inventoryItems.map((item) => item.id);
52
+ const existing = req.filterableFields.inventory_item_id;
53
+ if (existing) {
54
+ const existingIds = Array.isArray(existing) ? existing : [existing];
55
+ req.filterableFields.inventory_item_id = existingIds.filter((id) => matchedIds.includes(id));
56
+ }
57
+ else {
58
+ req.filterableFields.inventory_item_id = matchedIds;
59
+ }
60
+ return next();
61
+ };
62
+ const applySellerReservationsFilter = async (req, _res, next) => {
63
+ try {
64
+ const requested = req.filterableFields.inventory_item_id;
65
+ let allowedIds;
66
+ if (requested !== undefined && requested !== null) {
67
+ const requestedIds = Array.isArray(requested) ? requested : [requested];
68
+ // Keep only the requested items the seller actually owns.
69
+ allowedIds = await getSellerInventoryItemIds(req, requestedIds);
70
+ }
71
+ else {
72
+ allowedIds = await getSellerInventoryItemIds(req);
73
+ }
74
+ // Sentinel that matches nothing, so an empty set never widens the query.
75
+ req.filterableFields.inventory_item_id = allowedIds.length
76
+ ? allowedIds
77
+ : ["__none__"];
78
+ return next();
79
+ }
80
+ catch (error) {
81
+ return next(error);
82
+ }
83
+ };
84
+ const assertReservationOwnership = async (req, _res, next) => {
85
+ try {
86
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
87
+ const { data } = await query.graph({
88
+ entity: "reservation",
89
+ fields: ["id", "inventory_item_id"],
90
+ filters: { id: req.params.id },
91
+ });
92
+ const reservation = data[0];
93
+ const owned = reservation
94
+ ? await getSellerInventoryItemIds(req, [reservation.inventory_item_id])
95
+ : [];
96
+ if (!reservation || !owned.length) {
97
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Reservation with id: ${req.params.id} was not found`);
98
+ }
99
+ return next();
100
+ }
101
+ catch (error) {
102
+ return next(error);
103
+ }
104
+ };
105
+ const assertCreateReservationOwnership = async (req, _res, next) => {
106
+ try {
107
+ const itemId = req.validatedBody
108
+ ?.inventory_item_id;
109
+ const owned = itemId ? await getSellerInventoryItemIds(req, [itemId]) : [];
110
+ if (!owned.length) {
111
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "You are not allowed to create a reservation for this inventory item");
112
+ }
113
+ return next();
114
+ }
115
+ catch (error) {
116
+ return next(error);
117
+ }
118
+ };
7
119
  exports.vendorReservationsMiddlewares = [
8
120
  {
9
121
  method: ["GET"],
10
122
  matcher: "/vendor/reservations",
11
123
  middlewares: [
12
124
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetReservationsParams, query_config_1.vendorReservationQueryConfig.list),
125
+ maybeApplyInventoryItemSkuFilter,
126
+ applySellerReservationsFilter,
13
127
  ],
14
128
  },
15
129
  {
@@ -17,6 +131,7 @@ exports.vendorReservationsMiddlewares = [
17
131
  matcher: "/vendor/reservations/:id",
18
132
  middlewares: [
19
133
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetReservationParams, query_config_1.vendorReservationQueryConfig.retrieve),
134
+ assertReservationOwnership,
20
135
  ],
21
136
  },
22
137
  {
@@ -24,6 +139,7 @@ exports.vendorReservationsMiddlewares = [
24
139
  matcher: "/vendor/reservations",
25
140
  middlewares: [
26
141
  (0, framework_1.validateAndTransformBody)(validators_1.VendorCreateReservation),
142
+ assertCreateReservationOwnership,
27
143
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetReservationParams, query_config_1.vendorReservationQueryConfig.retrieve),
28
144
  ],
29
145
  },
@@ -32,13 +148,14 @@ exports.vendorReservationsMiddlewares = [
32
148
  matcher: "/vendor/reservations/:id",
33
149
  middlewares: [
34
150
  (0, framework_1.validateAndTransformBody)(validators_1.VendorUpdateReservation),
151
+ assertReservationOwnership,
35
152
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetReservationParams, query_config_1.vendorReservationQueryConfig.retrieve),
36
153
  ],
37
154
  },
38
155
  {
39
156
  method: ["DELETE"],
40
157
  matcher: "/vendor/reservations/:id",
41
- middlewares: [],
158
+ middlewares: [assertReservationOwnership],
42
159
  },
43
160
  ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9yZXNlcnZhdGlvbnMvbWlkZGxld2FyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsbURBRzRCO0FBRTVCLGlEQUV1QjtBQUN2Qiw2Q0FLcUI7QUFFUixRQUFBLDZCQUE2QixHQUFzQjtJQUM5RDtRQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLE9BQU8sRUFBRSxzQkFBc0I7UUFDL0IsV0FBVyxFQUFFO1lBQ1gsSUFBQSxxQ0FBeUIsRUFDdkIsd0NBQTJCLEVBQzNCLDJDQUE0QixDQUFDLElBQUksQ0FDbEM7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDZixPQUFPLEVBQUUsMEJBQTBCO1FBQ25DLFdBQVcsRUFBRTtZQUNYLElBQUEscUNBQXlCLEVBQ3ZCLHVDQUEwQixFQUMxQiwyQ0FBNEIsQ0FBQyxRQUFRLENBQ3RDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxzQkFBc0I7UUFDL0IsV0FBVyxFQUFFO1lBQ1gsSUFBQSxvQ0FBd0IsRUFBQyxvQ0FBdUIsQ0FBQztZQUNqRCxJQUFBLHFDQUF5QixFQUN2Qix1Q0FBMEIsRUFDMUIsMkNBQTRCLENBQUMsUUFBUSxDQUN0QztTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQixPQUFPLEVBQUUsMEJBQTBCO1FBQ25DLFdBQVcsRUFBRTtZQUNYLElBQUEsb0NBQXdCLEVBQUMsb0NBQXVCLENBQUM7WUFDakQsSUFBQSxxQ0FBeUIsRUFDdkIsdUNBQTBCLEVBQzFCLDJDQUE0QixDQUFDLFFBQVEsQ0FDdEM7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDbEIsT0FBTyxFQUFFLDBCQUEwQjtRQUNuQyxXQUFXLEVBQUUsRUFBRTtLQUNoQjtDQUNGLENBQUEifQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9yZXNlcnZhdGlvbnMvbWlkZGxld2FyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsbURBRzRCO0FBQzVCLHFEQUdrQztBQUVsQyxpREFBNkQ7QUFDN0QsNkNBS3FCO0FBRXJCOzs7Ozs7R0FNRztBQUNILE1BQU0seUJBQXlCLEdBQUcsS0FBSyxFQUNyQyxHQUErQixFQUMvQixVQUFxQixFQUNGLEVBQUU7SUFDckIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxPQUFPLEdBQTRCO1FBQ3ZDLFNBQVMsRUFBRSxHQUFHLENBQUMsY0FBZSxDQUFDLFNBQVM7S0FDekMsQ0FBQTtJQUNELElBQUksVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUE7SUFDeEMsQ0FBQztJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakMsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixNQUFNLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztRQUM3QixPQUFPO1FBQ1AsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07WUFDckQsSUFBSSxFQUFFLENBQUM7U0FDUjtLQUNGLENBQUMsQ0FBQTtJQUVGLE9BQVEsSUFBNkMsQ0FBQyxHQUFHLENBQ3ZELENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQy9CLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCw2RUFBNkU7QUFDN0UsMkVBQTJF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
@@ -29,6 +29,11 @@ exports.defaultVendorReservationFields = [
29
29
  "created_at",
30
30
  "updated_at",
31
31
  ...defaultVendorInventoryItemFields.map((f) => `inventory_item.${f}`),
32
+ // Product column: inventory is offer-scoped in Mercur, so the product is
33
+ // reached through the offer (offer-product-link alias `product`).
34
+ "inventory_item.offers.id",
35
+ "inventory_item.offers.product.id",
36
+ "inventory_item.offers.product.title",
32
37
  ];
33
38
  exports.retrieveTransformQueryConfig = {
34
39
  defaults: exports.defaultVendorReservationFields,
@@ -42,4 +47,4 @@ exports.vendorReservationQueryConfig = {
42
47
  list: exports.listTransformQueryConfig,
43
48
  retrieve: exports.retrieveTransformQueryConfig,
44
49
  };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS92ZW5kb3IvcmVzZXJ2YXRpb25zL3F1ZXJ5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFNLGdDQUFnQyxHQUFHO0lBQ3ZDLElBQUk7SUFDSixLQUFLO0lBQ0wsZ0JBQWdCO0lBQ2hCLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLFVBQVU7SUFDVixRQUFRO0lBQ1IsUUFBUTtJQUNSLFFBQVE7SUFDUixPQUFPO0lBQ1AsT0FBTztJQUNQLGFBQWE7SUFDYixXQUFXO0lBQ1gsVUFBVTtDQUNYLENBQUE7QUFFWSxRQUFBLDhCQUE4QixHQUFHO0lBQzVDLElBQUk7SUFDSixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFVBQVU7SUFDVixjQUFjO0lBQ2QsYUFBYTtJQUNiLFVBQVU7SUFDVixZQUFZO0lBQ1osWUFBWTtJQUNaLEdBQUcsZ0NBQWdDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7Q0FDdEUsQ0FBQTtBQUVZLFFBQUEsNEJBQTRCLEdBQUc7SUFDMUMsUUFBUSxFQUFFLHNDQUE4QjtJQUN4QyxNQUFNLEVBQUUsS0FBSztDQUNkLENBQUE7QUFFWSxRQUFBLHdCQUF3QixHQUFHO0lBQ3RDLEdBQUcsb0NBQTRCO0lBQy9CLE1BQU0sRUFBRSxJQUFJO0NBQ2IsQ0FBQTtBQUVZLFFBQUEsNEJBQTRCLEdBQUc7SUFDMUMsSUFBSSxFQUFFLGdDQUF3QjtJQUM5QixRQUFRLEVBQUUsb0NBQTRCO0NBQ3ZDLENBQUEifQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS92ZW5kb3IvcmVzZXJ2YXRpb25zL3F1ZXJ5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFNLGdDQUFnQyxHQUFHO0lBQ3ZDLElBQUk7SUFDSixLQUFLO0lBQ0wsZ0JBQWdCO0lBQ2hCLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLFVBQVU7SUFDVixRQUFRO0lBQ1IsUUFBUTtJQUNSLFFBQVE7SUFDUixPQUFPO0lBQ1AsT0FBTztJQUNQLGFBQWE7SUFDYixXQUFXO0lBQ1gsVUFBVTtDQUNYLENBQUE7QUFFWSxRQUFBLDhCQUE4QixHQUFHO0lBQzVDLElBQUk7SUFDSixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFVBQVU7SUFDVixjQUFjO0lBQ2QsYUFBYTtJQUNiLFVBQVU7SUFDVixZQUFZO0lBQ1osWUFBWTtJQUNaLEdBQUcsZ0NBQWdDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7SUFDckUseUVBQXlFO0lBQ3pFLGtFQUFrRTtJQUNsRSwwQkFBMEI7SUFDMUIsa0NBQWtDO0lBQ2xDLHFDQUFxQztDQUN0QyxDQUFBO0FBRVksUUFBQSw0QkFBNEIsR0FBRztJQUMxQyxRQUFRLEVBQUUsc0NBQThCO0lBQ3hDLE1BQU0sRUFBRSxLQUFLO0NBQ2QsQ0FBQTtBQUVZLFFBQUEsd0JBQXdCLEdBQUc7SUFDdEMsR0FBRyxvQ0FBNEI7SUFDL0IsTUFBTSxFQUFFLElBQUk7Q0FDYixDQUFBO0FBRVksUUFBQSw0QkFBNEIsR0FBRztJQUMxQyxJQUFJLEVBQUUsZ0NBQXdCO0lBQzlCLFFBQVEsRUFBRSxvQ0FBNEI7Q0FDdkMsQ0FBQSJ9
@@ -16,6 +16,7 @@ export declare const VendorGetReservationsParams: z.ZodObject<{
16
16
  with_deleted: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
17
17
  } & {
18
18
  q: z.ZodOptional<z.ZodString>;
19
+ sku: z.ZodOptional<z.ZodString>;
19
20
  location_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
20
21
  inventory_item_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
21
22
  line_item_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
@@ -229,6 +230,7 @@ export declare const VendorGetReservationsParams: z.ZodObject<{
229
230
  limit?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
230
231
  with_deleted?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
231
232
  q?: string | undefined;
233
+ sku?: string | undefined;
232
234
  created_by?: string | string[] | undefined;
233
235
  deleted_at?: any;
234
236
  location_id?: string | string[] | undefined;
@@ -245,6 +247,7 @@ export declare const VendorGetReservationsParams: z.ZodObject<{
245
247
  limit?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
246
248
  with_deleted?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
247
249
  q?: string | undefined;
250
+ sku?: string | undefined;
248
251
  created_by?: string | string[] | undefined;
249
252
  deleted_at?: any;
250
253
  location_id?: string | string[] | undefined;
@@ -9,6 +9,9 @@ exports.VendorGetReservationsParams = (0, validators_1.createFindParams)({
9
9
  offset: 0,
10
10
  }).merge(zod_1.z.object({
11
11
  q: zod_1.z.string().optional(),
12
+ // Free-text SKU filter from the list toolbar. SKU lives on the linked
13
+ // inventory item, so the middleware reshapes it into `inventory_item_id`.
14
+ sku: zod_1.z.string().optional(),
12
15
  location_id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
13
16
  inventory_item_id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
14
17
  line_item_id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
@@ -37,4 +40,4 @@ exports.VendorUpdateReservation = zod_1.z
37
40
  metadata: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).nullish(),
38
41
  })
39
42
  .strict();
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdmVuZG9yL3Jlc2VydmF0aW9ucy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQUN2QixzRUFJOEM7QUFLakMsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLCtCQUFrQixHQUFFLENBQUE7QUFLakQsUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDZCQUFnQixFQUFDO0lBQzFELEtBQUssRUFBRSxFQUFFO0lBQ1QsTUFBTSxFQUFFLENBQUM7Q0FDVixDQUFDLENBQUMsS0FBSyxDQUNOLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDUCxDQUFDLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QixXQUFXLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbEUsaUJBQWlCLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDeEUsWUFBWSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25FLFVBQVUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNqRSxXQUFXLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsRSxRQUFRLEVBQUUsSUFBQSw4QkFBaUIsRUFBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzlELFVBQVUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFDLFVBQVUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFDLFVBQVUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsUUFBUSxFQUFFO0NBQzNDLENBQUMsQ0FDSCxDQUFBO0FBR1ksUUFBQSx1QkFBdUIsR0FBRyxPQUFDO0tBQ3JDLE1BQU0sQ0FBQztJQUNOLFlBQVksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQ2xDLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3ZCLGlCQUFpQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDN0IsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDakMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtDQUN0RCxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUE7QUFHRSxRQUFBLHVCQUF1QixHQUFHLE9BQUM7S0FDckMsTUFBTSxDQUFDO0lBQ04sV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDakMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtDQUN0RCxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUEifQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdmVuZG9yL3Jlc2VydmF0aW9ucy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQUN2QixzRUFJOEM7QUFLakMsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLCtCQUFrQixHQUFFLENBQUE7QUFLakQsUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDZCQUFnQixFQUFDO0lBQzFELEtBQUssRUFBRSxFQUFFO0lBQ1QsTUFBTSxFQUFFLENBQUM7Q0FDVixDQUFDLENBQUMsS0FBSyxDQUNOLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDUCxDQUFDLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QixzRUFBc0U7SUFDdEUsMEVBQTBFO0lBQzFFLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFCLFdBQVcsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsRSxpQkFBaUIsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN4RSxZQUFZLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbkUsVUFBVSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2pFLFdBQVcsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUEsOEJBQWlCLEdBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2xFLFFBQVEsRUFBRSxJQUFBLDhCQUFpQixFQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDOUQsVUFBVSxFQUFFLElBQUEsOEJBQWlCLEdBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsVUFBVSxFQUFFLElBQUEsOEJBQWlCLEdBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsVUFBVSxFQUFFLElBQUEsOEJBQWlCLEdBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDM0MsQ0FBQyxDQUNILENBQUE7QUFHWSxRQUFBLHVCQUF1QixHQUFHLE9BQUM7S0FDckMsTUFBTSxDQUFDO0lBQ04sWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDbEMsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDdkIsaUJBQWlCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUM3QixRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUNqQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0NBQ3RELENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQTtBQUdFLFFBQUEsdUJBQXVCLEdBQUcsT0FBQztLQUNyQyxNQUFNLENBQUM7SUFDTixXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUNqQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0NBQ3RELENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQSJ9
@@ -0,0 +1,5 @@
1
+ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework";
2
+ import { VendorReviewResponse } from "@mercurjs/types";
3
+ import { VendorRespondReviewType } from "../validators";
4
+ export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse<VendorReviewResponse>) => Promise<void>;
5
+ export declare const POST: (req: AuthenticatedMedusaRequest<VendorRespondReviewType>, res: MedusaResponse<VendorReviewResponse>) => Promise<void>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_1 = require("../../../../workflows/review/workflows");
6
+ const helpers_1 = require("../helpers");
7
+ const GET = async (req, res) => {
8
+ const { id } = req.params;
9
+ await (0, helpers_1.validateSellerReview)(req.scope, req.seller_context.seller_id, id);
10
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
11
+ const { data: [review], } = await query.graph({
12
+ entity: "review",
13
+ fields: req.queryConfig.fields,
14
+ filters: {
15
+ id,
16
+ },
17
+ });
18
+ res.json({ review });
19
+ };
20
+ exports.GET = GET;
21
+ const POST = async (req, res) => {
22
+ const { id } = req.params;
23
+ await (0, helpers_1.validateSellerReview)(req.scope, req.seller_context.seller_id, id);
24
+ await workflows_1.respondReviewWorkflow.run({
25
+ container: req.scope,
26
+ input: { id: id, seller_note: req.validatedBody.seller_note },
27
+ });
28
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
29
+ const { data: [review], } = await query.graph({
30
+ entity: "review",
31
+ fields: req.queryConfig.fields,
32
+ filters: {
33
+ id,
34
+ },
35
+ });
36
+ res.json({ review });
37
+ };
38
+ exports.POST = POST;
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9yZXZpZXdzL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXFFO0FBR3JFLHNFQUE4RTtBQUM5RSx3Q0FBaUQ7QUFHMUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUF5QyxFQUN6QyxFQUFFO0lBQ0YsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFFekIsTUFBTSxJQUFBLDhCQUFvQixFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRyxDQUFDLENBQUE7SUFFekUsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUNmLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFO1lBQ1AsRUFBRTtTQUNIO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7QUFDdEIsQ0FBQyxDQUFBO0FBckJZLFFBQUEsR0FBRyxPQXFCZjtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBd0QsRUFDeEQsR0FBeUMsRUFDekMsRUFBRTtJQUNGLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLE1BQU0sSUFBQSw4QkFBb0IsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxFQUFFLEVBQUcsQ0FBQyxDQUFBO0lBRXpFLE1BQU0saUNBQXFCLENBQUMsR0FBRyxDQUFDO1FBQzlCLFNBQVMsRUFBRSxHQUFHLENBQUMsS0FBSztRQUNwQixLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTtLQUMvRCxDQUFDLENBQUE7SUFFRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQ2YsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUU7WUFDUCxFQUFFO1NBQ0g7S0FDRixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUN0QixDQUFDLENBQUE7QUExQlksUUFBQSxJQUFJLFFBMEJoQiJ9
@@ -0,0 +1,2 @@
1
+ import { MedusaContainer } from "@medusajs/framework";
2
+ export declare const validateSellerReview: (scope: MedusaContainer, sellerId: string, reviewId: string) => Promise<void>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateSellerReview = void 0;
7
+ const utils_1 = require("@medusajs/framework/utils");
8
+ const seller_review_1 = __importDefault(require("../../../links/seller-review"));
9
+ const validateSellerReview = async (scope, sellerId, reviewId) => {
10
+ const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
11
+ const { data: [sellerReviewLink], } = await query.graph({
12
+ entity: seller_review_1.default.entryPoint,
13
+ filters: {
14
+ seller_id: sellerId,
15
+ review_id: reviewId,
16
+ },
17
+ fields: ["seller_id", "review_id"],
18
+ });
19
+ if (!sellerReviewLink) {
20
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Review with id: ${reviewId} was not found`);
21
+ }
22
+ };
23
+ exports.validateSellerReview = validateSellerReview;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdmVuZG9yL3Jldmlld3MvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxxREFHa0M7QUFFbEMsaUZBQXVEO0FBRWhELE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxFQUN2QyxLQUFzQixFQUN0QixRQUFnQixFQUNoQixRQUFnQixFQUNoQixFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUU1RCxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsR0FDekIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLHVCQUFZLENBQUMsVUFBVTtRQUMvQixPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUUsUUFBUTtZQUNuQixTQUFTLEVBQUUsUUFBUTtTQUNwQjtRQUNELE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7S0FDbkMsQ0FBQyxDQUFBO0lBRUYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0IsbUJBQW1CLFFBQVEsZ0JBQWdCLENBQzVDLENBQUE7SUFDSCxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBeEJZLFFBQUEsb0JBQW9CLHdCQXdCaEMifQ==
@@ -0,0 +1,2 @@
1
+ import { MiddlewareRoute } from "@medusajs/framework/http";
2
+ export declare const vendorReviewsMiddlewares: MiddlewareRoute[];
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.vendorReviewsMiddlewares = void 0;
7
+ const http_1 = require("@medusajs/framework/http");
8
+ const framework_1 = require("@medusajs/framework");
9
+ const seller_review_1 = __importDefault(require("../../../links/seller-review"));
10
+ const query_config_1 = require("./query-config");
11
+ const validators_1 = require("./validators");
12
+ const applySellerReviewLinkFilter = (req, res, next) => {
13
+ req.filterableFields.seller_id = req.seller_context.seller_id;
14
+ return (0, http_1.maybeApplyLinkFilter)({
15
+ entryPoint: seller_review_1.default.entryPoint,
16
+ resourceId: "review_id",
17
+ filterableField: "seller_id",
18
+ })(req, res, next);
19
+ };
20
+ exports.vendorReviewsMiddlewares = [
21
+ {
22
+ method: ["GET"],
23
+ matcher: "/vendor/reviews",
24
+ middlewares: [
25
+ (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetReviewsParams, query_config_1.vendorReviewQueryConfig.list),
26
+ applySellerReviewLinkFilter,
27
+ ],
28
+ },
29
+ {
30
+ method: ["GET"],
31
+ matcher: "/vendor/reviews/:id",
32
+ middlewares: [
33
+ (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetReviewsParams, query_config_1.vendorReviewQueryConfig.retrieve),
34
+ ],
35
+ },
36
+ {
37
+ method: ["POST"],
38
+ matcher: "/vendor/reviews/:id",
39
+ middlewares: [
40
+ (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetReviewsParams, query_config_1.vendorReviewQueryConfig.retrieve),
41
+ (0, framework_1.validateAndTransformBody)(validators_1.VendorRespondReview),
42
+ ],
43
+ },
44
+ ];
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9yZXZpZXdzL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQU1pQztBQUNqQyxtREFHNEI7QUFFNUIsaUZBQXVEO0FBQ3ZELGlEQUF3RDtBQUN4RCw2Q0FBMEU7QUFFMUUsTUFBTSwyQkFBMkIsR0FBRyxDQUNsQyxHQUErQixFQUMvQixHQUFtQixFQUNuQixJQUF3QixFQUN4QixFQUFFO0lBQ0YsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsY0FBZSxDQUFDLFNBQVMsQ0FBQTtJQUU5RCxPQUFPLElBQUEsMkJBQW9CLEVBQUM7UUFDMUIsVUFBVSxFQUFFLHVCQUFZLENBQUMsVUFBVTtRQUNuQyxVQUFVLEVBQUUsV0FBVztRQUN2QixlQUFlLEVBQUUsV0FBVztLQUM3QixDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUNwQixDQUFDLENBQUE7QUFFWSxRQUFBLHdCQUF3QixHQUFzQjtJQUN6RDtRQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsV0FBVyxFQUFFO1lBQ1gsSUFBQSxxQ0FBeUIsRUFDdkIsbUNBQXNCLEVBQ3RCLHNDQUF1QixDQUFDLElBQUksQ0FDN0I7WUFDRCwyQkFBMkI7U0FDNUI7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ2YsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixXQUFXLEVBQUU7WUFDWCxJQUFBLHFDQUF5QixFQUN2QixtQ0FBc0IsRUFDdEIsc0NBQXVCLENBQUMsUUFBUSxDQUNqQztTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQixPQUFPLEVBQUUscUJBQXFCO1FBQzlCLFdBQVcsRUFBRTtZQUNYLElBQUEscUNBQXlCLEVBQ3ZCLG1DQUFzQixFQUN0QixzQ0FBdUIsQ0FBQyxRQUFRLENBQ2pDO1lBQ0QsSUFBQSxvQ0FBd0IsRUFBQyxnQ0FBbUIsQ0FBQztTQUM5QztLQUNGO0NBQ0YsQ0FBQSJ9
@@ -0,0 +1,11 @@
1
+ export declare const vendorReviewFields: string[];
2
+ export declare const vendorReviewQueryConfig: {
3
+ list: {
4
+ defaults: string[];
5
+ isList: boolean;
6
+ };
7
+ retrieve: {
8
+ defaults: string[];
9
+ isList: boolean;
10
+ };
11
+ };
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vendorReviewQueryConfig = exports.vendorReviewFields = void 0;
4
+ exports.vendorReviewFields = [
5
+ "id",
6
+ "display_id",
7
+ "reference",
8
+ "rating",
9
+ "customer_note",
10
+ "seller_note",
11
+ "status",
12
+ "created_at",
13
+ "updated_at",
14
+ "customer.id",
15
+ "customer.first_name",
16
+ "customer.last_name",
17
+ "customer.email",
18
+ "order.id",
19
+ "order.display_id",
20
+ "order.created_at",
21
+ ];
22
+ exports.vendorReviewQueryConfig = {
23
+ list: {
24
+ defaults: exports.vendorReviewFields,
25
+ isList: true,
26
+ },
27
+ retrieve: {
28
+ defaults: exports.vendorReviewFields,
29
+ isList: false,
30
+ },
31
+ };
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS92ZW5kb3IvcmV2aWV3cy9xdWVyeS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxJQUFJO0lBQ0osWUFBWTtJQUNaLFdBQVc7SUFDWCxRQUFRO0lBQ1IsZUFBZTtJQUNmLGFBQWE7SUFDYixRQUFRO0lBQ1IsWUFBWTtJQUNaLFlBQVk7SUFDWixhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixrQkFBa0I7Q0FDbkIsQ0FBQTtBQUVZLFFBQUEsdUJBQXVCLEdBQUc7SUFDckMsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLDBCQUFrQjtRQUM1QixNQUFNLEVBQUUsSUFBSTtLQUNiO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLDBCQUFrQjtRQUM1QixNQUFNLEVBQUUsS0FBSztLQUNkO0NBQ0YsQ0FBQSJ9
@@ -0,0 +1,3 @@
1
+ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework";
2
+ import { VendorReviewListResponse } from "@mercurjs/types";
3
+ export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse<VendorReviewListResponse>) => Promise<void>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const GET = async (req, res) => {
6
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
7
+ const { data: reviews, metadata } = await query.graph({
8
+ entity: "review",
9
+ fields: req.queryConfig.fields,
10
+ filters: req.filterableFields,
11
+ pagination: req.queryConfig.pagination,
12
+ });
13
+ res.json({
14
+ reviews,
15
+ count: metadata?.count ?? 0,
16
+ offset: metadata?.skip ?? 0,
17
+ limit: metadata?.take ?? 0,
18
+ });
19
+ };
20
+ exports.GET = GET;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9yZXZpZXdzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFxRTtBQUc5RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQTZDLEVBQzdDLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEQsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUUsR0FBRyxDQUFDLGdCQUFnQjtRQUM3QixVQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVO0tBQ3ZDLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxPQUFPO1FBQ1AsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQztRQUMzQixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1FBQzNCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7S0FDM0IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBbkJZLFFBQUEsR0FBRyxPQW1CZiJ9
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ export type VendorGetReviewsParamsType = z.infer<typeof VendorGetReviewsParams>;
3
+ export declare const VendorGetReviewsParams: z.ZodObject<{
4
+ fields: z.ZodOptional<z.ZodString>;
5
+ offset: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
6
+ limit: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
7
+ order: z.ZodOptional<z.ZodString> | z.ZodDefault<z.ZodOptional<z.ZodString>>;
8
+ with_deleted: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
9
+ } & {
10
+ q: z.ZodOptional<z.ZodString>;
11
+ customer_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
12
+ status: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["pending", "published", "rejected"]>, z.ZodArray<z.ZodEnum<["pending", "published", "rejected"]>, "many">]>>;
13
+ rating: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodNumber, "many">]>>;
14
+ }, z.core.$strip, z.ZodTypeAny, {
15
+ order?: string | undefined;
16
+ customer_id?: string | string[] | undefined;
17
+ fields?: string | undefined;
18
+ status?: "published" | "rejected" | "pending" | ("published" | "rejected" | "pending")[] | undefined;
19
+ offset?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
20
+ limit?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
21
+ with_deleted?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
22
+ q?: string | undefined;
23
+ rating?: number | number[] | undefined;
24
+ }, {
25
+ order?: string | undefined;
26
+ customer_id?: string | string[] | undefined;
27
+ fields?: string | undefined;
28
+ status?: "published" | "rejected" | "pending" | ("published" | "rejected" | "pending")[] | undefined;
29
+ offset?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
30
+ limit?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
31
+ with_deleted?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
32
+ q?: string | undefined;
33
+ rating?: number | number[] | undefined;
34
+ }>;
35
+ export type VendorRespondReviewType = z.infer<typeof VendorRespondReview>;
36
+ export declare const VendorRespondReview: z.ZodObject<{
37
+ seller_note: z.ZodString;
38
+ status: z.ZodOptional<z.ZodEnum<["pending", "published", "rejected"]>>;
39
+ rating: z.ZodOptional<z.ZodNumber>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ seller_note: string;
42
+ status?: "published" | "rejected" | "pending" | undefined;
43
+ rating?: number | undefined;
44
+ }, {
45
+ seller_note: string;
46
+ status?: "published" | "rejected" | "pending" | undefined;
47
+ rating?: number | undefined;
48
+ }>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendorRespondReview = exports.VendorGetReviewsParams = void 0;
4
+ const zod_1 = require("zod");
5
+ const validators_1 = require("@medusajs/medusa/api/utils/validators");
6
+ exports.VendorGetReviewsParams = (0, validators_1.createFindParams)({
7
+ offset: 0,
8
+ limit: 50,
9
+ }).extend({
10
+ q: zod_1.z.string().optional(),
11
+ customer_id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
12
+ status: zod_1.z
13
+ .union([
14
+ zod_1.z.enum(["pending", "published", "rejected"]),
15
+ zod_1.z.array(zod_1.z.enum(["pending", "published", "rejected"])),
16
+ ])
17
+ .optional(),
18
+ rating: zod_1.z
19
+ .union([
20
+ zod_1.z.coerce.number().int().min(1).max(5),
21
+ zod_1.z.array(zod_1.z.coerce.number().int().min(1).max(5)),
22
+ ])
23
+ .optional(),
24
+ });
25
+ exports.VendorRespondReview = zod_1.z.object({
26
+ seller_note: zod_1.z.string().min(1).max(300),
27
+ // Accepted but ignored — vendors may not change a review's status or rating.
28
+ status: zod_1.z.enum(["pending", "published", "rejected"]).optional(),
29
+ rating: zod_1.z.coerce.number().int().min(1).max(5).optional(),
30
+ });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdmVuZG9yL3Jldmlld3MvdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBdUI7QUFDdkIsc0VBQXdFO0FBRzNELFFBQUEsc0JBQXNCLEdBQUcsSUFBQSw2QkFBZ0IsRUFBQztJQUNyRCxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNSLENBQUMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hCLFdBQVcsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsRSxNQUFNLEVBQUUsT0FBQztTQUNOLEtBQUssQ0FBQztRQUNMLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztLQUN0RCxDQUFDO1NBQ0QsUUFBUSxFQUFFO0lBQ2IsTUFBTSxFQUFFLE9BQUM7U0FDTixLQUFLLENBQUM7UUFDTCxPQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQy9DLENBQUM7U0FDRCxRQUFRLEVBQUU7Q0FDZCxDQUFDLENBQUE7QUFHVyxRQUFBLG1CQUFtQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDMUMsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUN2Qyw2RUFBNkU7SUFDN0UsTUFBTSxFQUFFLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQy9ELE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQ3pELENBQUMsQ0FBQSJ9
@@ -126,7 +126,11 @@ export declare const CreateSellerAccount: z.ZodObject<{
126
126
  description?: string | null | undefined;
127
127
  first_name?: string | null | undefined;
128
128
  last_name?: string | null | undefined;
129
- member_email?: string | undefined;
129
+ professional_details?: {
130
+ corporate_name?: string | null | undefined;
131
+ registration_number?: string | null | undefined;
132
+ tax_id?: string | null | undefined;
133
+ } | undefined;
130
134
  address?: {
131
135
  name?: string | null | undefined;
132
136
  phone?: string | null | undefined;
@@ -140,11 +144,6 @@ export declare const CreateSellerAccount: z.ZodObject<{
140
144
  province?: string | null | undefined;
141
145
  postal_code?: string | undefined;
142
146
  } | undefined;
143
- professional_details?: {
144
- corporate_name?: string | null | undefined;
145
- registration_number?: string | null | undefined;
146
- tax_id?: string | null | undefined;
147
- } | undefined;
148
147
  payment_details?: {
149
148
  country_code?: string | undefined;
150
149
  holder_name?: string | undefined;
@@ -154,6 +153,7 @@ export declare const CreateSellerAccount: z.ZodObject<{
154
153
  routing_number?: string | null | undefined;
155
154
  account_number?: string | null | undefined;
156
155
  } | undefined;
156
+ member_email?: string | undefined;
157
157
  }, {
158
158
  name: string;
159
159
  currency_code: string;
@@ -164,7 +164,11 @@ export declare const CreateSellerAccount: z.ZodObject<{
164
164
  description?: string | null | undefined;
165
165
  first_name?: string | null | undefined;
166
166
  last_name?: string | null | undefined;
167
- member_email?: string | undefined;
167
+ professional_details?: {
168
+ corporate_name?: string | null | undefined;
169
+ registration_number?: string | null | undefined;
170
+ tax_id?: string | null | undefined;
171
+ } | undefined;
168
172
  address?: {
169
173
  name?: string | null | undefined;
170
174
  phone?: string | null | undefined;
@@ -178,11 +182,6 @@ export declare const CreateSellerAccount: z.ZodObject<{
178
182
  province?: string | null | undefined;
179
183
  postal_code?: string | undefined;
180
184
  } | undefined;
181
- professional_details?: {
182
- corporate_name?: string | null | undefined;
183
- registration_number?: string | null | undefined;
184
- tax_id?: string | null | undefined;
185
- } | undefined;
186
185
  payment_details?: {
187
186
  country_code?: string | undefined;
188
187
  holder_name?: string | undefined;
@@ -192,6 +191,7 @@ export declare const CreateSellerAccount: z.ZodObject<{
192
191
  routing_number?: string | null | undefined;
193
192
  account_number?: string | null | undefined;
194
193
  } | undefined;
194
+ member_email?: string | undefined;
195
195
  }>;
196
196
  export declare const VendorCreateSellerAccount: (additionalDataValidator?: z.ZodOptional<z.ZodNullable<z.ZodObject<any, any>>>) => z.ZodObject<any, any>;
197
197
  export type VendorUpdateSellerType = z.infer<typeof UpdateSeller> & AdditionalData;