@mercurjs/core 2.1.2 → 2.2.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 (725) hide show
  1. package/.medusa/server/src/api/admin/commission-rates/validators.d.ts +8 -8
  2. package/.medusa/server/src/api/admin/middlewares.js +20 -30
  3. package/.medusa/server/src/api/admin/offers/[id]/route.d.ts +3 -0
  4. package/.medusa/server/src/api/admin/offers/[id]/route.js +37 -0
  5. package/.medusa/server/src/api/admin/offers/batch/route.d.ts +3 -0
  6. package/.medusa/server/src/api/admin/offers/batch/route.js +37 -0
  7. package/.medusa/server/src/api/admin/offers/middlewares.d.ts +2 -0
  8. package/.medusa/server/src/api/admin/offers/middlewares.js +31 -0
  9. package/.medusa/server/src/api/admin/offers/query-config.d.ts +11 -0
  10. package/.medusa/server/src/api/admin/offers/query-config.js +47 -0
  11. package/.medusa/server/src/api/admin/offers/route.d.ts +3 -0
  12. package/.medusa/server/src/api/admin/offers/route.js +21 -0
  13. package/.medusa/server/src/api/admin/offers/validators.d.ts +299 -0
  14. package/.medusa/server/src/api/admin/offers/validators.js +65 -0
  15. package/.medusa/server/src/api/admin/product-attributes/[id]/route.d.ts +7 -0
  16. package/.medusa/server/src/api/admin/product-attributes/[id]/route.js +51 -0
  17. package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.d.ts +6 -0
  18. package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.js +37 -0
  19. package/.medusa/server/src/api/admin/product-attributes/[id]/values/route.d.ts +4 -0
  20. package/.medusa/server/src/api/admin/product-attributes/[id]/values/route.js +22 -0
  21. package/.medusa/server/src/api/admin/product-attributes/middlewares.d.ts +2 -0
  22. package/.medusa/server/src/api/admin/product-attributes/middlewares.js +75 -0
  23. package/.medusa/server/src/api/admin/product-attributes/query-config.d.ts +12 -0
  24. package/.medusa/server/src/api/admin/product-attributes/query-config.js +34 -0
  25. package/.medusa/server/src/api/admin/product-attributes/route.d.ts +6 -0
  26. package/.medusa/server/src/api/admin/product-attributes/route.js +38 -0
  27. package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +548 -0
  28. package/.medusa/server/src/api/admin/product-attributes/validators.js +128 -0
  29. package/.medusa/server/src/api/admin/product-brands/[id]/route.d.ts +7 -0
  30. package/.medusa/server/src/api/admin/product-brands/[id]/route.js +51 -0
  31. package/.medusa/server/src/api/admin/product-brands/[id]/sellers/route.d.ts +3 -0
  32. package/.medusa/server/src/api/admin/product-brands/[id]/sellers/route.js +20 -0
  33. package/.medusa/server/src/api/admin/product-brands/middlewares.d.ts +2 -0
  34. package/.medusa/server/src/api/admin/product-brands/middlewares.js +49 -0
  35. package/.medusa/server/src/api/admin/product-brands/query-config.d.ts +12 -0
  36. package/.medusa/server/src/api/admin/product-brands/query-config.js +24 -0
  37. package/.medusa/server/src/api/admin/product-brands/route.d.ts +6 -0
  38. package/.medusa/server/src/api/admin/product-brands/route.js +38 -0
  39. package/.medusa/server/src/api/admin/product-brands/validators.d.ts +284 -0
  40. package/.medusa/server/src/api/admin/product-brands/validators.js +41 -0
  41. package/.medusa/server/src/api/admin/product-categories/[id]/products/route.d.ts +3 -0
  42. package/.medusa/server/src/api/admin/product-categories/[id]/products/route.js +20 -0
  43. package/.medusa/server/src/api/admin/product-categories/[id]/route.d.ts +7 -0
  44. package/.medusa/server/src/api/admin/product-categories/[id]/route.js +50 -0
  45. package/.medusa/server/src/api/admin/product-categories/[id]/sellers/route.d.ts +3 -0
  46. package/.medusa/server/src/api/admin/product-categories/[id]/sellers/route.js +20 -0
  47. package/.medusa/server/src/api/admin/product-categories/middlewares.d.ts +2 -0
  48. package/.medusa/server/src/api/admin/product-categories/middlewares.js +54 -0
  49. package/.medusa/server/src/api/admin/product-categories/query-config.d.ts +12 -0
  50. package/.medusa/server/src/api/admin/product-categories/query-config.js +32 -0
  51. package/.medusa/server/src/api/admin/product-categories/route.d.ts +6 -0
  52. package/.medusa/server/src/api/admin/product-categories/route.js +39 -0
  53. package/.medusa/server/src/api/admin/product-categories/validators.d.ts +446 -0
  54. package/.medusa/server/src/api/admin/product-categories/validators.js +65 -0
  55. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.d.ts +10 -0
  56. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +33 -0
  57. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.d.ts +10 -0
  58. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +27 -0
  59. package/.medusa/server/src/api/admin/product-changes/middlewares.d.ts +2 -0
  60. package/.medusa/server/src/api/admin/product-changes/middlewares.js +18 -0
  61. package/.medusa/server/src/api/admin/product-changes/validators.d.ts +17 -0
  62. package/.medusa/server/src/api/admin/product-changes/validators.js +15 -0
  63. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.d.ts +7 -0
  64. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.js +53 -0
  65. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.d.ts +3 -0
  66. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +36 -0
  67. package/.medusa/server/src/api/admin/products/[id]/attributes/route.d.ts +6 -0
  68. package/.medusa/server/src/api/admin/products/[id]/attributes/route.js +48 -0
  69. package/.medusa/server/src/api/admin/products/[id]/confirm/route.d.ts +4 -0
  70. package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +26 -0
  71. package/.medusa/server/src/api/admin/products/[id]/preview/route.d.ts +5 -0
  72. package/.medusa/server/src/api/admin/products/[id]/preview/route.js +14 -0
  73. package/.medusa/server/src/api/admin/products/[id]/reject/route.d.ts +4 -0
  74. package/.medusa/server/src/api/admin/products/[id]/reject/route.js +27 -0
  75. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.d.ts +4 -0
  76. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +27 -0
  77. package/.medusa/server/src/api/admin/products/[id]/route.d.ts +7 -0
  78. package/.medusa/server/src/api/admin/products/[id]/route.js +55 -0
  79. package/.medusa/server/src/api/admin/products/[id]/variants/[variant_id]/route.d.ts +7 -0
  80. package/.medusa/server/src/api/admin/products/[id]/variants/[variant_id]/route.js +60 -0
  81. package/.medusa/server/src/api/admin/products/[id]/variants/route.d.ts +6 -0
  82. package/.medusa/server/src/api/admin/products/[id]/variants/route.js +41 -0
  83. package/.medusa/server/src/api/admin/products/batch/route.d.ts +4 -0
  84. package/.medusa/server/src/api/admin/products/batch/route.js +36 -0
  85. package/.medusa/server/src/api/admin/products/middlewares.d.ts +2 -0
  86. package/.medusa/server/src/api/admin/products/middlewares.js +161 -0
  87. package/.medusa/server/src/api/admin/products/query-config.d.ts +25 -0
  88. package/.medusa/server/src/api/admin/products/query-config.js +101 -0
  89. package/.medusa/server/src/api/admin/products/route.d.ts +4 -2
  90. package/.medusa/server/src/api/admin/products/route.js +48 -1
  91. package/.medusa/server/src/api/admin/products/validators.d.ts +2076 -799
  92. package/.medusa/server/src/api/admin/products/validators.js +254 -4
  93. package/.medusa/server/src/api/admin/sellers/validators.d.ts +12 -12
  94. package/.medusa/server/src/api/store/carts/[id]/line-items/route.d.ts +3 -0
  95. package/.medusa/server/src/api/store/carts/[id]/line-items/route.js +20 -0
  96. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.d.ts +27 -0
  97. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.js +16 -0
  98. package/.medusa/server/src/api/store/carts/middlewares.js +26 -1
  99. package/.medusa/server/src/api/store/middlewares.js +11 -5
  100. package/.medusa/server/src/api/store/product-attributes/[id]/route.d.ts +2 -0
  101. package/.medusa/server/src/api/store/product-attributes/[id]/route.js +18 -0
  102. package/.medusa/server/src/api/store/product-attributes/middlewares.d.ts +2 -0
  103. package/.medusa/server/src/api/store/product-attributes/middlewares.js +31 -0
  104. package/.medusa/server/src/api/store/product-attributes/query-config.d.ts +12 -0
  105. package/.medusa/server/src/api/store/product-attributes/query-config.js +31 -0
  106. package/.medusa/server/src/api/store/product-attributes/route.d.ts +2 -0
  107. package/.medusa/server/src/api/store/product-attributes/route.js +21 -0
  108. package/.medusa/server/src/api/store/product-attributes/validators.d.ts +234 -0
  109. package/.medusa/server/src/api/store/product-attributes/validators.js +26 -0
  110. package/.medusa/server/src/api/store/product-brands/[id]/route.d.ts +2 -0
  111. package/.medusa/server/src/api/store/product-brands/[id]/route.js +18 -0
  112. package/.medusa/server/src/api/store/product-brands/middlewares.d.ts +2 -0
  113. package/.medusa/server/src/api/store/product-brands/middlewares.js +23 -0
  114. package/.medusa/server/src/api/store/product-brands/query-config.d.ts +12 -0
  115. package/.medusa/server/src/api/store/product-brands/query-config.js +23 -0
  116. package/.medusa/server/src/api/store/product-brands/route.d.ts +2 -0
  117. package/.medusa/server/src/api/store/product-brands/route.js +21 -0
  118. package/.medusa/server/src/api/store/product-brands/validators.d.ts +215 -0
  119. package/.medusa/server/src/api/store/product-brands/validators.js +21 -0
  120. package/.medusa/server/src/api/store/product-categories/[id]/route.d.ts +2 -0
  121. package/.medusa/server/src/api/store/product-categories/[id]/route.js +18 -0
  122. package/.medusa/server/src/api/store/product-categories/middlewares.d.ts +2 -0
  123. package/.medusa/server/src/api/store/product-categories/middlewares.js +31 -0
  124. package/.medusa/server/src/api/store/product-categories/query-config.d.ts +12 -0
  125. package/.medusa/server/src/api/store/product-categories/query-config.js +28 -0
  126. package/.medusa/server/src/api/store/product-categories/route.d.ts +2 -0
  127. package/.medusa/server/src/api/store/product-categories/route.js +21 -0
  128. package/.medusa/server/src/api/store/product-categories/validators.d.ts +240 -0
  129. package/.medusa/server/src/api/store/product-categories/validators.js +27 -0
  130. package/.medusa/server/src/api/store/products/[id]/route.d.ts +2 -0
  131. package/.medusa/server/src/api/store/products/[id]/route.js +47 -0
  132. package/.medusa/server/src/api/store/products/middlewares.d.ts +1 -1
  133. package/.medusa/server/src/api/store/products/middlewares.js +29 -5
  134. package/.medusa/server/src/api/store/products/query-config.d.ts +14 -0
  135. package/.medusa/server/src/api/store/products/query-config.js +58 -0
  136. package/.medusa/server/src/api/store/products/route.d.ts +2 -0
  137. package/.medusa/server/src/api/store/products/route.js +44 -0
  138. package/.medusa/server/src/api/store/products/validators.d.ts +276 -0
  139. package/.medusa/server/src/api/store/products/validators.js +33 -0
  140. package/.medusa/server/src/api/utils/format-product-attributes.d.ts +8 -0
  141. package/.medusa/server/src/api/utils/format-product-attributes.js +44 -0
  142. package/.medusa/server/src/api/utils/index.d.ts +1 -0
  143. package/.medusa/server/src/api/utils/index.js +2 -1
  144. package/.medusa/server/src/api/utils/wrap-variants-with-offers-inventory.d.ts +12 -0
  145. package/.medusa/server/src/api/utils/wrap-variants-with-offers-inventory.js +165 -0
  146. package/.medusa/server/src/api/utils/wrap-variants-with-offers-prices.d.ts +12 -0
  147. package/.medusa/server/src/api/utils/wrap-variants-with-offers-prices.js +64 -0
  148. package/.medusa/server/src/api/vendor/collections/validators.d.ts +4 -4
  149. package/.medusa/server/src/api/vendor/inventory-items/route.js +1 -1
  150. package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +56 -56
  151. package/.medusa/server/src/api/vendor/middlewares.js +55 -51
  152. package/.medusa/server/src/api/vendor/offers/[id]/inventory-items/batch/route.d.ts +3 -0
  153. package/.medusa/server/src/api/vendor/offers/[id]/inventory-items/batch/route.js +24 -0
  154. package/.medusa/server/src/api/vendor/offers/[id]/route.d.ts +5 -0
  155. package/.medusa/server/src/api/vendor/offers/[id]/route.js +38 -0
  156. package/.medusa/server/src/api/vendor/{products/[id]/variants/[variant_id]/media → offers/batch}/route.d.ts +2 -2
  157. package/.medusa/server/src/api/vendor/offers/batch/route.js +34 -0
  158. package/.medusa/server/src/api/vendor/offers/helpers.d.ts +3 -0
  159. package/.medusa/server/src/api/vendor/offers/helpers.js +27 -0
  160. package/.medusa/server/src/api/vendor/offers/middlewares.d.ts +2 -0
  161. package/.medusa/server/src/api/vendor/offers/middlewares.js +65 -0
  162. package/.medusa/server/src/api/vendor/offers/query-config.d.ts +11 -0
  163. package/.medusa/server/src/api/vendor/offers/query-config.js +47 -0
  164. package/.medusa/server/src/api/vendor/offers/route.d.ts +4 -0
  165. package/.medusa/server/src/api/vendor/offers/route.js +41 -0
  166. package/.medusa/server/src/api/vendor/offers/validators.d.ts +607 -0
  167. package/.medusa/server/src/api/vendor/offers/validators.js +119 -0
  168. package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +24 -24
  169. package/.medusa/server/src/api/vendor/product-attributes/[id]/route.d.ts +3 -0
  170. package/.medusa/server/src/api/vendor/product-attributes/[id]/route.js +18 -0
  171. package/.medusa/server/src/api/vendor/product-attributes/middlewares.d.ts +2 -0
  172. package/.medusa/server/src/api/vendor/product-attributes/middlewares.js +23 -0
  173. package/.medusa/server/src/api/vendor/product-attributes/query-config.d.ts +12 -0
  174. package/.medusa/server/src/api/vendor/product-attributes/query-config.js +34 -0
  175. package/.medusa/server/src/api/vendor/product-attributes/route.d.ts +3 -0
  176. package/.medusa/server/src/api/vendor/product-attributes/route.js +23 -0
  177. package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +394 -0
  178. package/.medusa/server/src/api/vendor/product-attributes/validators.js +85 -0
  179. package/.medusa/server/src/api/vendor/{attributes → product-brands/[id]}/route.d.ts +2 -1
  180. package/.medusa/server/src/api/vendor/product-brands/[id]/route.js +18 -0
  181. package/.medusa/server/src/api/vendor/product-brands/middlewares.d.ts +2 -0
  182. package/.medusa/server/src/api/vendor/product-brands/middlewares.js +23 -0
  183. package/.medusa/server/src/api/vendor/product-brands/query-config.d.ts +12 -0
  184. package/.medusa/server/src/api/vendor/product-brands/query-config.js +24 -0
  185. package/.medusa/server/src/api/vendor/product-brands/route.d.ts +3 -0
  186. package/.medusa/server/src/api/vendor/product-brands/route.js +21 -0
  187. package/.medusa/server/src/api/vendor/product-brands/validators.d.ts +221 -0
  188. package/.medusa/server/src/api/vendor/product-brands/validators.js +22 -0
  189. package/.medusa/server/src/api/vendor/product-categories/[id]/route.js +2 -4
  190. package/.medusa/server/src/api/vendor/product-categories/middlewares.js +5 -47
  191. package/.medusa/server/src/api/vendor/product-categories/query-config.d.ts +11 -8
  192. package/.medusa/server/src/api/vendor/product-categories/query-config.js +17 -12
  193. package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +328 -44
  194. package/.medusa/server/src/api/vendor/product-categories/validators.js +20 -11
  195. package/.medusa/server/src/api/vendor/product-variants/middlewares.js +34 -11
  196. package/.medusa/server/src/api/vendor/product-variants/query-config.d.ts +2 -2
  197. package/.medusa/server/src/api/vendor/product-variants/query-config.js +16 -13
  198. package/.medusa/server/src/api/vendor/product-variants/route.d.ts +2 -1
  199. package/.medusa/server/src/api/vendor/product-variants/route.js +1 -1
  200. package/.medusa/server/src/api/vendor/product-variants/validators.d.ts +377 -21
  201. package/.medusa/server/src/api/vendor/product-variants/validators.js +14 -8
  202. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.d.ts +7 -2
  203. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.js +25 -137
  204. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.d.ts +8 -0
  205. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.js +39 -103
  206. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +13 -0
  207. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +46 -0
  208. package/.medusa/server/src/api/vendor/products/[id]/preview/route.d.ts +14 -0
  209. package/.medusa/server/src/api/vendor/products/[id]/preview/route.js +31 -0
  210. package/.medusa/server/src/api/vendor/products/[id]/route.d.ts +12 -2
  211. package/.medusa/server/src/api/vendor/products/[id]/route.js +28 -34
  212. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.d.ts +13 -3
  213. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +34 -36
  214. package/.medusa/server/src/api/vendor/products/[id]/variants/route.d.ts +7 -2
  215. package/.medusa/server/src/api/vendor/products/[id]/variants/route.js +15 -30
  216. package/.medusa/server/src/api/vendor/products/middlewares.js +54 -56
  217. package/.medusa/server/src/api/vendor/products/query-config.d.ts +4 -1
  218. package/.medusa/server/src/api/vendor/products/query-config.js +46 -13
  219. package/.medusa/server/src/api/vendor/products/route.js +11 -8
  220. package/.medusa/server/src/api/vendor/products/validators.d.ts +886 -1820
  221. package/.medusa/server/src/api/vendor/products/validators.js +182 -117
  222. package/.medusa/server/src/api/vendor/promotions/validators.d.ts +16 -16
  223. package/.medusa/server/src/api/vendor/returns/validators.d.ts +18 -18
  224. package/.medusa/server/src/api/vendor/sales-channels/[id]/products/route.js +1 -5
  225. package/.medusa/server/src/api/vendor/sellers/validators.d.ts +10 -10
  226. package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +32 -32
  227. package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +2 -2
  228. package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +3 -3
  229. package/.medusa/server/src/feature-flags/product-request.d.ts +3 -0
  230. package/.medusa/server/src/feature-flags/product-request.js +10 -0
  231. package/.medusa/server/src/links/brand-seller-link.js +16 -0
  232. package/.medusa/server/src/links/cart-line-item-offer-link.js +10 -0
  233. package/.medusa/server/src/links/category-seller-link.js +16 -0
  234. package/.medusa/server/src/links/offer-inventory-item-link.js +26 -0
  235. package/.medusa/server/src/links/offer-price-set-link.js +15 -0
  236. package/.medusa/server/src/links/offer-seller-link.js +15 -0
  237. package/.medusa/server/src/links/offer-shipping-profile-link.d.ts +2 -0
  238. package/.medusa/server/src/links/offer-shipping-profile-link.js +15 -0
  239. package/.medusa/server/src/links/offer-variant-link.d.ts +2 -0
  240. package/.medusa/server/src/links/offer-variant-link.js +15 -0
  241. package/.medusa/server/src/links/order-line-item-offer-link.d.ts +2 -0
  242. package/.medusa/server/src/links/order-line-item-offer-link.js +10 -0
  243. package/.medusa/server/src/links/product-seller-link.js +13 -3
  244. package/.medusa/server/src/modules/offer/index.d.ts +21 -0
  245. package/.medusa/server/src/modules/offer/index.js +12 -0
  246. package/.medusa/server/src/modules/{attribute/migrations/Migration20260325000000.d.ts → offer/migrations/Migration20260520104835.d.ts} +1 -1
  247. package/.medusa/server/src/modules/offer/migrations/Migration20260520104835.js +22 -0
  248. package/.medusa/server/src/modules/offer/models/index.d.ts +1 -0
  249. package/.medusa/server/src/modules/offer/models/index.js +9 -0
  250. package/.medusa/server/src/modules/offer/models/offer.d.ts +13 -0
  251. package/.medusa/server/src/modules/offer/models/offer.js +56 -0
  252. package/.medusa/server/src/modules/offer/service.d.ts +17 -0
  253. package/.medusa/server/src/modules/offer/service.js +10 -0
  254. package/.medusa/server/src/modules/product/index.d.ts +7 -0
  255. package/.medusa/server/src/modules/product/index.js +14 -0
  256. package/.medusa/server/src/modules/{vendor-product-attribute/migrations/Migration20260325000000.d.ts → product/migrations/Migration20260414141012.d.ts} +1 -1
  257. package/.medusa/server/src/modules/product/migrations/Migration20260414141012.js +169 -0
  258. package/.medusa/server/src/modules/product/migrations/Migration20260415151424.d.ts +5 -0
  259. package/.medusa/server/src/modules/product/migrations/Migration20260415151424.js +14 -0
  260. package/.medusa/server/src/modules/product/migrations/Migration20260416104248.d.ts +5 -0
  261. package/.medusa/server/src/modules/product/migrations/Migration20260416104248.js +14 -0
  262. package/.medusa/server/src/modules/product/migrations/Migration20260416105443.d.ts +5 -0
  263. package/.medusa/server/src/modules/product/migrations/Migration20260416105443.js +16 -0
  264. package/.medusa/server/src/modules/product/migrations/Migration20260421093258.d.ts +5 -0
  265. package/.medusa/server/src/modules/product/migrations/Migration20260421093258.js +22 -0
  266. package/.medusa/server/src/modules/product/migrations/Migration20260422105949.d.ts +5 -0
  267. package/.medusa/server/src/modules/product/migrations/Migration20260422105949.js +32 -0
  268. package/.medusa/server/src/modules/product/migrations/Migration20260422112250.d.ts +5 -0
  269. package/.medusa/server/src/modules/product/migrations/Migration20260422112250.js +16 -0
  270. package/.medusa/server/src/modules/product/migrations/Migration20260424120000.d.ts +5 -0
  271. package/.medusa/server/src/modules/product/migrations/Migration20260424120000.js +16 -0
  272. package/.medusa/server/src/modules/product/migrations/Migration20260427140959.d.ts +5 -0
  273. package/.medusa/server/src/modules/product/migrations/Migration20260427140959.js +20 -0
  274. package/.medusa/server/src/modules/product/migrations/Migration20260427141021.d.ts +5 -0
  275. package/.medusa/server/src/modules/product/migrations/Migration20260427141021.js +16 -0
  276. package/.medusa/server/src/modules/product/migrations/Migration20260428115720.d.ts +5 -0
  277. package/.medusa/server/src/modules/product/migrations/Migration20260428115720.js +16 -0
  278. package/.medusa/server/src/modules/product/migrations/Migration20260430143600.d.ts +5 -0
  279. package/.medusa/server/src/modules/product/migrations/Migration20260430143600.js +15 -0
  280. package/.medusa/server/src/modules/product/migrations/Migration20260430144500.d.ts +5 -0
  281. package/.medusa/server/src/modules/product/migrations/Migration20260430144500.js +23 -0
  282. package/.medusa/server/src/modules/product/migrations/Migration20260430150000.d.ts +5 -0
  283. package/.medusa/server/src/modules/product/migrations/Migration20260430150000.js +14 -0
  284. package/.medusa/server/src/modules/product/migrations/Migration20260520120000.d.ts +5 -0
  285. package/.medusa/server/src/modules/product/migrations/Migration20260520120000.js +16 -0
  286. package/.medusa/server/src/modules/product/models/index.d.ts +13 -0
  287. package/.medusa/server/src/modules/product/models/index.js +33 -0
  288. package/.medusa/server/src/modules/product/models/product-attribute-value.d.ts +1676 -0
  289. package/.medusa/server/src/modules/product/models/product-attribute-value.js +38 -0
  290. package/.medusa/server/src/modules/product/models/product-attribute.d.ts +1597 -0
  291. package/.medusa/server/src/modules/product/models/product-attribute.js +57 -0
  292. package/.medusa/server/src/modules/product/models/product-brand.d.ts +539 -0
  293. package/.medusa/server/src/modules/product/models/product-brand.js +34 -0
  294. package/.medusa/server/src/modules/product/models/product-category.d.ts +1658 -0
  295. package/.medusa/server/src/modules/product/models/product-category.js +55 -0
  296. package/.medusa/server/src/modules/product/models/product-change-action.d.ts +1081 -0
  297. package/.medusa/server/src/modules/product/models/product-change-action.js +42 -0
  298. package/.medusa/server/src/modules/product/models/product-change.d.ts +547 -0
  299. package/.medusa/server/src/modules/product/models/product-change.js +50 -0
  300. package/.medusa/server/src/modules/product/models/product-collection.d.ts +540 -0
  301. package/.medusa/server/src/modules/product/models/product-collection.js +27 -0
  302. package/.medusa/server/src/modules/product/models/product-image.d.ts +1733 -0
  303. package/.medusa/server/src/modules/product/models/product-image.js +51 -0
  304. package/.medusa/server/src/modules/product/models/product-tag.d.ts +549 -0
  305. package/.medusa/server/src/modules/product/models/product-tag.js +26 -0
  306. package/.medusa/server/src/modules/product/models/product-type.d.ts +541 -0
  307. package/.medusa/server/src/modules/product/models/product-type.js +26 -0
  308. package/.medusa/server/src/modules/product/models/product-variant-product-image.d.ts +3352 -0
  309. package/.medusa/server/src/modules/product/models/product-variant-product-image.js +19 -0
  310. package/.medusa/server/src/modules/product/models/product-variant.d.ts +1617 -0
  311. package/.medusa/server/src/modules/product/models/product-variant.js +84 -0
  312. package/.medusa/server/src/modules/product/models/product.d.ts +547 -0
  313. package/.medusa/server/src/modules/product/models/product.js +137 -0
  314. package/.medusa/server/src/modules/product/repositories/product-category.d.ts +53 -0
  315. package/.medusa/server/src/modules/product/repositories/product-category.js +381 -0
  316. package/.medusa/server/src/modules/product/service.d.ts +11013 -0
  317. package/.medusa/server/src/modules/product/service.js +1471 -0
  318. package/.medusa/server/src/modules/product/services/product-category.d.ts +37 -0
  319. package/.medusa/server/src/modules/product/services/product-category.js +166 -0
  320. package/.medusa/server/src/modules/seller/loaders/register-feature-flags.js +7 -1
  321. package/.medusa/server/src/modules/seller/migrations/Migration20260414123048.d.ts +5 -0
  322. package/.medusa/server/src/modules/seller/migrations/Migration20260414123048.js +16 -0
  323. package/.medusa/server/src/types/cart-line-item.d.ts +15 -0
  324. package/.medusa/server/src/types/cart-line-item.js +3 -0
  325. package/.medusa/server/src/utils/disable-medusa-middlewares.d.ts +2 -0
  326. package/.medusa/server/src/utils/disable-medusa-middlewares.js +90 -0
  327. package/.medusa/server/src/with-mercur.js +9 -2
  328. package/.medusa/server/src/workflows/cart/hooks/index.d.ts +2 -0
  329. package/.medusa/server/src/workflows/cart/hooks/index.js +5 -0
  330. package/.medusa/server/src/workflows/cart/hooks/validate-add-to-cart-stock.js +52 -0
  331. package/.medusa/server/src/workflows/cart/hooks/validate-update-line-item-stock.js +60 -0
  332. package/.medusa/server/src/workflows/cart/index.d.ts +1 -0
  333. package/.medusa/server/src/workflows/cart/index.js +2 -1
  334. package/.medusa/server/src/workflows/cart/steps/calculate-offer-prices.d.ts +19 -0
  335. package/.medusa/server/src/workflows/cart/steps/calculate-offer-prices.js +39 -0
  336. package/.medusa/server/src/workflows/cart/steps/decorate-line-item-with-offer.d.ts +8 -0
  337. package/.medusa/server/src/workflows/cart/steps/decorate-line-item-with-offer.js +45 -0
  338. package/.medusa/server/src/workflows/cart/steps/get-line-item-actions.d.ts +21 -0
  339. package/.medusa/server/src/workflows/cart/steps/get-line-item-actions.js +85 -0
  340. package/.medusa/server/src/workflows/cart/steps/index.d.ts +5 -0
  341. package/.medusa/server/src/workflows/cart/steps/index.js +6 -1
  342. package/.medusa/server/src/workflows/cart/steps/link-line-item-to-offer.d.ts +13 -0
  343. package/.medusa/server/src/workflows/cart/steps/link-line-item-to-offer.js +31 -0
  344. package/.medusa/server/src/workflows/cart/steps/mirror-line-item-offer-links-to-order.d.ts +16 -0
  345. package/.medusa/server/src/workflows/cart/steps/mirror-line-item-offer-links-to-order.js +32 -0
  346. package/.medusa/server/src/workflows/cart/steps/validate-seller-cart-items.d.ts +5 -7
  347. package/.medusa/server/src/workflows/cart/steps/validate-seller-cart-items.js +6 -4
  348. package/.medusa/server/src/workflows/cart/steps/validate-seller-cart-shipping.d.ts +5 -6
  349. package/.medusa/server/src/workflows/cart/steps/validate-seller-cart-shipping.js +5 -4
  350. package/.medusa/server/src/workflows/cart/utils/fields.js +11 -20
  351. package/.medusa/server/src/workflows/cart/utils/index.d.ts +0 -1
  352. package/.medusa/server/src/workflows/cart/utils/index.js +1 -2
  353. package/.medusa/server/src/workflows/cart/utils/prepare-line-item-data.d.ts +1 -0
  354. package/.medusa/server/src/workflows/cart/utils/prepare-line-item-data.js +2 -2
  355. package/.medusa/server/src/workflows/cart/workflows/add-to-cart.d.ts +12 -0
  356. package/.medusa/server/src/workflows/cart/workflows/add-to-cart.js +235 -0
  357. package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +76 -24
  358. package/.medusa/server/src/workflows/cart/workflows/index.d.ts +2 -0
  359. package/.medusa/server/src/workflows/cart/workflows/index.js +3 -1
  360. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.js +18 -15
  361. package/.medusa/server/src/workflows/cart/workflows/update-line-item-in-cart.d.ts +16 -0
  362. package/.medusa/server/src/workflows/cart/workflows/update-line-item-in-cart.js +87 -0
  363. package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.js +5 -3
  364. package/.medusa/server/src/workflows/events.d.ts +5 -0
  365. package/.medusa/server/src/workflows/events.js +7 -2
  366. package/.medusa/server/src/workflows/index.d.ts +4 -0
  367. package/.medusa/server/src/workflows/index.js +5 -1
  368. package/.medusa/server/src/workflows/offer/index.d.ts +3 -0
  369. package/.medusa/server/src/workflows/{attribute/workflows → offer}/index.js +4 -6
  370. package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +17 -0
  371. package/.medusa/server/src/workflows/offer/steps/create-offers.js +17 -0
  372. package/.medusa/server/src/workflows/offer/steps/delete-offers.d.ts +1 -0
  373. package/.medusa/server/src/workflows/offer/steps/delete-offers.js +17 -0
  374. package/.medusa/server/src/workflows/offer/steps/index.d.ts +3 -0
  375. package/.medusa/server/src/workflows/{product-attribute → offer}/steps/index.js +4 -8
  376. package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +26 -0
  377. package/.medusa/server/src/workflows/offer/steps/update-offers.js +35 -0
  378. package/.medusa/server/src/workflows/offer/utils/index.d.ts +1 -0
  379. package/.medusa/server/src/workflows/offer/utils/index.js +18 -0
  380. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.d.ts +59 -0
  381. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.js +128 -0
  382. package/.medusa/server/src/workflows/offer/workflows/batch-offer-inventory-items.d.ts +35 -0
  383. package/.medusa/server/src/workflows/offer/workflows/batch-offer-inventory-items.js +118 -0
  384. package/.medusa/server/src/workflows/offer/workflows/create-offers.d.ts +116 -0
  385. package/.medusa/server/src/workflows/offer/workflows/create-offers.js +117 -0
  386. package/.medusa/server/src/workflows/offer/workflows/delete-offers.d.ts +11 -0
  387. package/.medusa/server/src/workflows/offer/workflows/delete-offers.js +22 -0
  388. package/.medusa/server/src/workflows/offer/workflows/index.d.ts +4 -0
  389. package/.medusa/server/src/workflows/{attribute/steps → offer/workflows}/index.js +5 -8
  390. package/.medusa/server/src/workflows/offer/workflows/update-offers.d.ts +123 -0
  391. package/.medusa/server/src/workflows/offer/workflows/update-offers.js +66 -0
  392. package/.medusa/server/src/workflows/order/index.d.ts +1 -0
  393. package/.medusa/server/src/workflows/order/index.js +18 -0
  394. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.d.ts +15 -0
  395. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.js +187 -0
  396. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.d.ts +7 -0
  397. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +221 -0
  398. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.d.ts +39 -0
  399. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.js +367 -0
  400. package/.medusa/server/src/workflows/order/workflows/index.d.ts +3 -0
  401. package/.medusa/server/src/workflows/order/workflows/index.js +20 -0
  402. package/.medusa/server/src/workflows/product/events.d.ts +54 -0
  403. package/.medusa/server/src/workflows/product/events.js +58 -0
  404. package/.medusa/server/src/workflows/product/index.d.ts +3 -0
  405. package/.medusa/server/src/workflows/product/index.js +20 -0
  406. package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-brand.d.ts +8 -0
  407. package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-brand.js +26 -0
  408. package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-category.d.ts +8 -0
  409. package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-category.js +26 -0
  410. package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product.d.ts +8 -0
  411. package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product.js +26 -0
  412. package/.medusa/server/src/workflows/product/steps/batch-link-products-in-category.d.ts +7 -0
  413. package/.medusa/server/src/workflows/product/steps/batch-link-products-in-category.js +61 -0
  414. package/.medusa/server/src/workflows/product/steps/batch-product-attributes.d.ts +11 -0
  415. package/.medusa/server/src/workflows/product/steps/batch-product-attributes.js +16 -0
  416. package/.medusa/server/src/workflows/product/steps/create-product-attribute-values.d.ts +6 -0
  417. package/.medusa/server/src/workflows/product/steps/create-product-attribute-values.js +17 -0
  418. package/.medusa/server/src/workflows/product/steps/create-product-attributes.d.ts +2 -0
  419. package/.medusa/server/src/workflows/product/steps/create-product-attributes.js +17 -0
  420. package/.medusa/server/src/workflows/product/steps/create-product-brands.d.ts +2 -0
  421. package/.medusa/server/src/workflows/product/steps/create-product-brands.js +17 -0
  422. package/.medusa/server/src/workflows/product/steps/create-product-categories.d.ts +1548 -0
  423. package/.medusa/server/src/workflows/product/steps/create-product-categories.js +18 -0
  424. package/.medusa/server/src/workflows/product/steps/create-product-variants.d.ts +2 -0
  425. package/.medusa/server/src/workflows/product/steps/create-product-variants.js +18 -0
  426. package/.medusa/server/src/workflows/product/steps/create-products.d.ts +2 -0
  427. package/.medusa/server/src/workflows/product/steps/create-products.js +17 -0
  428. package/.medusa/server/src/workflows/product/steps/delete-product-attribute-values.d.ts +1 -0
  429. package/.medusa/server/src/workflows/product/steps/delete-product-attribute-values.js +17 -0
  430. package/.medusa/server/src/workflows/product/steps/delete-product-attributes.d.ts +1 -0
  431. package/.medusa/server/src/workflows/product/steps/delete-product-attributes.js +17 -0
  432. package/.medusa/server/src/workflows/product/steps/delete-product-brands.d.ts +1 -0
  433. package/.medusa/server/src/workflows/product/steps/delete-product-brands.js +17 -0
  434. package/.medusa/server/src/workflows/product/steps/delete-product-categories.d.ts +1 -0
  435. package/.medusa/server/src/workflows/product/steps/delete-product-categories.js +17 -0
  436. package/.medusa/server/src/workflows/product/steps/delete-product-variants.d.ts +1 -0
  437. package/.medusa/server/src/workflows/product/steps/delete-product-variants.js +17 -0
  438. package/.medusa/server/src/workflows/product/steps/delete-products.d.ts +1 -0
  439. package/.medusa/server/src/workflows/product/steps/delete-products.js +17 -0
  440. package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-brand.d.ts +8 -0
  441. package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-brand.js +26 -0
  442. package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-category.d.ts +8 -0
  443. package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-category.js +26 -0
  444. package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product.d.ts +8 -0
  445. package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product.js +26 -0
  446. package/.medusa/server/src/workflows/product/steps/index.d.ts +33 -0
  447. package/.medusa/server/src/workflows/product/steps/index.js +50 -0
  448. package/.medusa/server/src/workflows/product/steps/remove-attribute-from-product.d.ts +6 -0
  449. package/.medusa/server/src/workflows/product/steps/remove-attribute-from-product.js +11 -0
  450. package/.medusa/server/src/workflows/product/steps/update-product-attribute-values.d.ts +7 -0
  451. package/.medusa/server/src/workflows/product/steps/update-product-attribute-values.js +22 -0
  452. package/.medusa/server/src/workflows/product/steps/update-product-attributes.d.ts +7 -0
  453. package/.medusa/server/src/workflows/product/steps/update-product-attributes.js +22 -0
  454. package/.medusa/server/src/workflows/product/steps/update-product-brands.d.ts +7 -0
  455. package/.medusa/server/src/workflows/product/steps/update-product-brands.js +28 -0
  456. package/.medusa/server/src/workflows/product/steps/update-product-categories.d.ts +1552 -0
  457. package/.medusa/server/src/workflows/product/steps/update-product-categories.js +20 -0
  458. package/.medusa/server/src/workflows/product/steps/update-product-variants.d.ts +10 -0
  459. package/.medusa/server/src/workflows/product/steps/update-product-variants.js +32 -0
  460. package/.medusa/server/src/workflows/product/steps/update-products.d.ts +10 -0
  461. package/.medusa/server/src/workflows/product/steps/update-products.js +33 -0
  462. package/.medusa/server/src/workflows/product/steps/upsert-product-attribute-values.d.ts +5 -0
  463. package/.medusa/server/src/workflows/product/steps/upsert-product-attribute-values.js +30 -0
  464. package/.medusa/server/src/workflows/product/steps/validate-attribute-accepts-values.d.ts +5 -0
  465. package/.medusa/server/src/workflows/product/steps/validate-attribute-accepts-values.js +19 -0
  466. package/.medusa/server/src/workflows/product/steps/validate-confirm-products.d.ts +3 -0
  467. package/.medusa/server/src/workflows/product/steps/validate-confirm-products.js +14 -0
  468. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attribute-values.d.ts +5 -0
  469. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attribute-values.js +19 -0
  470. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attributes.d.ts +5 -0
  471. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attributes.js +30 -0
  472. package/.medusa/server/src/workflows/product/steps/validate-reject-product.d.ts +3 -0
  473. package/.medusa/server/src/workflows/product/steps/validate-reject-product.js +12 -0
  474. package/.medusa/server/src/workflows/product/steps/validate-request-changes.d.ts +3 -0
  475. package/.medusa/server/src/workflows/product/steps/validate-request-changes.js +12 -0
  476. package/.medusa/server/src/workflows/product/steps/validate-resubmit-product.d.ts +3 -0
  477. package/.medusa/server/src/workflows/product/steps/validate-resubmit-product.js +12 -0
  478. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.d.ts +7 -0
  479. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.js +45 -0
  480. package/.medusa/server/src/workflows/product/workflows/batch-link-products-in-category.d.ts +8 -0
  481. package/.medusa/server/src/workflows/product/workflows/batch-link-products-in-category.js +10 -0
  482. package/.medusa/server/src/workflows/product/workflows/batch-product-attributes.d.ts +12 -0
  483. package/.medusa/server/src/workflows/product/workflows/batch-product-attributes.js +23 -0
  484. package/.medusa/server/src/workflows/product/workflows/batch-products.d.ts +3 -0
  485. package/.medusa/server/src/workflows/product/workflows/batch-products.js +86 -0
  486. package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +15 -0
  487. package/.medusa/server/src/workflows/product/workflows/confirm-products.js +57 -0
  488. package/.medusa/server/src/workflows/product/workflows/create-product-attribute-values.d.ts +8 -0
  489. package/.medusa/server/src/workflows/product/workflows/create-product-attribute-values.js +21 -0
  490. package/.medusa/server/src/workflows/product/workflows/create-product-attributes.d.ts +7 -0
  491. package/.medusa/server/src/workflows/product/workflows/create-product-attributes.js +18 -0
  492. package/.medusa/server/src/workflows/product/workflows/create-product-brands.d.ts +7 -0
  493. package/.medusa/server/src/workflows/product/workflows/create-product-brands.js +19 -0
  494. package/.medusa/server/src/workflows/product/workflows/create-product-categories.d.ts +1553 -0
  495. package/.medusa/server/src/workflows/product/workflows/create-product-categories.js +18 -0
  496. package/.medusa/server/src/workflows/product/workflows/create-product-variants.d.ts +3 -0
  497. package/.medusa/server/src/workflows/product/workflows/create-product-variants.js +25 -0
  498. package/.medusa/server/src/workflows/product/workflows/create-products.d.ts +3 -0
  499. package/.medusa/server/src/workflows/product/workflows/create-products.js +35 -0
  500. package/.medusa/server/src/workflows/product/workflows/delete-product-attribute-values.d.ts +6 -0
  501. package/.medusa/server/src/workflows/product/workflows/delete-product-attribute-values.js +20 -0
  502. package/.medusa/server/src/workflows/product/workflows/delete-product-attributes.d.ts +6 -0
  503. package/.medusa/server/src/workflows/product/workflows/delete-product-attributes.js +20 -0
  504. package/.medusa/server/src/workflows/product/workflows/delete-product-brands.d.ts +6 -0
  505. package/.medusa/server/src/workflows/product/workflows/delete-product-brands.js +19 -0
  506. package/.medusa/server/src/workflows/product/workflows/delete-product-categories.d.ts +6 -0
  507. package/.medusa/server/src/workflows/product/workflows/delete-product-categories.js +18 -0
  508. package/.medusa/server/src/workflows/product/workflows/delete-product-variants.d.ts +8 -0
  509. package/.medusa/server/src/workflows/product/workflows/delete-product-variants.js +24 -0
  510. package/.medusa/server/src/workflows/product/workflows/delete-products.d.ts +6 -0
  511. package/.medusa/server/src/workflows/product/workflows/delete-products.js +19 -0
  512. package/.medusa/server/src/workflows/product/workflows/index.d.ts +30 -0
  513. package/.medusa/server/src/workflows/product/workflows/index.js +47 -0
  514. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-brand.d.ts +14 -0
  515. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-brand.js +21 -0
  516. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.d.ts +14 -0
  517. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.js +21 -0
  518. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.d.ts +14 -0
  519. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.js +21 -0
  520. package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +11 -0
  521. package/.medusa/server/src/workflows/product/workflows/reject-product.js +61 -0
  522. package/.medusa/server/src/workflows/product/workflows/remove-attribute-from-product.d.ts +7 -0
  523. package/.medusa/server/src/workflows/product/workflows/remove-attribute-from-product.js +20 -0
  524. package/.medusa/server/src/workflows/product/workflows/request-product-changes.d.ts +11 -0
  525. package/.medusa/server/src/workflows/product/workflows/request-product-changes.js +61 -0
  526. package/.medusa/server/src/workflows/product/workflows/resubmit-product.d.ts +8 -0
  527. package/.medusa/server/src/workflows/product/workflows/resubmit-product.js +48 -0
  528. package/.medusa/server/src/workflows/product/workflows/submit-seller-products.d.ts +3 -0
  529. package/.medusa/server/src/workflows/product/workflows/submit-seller-products.js +76 -0
  530. package/.medusa/server/src/workflows/product/workflows/update-product-attribute-values.d.ts +8 -0
  531. package/.medusa/server/src/workflows/product/workflows/update-product-attribute-values.js +18 -0
  532. package/.medusa/server/src/workflows/product/workflows/update-product-attributes.d.ts +8 -0
  533. package/.medusa/server/src/workflows/product/workflows/update-product-attributes.js +18 -0
  534. package/.medusa/server/src/workflows/product/workflows/update-product-brands.d.ts +8 -0
  535. package/.medusa/server/src/workflows/product/workflows/update-product-brands.js +19 -0
  536. package/.medusa/server/src/workflows/product/workflows/update-product-categories.d.ts +1555 -0
  537. package/.medusa/server/src/workflows/product/workflows/update-product-categories.js +18 -0
  538. package/.medusa/server/src/workflows/product/workflows/update-product-variants.d.ts +3 -0
  539. package/.medusa/server/src/workflows/product/workflows/update-product-variants.js +36 -0
  540. package/.medusa/server/src/workflows/product/workflows/update-products.d.ts +3 -0
  541. package/.medusa/server/src/workflows/product/workflows/update-products.js +23 -0
  542. package/.medusa/server/src/workflows/product/workflows/upsert-product-attribute-values.d.ts +8 -0
  543. package/.medusa/server/src/workflows/product/workflows/upsert-product-attribute-values.js +21 -0
  544. package/.medusa/server/src/workflows/{attribute → product-edit}/index.js +2 -2
  545. package/.medusa/server/src/workflows/product-edit/steps/cancel-product-change.d.ts +7 -0
  546. package/.medusa/server/src/workflows/product-edit/steps/cancel-product-change.js +14 -0
  547. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.d.ts +8 -0
  548. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.js +11 -0
  549. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.d.ts +16 -0
  550. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.js +17 -0
  551. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.d.ts +17 -0
  552. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.js +25 -0
  553. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.d.ts +8 -0
  554. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.js +14 -0
  555. package/.medusa/server/src/workflows/product-edit/steps/index.d.ts +8 -0
  556. package/.medusa/server/src/workflows/{product-attribute/workflows → product-edit/steps}/index.js +9 -9
  557. package/.medusa/server/src/workflows/product-edit/steps/retrieve-product-with-change.d.ts +5 -0
  558. package/.medusa/server/src/workflows/product-edit/steps/retrieve-product-with-change.js +11 -0
  559. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +12 -0
  560. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +21 -0
  561. package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-pending.d.ts +11 -0
  562. package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-pending.js +21 -0
  563. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.d.ts +16 -0
  564. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.js +37 -0
  565. package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-edit.d.ts +19 -0
  566. package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-edit.js +40 -0
  567. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-edit.d.ts +21 -0
  568. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-edit.js +44 -0
  569. package/.medusa/server/src/workflows/product-edit/workflows/decline-product-edit.d.ts +16 -0
  570. package/.medusa/server/src/workflows/product-edit/workflows/decline-product-edit.js +42 -0
  571. package/.medusa/server/src/workflows/product-edit/workflows/index.d.ts +11 -0
  572. package/.medusa/server/src/workflows/product-edit/workflows/index.js +28 -0
  573. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-attribute.d.ts +19 -0
  574. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-attribute.js +66 -0
  575. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-variant.d.ts +17 -0
  576. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-variant.js +58 -0
  577. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.d.ts +20 -0
  578. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +60 -0
  579. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-attribute.d.ts +17 -0
  580. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-attribute.js +62 -0
  581. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-variant.d.ts +16 -0
  582. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-variant.js +68 -0
  583. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.d.ts +18 -0
  584. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.js +72 -0
  585. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variant.d.ts +21 -0
  586. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variant.js +89 -0
  587. package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +5 -2
  588. package/.medusa/server/src/workflows/utils/override-workflow.d.ts +12 -0
  589. package/.medusa/server/src/workflows/utils/override-workflow.js +21 -0
  590. package/package.json +8 -4
  591. package/.medusa/server/src/api/admin/attributes/[id]/route.d.ts +0 -5
  592. package/.medusa/server/src/api/admin/attributes/[id]/route.js +0 -68
  593. package/.medusa/server/src/api/admin/attributes/[id]/values/[value_id]/route.d.ts +0 -4
  594. package/.medusa/server/src/api/admin/attributes/[id]/values/[value_id]/route.js +0 -40
  595. package/.medusa/server/src/api/admin/attributes/[id]/values/route.d.ts +0 -4
  596. package/.medusa/server/src/api/admin/attributes/[id]/values/route.js +0 -44
  597. package/.medusa/server/src/api/admin/attributes/middlewares.d.ts +0 -2
  598. package/.medusa/server/src/api/admin/attributes/middlewares.js +0 -102
  599. package/.medusa/server/src/api/admin/attributes/query-config.d.ts +0 -20
  600. package/.medusa/server/src/api/admin/attributes/query-config.js +0 -41
  601. package/.medusa/server/src/api/admin/attributes/route.d.ts +0 -4
  602. package/.medusa/server/src/api/admin/attributes/route.js +0 -51
  603. package/.medusa/server/src/api/admin/attributes/validators.d.ts +0 -793
  604. package/.medusa/server/src/api/admin/attributes/validators.js +0 -92
  605. package/.medusa/server/src/api/vendor/attributes/middlewares.d.ts +0 -2
  606. package/.medusa/server/src/api/vendor/attributes/middlewares.js +0 -32
  607. package/.medusa/server/src/api/vendor/attributes/route.js +0 -20
  608. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.d.ts +0 -3
  609. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.js +0 -27
  610. package/.medusa/server/src/api/vendor/product-categories/helpers.d.ts +0 -2
  611. package/.medusa/server/src/api/vendor/product-categories/helpers.js +0 -24
  612. package/.medusa/server/src/api/vendor/products/[id]/attributes/utils.d.ts +0 -7
  613. package/.medusa/server/src/api/vendor/products/[id]/attributes/utils.js +0 -16
  614. package/.medusa/server/src/api/vendor/products/[id]/options/[option_id]/route.d.ts +0 -5
  615. package/.medusa/server/src/api/vendor/products/[id]/options/[option_id]/route.js +0 -74
  616. package/.medusa/server/src/api/vendor/products/[id]/options/route.d.ts +0 -4
  617. package/.medusa/server/src/api/vendor/products/[id]/options/route.js +0 -34
  618. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/media/route.js +0 -20
  619. package/.medusa/server/src/api/vendor/products/helpers.d.ts +0 -2
  620. package/.medusa/server/src/api/vendor/products/helpers.js +0 -20
  621. package/.medusa/server/src/api/vendor/products/utils/transform-product-attributes.d.ts +0 -34
  622. package/.medusa/server/src/api/vendor/products/utils/transform-product-attributes.js +0 -71
  623. package/.medusa/server/src/links/category-attribute-link.js +0 -16
  624. package/.medusa/server/src/links/product-attribute-value-link.js +0 -16
  625. package/.medusa/server/src/links/product-vendor-product-attribute-link.js +0 -16
  626. package/.medusa/server/src/links/seller-attribute-link.js +0 -13
  627. package/.medusa/server/src/links/seller-attribute-value-link.js +0 -13
  628. package/.medusa/server/src/links/seller-vendor-product-attribute-link.js +0 -13
  629. package/.medusa/server/src/modules/attribute/index.d.ts +0 -51
  630. package/.medusa/server/src/modules/attribute/index.js +0 -15
  631. package/.medusa/server/src/modules/attribute/migrations/Migration20260325000000.js +0 -32
  632. package/.medusa/server/src/modules/attribute/models/attribute-possible-value.d.ts +0 -27
  633. package/.medusa/server/src/modules/attribute/models/attribute-possible-value.js +0 -26
  634. package/.medusa/server/src/modules/attribute/models/attribute-value.d.ts +0 -27
  635. package/.medusa/server/src/modules/attribute/models/attribute-value.js +0 -26
  636. package/.medusa/server/src/modules/attribute/models/attribute.d.ts +0 -28
  637. package/.medusa/server/src/modules/attribute/models/attribute.js +0 -36
  638. package/.medusa/server/src/modules/attribute/models/index.d.ts +0 -3
  639. package/.medusa/server/src/modules/attribute/models/index.js +0 -13
  640. package/.medusa/server/src/modules/attribute/service.d.ts +0 -105
  641. package/.medusa/server/src/modules/attribute/service.js +0 -74
  642. package/.medusa/server/src/modules/vendor-product-attribute/index.d.ts +0 -23
  643. package/.medusa/server/src/modules/vendor-product-attribute/index.js +0 -15
  644. package/.medusa/server/src/modules/vendor-product-attribute/migrations/Migration20260325000000.js +0 -16
  645. package/.medusa/server/src/modules/vendor-product-attribute/models/vendor-product-attribute.d.ts +0 -11
  646. package/.medusa/server/src/modules/vendor-product-attribute/models/vendor-product-attribute.js +0 -24
  647. package/.medusa/server/src/modules/vendor-product-attribute/service.d.ts +0 -14
  648. package/.medusa/server/src/modules/vendor-product-attribute/service.js +0 -13
  649. package/.medusa/server/src/workflows/attribute/steps/create-attribute-possible-values.d.ts +0 -40
  650. package/.medusa/server/src/workflows/attribute/steps/create-attribute-possible-values.js +0 -18
  651. package/.medusa/server/src/workflows/attribute/steps/create-attributes.d.ts +0 -5
  652. package/.medusa/server/src/workflows/attribute/steps/create-attributes.js +0 -32
  653. package/.medusa/server/src/workflows/attribute/steps/delete-attribute.d.ts +0 -6
  654. package/.medusa/server/src/workflows/attribute/steps/delete-attribute.js +0 -31
  655. package/.medusa/server/src/workflows/attribute/steps/index.d.ts +0 -7
  656. package/.medusa/server/src/workflows/attribute/steps/update-attribute-possible-value.d.ts +0 -39
  657. package/.medusa/server/src/workflows/attribute/steps/update-attribute-possible-value.js +0 -18
  658. package/.medusa/server/src/workflows/attribute/steps/update-attributes.d.ts +0 -21
  659. package/.medusa/server/src/workflows/attribute/steps/update-attributes.js +0 -37
  660. package/.medusa/server/src/workflows/attribute/steps/validate-attribute-delete.d.ts +0 -6
  661. package/.medusa/server/src/workflows/attribute/steps/validate-attribute-delete.js +0 -50
  662. package/.medusa/server/src/workflows/attribute/steps/validate-possible-values-removal.d.ts +0 -7
  663. package/.medusa/server/src/workflows/attribute/steps/validate-possible-values-removal.js +0 -70
  664. package/.medusa/server/src/workflows/attribute/workflows/create-attribute-possible-values.d.ts +0 -39
  665. package/.medusa/server/src/workflows/attribute/workflows/create-attribute-possible-values.js +0 -11
  666. package/.medusa/server/src/workflows/attribute/workflows/create-attributes.d.ts +0 -7
  667. package/.medusa/server/src/workflows/attribute/workflows/create-attributes.js +0 -40
  668. package/.medusa/server/src/workflows/attribute/workflows/delete-attribute.d.ts +0 -6
  669. package/.medusa/server/src/workflows/attribute/workflows/delete-attribute.js +0 -11
  670. package/.medusa/server/src/workflows/attribute/workflows/index.d.ts +0 -5
  671. package/.medusa/server/src/workflows/attribute/workflows/update-attribute-possible-value.d.ts +0 -39
  672. package/.medusa/server/src/workflows/attribute/workflows/update-attribute-possible-value.js +0 -11
  673. package/.medusa/server/src/workflows/attribute/workflows/update-attributes.d.ts +0 -24
  674. package/.medusa/server/src/workflows/attribute/workflows/update-attributes.js +0 -69
  675. package/.medusa/server/src/workflows/cart/utils/prepare-confirm-inventory-input.d.ts +0 -28
  676. package/.medusa/server/src/workflows/cart/utils/prepare-confirm-inventory-input.js +0 -165
  677. package/.medusa/server/src/workflows/hooks/product-created.js +0 -75
  678. package/.medusa/server/src/workflows/hooks/product-variant-created.js +0 -50
  679. package/.medusa/server/src/workflows/product-attribute/steps/create-attribute-value.d.ts +0 -39
  680. package/.medusa/server/src/workflows/product-attribute/steps/create-attribute-value.js +0 -21
  681. package/.medusa/server/src/workflows/product-attribute/steps/create-attribute-values.d.ts +0 -12
  682. package/.medusa/server/src/workflows/product-attribute/steps/create-attribute-values.js +0 -24
  683. package/.medusa/server/src/workflows/product-attribute/steps/create-vendor-product-attribute.d.ts +0 -14
  684. package/.medusa/server/src/workflows/product-attribute/steps/create-vendor-product-attribute.js +0 -18
  685. package/.medusa/server/src/workflows/product-attribute/steps/delete-attribute-value.d.ts +0 -2
  686. package/.medusa/server/src/workflows/product-attribute/steps/delete-attribute-value.js +0 -18
  687. package/.medusa/server/src/workflows/product-attribute/steps/index.d.ts +0 -7
  688. package/.medusa/server/src/workflows/product-attribute/steps/restore-variant-image-associations.d.ts +0 -10
  689. package/.medusa/server/src/workflows/product-attribute/steps/restore-variant-image-associations.js +0 -49
  690. package/.medusa/server/src/workflows/product-attribute/steps/save-variant-image-associations.d.ts +0 -8
  691. package/.medusa/server/src/workflows/product-attribute/steps/save-variant-image-associations.js +0 -29
  692. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-value.d.ts +0 -3
  693. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-value.js +0 -59
  694. package/.medusa/server/src/workflows/product-attribute/utils/find-or-create-vendor-attribute.d.ts +0 -13
  695. package/.medusa/server/src/workflows/product-attribute/utils/find-or-create-vendor-attribute.js +0 -56
  696. package/.medusa/server/src/workflows/product-attribute/utils/get-applicable-attributes.d.ts +0 -2
  697. package/.medusa/server/src/workflows/product-attribute/utils/get-applicable-attributes.js +0 -58
  698. package/.medusa/server/src/workflows/product-attribute/utils/products-created-handler.d.ts +0 -8
  699. package/.medusa/server/src/workflows/product-attribute/utils/products-created-handler.js +0 -100
  700. package/.medusa/server/src/workflows/product-attribute/workflows/convert-attribute-to-option.d.ts +0 -3
  701. package/.medusa/server/src/workflows/product-attribute/workflows/convert-attribute-to-option.js +0 -46
  702. package/.medusa/server/src/workflows/product-attribute/workflows/convert-option-to-attribute.d.ts +0 -3
  703. package/.medusa/server/src/workflows/product-attribute/workflows/convert-option-to-attribute.js +0 -29
  704. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-attribute-values.d.ts +0 -16
  705. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-attribute-values.js +0 -72
  706. package/.medusa/server/src/workflows/product-attribute/workflows/create-attribute-value.d.ts +0 -39
  707. package/.medusa/server/src/workflows/product-attribute/workflows/create-attribute-value.js +0 -35
  708. package/.medusa/server/src/workflows/product-attribute/workflows/create-vendor-product-attribute.d.ts +0 -24
  709. package/.medusa/server/src/workflows/product-attribute/workflows/create-vendor-product-attribute.js +0 -42
  710. package/.medusa/server/src/workflows/product-attribute/workflows/delete-attribute-value.d.ts +0 -3
  711. package/.medusa/server/src/workflows/product-attribute/workflows/delete-attribute-value.js +0 -59
  712. package/.medusa/server/src/workflows/product-attribute/workflows/index.d.ts +0 -8
  713. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-values.d.ts +0 -20
  714. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-values.js +0 -67
  715. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-with-variant-images.d.ts +0 -11
  716. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-with-variant-images.js +0 -34
  717. package/.medusa/server/src/links/{category-attribute-link.d.ts → brand-seller-link.d.ts} +0 -0
  718. package/.medusa/server/src/links/{product-attribute-value-link.d.ts → cart-line-item-offer-link.d.ts} +0 -0
  719. package/.medusa/server/src/links/{product-vendor-product-attribute-link.d.ts → category-seller-link.d.ts} +0 -0
  720. package/.medusa/server/src/links/{seller-attribute-link.d.ts → offer-inventory-item-link.d.ts} +0 -0
  721. package/.medusa/server/src/links/{seller-attribute-value-link.d.ts → offer-price-set-link.d.ts} +0 -0
  722. package/.medusa/server/src/links/{seller-vendor-product-attribute-link.d.ts → offer-seller-link.d.ts} +0 -0
  723. package/.medusa/server/src/workflows/{hooks/product-created.d.ts → cart/hooks/validate-add-to-cart-stock.d.ts} +0 -0
  724. package/.medusa/server/src/workflows/{hooks/product-variant-created.d.ts → cart/hooks/validate-update-line-item-stock.d.ts} +0 -0
  725. package/.medusa/server/src/workflows/{attribute → product-edit}/index.d.ts +1 -1
@@ -1,3 +1,11 @@
1
1
  import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ import { HttpTypes } from "@mercurjs/types";
2
3
  import { VendorAddProductAttributeType } from "../../validators";
4
+ export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.VendorProductAttributeListResponse>) => Promise<void>;
5
+ /**
6
+ * Stages an `ATTRIBUTE_ADD` action via `product-edit-add-attribute`. Body
7
+ * mirrors `addAttributesToProduct`'s per-item shape so apply-time is a
8
+ * direct passthrough. Returns the created `ProductChange` — the attribute
9
+ * is linked to the product only after an operator confirms the change.
10
+ */
3
11
  export declare const POST: (req: AuthenticatedMedusaRequest<VendorAddProductAttributeType>, res: MedusaResponse) => Promise<void>;
@@ -1,111 +1,47 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.POST = void 0;
3
+ exports.POST = exports.GET = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
- const core_flows_1 = require("@medusajs/medusa/core-flows");
6
- const types_1 = require("@mercurjs/types");
7
- const create_and_link_attribute_values_1 = require("../../../../../workflows/product-attribute/workflows/create-and-link-attribute-values");
8
- const find_or_create_vendor_attribute_1 = require("../../../../../workflows/product-attribute/utils/find-or-create-vendor-attribute");
9
- const transform_product_attributes_1 = require("../../utils/transform-product-attributes");
10
- const utils_2 = require("./utils");
11
- const POST = async (req, res) => {
5
+ const product_edit_add_attribute_1 = require("../../../../../workflows/product-edit/workflows/product-edit-add-attribute");
6
+ const GET = async (req, res) => {
12
7
  const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
13
- const { id: product_id } = req.params;
14
- const { attribute_id, name, values, use_for_variations, ui_component } = req.validatedBody;
15
- const sellerId = req.seller_context.seller_id;
16
- if (!attribute_id && !name) {
17
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Either attribute_id or name must be provided");
18
- }
19
- if (use_for_variations) {
20
- const optionTitle = name ?? (await getAttributeName(query, attribute_id));
21
- await (0, core_flows_1.createProductOptionsWorkflow)(req.scope).run({
22
- input: {
23
- product_options: [
24
- {
25
- product_id,
26
- title: optionTitle,
27
- values,
28
- },
29
- ],
30
- },
31
- });
32
- }
33
- else {
34
- let resolvedAttributeId;
35
- if (attribute_id) {
36
- const { data: [attribute], } = await query.graph({
37
- entity: "attribute",
38
- fields: ["id", "source", "possible_values.value"],
39
- filters: { id: attribute_id },
40
- });
41
- if (!attribute) {
42
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Attribute with id '${attribute_id}' not found`);
43
- }
44
- resolvedAttributeId = attribute.id;
45
- const existingValues = await (0, utils_2.getProductAttributeValues)(req.scope, product_id, resolvedAttributeId);
46
- if (existingValues.length > 0) {
47
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Attribute already assigned to this product. Use UPDATE endpoint to modify values.");
48
- }
49
- const allowedValues = new Set(attribute.possible_values?.map((pv) => pv.value) ?? []);
50
- const valuesWithSource = values.map((value) => {
51
- const isFromPossibleValues = allowedValues.size === 0 || allowedValues.has(value);
52
- const source = isFromPossibleValues
53
- ? types_1.AttributeSource.ADMIN
54
- : types_1.AttributeSource.VENDOR;
55
- return { value, source };
56
- });
57
- await (0, create_and_link_attribute_values_1.createAndLinkAttributeValuesWorkflow)(req.scope).run({
58
- input: {
59
- product_id,
60
- attribute_id: resolvedAttributeId,
61
- seller_id: sellerId,
62
- values: valuesWithSource,
63
- },
64
- });
65
- }
66
- else {
67
- const vendorAttribute = await (0, find_or_create_vendor_attribute_1.findOrCreateVendorAttribute)(req.scope, {
68
- sellerId,
69
- name: name,
70
- ui_component: ui_component ??
71
- types_1.AttributeUIComponent.TEXTAREA,
72
- });
73
- resolvedAttributeId = vendorAttribute.id;
74
- const existingValues = await (0, utils_2.getProductAttributeValues)(req.scope, product_id, resolvedAttributeId);
75
- if (existingValues.length > 0) {
76
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Attribute already assigned to this product. Use UPDATE endpoint to modify values.");
77
- }
78
- await (0, create_and_link_attribute_values_1.createAndLinkAttributeValuesWorkflow)(req.scope).run({
79
- input: {
80
- product_id,
81
- attribute_id: resolvedAttributeId,
82
- seller_id: sellerId,
83
- values: values.map((value) => ({
84
- value,
85
- source: types_1.AttributeSource.VENDOR,
86
- })),
87
- },
88
- });
89
- }
90
- }
91
- const { data: [product], } = await query.graph({
92
- entity: "product",
8
+ const productId = req.params.id;
9
+ const { data: product_attributes, metadata } = await query.graph({
10
+ entity: "product_attribute",
93
11
  fields: req.queryConfig.fields,
94
- filters: { id: product_id },
12
+ filters: {
13
+ ...req.filterableFields,
14
+ product_id: productId,
15
+ },
16
+ pagination: req.queryConfig.pagination,
17
+ });
18
+ res.json({
19
+ product_attributes,
20
+ count: metadata?.count ?? 0,
21
+ offset: metadata?.skip ?? 0,
22
+ limit: metadata?.take ?? 0,
95
23
  });
96
- const transformedProduct = (0, transform_product_attributes_1.transformProductWithInformationalAttributes)(product);
97
- res.status(201).json({ product: transformedProduct });
98
24
  };
99
- exports.POST = POST;
100
- async function getAttributeName(query, attributeId) {
101
- const { data: [attribute], } = await query.graph({
102
- entity: "attribute",
103
- fields: ["name"],
104
- filters: { id: attributeId },
25
+ exports.GET = GET;
26
+ /**
27
+ * Stages an `ATTRIBUTE_ADD` action via `product-edit-add-attribute`. Body
28
+ * mirrors `addAttributesToProduct`'s per-item shape so apply-time is a
29
+ * direct passthrough. Returns the created `ProductChange` — the attribute
30
+ * is linked to the product only after an operator confirms the change.
31
+ */
32
+ const POST = async (req, res) => {
33
+ const sellerId = req.seller_context.seller_id;
34
+ const { attribute_id, attribute_value_ids, values } = req.validatedBody;
35
+ const { result: change } = await (0, product_edit_add_attribute_1.productEditAddAttributeWorkflow)(req.scope).run({
36
+ input: {
37
+ product_id: req.params.id,
38
+ attribute_id,
39
+ attribute_value_ids,
40
+ values,
41
+ actor_id: sellerId,
42
+ },
105
43
  });
106
- if (!attribute) {
107
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Attribute with id '${attributeId}' not found`);
108
- }
109
- return attribute.name;
110
- }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL2F0dHJpYnV0ZXMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBR2tDO0FBQ2xDLDREQUEwRTtBQUUxRSwyQ0FBdUU7QUFFdkUsNElBQTRJO0FBQzVJLHNJQUE4SDtBQUU5SCwyRkFBc0c7QUFDdEcsbUNBQW1EO0FBRTVDLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBOEQsRUFDOUQsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUNyQyxNQUFNLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLEdBQ3BFLEdBQUcsQ0FBQyxhQUFhLENBQUE7SUFFbkIsTUFBTSxRQUFRLEdBQUksR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTLENBQUE7SUFFL0MsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDhDQUE4QyxDQUMvQyxDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN2QixNQUFNLFdBQVcsR0FDZixJQUFJLElBQUksQ0FBQyxNQUFNLGdCQUFnQixDQUFDLEtBQUssRUFBRSxZQUFhLENBQUMsQ0FBQyxDQUFBO1FBRXhELE1BQU0sSUFBQSx5Q0FBNEIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFD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
44
+ res.status(202).json({ product_change: change });
45
+ };
46
+ exports.POST = POST;
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL2F0dHJpYnV0ZXMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQXFFO0FBR3JFLDJIQUE0SDtBQUdySCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQWlFLEVBQ2pFLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQTtJQUUvQixNQUFNLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMvRCxNQUFNLEVBQUUsbUJBQW1CO1FBQzNCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFO1lBQ1AsR0FBRyxHQUFHLENBQUMsZ0JBQWdCO1lBQ3ZCLFVBQVUsRUFBRSxTQUFTO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVTtLQUN2QyxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1Asa0JBQWtCO1FBQ2xCLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUM7UUFDM0IsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQztRQUMzQixLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO0tBQzNCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQXZCWSxRQUFBLEdBQUcsT0F1QmY7QUFFRDs7Ozs7R0FLRztBQUNJLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBOEQsRUFDOUQsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBQzlDLE1BQU0sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtJQUV2RSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSw0REFBK0IsRUFDOUQsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLEdBQUcsQ0FBQztRQUNKLEtBQUssRUFBRTtZQUNMLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixNQUFNO1lBQ04sUUFBUSxFQUFFLFFBQVE7U0FDbkI7S0FDRixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQ2xELENBQUMsQ0FBQTtBQXBCWSxRQUFBLElBQUksUUFvQmhCIn0=
@@ -0,0 +1,13 @@
1
+ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ import { ProductChangeDTO } from "@mercurjs/types";
3
+ import { VendorCancelProductChangeType } from "../../validators";
4
+ /**
5
+ * Vendor-side cancel of the active pending `ProductChange` for a product.
6
+ * Ownership is keyed off `product_change.created_by` — only the seller who
7
+ * opened the change can cancel it, regardless of who owns the underlying
8
+ * master product. Sellers without a pending change on this product get
9
+ * 404 (nothing to cancel).
10
+ */
11
+ export declare const POST: (req: AuthenticatedMedusaRequest<VendorCancelProductChangeType>, res: MedusaResponse<{
12
+ product_change: ProductChangeDTO;
13
+ }>) => Promise<void>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const types_1 = require("@mercurjs/types");
6
+ const cancel_product_edit_1 = require("../../../../../workflows/product-edit/workflows/cancel-product-edit");
7
+ /**
8
+ * Vendor-side cancel of the active pending `ProductChange` for a product.
9
+ * Ownership is keyed off `product_change.created_by` — only the seller who
10
+ * opened the change can cancel it, regardless of who owns the underlying
11
+ * master product. Sellers without a pending change on this product get
12
+ * 404 (nothing to cancel).
13
+ */
14
+ const POST = async (req, res) => {
15
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
16
+ const sellerId = req.seller_context.seller_id;
17
+ const productId = req.params.id;
18
+ const { data: changes } = await query.graph({
19
+ entity: "product_change",
20
+ fields: ["id"],
21
+ filters: {
22
+ product_id: productId,
23
+ created_by: sellerId,
24
+ status: types_1.ProductChangeStatus.PENDING,
25
+ },
26
+ });
27
+ const pendingChange = changes[0];
28
+ if (!pendingChange) {
29
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `No pending product change to cancel for product '${productId}'`);
30
+ }
31
+ await (0, cancel_product_edit_1.cancelProductEditWorkflow)(req.scope).run({
32
+ input: {
33
+ product_change_id: pendingChange.id,
34
+ actor_id: sellerId,
35
+ internal_note: req.validatedBody?.internal_note,
36
+ },
37
+ });
38
+ const { data: [product_change], } = await query.graph({
39
+ entity: "product_change",
40
+ fields: ["*", "actions.*"],
41
+ filters: { id: pendingChange.id },
42
+ });
43
+ res.json({ product_change });
44
+ };
45
+ exports.POST = POST;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL2NhbmNlbC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFHa0M7QUFDbEMsMkNBQXVFO0FBRXZFLDZHQUErRztBQUcvRzs7Ozs7O0dBTUc7QUFDSSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQThELEVBQzlELEdBQXlELEVBQ3pELEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsY0FBZSxDQUFDLFNBQVMsQ0FBQTtJQUM5QyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQTtJQUUvQixNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMxQyxNQUFNLEVBQUUsZ0JBQWdCO1FBQ3hCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztRQUNkLE9BQU8sRUFBRTtZQUNQLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLE1BQU0sRUFBRSwyQkFBbUIsQ0FBQyxPQUFPO1NBQ3BDO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRWhDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixvREFBb0QsU0FBUyxHQUFHLENBQ2pFLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxJQUFBLCtDQUF5QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDN0MsS0FBSyxFQUFFO1lBQ0wsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLEVBQUU7WUFDbkMsUUFBUSxFQUFFLFFBQVE7WUFDbEIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsYUFBYTtTQUNoRDtLQUNGLENBQUMsQ0FBQTtJQUVGLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FDdkIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQzFCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFO0tBQ2xDLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFBO0FBQzlCLENBQUMsQ0FBQTtBQTVDWSxRQUFBLElBQUksUUE0Q2hCIn0=
@@ -0,0 +1,14 @@
1
+ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ import { ProductChangeDTO } from "@mercurjs/types";
3
+ /**
4
+ * Returns the active pending `ProductChange` for a product **scoped to the
5
+ * seller who requested it**. Any vendor can browse the master catalog and
6
+ * may request a change on a product they do not own; only the seller who
7
+ * created the change should see it on preview. If no pending change exists
8
+ * for `(product_id, created_by = current seller)`, the endpoint returns
9
+ * `product_change: null` instead of 404 so the UI can render the master
10
+ * product cleanly.
11
+ */
12
+ export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse<{
13
+ product_change: ProductChangeDTO | null;
14
+ }>) => Promise<void>;
@@ -0,0 +1,31 @@
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 types_1 = require("@mercurjs/types");
6
+ /**
7
+ * Returns the active pending `ProductChange` for a product **scoped to the
8
+ * seller who requested it**. Any vendor can browse the master catalog and
9
+ * may request a change on a product they do not own; only the seller who
10
+ * created the change should see it on preview. If no pending change exists
11
+ * for `(product_id, created_by = current seller)`, the endpoint returns
12
+ * `product_change: null` instead of 404 so the UI can render the master
13
+ * product cleanly.
14
+ */
15
+ const GET = async (req, res) => {
16
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
17
+ const sellerId = req.seller_context.seller_id;
18
+ const productId = req.params.id;
19
+ const { data: changes } = await query.graph({
20
+ entity: "product_change",
21
+ fields: ["*", "actions.*"],
22
+ filters: {
23
+ product_id: productId,
24
+ created_by: sellerId,
25
+ status: types_1.ProductChangeStatus.PENDING,
26
+ },
27
+ });
28
+ res.json({ product_change: changes[0] ?? null });
29
+ };
30
+ exports.GET = GET;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3ByZXZpZXcvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQXFFO0FBQ3JFLDJDQUF1RTtBQUV2RTs7Ozs7Ozs7R0FRRztBQUNJLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBZ0UsRUFDaEUsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBQzlDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFBO0lBRS9CLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzFDLE1BQU0sRUFBRSxnQkFBZ0I7UUFDeEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUMxQixPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUsU0FBUztZQUNyQixVQUFVLEVBQUUsUUFBUTtZQUNwQixNQUFNLEVBQUUsMkJBQW1CLENBQUMsT0FBTztTQUNwQztLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBbkJZLFFBQUEsR0FBRyxPQW1CZiJ9
@@ -2,5 +2,15 @@ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/
2
2
  import { HttpTypes } from "@mercurjs/types";
3
3
  import { VendorUpdateProductType } from "../validators";
4
4
  export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.VendorProductResponse>) => Promise<void>;
5
- export declare const POST: (req: AuthenticatedMedusaRequest<VendorUpdateProductType>, res: MedusaResponse<HttpTypes.VendorProductResponse>) => Promise<void>;
6
- export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.VendorDeleteResponse>) => Promise<void>;
5
+ /**
6
+ * Stages top-level Product field changes through `product-edit-update-fields`.
7
+ * Returns the created `ProductChange` — the product itself is NOT mutated
8
+ * until an operator confirms the change.
9
+ */
10
+ export declare const POST: (req: AuthenticatedMedusaRequest<VendorUpdateProductType>, res: MedusaResponse) => Promise<void>;
11
+ /**
12
+ * Stages a `PRODUCT_DELETE` action via `product-edit-delete-product`.
13
+ * Returns the created `ProductChange` — the product is soft-deleted only
14
+ * after an operator confirms the change.
15
+ */
16
+ export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DELETE = exports.POST = exports.GET = void 0;
4
- const core_flows_1 = require("@medusajs/core-flows");
5
4
  const utils_1 = require("@medusajs/framework/utils");
6
- const helpers_1 = require("../helpers");
7
- const transform_product_attributes_1 = require("../utils/transform-product-attributes");
8
- const update_product_with_variant_images_1 = require("../../../../workflows/product-attribute/workflows/update-product-with-variant-images");
5
+ const product_edit_delete_product_1 = require("../../../../workflows/product-edit/workflows/product-edit-delete-product");
6
+ const product_edit_update_fields_1 = require("../../../../workflows/product-edit/workflows/product-edit-update-fields");
7
+ const utils_2 = require("../../../utils");
9
8
  const GET = async (req, res) => {
10
9
  const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
11
- const sellerId = req.seller_context.seller_id;
12
- await (0, helpers_1.validateSellerProduct)(req.scope, sellerId, req.params.id);
13
10
  const { data: [product], } = await query.graph({
14
11
  entity: "product",
15
12
  fields: req.queryConfig.fields,
@@ -18,45 +15,42 @@ const GET = async (req, res) => {
18
15
  if (!product) {
19
16
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Product with id ${req.params.id} was not found`);
20
17
  }
21
- const transformedProduct = (0, transform_product_attributes_1.transformProductWithInformationalAttributes)(product);
22
- res.json({ product: transformedProduct });
18
+ (0, utils_2.formatProductAttributes)(product);
19
+ res.json({ product });
23
20
  };
24
21
  exports.GET = GET;
22
+ /**
23
+ * Stages top-level Product field changes through `product-edit-update-fields`.
24
+ * Returns the created `ProductChange` — the product itself is NOT mutated
25
+ * until an operator confirms the change.
26
+ */
25
27
  const POST = async (req, res) => {
26
- const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
27
28
  const sellerId = req.seller_context.seller_id;
28
- const { additional_data, ...update } = req.validatedBody;
29
- await (0, helpers_1.validateSellerProduct)(req.scope, sellerId, req.params.id);
30
- const { result } = await (0, update_product_with_variant_images_1.updateProductWithVariantImagesWorkflow)(req.scope).run({
29
+ const { additional_data: _additional_data, ...updates } = req.validatedBody;
30
+ const { result: change } = await (0, product_edit_update_fields_1.productEditUpdateFieldsWorkflow)(req.scope).run({
31
31
  input: {
32
- selector: { id: req.params.id },
33
- update,
34
- additional_data: {
35
- ...additional_data,
36
- seller_id: sellerId,
37
- },
32
+ product_id: req.params.id,
33
+ updates: updates,
34
+ actor_id: sellerId,
38
35
  },
39
36
  });
40
- const { data: [product], } = await query.graph({
41
- entity: "product",
42
- fields: req.queryConfig.fields,
43
- filters: { id: result[0].id },
44
- });
45
- const transformedProduct = (0, transform_product_attributes_1.transformProductWithInformationalAttributes)(product);
46
- res.json({ product: transformedProduct });
37
+ res.status(202).json({ product_change: change });
47
38
  };
48
39
  exports.POST = POST;
40
+ /**
41
+ * Stages a `PRODUCT_DELETE` action via `product-edit-delete-product`.
42
+ * Returns the created `ProductChange` — the product is soft-deleted only
43
+ * after an operator confirms the change.
44
+ */
49
45
  const DELETE = async (req, res) => {
50
46
  const sellerId = req.seller_context.seller_id;
51
- await (0, helpers_1.validateSellerProduct)(req.scope, sellerId, req.params.id);
52
- await (0, core_flows_1.deleteProductsWorkflow)(req.scope).run({
53
- input: { ids: [req.params.id] },
54
- });
55
- res.json({
56
- id: req.params.id,
57
- object: "product",
58
- deleted: true,
47
+ const { result: change } = await (0, product_edit_delete_product_1.productEditDeleteProductWorkflow)(req.scope).run({
48
+ input: {
49
+ product_id: req.params.id,
50
+ actor_id: sellerId,
51
+ },
59
52
  });
53
+ res.status(202).json({ product_change: change });
60
54
  };
61
55
  exports.DELETE = DELETE;
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUE2RDtBQUs3RCxxREFHa0M7QUFHbEMsd0NBQWtEO0FBRWxELHdGQUFtRztBQUNuRyw2SUFBNkk7QUFFdEksTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFvRCxFQUNwRCxFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxRQUFRLEdBQUksR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTLENBQUE7SUFFL0MsTUFBTSxJQUFBLCtCQUFxQixFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFL0QsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUNoQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNO1FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRTtLQUMvQixDQUFDLENBQUE7SUFFRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixtQkFBbUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLGdCQUFnQixDQUNqRCxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sa0JBQWtCLEdBQUcsSUFBQSwwRUFBMkMsRUFDcEUsT0FB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
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUdrQztBQUdsQywwSEFBMkg7QUFDM0gsd0hBQXlIO0FBQ3pILDBDQUF3RDtBQUdqRCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW9ELEVBQ3BELEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQ2hCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQy9CLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLG1CQUFtQixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsZ0JBQWdCLENBQ2pELENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBQSwrQkFBdUIsRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUVoQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUN2QixDQUFDLENBQUE7QUF4QlksUUFBQSxHQUFHLE9Bd0JmO0FBRUQ7Ozs7R0FJRztBQUNJLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBd0QsRUFDeEQsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBQzlDLE1BQU0sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFBO0lBRTNFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLDREQUErQixFQUM5RCxHQUFHLENBQUMsS0FBSyxDQUNWLENBQUMsR0FBRyxDQUFDO1FBQ0osS0FBSyxFQUFFO1lBQ0wsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QixPQUFPLEVBQUUsT0FBa0M7WUFDM0MsUUFBUSxFQUFFLFFBQVE7U0FDbkI7S0FDRixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQ2xELENBQUMsQ0FBQTtBQWxCWSxRQUFBLElBQUksUUFrQmhCO0FBRUQ7Ozs7R0FJRztBQUNJLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFDekIsR0FBK0IsRUFDL0IsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBRTlDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLDhEQUFnQyxFQUMvRCxHQUFHLENBQUMsS0FBSyxDQUNWLENBQUMsR0FBRyxDQUFDO1FBQ0osS0FBSyxFQUFFO1lBQ0wsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QixRQUFRLEVBQUUsUUFBUTtTQUNuQjtLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBaEJZLFFBQUEsTUFBTSxVQWdCbEIifQ==
@@ -1,6 +1,16 @@
1
1
  import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
2
  import { HttpTypes } from "@mercurjs/types";
3
3
  import { VendorUpdateProductVariantType } from "../../../validators";
4
- export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
5
- export declare const POST: (req: AuthenticatedMedusaRequest<VendorUpdateProductVariantType>, res: MedusaResponse<HttpTypes.VendorProductResponse>) => Promise<void>;
6
- export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.VendorDeleteResponse>) => Promise<void>;
4
+ export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.VendorProductVariantResponse>) => Promise<void>;
5
+ /**
6
+ * Stages a `VARIANT_UPDATE` action via `product-edit-update-variant`.
7
+ * Returns the created `ProductChange` — the variant is updated only after
8
+ * an operator confirms the change.
9
+ */
10
+ export declare const POST: (req: AuthenticatedMedusaRequest<VendorUpdateProductVariantType>, res: MedusaResponse) => Promise<void>;
11
+ /**
12
+ * Stages a `VARIANT_REMOVE` action via `product-edit-remove-variant`.
13
+ * Returns the created `ProductChange` — the variant is deleted only after
14
+ * an operator confirms the change.
15
+ */
16
+ export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
@@ -1,57 +1,55 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DELETE = exports.POST = exports.GET = void 0;
4
- const core_flows_1 = require("@medusajs/core-flows");
5
- const http_1 = require("@medusajs/framework/http");
6
4
  const utils_1 = require("@medusajs/framework/utils");
7
- const helpers_1 = require("@medusajs/medusa/api/admin/products/helpers");
8
- const helpers_2 = require("../../../helpers");
5
+ const product_edit_remove_variant_1 = require("../../../../../../workflows/product-edit/workflows/product-edit-remove-variant");
6
+ const product_edit_update_variant_1 = require("../../../../../../workflows/product-edit/workflows/product-edit-update-variant");
9
7
  const GET = async (req, res) => {
10
- const sellerId = req.seller_context.seller_id;
11
- await (0, helpers_2.validateSellerProduct)(req.scope, sellerId, req.params.id);
12
- const variant = await (0, http_1.refetchEntity)({
8
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
9
+ const { data: [variant], } = await query.graph({
13
10
  entity: "variant",
14
- idOrFilter: { id: req.params.variant_id, product_id: req.params.id },
15
- scope: req.scope,
16
- fields: (0, helpers_1.remapKeysForVariant)(req.queryConfig.fields ?? []),
11
+ fields: req.queryConfig.fields,
12
+ filters: { id: req.params.variant_id, product_id: req.params.id },
17
13
  });
18
- res.status(200).json({ variant: (0, helpers_1.remapVariantResponse)(variant) });
14
+ if (!variant) {
15
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Variant with id ${req.params.variant_id} was not found on product ${req.params.id}`);
16
+ }
17
+ res.json({ variant });
19
18
  };
20
19
  exports.GET = GET;
20
+ /**
21
+ * Stages a `VARIANT_UPDATE` action via `product-edit-update-variant`.
22
+ * Returns the created `ProductChange` — the variant is updated only after
23
+ * an operator confirms the change.
24
+ */
21
25
  const POST = async (req, res) => {
22
- const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
23
26
  const sellerId = req.seller_context.seller_id;
24
- const { additional_data, ...update } = req.validatedBody;
25
- await (0, helpers_2.validateSellerProduct)(req.scope, sellerId, req.params.id);
26
- await (0, core_flows_1.updateProductVariantsWorkflow)(req.scope).run({
27
+ const { result: change } = await (0, product_edit_update_variant_1.productEditUpdateVariantWorkflow)(req.scope).run({
27
28
  input: {
28
- selector: { id: req.params.variant_id },
29
- update,
30
- additional_data: {
31
- ...additional_data,
32
- seller_id: sellerId,
33
- },
29
+ product_id: req.params.id,
30
+ variant_id: req.params.variant_id,
31
+ fields: req.validatedBody,
32
+ actor_id: sellerId,
34
33
  },
35
34
  });
36
- const { data: [product], } = await query.graph({
37
- entity: "product",
38
- fields: req.queryConfig.fields,
39
- filters: { id: req.params.id },
40
- });
41
- res.json({ product });
35
+ res.status(202).json({ product_change: change });
42
36
  };
43
37
  exports.POST = POST;
38
+ /**
39
+ * Stages a `VARIANT_REMOVE` action via `product-edit-remove-variant`.
40
+ * Returns the created `ProductChange` — the variant is deleted only after
41
+ * an operator confirms the change.
42
+ */
44
43
  const DELETE = async (req, res) => {
45
44
  const sellerId = req.seller_context.seller_id;
46
- await (0, helpers_2.validateSellerProduct)(req.scope, sellerId, req.params.id);
47
- await (0, core_flows_1.deleteProductVariantsWorkflow)(req.scope).run({
48
- input: { ids: [req.params.variant_id] },
49
- });
50
- res.json({
51
- id: req.params.variant_id,
52
- object: "product_variant",
53
- deleted: true,
45
+ const { result: change } = await (0, product_edit_remove_variant_1.productEditRemoveVariantWorkflow)(req.scope).run({
46
+ input: {
47
+ product_id: req.params.id,
48
+ variant_id: req.params.variant_id,
49
+ actor_id: sellerId,
50
+ },
54
51
  });
52
+ res.status(202).json({ product_change: change });
55
53
  };
56
54
  exports.DELETE = DELETE;
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3ZhcmlhbnRzL1t2YXJpYW50X2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFHNkI7QUFDN0IsbURBSWlDO0FBQ2pDLHFEQUFxRTtBQUNyRSx5RUFHb0Q7QUFHcEQsOENBQXdEO0FBR2pELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFJLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBRS9DLE1BQU0sSUFBQSwrQkFBcUIsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRS9ELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSxvQkFBYSxFQUFDO1FBQ2xDLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7UUFDcEUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1FBQ2hCLE1BQU0sRUFBRSxJQUFBLDZCQUFtQixFQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztLQUMxRCxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFBLDhCQUFvQixFQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNsRSxDQUFDLENBQUE7QUFoQlksUUFBQSxHQUFHLE9BZ0JmO0FBRU0sTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUErRCxFQUMvRCxHQUFvRCxFQUNwRCxFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxRQUFRLEdBQUksR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTLENBQUE7SUFDL0MsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUE7SUFFeEQsTUFBTSxJQUFBLCtCQUFxQixFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFL0QsTUFBTSxJQUFBLDBDQUE2QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDakQsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLE1BQU07WUFDTixlQUFlLEVBQUU7Z0JBQ2YsR0FBRyxlQUFlO2dCQUNsQixTQUFTLEVBQUUsUUFBUTthQUNwQjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUNoQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNO1FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRTtLQUMvQixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUN2QixDQUFDLENBQUE7QUE5QlksUUFBQSxJQUFJLFFBOEJoQjtBQUVNLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFDekIsR0FBK0IsRUFDL0IsR0FBbUQsRUFDbkQsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFJLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBRS9DLE1BQU0sSUFBQSwrQkFBcUIsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRS9ELE1BQU0sSUFBQSwwQ0FBNkIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2pELEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUU7S0FDeEMsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLEVBQUUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDekIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWpCWSxRQUFBLE1BQU0sVUFpQmxCIn0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3ZhcmlhbnRzL1t2YXJpYW50X2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFHa0M7QUFHbEMsZ0lBQWlJO0FBQ2pJLGdJQUFpSTtBQUcxSCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQTJELEVBQzNELEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQ2hCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRTtLQUNsRSxDQUFDLENBQUE7SUFFRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixtQkFBbUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLDZCQUE2QixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUNyRixDQUFBO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0FBQ3ZCLENBQUMsQ0FBQTtBQXRCWSxRQUFBLEdBQUcsT0FzQmY7QUFFRDs7OztHQUlHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUErRCxFQUMvRCxHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTLENBQUE7SUFFOUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsOERBQWdDLEVBQy9ELEdBQUcsQ0FBQyxLQUFLLENBQ1YsQ0FBQyxHQUFHLENBQUM7UUFDSixLQUFLLEVBQUU7WUFDTCxVQUFVLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pCLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVU7WUFDakMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxhQUF3QztZQUNwRCxRQUFRLEVBQUUsUUFBUTtTQUNuQjtLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBbEJZLFFBQUEsSUFBSSxRQWtCaEI7QUFFRDs7OztHQUlHO0FBQ0ksTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUN6QixHQUErQixFQUMvQixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTLENBQUE7SUFFOUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsOERBQWdDLEVBQy9ELEdBQUcsQ0FBQyxLQUFLLENBQ1YsQ0FBQyxHQUFHLENBQUM7UUFDSixLQUFLLEVBQUU7WUFDTCxVQUFVLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pCLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVU7WUFDakMsUUFBUSxFQUFFLFFBQVE7U0FDbkI7S0FDRixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQ2xELENBQUMsQ0FBQTtBQWpCWSxRQUFBLE1BQU0sVUFpQmxCIn0=
@@ -1,5 +1,10 @@
1
1
  import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
2
  import { HttpTypes } from "@mercurjs/types";
3
- import { VendorCreateProductVariantType } from "../../validators";
3
+ import { VendorAddProductVariantType } from "../../validators";
4
4
  export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.VendorProductVariantListResponse>) => Promise<void>;
5
- export declare const POST: (req: AuthenticatedMedusaRequest<VendorCreateProductVariantType>, res: MedusaResponse<HttpTypes.VendorProductResponse>) => Promise<void>;
5
+ /**
6
+ * Stages a `VARIANT_ADD` action via `product-edit-add-variant`. Returns
7
+ * the created `ProductChange` — the variant is created on the product
8
+ * only after an operator confirms the change.
9
+ */
10
+ export declare const POST: (req: AuthenticatedMedusaRequest<VendorAddProductVariantType>, res: MedusaResponse) => Promise<void>;
@@ -1,20 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.POST = exports.GET = void 0;
4
- const core_flows_1 = require("@medusajs/core-flows");
5
4
  const utils_1 = require("@medusajs/framework/utils");
6
- const helpers_1 = require("../../helpers");
5
+ const product_edit_add_variant_1 = require("../../../../../workflows/product-edit/workflows/product-edit-add-variant");
7
6
  const GET = async (req, res) => {
8
7
  const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
9
- const sellerId = req.seller_context.seller_id;
10
- await (0, helpers_1.validateSellerProduct)(req.scope, sellerId, req.params.id);
8
+ const productId = req.params.id;
11
9
  const { data: variants, metadata } = await query.graph({
12
- entity: "product_variant",
10
+ entity: "variant",
13
11
  fields: req.queryConfig.fields,
14
- filters: {
15
- product_id: req.params.id,
16
- ...req.filterableFields,
17
- },
12
+ filters: { ...req.filterableFields, product_id: productId },
18
13
  pagination: req.queryConfig.pagination,
19
14
  });
20
15
  res.json({
@@ -25,31 +20,21 @@ const GET = async (req, res) => {
25
20
  });
26
21
  };
27
22
  exports.GET = GET;
23
+ /**
24
+ * Stages a `VARIANT_ADD` action via `product-edit-add-variant`. Returns
25
+ * the created `ProductChange` — the variant is created on the product
26
+ * only after an operator confirms the change.
27
+ */
28
28
  const POST = async (req, res) => {
29
- const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
30
29
  const sellerId = req.seller_context.seller_id;
31
- const { additional_data, ...variantData } = req.validatedBody;
32
- await (0, helpers_1.validateSellerProduct)(req.scope, sellerId, req.params.id);
33
- await (0, core_flows_1.createProductVariantsWorkflow)(req.scope).run({
30
+ const { result: change } = await (0, product_edit_add_variant_1.productEditAddVariantWorkflow)(req.scope).run({
34
31
  input: {
35
- product_variants: [
36
- {
37
- ...variantData,
38
- product_id: req.params.id,
39
- },
40
- ],
41
- additional_data: {
42
- ...additional_data,
43
- seller_id: sellerId,
44
- },
32
+ product_id: req.params.id,
33
+ variant: req.validatedBody,
34
+ actor_id: sellerId,
45
35
  },
46
36
  });
47
- const { data: [product], } = await query.graph({
48
- entity: "product",
49
- fields: req.queryConfig.fields,
50
- filters: { id: req.params.id },
51
- });
52
- res.status(201).json({ product });
37
+ res.status(202).json({ product_change: change });
53
38
  };
54
39
  exports.POST = POST;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3ZhcmlhbnRzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFvRTtBQUtwRSxxREFBcUU7QUFHckUsMkNBQXFEO0FBRzlDLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBK0QsRUFDL0QsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sUUFBUSxHQUFJLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBRS9DLE1BQU0sSUFBQSwrQkFBcUIsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRS9ELE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNyRCxNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFO1lBQ1AsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QixHQUFHLEdBQUcsQ0FBQyxnQkFBZ0I7U0FDeEI7UUFDRCxVQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVO0tBQ3ZDLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxRQUFRO1FBQ1IsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQztRQUMzQixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1FBQzNCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7S0FDM0IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBekJZLFFBQUEsR0FBRyxPQXlCZjtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBK0QsRUFDL0QsR0FBb0QsRUFDcEQsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sUUFBUSxHQUFJLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBQy9DLE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFBO0lBRTdELE1BQU0sSUFBQSwrQkFBcUIsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRS9ELE1BQU0sSUFBQSwwQ0FBNkIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2pELEtBQUssRUFBRTtZQUNMLGdCQUFnQixFQUFFO2dCQUNoQjtvQkFDRSxHQUFHLFdBQVc7b0JBQ2QsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtpQkFDMUI7YUFDRjtZQUNELGVBQWUsRUFBRTtnQkFDZixHQUFHLGVBQWU7Z0JBQ2xCLFNBQVMsRUFBRSxRQUFRO2FBQ3BCO1NBQ0Y7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQ2hCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQy9CLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUNuQyxDQUFDLENBQUE7QUFsQ1ksUUFBQSxJQUFJLFFBa0NoQiJ9
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3ZhcmlhbnRzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUFxRTtBQUdyRSx1SEFBd0g7QUFHakgsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUErRCxFQUMvRCxFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUE7SUFFL0IsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JELE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtRQUMzRCxVQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVO0tBQ3ZDLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxRQUFRO1FBQ1IsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQztRQUMzQixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1FBQzNCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7S0FDM0IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBcEJZLFFBQUEsR0FBRyxPQW9CZjtBQUVEOzs7O0dBSUc7QUFDSSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQTRELEVBQzVELEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsY0FBZSxDQUFDLFNBQVMsQ0FBQTtJQUU5QyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSx3REFBNkIsRUFDNUQsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLEdBQUcsQ0FBQztRQUNKLEtBQUssRUFBRTtZQUNMLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFtRDtZQUNoRSxRQUFRLEVBQUUsUUFBUTtTQUNuQjtLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBakJZLFFBQUEsSUFBSSxRQWlCaEIifQ==