@mercurjs/core 2.2.0-canary.2 → 2.2.0-canary.20

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 (967) hide show
  1. package/.medusa/server/src/api/admin/claims/[id]/outbound/items/route.d.ts +20 -0
  2. package/.medusa/server/src/api/admin/claims/[id]/outbound/items/route.js +66 -0
  3. package/.medusa/server/src/api/admin/claims/[id]/request/route.d.ts +10 -0
  4. package/.medusa/server/src/api/admin/claims/[id]/request/route.js +80 -0
  5. package/.medusa/server/src/api/admin/commission-rates/query-config.js +6 -4
  6. package/.medusa/server/src/api/admin/commission-rates/validators.d.ts +53 -26
  7. package/.medusa/server/src/api/admin/commission-rates/validators.js +11 -8
  8. package/.medusa/server/src/api/admin/exchanges/[id]/outbound/items/route.d.ts +22 -0
  9. package/.medusa/server/src/api/admin/exchanges/[id]/outbound/items/route.js +68 -0
  10. package/.medusa/server/src/api/admin/exchanges/[id]/request/route.d.ts +10 -0
  11. package/.medusa/server/src/api/admin/exchanges/[id]/request/route.js +81 -0
  12. package/.medusa/server/src/api/admin/members/validators.d.ts +2 -2
  13. package/.medusa/server/src/api/admin/middlewares.js +25 -38
  14. package/.medusa/server/src/api/admin/offers/query-config.js +8 -8
  15. package/.medusa/server/src/api/admin/offers/validators.d.ts +8 -8
  16. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.d.ts +12 -0
  17. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.js +27 -0
  18. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.d.ts +26 -0
  19. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.js +57 -0
  20. package/.medusa/server/src/api/admin/order-groups/apply-request-filter.d.ts +2 -0
  21. package/.medusa/server/src/api/admin/order-groups/apply-request-filter.js +140 -0
  22. package/.medusa/server/src/api/admin/order-groups/middlewares.js +3 -1
  23. package/.medusa/server/src/api/admin/order-groups/validators.d.ts +7 -4
  24. package/.medusa/server/src/api/admin/order-groups/validators.js +7 -1
  25. package/.medusa/server/src/api/admin/orders/[id]/commission-lines/route.d.ts +7 -0
  26. package/.medusa/server/src/api/admin/orders/[id]/commission-lines/route.js +17 -0
  27. package/.medusa/server/src/api/admin/orders/middlewares.d.ts +2 -0
  28. package/.medusa/server/src/api/admin/orders/middlewares.js +42 -0
  29. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.d.ts +11 -0
  30. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.js +24 -0
  31. package/.medusa/server/src/api/admin/orders/validators.d.ts +73 -27
  32. package/.medusa/server/src/api/admin/orders/validators.js +9 -29
  33. package/.medusa/server/src/api/admin/payouts/validators.d.ts +2 -2
  34. package/.medusa/server/src/api/admin/product-attributes/[id]/route.js +4 -4
  35. package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.js +4 -4
  36. package/.medusa/server/src/api/admin/product-attributes/[id]/values/route.js +2 -2
  37. package/.medusa/server/src/api/admin/product-attributes/middlewares.js +15 -1
  38. package/.medusa/server/src/api/admin/product-attributes/query-config.js +1 -2
  39. package/.medusa/server/src/api/admin/product-attributes/route.js +7 -4
  40. package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +21 -25
  41. package/.medusa/server/src/api/admin/product-attributes/validators.js +2 -15
  42. package/.medusa/server/src/api/admin/product-categories/[id]/products/route.js +3 -3
  43. package/.medusa/server/src/api/admin/product-categories/[id]/route.js +8 -10
  44. package/.medusa/server/src/api/admin/product-categories/query-config.js +7 -2
  45. package/.medusa/server/src/api/admin/product-categories/route.js +5 -8
  46. package/.medusa/server/src/api/admin/product-categories/validators.d.ts +70 -8
  47. package/.medusa/server/src/api/admin/product-categories/validators.js +11 -1
  48. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +5 -6
  49. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +5 -5
  50. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.d.ts +10 -4
  51. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.js +60 -23
  52. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.d.ts +3 -2
  53. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +11 -22
  54. package/.medusa/server/src/api/admin/products/[id]/attributes/route.d.ts +2 -3
  55. package/.medusa/server/src/api/admin/products/[id]/attributes/route.js +40 -25
  56. package/.medusa/server/src/api/admin/products/[id]/confirm/route.d.ts +12 -0
  57. package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +16 -6
  58. package/.medusa/server/src/api/admin/products/[id]/preview/route.d.ts +8 -1
  59. package/.medusa/server/src/api/admin/products/[id]/preview/route.js +20 -7
  60. package/.medusa/server/src/api/admin/products/[id]/reject/route.d.ts +8 -0
  61. package/.medusa/server/src/api/admin/products/[id]/reject/route.js +13 -8
  62. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.d.ts +9 -0
  63. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +16 -10
  64. package/.medusa/server/src/api/admin/products/[id]/route.js +16 -6
  65. package/.medusa/server/src/api/admin/products/[id]/variants/[variant_id]/route.js +5 -5
  66. package/.medusa/server/src/api/admin/products/[id]/variants/route.js +22 -4
  67. package/.medusa/server/src/api/admin/products/middlewares.js +10 -4
  68. package/.medusa/server/src/api/admin/products/query-config.js +12 -18
  69. package/.medusa/server/src/api/admin/products/route.js +14 -8
  70. package/.medusa/server/src/api/admin/products/validators.d.ts +1053 -203
  71. package/.medusa/server/src/api/admin/products/validators.js +119 -16
  72. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.d.ts +9 -0
  73. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.js +35 -0
  74. package/.medusa/server/src/api/admin/sellers/validators.d.ts +20 -21
  75. package/.medusa/server/src/api/admin/sellers/validators.js +3 -4
  76. package/.medusa/server/src/api/admin/shipping-options/middlewares.d.ts +2 -0
  77. package/.medusa/server/src/api/admin/shipping-options/middlewares.js +46 -0
  78. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.d.ts +2 -0
  79. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.js +46 -0
  80. package/.medusa/server/src/api/{vendor/product-brands → admin/stock-locations}/middlewares.d.ts +1 -1
  81. package/.medusa/server/src/api/admin/stock-locations/middlewares.js +46 -0
  82. package/.medusa/server/src/api/store/carts/[id]/line-items/route.js +23 -5
  83. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.d.ts +0 -3
  84. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.js +1 -2
  85. package/.medusa/server/src/api/store/middlewares.js +7 -9
  86. package/.medusa/server/src/api/store/order-groups/validators.d.ts +2 -2
  87. package/.medusa/server/src/api/store/product-attributes/validators.d.ts +4 -4
  88. package/.medusa/server/src/api/store/products/[id]/route.js +3 -18
  89. package/.medusa/server/src/api/store/products/middlewares.js +1 -7
  90. package/.medusa/server/src/api/store/products/query-config.d.ts +1 -3
  91. package/.medusa/server/src/api/store/products/query-config.js +14 -17
  92. package/.medusa/server/src/api/store/products/route.js +3 -19
  93. package/.medusa/server/src/api/store/products/validators.d.ts +0 -6
  94. package/.medusa/server/src/api/store/products/validators.js +1 -2
  95. package/.medusa/server/src/api/store/sellers/validators.d.ts +2 -2
  96. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.d.ts +17 -0
  97. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.js +58 -0
  98. package/.medusa/server/src/api/utils/format-product-attributes.d.ts +51 -5
  99. package/.medusa/server/src/api/utils/format-product-attributes.js +176 -31
  100. package/.medusa/server/src/api/utils/index.d.ts +2 -0
  101. package/.medusa/server/src/api/utils/index.js +3 -1
  102. package/.medusa/server/src/api/utils/offers.d.ts +48 -0
  103. package/.medusa/server/src/api/utils/offers.js +136 -0
  104. package/.medusa/server/src/api/utils/order-commission-lines.d.ts +18 -0
  105. package/.medusa/server/src/api/utils/order-commission-lines.js +78 -0
  106. package/.medusa/server/src/api/vendor/campaigns/validators.d.ts +2 -2
  107. package/.medusa/server/src/api/vendor/claims/[id]/cancel/route.d.ts +4 -0
  108. package/.medusa/server/src/api/vendor/claims/[id]/cancel/route.js +17 -0
  109. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/[action_id]/route.d.ts +9 -0
  110. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/[action_id]/route.js +32 -0
  111. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/route.d.ts +6 -0
  112. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/route.js +15 -0
  113. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/[action_id]/route.d.ts +9 -0
  114. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/[action_id]/route.js +46 -0
  115. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/route.d.ts +6 -0
  116. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/route.js +26 -0
  117. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/[action_id]/route.d.ts +9 -0
  118. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/[action_id]/route.js +39 -0
  119. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/route.d.ts +6 -0
  120. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/route.js +26 -0
  121. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/[action_id]/route.d.ts +9 -0
  122. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/[action_id]/route.js +32 -0
  123. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.d.ts +12 -0
  124. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.js +47 -0
  125. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/[action_id]/route.d.ts +9 -0
  126. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/[action_id]/route.js +32 -0
  127. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/route.d.ts +6 -0
  128. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/route.js +15 -0
  129. package/.medusa/server/src/api/vendor/claims/[id]/request/route.d.ts +6 -0
  130. package/.medusa/server/src/api/vendor/claims/[id]/request/route.js +34 -0
  131. package/.medusa/server/src/api/vendor/claims/[id]/route.d.ts +3 -0
  132. package/.medusa/server/src/api/vendor/claims/[id]/route.js +19 -0
  133. package/.medusa/server/src/api/vendor/claims/helpers.d.ts +2 -0
  134. package/.medusa/server/src/api/vendor/claims/helpers.js +19 -0
  135. package/.medusa/server/src/api/vendor/claims/middlewares.d.ts +2 -0
  136. package/.medusa/server/src/api/vendor/claims/middlewares.js +184 -0
  137. package/.medusa/server/src/api/vendor/claims/query-config.d.ts +12 -0
  138. package/.medusa/server/src/api/vendor/claims/query-config.js +31 -0
  139. package/.medusa/server/src/api/vendor/claims/route.d.ts +5 -0
  140. package/.medusa/server/src/api/vendor/claims/route.js +35 -0
  141. package/.medusa/server/src/api/vendor/claims/validators.d.ts +378 -0
  142. package/.medusa/server/src/api/vendor/claims/validators.js +89 -0
  143. package/.medusa/server/src/api/vendor/collections/validators.d.ts +2 -2
  144. package/.medusa/server/src/api/vendor/currencies/validators.d.ts +2 -2
  145. package/.medusa/server/src/api/vendor/customer-groups/[id]/customers/route.d.ts +4 -0
  146. package/.medusa/server/src/api/vendor/customer-groups/[id]/customers/route.js +20 -0
  147. package/.medusa/server/src/api/vendor/customer-groups/[id]/route.d.ts +6 -0
  148. package/.medusa/server/src/api/vendor/customer-groups/[id]/route.js +43 -0
  149. package/.medusa/server/src/api/vendor/customer-groups/helpers.d.ts +3 -0
  150. package/.medusa/server/src/api/vendor/customer-groups/helpers.js +38 -0
  151. package/.medusa/server/src/api/vendor/customer-groups/middlewares.d.ts +2 -0
  152. package/.medusa/server/src/api/vendor/customer-groups/middlewares.js +62 -0
  153. package/.medusa/server/src/api/{admin/product-brands → vendor/customer-groups}/query-config.d.ts +2 -3
  154. package/.medusa/server/src/api/vendor/customer-groups/query-config.js +22 -0
  155. package/.medusa/server/src/api/vendor/customer-groups/route.d.ts +5 -0
  156. package/.medusa/server/src/api/vendor/customer-groups/route.js +35 -0
  157. package/.medusa/server/src/api/vendor/customer-groups/validators.d.ts +157 -0
  158. package/.medusa/server/src/api/vendor/customer-groups/validators.js +35 -0
  159. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.d.ts +4 -0
  160. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.js +28 -0
  161. package/.medusa/server/src/api/vendor/customers/[id]/route.js +15 -1
  162. package/.medusa/server/src/api/vendor/customers/middlewares.js +9 -1
  163. package/.medusa/server/src/api/vendor/customers/validators.d.ts +16 -2
  164. package/.medusa/server/src/api/vendor/customers/validators.js +9 -2
  165. package/.medusa/server/src/api/vendor/exchanges/[id]/cancel/route.d.ts +4 -0
  166. package/.medusa/server/src/api/vendor/exchanges/[id]/cancel/route.js +17 -0
  167. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/[action_id]/route.d.ts +9 -0
  168. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/[action_id]/route.js +46 -0
  169. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/route.d.ts +6 -0
  170. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/route.js +26 -0
  171. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/[action_id]/route.d.ts +9 -0
  172. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/[action_id]/route.js +45 -0
  173. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/route.d.ts +6 -0
  174. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/route.js +26 -0
  175. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/[action_id]/route.d.ts +9 -0
  176. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/[action_id]/route.js +32 -0
  177. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.d.ts +12 -0
  178. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.js +47 -0
  179. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/[action_id]/route.d.ts +9 -0
  180. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/[action_id]/route.js +32 -0
  181. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/route.d.ts +6 -0
  182. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/route.js +15 -0
  183. package/.medusa/server/src/api/vendor/exchanges/[id]/request/route.d.ts +6 -0
  184. package/.medusa/server/src/api/vendor/exchanges/[id]/request/route.js +34 -0
  185. package/.medusa/server/src/api/vendor/exchanges/helpers.d.ts +2 -0
  186. package/.medusa/server/src/api/vendor/exchanges/helpers.js +19 -0
  187. package/.medusa/server/src/api/vendor/exchanges/middlewares.d.ts +2 -0
  188. package/.medusa/server/src/api/vendor/exchanges/middlewares.js +155 -0
  189. package/.medusa/server/src/api/vendor/exchanges/query-config.d.ts +7 -0
  190. package/.medusa/server/src/api/vendor/exchanges/query-config.js +23 -0
  191. package/.medusa/server/src/api/vendor/exchanges/route.d.ts +5 -0
  192. package/.medusa/server/src/api/vendor/exchanges/route.js +35 -0
  193. package/.medusa/server/src/api/vendor/exchanges/validators.d.ts +313 -0
  194. package/.medusa/server/src/api/vendor/exchanges/validators.js +71 -0
  195. package/.medusa/server/src/api/vendor/fulfillment-providers/validators.d.ts +2 -2
  196. package/.medusa/server/src/api/vendor/fulfillment-sets/validators.d.ts +16 -16
  197. package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +8 -8
  198. package/.medusa/server/src/api/vendor/middlewares.js +79 -71
  199. package/.medusa/server/src/api/vendor/offers/query-config.js +8 -8
  200. package/.medusa/server/src/api/vendor/offers/validators.d.ts +10 -10
  201. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.d.ts +14 -0
  202. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.js +29 -0
  203. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.d.ts +14 -0
  204. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.js +41 -0
  205. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.d.ts +10 -0
  206. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.js +30 -0
  207. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.d.ts +16 -0
  208. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.js +45 -0
  209. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.d.ts +10 -0
  210. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.js +25 -0
  211. package/.medusa/server/src/api/vendor/order-edits/[id]/route.d.ts +10 -0
  212. package/.medusa/server/src/api/vendor/order-edits/[id]/route.js +26 -0
  213. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.d.ts +14 -0
  214. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.js +41 -0
  215. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.d.ts +9 -0
  216. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.js +20 -0
  217. package/.medusa/server/src/api/vendor/order-edits/middlewares.d.ts +2 -0
  218. package/.medusa/server/src/api/vendor/order-edits/middlewares.js +106 -0
  219. package/.medusa/server/src/api/vendor/order-edits/route.d.ts +10 -0
  220. package/.medusa/server/src/api/vendor/order-edits/route.js +21 -0
  221. package/.medusa/server/src/api/vendor/order-edits/validators.d.ts +166 -0
  222. package/.medusa/server/src/api/vendor/order-edits/validators.js +50 -0
  223. package/.medusa/server/src/api/vendor/orders/[id]/commission-lines/route.d.ts +7 -0
  224. package/.medusa/server/src/api/vendor/orders/[id]/commission-lines/route.js +18 -0
  225. package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route.js +3 -3
  226. package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/route.js +3 -3
  227. package/.medusa/server/src/api/vendor/orders/apply-request-filter.d.ts +2 -0
  228. package/.medusa/server/src/api/vendor/orders/apply-request-filter.js +112 -0
  229. package/.medusa/server/src/api/vendor/orders/middlewares.js +3 -1
  230. package/.medusa/server/src/api/vendor/orders/query-config.js +34 -11
  231. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.d.ts +41 -0
  232. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.js +75 -0
  233. package/.medusa/server/src/api/vendor/orders/validators.d.ts +7 -4
  234. package/.medusa/server/src/api/vendor/orders/validators.js +7 -1
  235. package/.medusa/server/src/api/vendor/payment-collections/[id]/mark-as-paid/route.d.ts +3 -0
  236. package/.medusa/server/src/api/vendor/payment-collections/[id]/mark-as-paid/route.js +25 -0
  237. package/.medusa/server/src/api/vendor/payment-collections/helpers.d.ts +3 -0
  238. package/.medusa/server/src/api/vendor/payment-collections/helpers.js +30 -0
  239. package/.medusa/server/src/api/vendor/payment-collections/middlewares.d.ts +2 -0
  240. package/.medusa/server/src/api/vendor/payment-collections/middlewares.js +17 -0
  241. package/.medusa/server/src/api/vendor/payment-collections/query-config.d.ts +7 -0
  242. package/.medusa/server/src/api/vendor/payment-collections/query-config.js +26 -0
  243. package/.medusa/server/src/api/vendor/payment-collections/validators.d.ts +17 -0
  244. package/.medusa/server/src/api/vendor/payment-collections/validators.js +12 -0
  245. package/.medusa/server/src/api/vendor/payments/helpers.d.ts +9 -0
  246. package/.medusa/server/src/api/vendor/payments/helpers.js +23 -8
  247. package/.medusa/server/src/api/vendor/payments/validators.d.ts +4 -4
  248. package/.medusa/server/src/api/vendor/payouts/validators.d.ts +2 -2
  249. package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +2 -2
  250. package/.medusa/server/src/api/vendor/price-preferences/validators.d.ts +2 -2
  251. package/.medusa/server/src/api/vendor/product-attributes/middlewares.js +15 -1
  252. package/.medusa/server/src/api/vendor/product-attributes/route.js +4 -1
  253. package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +19 -23
  254. package/.medusa/server/src/api/vendor/product-attributes/validators.js +2 -15
  255. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.d.ts +4 -0
  256. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.js +36 -0
  257. package/.medusa/server/src/api/vendor/product-categories/middlewares.js +9 -1
  258. package/.medusa/server/src/api/vendor/product-categories/query-config.js +1 -2
  259. package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +21 -4
  260. package/.medusa/server/src/api/vendor/product-categories/validators.js +7 -2
  261. package/.medusa/server/src/api/vendor/product-types/validators.d.ts +2 -2
  262. package/.medusa/server/src/api/vendor/product-variants/validators.d.ts +6 -6
  263. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.d.ts +18 -5
  264. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.js +77 -17
  265. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.d.ts +12 -0
  266. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.js +46 -0
  267. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.d.ts +10 -6
  268. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.js +58 -25
  269. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +5 -7
  270. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +12 -15
  271. package/.medusa/server/src/api/vendor/products/[id]/route.d.ts +18 -9
  272. package/.medusa/server/src/api/vendor/products/[id]/route.js +43 -16
  273. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.d.ts +11 -9
  274. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +46 -21
  275. package/.medusa/server/src/api/vendor/products/[id]/variants/route.d.ts +9 -5
  276. package/.medusa/server/src/api/vendor/products/[id]/variants/route.js +28 -10
  277. package/.medusa/server/src/api/vendor/products/helpers.d.ts +8 -0
  278. package/.medusa/server/src/api/vendor/products/helpers.js +26 -0
  279. package/.medusa/server/src/api/vendor/products/middlewares.js +36 -5
  280. package/.medusa/server/src/api/vendor/products/query-config.js +17 -17
  281. package/.medusa/server/src/api/vendor/products/route.d.ts +11 -1
  282. package/.medusa/server/src/api/vendor/products/route.js +35 -11
  283. package/.medusa/server/src/api/vendor/products/validators.d.ts +422 -79
  284. package/.medusa/server/src/api/vendor/products/validators.js +130 -14
  285. package/.medusa/server/src/api/vendor/promotions/validators.d.ts +4 -4
  286. package/.medusa/server/src/api/vendor/refund-reasons/validators.d.ts +2 -2
  287. package/.medusa/server/src/api/vendor/regions/validators.d.ts +4 -4
  288. package/.medusa/server/src/api/vendor/reservations/[id]/route.d.ts +5 -0
  289. package/.medusa/server/src/api/vendor/reservations/[id]/route.js +39 -0
  290. package/.medusa/server/src/api/vendor/reservations/helpers.d.ts +2 -0
  291. package/.medusa/server/src/api/vendor/reservations/helpers.js +21 -0
  292. package/.medusa/server/src/api/{admin/product-brands → vendor/reservations}/middlewares.d.ts +1 -1
  293. package/.medusa/server/src/api/vendor/reservations/middlewares.js +44 -0
  294. package/.medusa/server/src/api/vendor/reservations/query-config.d.ts +19 -0
  295. package/.medusa/server/src/api/vendor/reservations/query-config.js +48 -0
  296. package/.medusa/server/src/api/vendor/reservations/route.d.ts +4 -0
  297. package/.medusa/server/src/api/vendor/reservations/route.js +35 -0
  298. package/.medusa/server/src/api/vendor/reservations/validators.d.ts +296 -0
  299. package/.medusa/server/src/api/vendor/reservations/validators.js +40 -0
  300. package/.medusa/server/src/api/vendor/return-reasons/validators.d.ts +2 -2
  301. package/.medusa/server/src/api/vendor/returns/[id]/receive/confirm/route.js +3 -3
  302. package/.medusa/server/src/api/vendor/returns/validators.d.ts +4 -4
  303. package/.medusa/server/src/api/vendor/sales-channels/validators.d.ts +2 -2
  304. package/.medusa/server/src/api/vendor/sellers/route.js +9 -2
  305. package/.medusa/server/src/api/vendor/sellers/validators.d.ts +7 -7
  306. package/.medusa/server/src/api/vendor/sellers/validators.js +5 -2
  307. package/.medusa/server/src/api/vendor/shipping-option-types/validators.d.ts +2 -2
  308. package/.medusa/server/src/api/vendor/shipping-options/middlewares.js +13 -1
  309. package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +43 -40
  310. package/.medusa/server/src/api/vendor/shipping-options/validators.js +2 -1
  311. package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +4 -4
  312. package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +2 -2
  313. package/.medusa/server/src/api/vendor/stores/validators.d.ts +2 -2
  314. package/.medusa/server/src/links/cart-line-item-offer-link.js +9 -2
  315. package/.medusa/server/src/links/category-seller-link.js +2 -2
  316. package/.medusa/server/src/links/media-product-category-link.d.ts +12 -0
  317. package/.medusa/server/src/links/media-product-category-link.js +23 -0
  318. package/.medusa/server/src/links/offer-price-link.js +13 -0
  319. package/.medusa/server/src/links/offer-variant-link.js +2 -2
  320. package/.medusa/server/src/links/order-line-item-offer-link.js +10 -2
  321. package/.medusa/server/src/links/product-attribute-category-link.d.ts +16 -0
  322. package/.medusa/server/src/links/product-attribute-category-link.js +40 -0
  323. package/.medusa/server/src/links/product-attribute-product-link.d.ts +10 -0
  324. package/.medusa/server/src/links/product-attribute-product-link.js +29 -0
  325. package/.medusa/server/src/links/product-attribute-value-link.d.ts +22 -0
  326. package/.medusa/server/src/links/product-attribute-value-link.js +46 -0
  327. package/.medusa/server/src/links/product-change-link.d.ts +8 -0
  328. package/.medusa/server/src/links/product-change-link.js +27 -0
  329. package/.medusa/server/src/links/product-seller-link.js +2 -2
  330. package/.medusa/server/src/links/product-variant-attribute-link.js +21 -0
  331. package/.medusa/server/src/links/product-variant-attribute-value-link.js +21 -0
  332. package/.medusa/server/src/links/seller-customer-group-link.d.ts +2 -0
  333. package/.medusa/server/src/links/seller-customer-group-link.js +10 -0
  334. package/.medusa/server/src/migration-scripts/drop-fulfillment-global-unique-indexes.js +6 -1
  335. package/.medusa/server/src/modules/commission/index.d.ts +14 -0
  336. package/.medusa/server/src/modules/commission/index.js +3 -1
  337. package/.medusa/server/src/modules/commission/loaders/seed-default-commission-rate.d.ts +11 -0
  338. package/.medusa/server/src/modules/commission/loaders/seed-default-commission-rate.js +35 -0
  339. package/.medusa/server/src/modules/{product/migrations/Migration20260414141012.d.ts → commission/migrations/Migration20260615120000.d.ts} +1 -1
  340. package/.medusa/server/src/modules/commission/migrations/Migration20260615120000.js +46 -0
  341. package/.medusa/server/src/modules/commission/models/commission-line.d.ts +2 -1
  342. package/.medusa/server/src/modules/commission/models/commission-line.js +3 -2
  343. package/.medusa/server/src/modules/commission/models/commission-rate-value.d.ts +25 -0
  344. package/.medusa/server/src/modules/commission/models/commission-rate-value.js +17 -0
  345. package/.medusa/server/src/modules/commission/models/commission-rate.d.ts +9 -4
  346. package/.medusa/server/src/modules/commission/models/commission-rate.js +9 -6
  347. package/.medusa/server/src/modules/commission/models/commission-rule.d.ts +8 -3
  348. package/.medusa/server/src/modules/commission/models/index.d.ts +1 -0
  349. package/.medusa/server/src/modules/commission/models/index.js +4 -2
  350. package/.medusa/server/src/modules/commission/service.d.ts +74 -9
  351. package/.medusa/server/src/modules/commission/service.js +147 -114
  352. package/.medusa/server/src/modules/media/index.d.ts +21 -0
  353. package/.medusa/server/src/modules/{subscription → media}/index.js +2 -2
  354. package/.medusa/server/src/modules/{product/migrations/Migration20260415151424.d.ts → media/migrations/Migration20260616000000.d.ts} +1 -1
  355. package/.medusa/server/src/modules/media/migrations/Migration20260616000000.js +16 -0
  356. package/.medusa/server/src/modules/media/models/image.d.ts +28 -0
  357. package/.medusa/server/src/modules/media/models/image.js +37 -0
  358. package/.medusa/server/src/modules/media/models/index.d.ts +1 -0
  359. package/.medusa/server/src/modules/media/models/index.js +9 -0
  360. package/.medusa/server/src/modules/media/service.d.ts +17 -0
  361. package/.medusa/server/src/modules/media/service.js +10 -0
  362. package/.medusa/server/src/modules/{product/migrations/Migration20260416104248.d.ts → offer/migrations/Migration20260526000000.d.ts} +1 -1
  363. package/.medusa/server/src/modules/offer/migrations/Migration20260526000000.js +16 -0
  364. package/.medusa/server/src/modules/offer/models/offer.d.ts +0 -1
  365. package/.medusa/server/src/modules/offer/models/offer.js +1 -7
  366. package/.medusa/server/src/modules/offer/service.d.ts +0 -1
  367. package/.medusa/server/src/modules/product-attribute/index.d.ts +36 -0
  368. package/.medusa/server/src/modules/product-attribute/index.js +14 -0
  369. package/.medusa/server/src/modules/product-attribute/joiner-config.d.ts +1 -0
  370. package/.medusa/server/src/modules/product-attribute/joiner-config.js +17 -0
  371. package/.medusa/server/src/modules/{product/migrations/Migration20260416105443.d.ts → product-attribute/migrations/Migration20260601000000.d.ts} +1 -1
  372. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000000.js +62 -0
  373. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000001.d.ts +11 -0
  374. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000001.js +29 -0
  375. package/.medusa/server/src/modules/product-attribute/models/index.d.ts +2 -0
  376. package/.medusa/server/src/modules/product-attribute/models/index.js +11 -0
  377. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.d.ts +25 -0
  378. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.js +29 -0
  379. package/.medusa/server/src/modules/product-attribute/models/product-attribute.d.ts +26 -0
  380. package/.medusa/server/src/modules/product-attribute/models/product-attribute.js +53 -0
  381. package/.medusa/server/src/modules/product-attribute/service.d.ts +55 -0
  382. package/.medusa/server/src/modules/product-attribute/service.js +15 -0
  383. package/.medusa/server/src/modules/product-edit/index.d.ts +36 -0
  384. package/.medusa/server/src/modules/product-edit/index.js +14 -0
  385. package/.medusa/server/src/modules/product-edit/joiner-config.d.ts +1 -0
  386. package/.medusa/server/src/modules/product-edit/joiner-config.js +17 -0
  387. package/.medusa/server/src/modules/product-edit/migrations/Migration20260601130000.d.ts +5 -0
  388. package/.medusa/server/src/modules/product-edit/migrations/Migration20260601130000.js +78 -0
  389. package/.medusa/server/src/modules/product-edit/models/index.d.ts +2 -0
  390. package/.medusa/server/src/modules/product-edit/models/index.js +11 -0
  391. package/.medusa/server/src/modules/product-edit/models/product-change-action.d.ts +49 -0
  392. package/.medusa/server/src/modules/{product → product-edit}/models/product-change-action.js +1 -1
  393. package/.medusa/server/src/modules/product-edit/models/product-change.d.ts +31 -0
  394. package/.medusa/server/src/modules/product-edit/models/product-change.js +52 -0
  395. package/.medusa/server/src/modules/product-edit/service.d.ts +84 -0
  396. package/.medusa/server/src/modules/product-edit/service.js +15 -0
  397. package/.medusa/server/src/modules/seller/migrations/Migration20260616120000.d.ts +5 -0
  398. package/.medusa/server/src/modules/seller/migrations/Migration20260616120000.js +16 -0
  399. package/.medusa/server/src/modules/seller/models/address.d.ts +2 -2
  400. package/.medusa/server/src/modules/seller/models/member-invite.d.ts +2 -2
  401. package/.medusa/server/src/modules/seller/models/member.d.ts +2 -2
  402. package/.medusa/server/src/modules/seller/models/payment-details.d.ts +2 -2
  403. package/.medusa/server/src/modules/seller/models/payment-details.js +3 -3
  404. package/.medusa/server/src/modules/seller/models/professional-details.d.ts +2 -2
  405. package/.medusa/server/src/modules/seller/models/seller-member.d.ts +4 -4
  406. package/.medusa/server/src/modules/seller/models/seller.d.ts +2 -2
  407. package/.medusa/server/src/modules/seller/service.d.ts +16 -16
  408. package/.medusa/server/src/subscribers/link-order-line-items-to-offers.d.ts +6 -0
  409. package/.medusa/server/src/subscribers/link-order-line-items-to-offers.js +94 -0
  410. package/.medusa/server/src/subscribers/order-edit-confirmed.d.ts +12 -0
  411. package/.medusa/server/src/subscribers/order-edit-confirmed.js +34 -0
  412. package/.medusa/server/src/types/cart-line-item.d.ts +0 -9
  413. package/.medusa/server/src/utils/dashboard/dashboard-base.js +6 -2
  414. package/.medusa/server/src/utils/disable-medusa-middlewares.js +5 -1
  415. package/.medusa/server/src/with-mercur.js +1 -6
  416. package/.medusa/server/src/workflows/cart/hooks/before-refreshing-payment-collection.js +36 -0
  417. package/.medusa/server/src/workflows/cart/hooks/index.d.ts +3 -2
  418. package/.medusa/server/src/workflows/cart/hooks/index.js +4 -3
  419. package/.medusa/server/src/workflows/cart/hooks/set-pricing-context.js +94 -0
  420. package/.medusa/server/src/workflows/cart/hooks/validate.d.ts +1 -0
  421. package/.medusa/server/src/workflows/cart/hooks/validate.js +107 -0
  422. package/.medusa/server/src/workflows/cart/steps/index.d.ts +0 -3
  423. package/.medusa/server/src/workflows/cart/steps/index.js +1 -4
  424. package/.medusa/server/src/workflows/cart/utils/fields.js +29 -2
  425. package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +29 -3
  426. package/.medusa/server/src/workflows/cart/workflows/index.d.ts +0 -2
  427. package/.medusa/server/src/workflows/cart/workflows/index.js +1 -3
  428. package/.medusa/server/src/workflows/commission/steps/create-commission-rates.d.ts +13 -4
  429. package/.medusa/server/src/workflows/commission/steps/create-commission-rules.d.ts +13 -4
  430. package/.medusa/server/src/workflows/commission/steps/index.d.ts +1 -0
  431. package/.medusa/server/src/workflows/commission/steps/index.js +2 -1
  432. package/.medusa/server/src/workflows/commission/steps/update-commission-rates.d.ts +13 -4
  433. package/.medusa/server/src/workflows/commission/steps/update-commission-rules.d.ts +13 -4
  434. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.d.ts +6 -2
  435. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.js +5 -1
  436. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.d.ts +5 -0
  437. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.js +22 -0
  438. package/.medusa/server/src/workflows/commission/workflows/create-commission-rates.d.ts +13 -4
  439. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rates.js +3 -1
  440. package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.js +2 -1
  441. package/.medusa/server/src/workflows/commission/workflows/update-commission-rates.d.ts +13 -4
  442. package/.medusa/server/src/workflows/{subscription/workflows → customer-group}/index.js +3 -7
  443. package/.medusa/server/src/workflows/customer-group/steps/index.d.ts +1 -0
  444. package/.medusa/server/src/workflows/customer-group/steps/index.js +18 -0
  445. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.d.ts +6 -0
  446. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.js +36 -0
  447. package/.medusa/server/src/workflows/customer-group/workflows/create-seller-customer-groups.d.ts +7 -0
  448. package/.medusa/server/src/workflows/customer-group/workflows/create-seller-customer-groups.js +20 -0
  449. package/.medusa/server/src/workflows/customer-group/workflows/index.d.ts +1 -0
  450. package/.medusa/server/src/workflows/{subscription/steps → customer-group/workflows}/index.js +2 -7
  451. package/.medusa/server/src/workflows/index.d.ts +3 -1
  452. package/.medusa/server/src/workflows/index.js +4 -2
  453. package/.medusa/server/src/workflows/media/index.d.ts +2 -0
  454. package/.medusa/server/src/workflows/{subscription → media}/index.js +1 -1
  455. package/.medusa/server/src/workflows/media/steps/create-images.d.ts +23 -0
  456. package/.medusa/server/src/workflows/media/steps/create-images.js +24 -0
  457. package/.medusa/server/src/workflows/media/steps/delete-images.d.ts +6 -0
  458. package/.medusa/server/src/workflows/media/steps/delete-images.js +24 -0
  459. package/.medusa/server/src/workflows/media/steps/index.d.ts +2 -0
  460. package/.medusa/server/src/workflows/media/steps/index.js +19 -0
  461. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.d.ts +16 -0
  462. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.js +28 -0
  463. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.d.ts +9 -0
  464. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.js +26 -0
  465. package/.medusa/server/src/workflows/media/workflows/index.d.ts +4 -0
  466. package/.medusa/server/src/workflows/media/workflows/index.js +21 -0
  467. package/.medusa/server/src/workflows/media/workflows/set-category-images.d.ts +24 -0
  468. package/.medusa/server/src/workflows/media/workflows/set-category-images.js +80 -0
  469. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.d.ts +16 -0
  470. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.js +26 -0
  471. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.d.ts +22 -0
  472. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.js +64 -0
  473. package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +0 -1
  474. package/.medusa/server/src/workflows/offer/steps/delete-offers.d.ts +6 -1
  475. package/.medusa/server/src/workflows/offer/steps/delete-offers.js +10 -6
  476. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.d.ts +15 -0
  477. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.js +61 -0
  478. package/.medusa/server/src/workflows/offer/steps/index.d.ts +4 -1
  479. package/.medusa/server/src/workflows/offer/steps/index.js +5 -2
  480. package/.medusa/server/src/workflows/offer/steps/remove-offer-prices.d.ts +3 -0
  481. package/.medusa/server/src/workflows/offer/steps/remove-offer-prices.js +15 -0
  482. package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +0 -1
  483. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.d.ts +17 -0
  484. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.js +27 -0
  485. package/.medusa/server/src/workflows/offer/utils/index.d.ts +1 -0
  486. package/.medusa/server/src/workflows/offer/utils/index.js +2 -1
  487. package/.medusa/server/src/workflows/offer/workflows/batch-offer-inventory-items.d.ts +17 -31
  488. package/.medusa/server/src/workflows/offer/workflows/batch-offer-inventory-items.js +1 -1
  489. package/.medusa/server/src/workflows/offer/workflows/create-offers.d.ts +12 -111
  490. package/.medusa/server/src/workflows/offer/workflows/create-offers.js +98 -45
  491. package/.medusa/server/src/workflows/offer/workflows/delete-offers.js +2 -2
  492. package/.medusa/server/src/workflows/offer/workflows/update-offers.d.ts +21 -116
  493. package/.medusa/server/src/workflows/offer/workflows/update-offers.js +136 -20
  494. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.d.ts +1 -1
  495. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.js +3 -4
  496. package/.medusa/server/src/workflows/order/workflows/confirm-claim-request.d.ts +7 -0
  497. package/.medusa/server/src/workflows/order/workflows/confirm-claim-request.js +151 -0
  498. package/.medusa/server/src/workflows/order/workflows/confirm-exchange-request.d.ts +7 -0
  499. package/.medusa/server/src/workflows/order/workflows/confirm-exchange-request.js +159 -0
  500. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.d.ts +7 -0
  501. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.js +165 -0
  502. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.d.ts +1 -1
  503. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +3 -4
  504. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.d.ts +10 -33
  505. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.js +3 -4
  506. package/.medusa/server/src/workflows/order/workflows/index.d.ts +3 -0
  507. package/.medusa/server/src/workflows/order/workflows/index.js +4 -1
  508. package/.medusa/server/src/workflows/payout/workflows/create-payout.js +21 -8
  509. package/.medusa/server/src/workflows/product/events.d.ts +5 -47
  510. package/.medusa/server/src/workflows/product/events.js +7 -49
  511. package/.medusa/server/src/workflows/product/index.d.ts +1 -1
  512. package/.medusa/server/src/workflows/product/index.js +2 -2
  513. package/.medusa/server/src/workflows/product/steps/index.d.ts +3 -28
  514. package/.medusa/server/src/workflows/product/steps/index.js +4 -29
  515. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.d.ts +28 -0
  516. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.js +72 -0
  517. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.d.ts +90 -0
  518. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.js +185 -0
  519. package/.medusa/server/src/workflows/product/steps/validate-products-status.d.ts +19 -0
  520. package/.medusa/server/src/workflows/product/steps/validate-products-status.js +28 -0
  521. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.d.ts +0 -1
  522. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.js +2 -21
  523. package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +13 -1
  524. package/.medusa/server/src/workflows/product/workflows/confirm-products.js +41 -30
  525. package/.medusa/server/src/workflows/product/workflows/create-products.d.ts +81 -3
  526. package/.medusa/server/src/workflows/product/workflows/create-products.js +253 -17
  527. package/.medusa/server/src/workflows/product/workflows/index.d.ts +3 -26
  528. package/.medusa/server/src/workflows/product/workflows/index.js +4 -27
  529. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.d.ts +1 -1
  530. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.js +3 -4
  531. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.d.ts +1 -1
  532. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.js +3 -4
  533. package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +8 -1
  534. package/.medusa/server/src/workflows/product/workflows/reject-product.js +42 -38
  535. package/.medusa/server/src/workflows/product/workflows/request-product-change.d.ts +25 -0
  536. package/.medusa/server/src/workflows/product/workflows/request-product-change.js +69 -0
  537. package/.medusa/server/src/workflows/product/workflows/update-products.d.ts +39 -3
  538. package/.medusa/server/src/workflows/product/workflows/update-products.js +148 -10
  539. package/.medusa/server/src/workflows/product-attribute/events.d.ts +19 -0
  540. package/.medusa/server/src/workflows/product-attribute/events.js +23 -0
  541. package/.medusa/server/src/workflows/product-attribute/index.d.ts +3 -0
  542. package/.medusa/server/src/workflows/product-attribute/index.js +20 -0
  543. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.d.ts +37 -0
  544. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.js +18 -0
  545. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.d.ts +44 -0
  546. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.js +18 -0
  547. package/.medusa/server/src/workflows/{product → product-attribute}/steps/delete-product-attribute-values.d.ts +1 -0
  548. package/.medusa/server/src/workflows/product-attribute/steps/delete-product-attribute-values.js +18 -0
  549. package/.medusa/server/src/workflows/{product → product-attribute}/steps/delete-product-attributes.d.ts +1 -0
  550. package/.medusa/server/src/workflows/product-attribute/steps/delete-product-attributes.js +18 -0
  551. package/.medusa/server/src/workflows/product-attribute/steps/index.d.ts +10 -0
  552. package/.medusa/server/src/workflows/product-attribute/steps/index.js +27 -0
  553. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.d.ts +38 -0
  554. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.js +23 -0
  555. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attributes.d.ts +38 -0
  556. package/.medusa/server/src/workflows/{product → product-attribute}/steps/update-product-attributes.js +7 -6
  557. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.d.ts +43 -0
  558. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.js +51 -0
  559. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.d.ts +7 -0
  560. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.js +59 -0
  561. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.d.ts +6 -0
  562. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.js +20 -0
  563. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.d.ts +7 -0
  564. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.js +20 -0
  565. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.d.ts +52 -0
  566. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.js +120 -0
  567. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.d.ts +23 -0
  568. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.js +252 -0
  569. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.d.ts +18 -0
  570. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.js +26 -0
  571. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.d.ts +19 -0
  572. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.js +64 -0
  573. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.d.ts +16 -0
  574. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.js +40 -0
  575. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.d.ts +23 -0
  576. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.js +31 -0
  577. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.d.ts +17 -0
  578. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.js +62 -0
  579. package/.medusa/server/src/workflows/product-attribute/workflows/index.d.ts +13 -0
  580. package/.medusa/server/src/workflows/product-attribute/workflows/index.js +30 -0
  581. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.d.ts +135 -0
  582. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.js +43 -0
  583. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.d.ts +24 -0
  584. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.js +27 -0
  585. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.d.ts +18 -0
  586. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.js +27 -0
  587. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute.d.ts +23 -0
  588. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute.js +67 -0
  589. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.d.ts +18 -0
  590. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.js +27 -0
  591. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.d.ts +18 -0
  592. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.js +26 -0
  593. package/.medusa/server/src/workflows/product-edit/events.d.ts +13 -0
  594. package/.medusa/server/src/workflows/product-edit/events.js +17 -0
  595. package/.medusa/server/src/workflows/product-edit/index.d.ts +1 -0
  596. package/.medusa/server/src/workflows/product-edit/index.js +2 -1
  597. package/.medusa/server/src/workflows/product-edit/steps/add-product-change-action.d.ts +38 -0
  598. package/.medusa/server/src/workflows/product-edit/steps/add-product-change-action.js +18 -0
  599. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.d.ts +24 -0
  600. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.js +41 -0
  601. package/.medusa/server/src/workflows/product-edit/steps/cancel-product-change.d.ts +38 -2
  602. package/.medusa/server/src/workflows/product-edit/steps/cancel-product-change.js +28 -10
  603. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.d.ts +15 -0
  604. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.js +25 -0
  605. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.d.ts +46 -3
  606. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.js +44 -7
  607. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.d.ts +41 -14
  608. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.js +20 -11
  609. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.d.ts +46 -16
  610. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.js +11 -18
  611. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.d.ts +44 -3
  612. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.js +37 -10
  613. package/.medusa/server/src/workflows/product-edit/steps/index.d.ts +6 -3
  614. package/.medusa/server/src/workflows/product-edit/steps/index.js +7 -4
  615. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.d.ts +49 -0
  616. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.js +34 -0
  617. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +7 -7
  618. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +29 -13
  619. package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-is-pending.d.ts +10 -0
  620. package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-is-pending.js +14 -0
  621. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.d.ts +23 -0
  622. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.js +139 -0
  623. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.d.ts +38 -0
  624. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.js +213 -0
  625. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.d.ts +20 -13
  626. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.js +16 -23
  627. package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-change.d.ts +17 -0
  628. package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-change.js +35 -0
  629. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.d.ts +30 -0
  630. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.js +55 -0
  631. package/.medusa/server/src/workflows/product-edit/workflows/create-product-change.d.ts +17 -0
  632. package/.medusa/server/src/workflows/product-edit/workflows/create-product-change.js +26 -0
  633. package/.medusa/server/src/workflows/product-edit/workflows/index.d.ts +10 -8
  634. package/.medusa/server/src/workflows/product-edit/workflows/index.js +11 -9
  635. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.d.ts +18 -16
  636. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +32 -44
  637. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.d.ts +55 -0
  638. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.js +198 -0
  639. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.d.ts +22 -15
  640. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.js +126 -50
  641. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.d.ts +35 -0
  642. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +206 -0
  643. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.d.ts +36 -0
  644. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.js +53 -0
  645. package/.medusa/server/src/workflows/product-edit/workflows/reject-product-change.d.ts +18 -0
  646. package/.medusa/server/src/workflows/product-edit/workflows/reject-product-change.js +36 -0
  647. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.d.ts +41 -0
  648. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.js +58 -0
  649. package/.medusa/server/src/workflows/seller/steps/create-seller-member.d.ts +4 -4
  650. package/.medusa/server/src/workflows/seller/steps/update-member.d.ts +2 -2
  651. package/.medusa/server/src/workflows/seller/steps/update-seller-member.d.ts +4 -4
  652. package/.medusa/server/src/workflows/seller/workflows/add-seller-member.d.ts +4 -4
  653. package/.medusa/server/src/workflows/seller/workflows/create-sellers.d.ts +20 -2
  654. package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +1 -1
  655. package/.medusa/server/src/workflows/seller/workflows/update-member.d.ts +2 -2
  656. package/.medusa/server/src/workflows/seller/workflows/update-seller-address.d.ts +14 -2
  657. package/.medusa/server/src/workflows/seller/workflows/update-seller-address.js +1 -1
  658. package/.medusa/server/src/workflows/seller/workflows/update-seller-payment-details.d.ts +14 -2
  659. package/.medusa/server/src/workflows/seller/workflows/update-seller-payment-details.js +1 -1
  660. package/.medusa/server/src/workflows/seller/workflows/update-seller-professional-details.d.ts +14 -2
  661. package/.medusa/server/src/workflows/seller/workflows/update-seller-professional-details.js +1 -1
  662. package/.medusa/server/src/workflows/seller/workflows/update-seller.d.ts +14 -2
  663. package/.medusa/server/src/workflows/seller/workflows/update-seller.js +1 -1
  664. package/package.json +3 -3
  665. package/.medusa/server/src/api/admin/product-brands/[id]/route.d.ts +0 -7
  666. package/.medusa/server/src/api/admin/product-brands/[id]/route.js +0 -51
  667. package/.medusa/server/src/api/admin/product-brands/[id]/sellers/route.d.ts +0 -3
  668. package/.medusa/server/src/api/admin/product-brands/[id]/sellers/route.js +0 -20
  669. package/.medusa/server/src/api/admin/product-brands/middlewares.js +0 -49
  670. package/.medusa/server/src/api/admin/product-brands/query-config.js +0 -24
  671. package/.medusa/server/src/api/admin/product-brands/route.d.ts +0 -6
  672. package/.medusa/server/src/api/admin/product-brands/route.js +0 -38
  673. package/.medusa/server/src/api/admin/product-brands/validators.d.ts +0 -284
  674. package/.medusa/server/src/api/admin/product-brands/validators.js +0 -41
  675. package/.medusa/server/src/api/admin/products/batch/route.d.ts +0 -4
  676. package/.medusa/server/src/api/admin/products/batch/route.js +0 -36
  677. package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/[override_id]/route.d.ts +0 -6
  678. package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/[override_id]/route.js +0 -43
  679. package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/route.d.ts +0 -4
  680. package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/route.js +0 -24
  681. package/.medusa/server/src/api/admin/subscription-plans/[id]/route.d.ts +0 -6
  682. package/.medusa/server/src/api/admin/subscription-plans/[id]/route.js +0 -43
  683. package/.medusa/server/src/api/admin/subscription-plans/middlewares.d.ts +0 -2
  684. package/.medusa/server/src/api/admin/subscription-plans/middlewares.js +0 -81
  685. package/.medusa/server/src/api/admin/subscription-plans/query-config.d.ts +0 -17
  686. package/.medusa/server/src/api/admin/subscription-plans/query-config.js +0 -43
  687. package/.medusa/server/src/api/admin/subscription-plans/route.d.ts +0 -5
  688. package/.medusa/server/src/api/admin/subscription-plans/route.js +0 -35
  689. package/.medusa/server/src/api/admin/subscription-plans/validators.d.ts +0 -117
  690. package/.medusa/server/src/api/admin/subscription-plans/validators.js +0 -42
  691. package/.medusa/server/src/api/store/product-brands/[id]/route.d.ts +0 -2
  692. package/.medusa/server/src/api/store/product-brands/[id]/route.js +0 -18
  693. package/.medusa/server/src/api/store/product-brands/middlewares.d.ts +0 -2
  694. package/.medusa/server/src/api/store/product-brands/middlewares.js +0 -23
  695. package/.medusa/server/src/api/store/product-brands/query-config.d.ts +0 -12
  696. package/.medusa/server/src/api/store/product-brands/query-config.js +0 -23
  697. package/.medusa/server/src/api/store/product-brands/route.d.ts +0 -2
  698. package/.medusa/server/src/api/store/product-brands/route.js +0 -21
  699. package/.medusa/server/src/api/store/product-brands/validators.d.ts +0 -215
  700. package/.medusa/server/src/api/store/product-brands/validators.js +0 -21
  701. package/.medusa/server/src/api/utils/wrap-variants-with-offers-inventory.d.ts +0 -12
  702. package/.medusa/server/src/api/utils/wrap-variants-with-offers-inventory.js +0 -165
  703. package/.medusa/server/src/api/utils/wrap-variants-with-offers-prices.d.ts +0 -12
  704. package/.medusa/server/src/api/utils/wrap-variants-with-offers-prices.js +0 -64
  705. package/.medusa/server/src/api/vendor/product-brands/[id]/route.d.ts +0 -3
  706. package/.medusa/server/src/api/vendor/product-brands/[id]/route.js +0 -18
  707. package/.medusa/server/src/api/vendor/product-brands/middlewares.js +0 -23
  708. package/.medusa/server/src/api/vendor/product-brands/query-config.d.ts +0 -12
  709. package/.medusa/server/src/api/vendor/product-brands/query-config.js +0 -24
  710. package/.medusa/server/src/api/vendor/product-brands/route.d.ts +0 -3
  711. package/.medusa/server/src/api/vendor/product-brands/route.js +0 -21
  712. package/.medusa/server/src/api/vendor/product-brands/validators.d.ts +0 -221
  713. package/.medusa/server/src/api/vendor/product-brands/validators.js +0 -22
  714. package/.medusa/server/src/api/vendor/subscription/middlewares.d.ts +0 -2
  715. package/.medusa/server/src/api/vendor/subscription/middlewares.js +0 -28
  716. package/.medusa/server/src/api/vendor/subscription/route.d.ts +0 -3
  717. package/.medusa/server/src/api/vendor/subscription/route.js +0 -31
  718. package/.medusa/server/src/links/brand-seller-link.js +0 -16
  719. package/.medusa/server/src/links/line-item-commission-line-link.js +0 -21
  720. package/.medusa/server/src/links/offer-price-set-link.js +0 -15
  721. package/.medusa/server/src/modules/product/index.d.ts +0 -7
  722. package/.medusa/server/src/modules/product/index.js +0 -14
  723. package/.medusa/server/src/modules/product/migrations/Migration20260414141012.js +0 -169
  724. package/.medusa/server/src/modules/product/migrations/Migration20260415151424.js +0 -14
  725. package/.medusa/server/src/modules/product/migrations/Migration20260416104248.js +0 -14
  726. package/.medusa/server/src/modules/product/migrations/Migration20260416105443.js +0 -16
  727. package/.medusa/server/src/modules/product/migrations/Migration20260421093258.d.ts +0 -5
  728. package/.medusa/server/src/modules/product/migrations/Migration20260421093258.js +0 -22
  729. package/.medusa/server/src/modules/product/migrations/Migration20260422105949.d.ts +0 -5
  730. package/.medusa/server/src/modules/product/migrations/Migration20260422105949.js +0 -32
  731. package/.medusa/server/src/modules/product/migrations/Migration20260422112250.d.ts +0 -5
  732. package/.medusa/server/src/modules/product/migrations/Migration20260422112250.js +0 -16
  733. package/.medusa/server/src/modules/product/migrations/Migration20260424120000.d.ts +0 -5
  734. package/.medusa/server/src/modules/product/migrations/Migration20260424120000.js +0 -16
  735. package/.medusa/server/src/modules/product/migrations/Migration20260427140959.d.ts +0 -5
  736. package/.medusa/server/src/modules/product/migrations/Migration20260427140959.js +0 -20
  737. package/.medusa/server/src/modules/product/migrations/Migration20260427141021.d.ts +0 -5
  738. package/.medusa/server/src/modules/product/migrations/Migration20260427141021.js +0 -16
  739. package/.medusa/server/src/modules/product/migrations/Migration20260428115720.d.ts +0 -5
  740. package/.medusa/server/src/modules/product/migrations/Migration20260428115720.js +0 -16
  741. package/.medusa/server/src/modules/product/migrations/Migration20260430143600.d.ts +0 -5
  742. package/.medusa/server/src/modules/product/migrations/Migration20260430143600.js +0 -15
  743. package/.medusa/server/src/modules/product/migrations/Migration20260430144500.d.ts +0 -5
  744. package/.medusa/server/src/modules/product/migrations/Migration20260430144500.js +0 -23
  745. package/.medusa/server/src/modules/product/migrations/Migration20260430150000.d.ts +0 -5
  746. package/.medusa/server/src/modules/product/migrations/Migration20260430150000.js +0 -14
  747. package/.medusa/server/src/modules/product/migrations/Migration20260520120000.d.ts +0 -5
  748. package/.medusa/server/src/modules/product/migrations/Migration20260520120000.js +0 -16
  749. package/.medusa/server/src/modules/product/models/index.d.ts +0 -13
  750. package/.medusa/server/src/modules/product/models/index.js +0 -33
  751. package/.medusa/server/src/modules/product/models/product-attribute-value.d.ts +0 -1698
  752. package/.medusa/server/src/modules/product/models/product-attribute-value.js +0 -38
  753. package/.medusa/server/src/modules/product/models/product-attribute.d.ts +0 -1627
  754. package/.medusa/server/src/modules/product/models/product-attribute.js +0 -57
  755. package/.medusa/server/src/modules/product/models/product-brand.d.ts +0 -551
  756. package/.medusa/server/src/modules/product/models/product-brand.js +0 -34
  757. package/.medusa/server/src/modules/product/models/product-category.d.ts +0 -1692
  758. package/.medusa/server/src/modules/product/models/product-category.js +0 -55
  759. package/.medusa/server/src/modules/product/models/product-change-action.d.ts +0 -1105
  760. package/.medusa/server/src/modules/product/models/product-change.d.ts +0 -559
  761. package/.medusa/server/src/modules/product/models/product-change.js +0 -50
  762. package/.medusa/server/src/modules/product/models/product-collection.d.ts +0 -552
  763. package/.medusa/server/src/modules/product/models/product-collection.js +0 -27
  764. package/.medusa/server/src/modules/product/models/product-image.d.ts +0 -1745
  765. package/.medusa/server/src/modules/product/models/product-image.js +0 -51
  766. package/.medusa/server/src/modules/product/models/product-tag.d.ts +0 -561
  767. package/.medusa/server/src/modules/product/models/product-tag.js +0 -26
  768. package/.medusa/server/src/modules/product/models/product-type.d.ts +0 -553
  769. package/.medusa/server/src/modules/product/models/product-type.js +0 -26
  770. package/.medusa/server/src/modules/product/models/product-variant-product-image.d.ts +0 -3366
  771. package/.medusa/server/src/modules/product/models/product-variant-product-image.js +0 -19
  772. package/.medusa/server/src/modules/product/models/product-variant.d.ts +0 -1619
  773. package/.medusa/server/src/modules/product/models/product-variant.js +0 -87
  774. package/.medusa/server/src/modules/product/models/product.d.ts +0 -559
  775. package/.medusa/server/src/modules/product/models/product.js +0 -137
  776. package/.medusa/server/src/modules/product/repositories/product-category.d.ts +0 -53
  777. package/.medusa/server/src/modules/product/repositories/product-category.js +0 -381
  778. package/.medusa/server/src/modules/product/service.d.ts +0 -11209
  779. package/.medusa/server/src/modules/product/service.js +0 -1471
  780. package/.medusa/server/src/modules/product/services/product-category.d.ts +0 -37
  781. package/.medusa/server/src/modules/product/services/product-category.js +0 -166
  782. package/.medusa/server/src/modules/subscription/index.d.ts +0 -35
  783. package/.medusa/server/src/modules/subscription/migrations/Migration20260324135903.d.ts +0 -5
  784. package/.medusa/server/src/modules/subscription/migrations/Migration20260324135903.js +0 -24
  785. package/.medusa/server/src/modules/subscription/models/index.d.ts +0 -2
  786. package/.medusa/server/src/modules/subscription/models/index.js +0 -11
  787. package/.medusa/server/src/modules/subscription/models/subscription-override.d.ts +0 -20
  788. package/.medusa/server/src/modules/subscription/models/subscription-override.js +0 -36
  789. package/.medusa/server/src/modules/subscription/models/subscription-plan.d.ts +0 -20
  790. package/.medusa/server/src/modules/subscription/models/subscription-plan.js +0 -32
  791. package/.medusa/server/src/modules/subscription/service.d.ts +0 -49
  792. package/.medusa/server/src/modules/subscription/service.js +0 -17
  793. package/.medusa/server/src/workflows/cart/hooks/validate-add-to-cart-stock.js +0 -52
  794. package/.medusa/server/src/workflows/cart/hooks/validate-update-line-item-stock.js +0 -60
  795. package/.medusa/server/src/workflows/cart/steps/calculate-offer-prices.d.ts +0 -19
  796. package/.medusa/server/src/workflows/cart/steps/calculate-offer-prices.js +0 -39
  797. package/.medusa/server/src/workflows/cart/steps/decorate-line-item-with-offer.d.ts +0 -8
  798. package/.medusa/server/src/workflows/cart/steps/decorate-line-item-with-offer.js +0 -45
  799. package/.medusa/server/src/workflows/cart/steps/get-line-item-actions.d.ts +0 -21
  800. package/.medusa/server/src/workflows/cart/steps/get-line-item-actions.js +0 -85
  801. package/.medusa/server/src/workflows/cart/workflows/add-to-cart.d.ts +0 -12
  802. package/.medusa/server/src/workflows/cart/workflows/add-to-cart.js +0 -235
  803. package/.medusa/server/src/workflows/cart/workflows/update-line-item-in-cart.d.ts +0 -16
  804. package/.medusa/server/src/workflows/cart/workflows/update-line-item-in-cart.js +0 -87
  805. package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-brand.d.ts +0 -8
  806. package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-brand.js +0 -26
  807. package/.medusa/server/src/workflows/product/steps/batch-link-products-in-category.d.ts +0 -7
  808. package/.medusa/server/src/workflows/product/steps/batch-link-products-in-category.js +0 -61
  809. package/.medusa/server/src/workflows/product/steps/batch-product-attributes.d.ts +0 -11
  810. package/.medusa/server/src/workflows/product/steps/batch-product-attributes.js +0 -16
  811. package/.medusa/server/src/workflows/product/steps/create-product-attribute-values.d.ts +0 -6
  812. package/.medusa/server/src/workflows/product/steps/create-product-attribute-values.js +0 -17
  813. package/.medusa/server/src/workflows/product/steps/create-product-attributes.d.ts +0 -2
  814. package/.medusa/server/src/workflows/product/steps/create-product-attributes.js +0 -17
  815. package/.medusa/server/src/workflows/product/steps/create-product-brands.d.ts +0 -2
  816. package/.medusa/server/src/workflows/product/steps/create-product-brands.js +0 -17
  817. package/.medusa/server/src/workflows/product/steps/create-product-categories.d.ts +0 -1576
  818. package/.medusa/server/src/workflows/product/steps/create-product-categories.js +0 -18
  819. package/.medusa/server/src/workflows/product/steps/create-product-variants.d.ts +0 -2
  820. package/.medusa/server/src/workflows/product/steps/create-product-variants.js +0 -18
  821. package/.medusa/server/src/workflows/product/steps/create-products.d.ts +0 -2
  822. package/.medusa/server/src/workflows/product/steps/create-products.js +0 -17
  823. package/.medusa/server/src/workflows/product/steps/delete-product-attribute-values.js +0 -17
  824. package/.medusa/server/src/workflows/product/steps/delete-product-attributes.js +0 -17
  825. package/.medusa/server/src/workflows/product/steps/delete-product-brands.d.ts +0 -1
  826. package/.medusa/server/src/workflows/product/steps/delete-product-brands.js +0 -17
  827. package/.medusa/server/src/workflows/product/steps/delete-product-categories.d.ts +0 -1
  828. package/.medusa/server/src/workflows/product/steps/delete-product-categories.js +0 -17
  829. package/.medusa/server/src/workflows/product/steps/delete-product-variants.d.ts +0 -1
  830. package/.medusa/server/src/workflows/product/steps/delete-product-variants.js +0 -17
  831. package/.medusa/server/src/workflows/product/steps/delete-products.d.ts +0 -1
  832. package/.medusa/server/src/workflows/product/steps/delete-products.js +0 -17
  833. package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-brand.d.ts +0 -8
  834. package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-brand.js +0 -26
  835. package/.medusa/server/src/workflows/product/steps/remove-attribute-from-product.d.ts +0 -6
  836. package/.medusa/server/src/workflows/product/steps/remove-attribute-from-product.js +0 -11
  837. package/.medusa/server/src/workflows/product/steps/update-product-attribute-values.d.ts +0 -7
  838. package/.medusa/server/src/workflows/product/steps/update-product-attribute-values.js +0 -22
  839. package/.medusa/server/src/workflows/product/steps/update-product-attributes.d.ts +0 -7
  840. package/.medusa/server/src/workflows/product/steps/update-product-brands.d.ts +0 -7
  841. package/.medusa/server/src/workflows/product/steps/update-product-brands.js +0 -28
  842. package/.medusa/server/src/workflows/product/steps/update-product-categories.d.ts +0 -1580
  843. package/.medusa/server/src/workflows/product/steps/update-product-categories.js +0 -20
  844. package/.medusa/server/src/workflows/product/steps/update-product-variants.d.ts +0 -10
  845. package/.medusa/server/src/workflows/product/steps/update-product-variants.js +0 -32
  846. package/.medusa/server/src/workflows/product/steps/update-products.d.ts +0 -10
  847. package/.medusa/server/src/workflows/product/steps/update-products.js +0 -33
  848. package/.medusa/server/src/workflows/product/steps/upsert-product-attribute-values.d.ts +0 -5
  849. package/.medusa/server/src/workflows/product/steps/upsert-product-attribute-values.js +0 -30
  850. package/.medusa/server/src/workflows/product/steps/validate-attribute-accepts-values.d.ts +0 -5
  851. package/.medusa/server/src/workflows/product/steps/validate-attribute-accepts-values.js +0 -19
  852. package/.medusa/server/src/workflows/product/steps/validate-confirm-products.d.ts +0 -3
  853. package/.medusa/server/src/workflows/product/steps/validate-confirm-products.js +0 -14
  854. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attribute-values.d.ts +0 -5
  855. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attribute-values.js +0 -19
  856. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attributes.d.ts +0 -5
  857. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attributes.js +0 -30
  858. package/.medusa/server/src/workflows/product/steps/validate-reject-product.d.ts +0 -3
  859. package/.medusa/server/src/workflows/product/steps/validate-reject-product.js +0 -12
  860. package/.medusa/server/src/workflows/product/steps/validate-request-changes.d.ts +0 -3
  861. package/.medusa/server/src/workflows/product/steps/validate-request-changes.js +0 -12
  862. package/.medusa/server/src/workflows/product/steps/validate-resubmit-product.d.ts +0 -3
  863. package/.medusa/server/src/workflows/product/steps/validate-resubmit-product.js +0 -12
  864. package/.medusa/server/src/workflows/product/workflows/batch-link-products-in-category.d.ts +0 -8
  865. package/.medusa/server/src/workflows/product/workflows/batch-link-products-in-category.js +0 -10
  866. package/.medusa/server/src/workflows/product/workflows/batch-product-attributes.d.ts +0 -12
  867. package/.medusa/server/src/workflows/product/workflows/batch-product-attributes.js +0 -23
  868. package/.medusa/server/src/workflows/product/workflows/batch-products.d.ts +0 -3
  869. package/.medusa/server/src/workflows/product/workflows/batch-products.js +0 -86
  870. package/.medusa/server/src/workflows/product/workflows/create-product-attribute-values.d.ts +0 -8
  871. package/.medusa/server/src/workflows/product/workflows/create-product-attribute-values.js +0 -21
  872. package/.medusa/server/src/workflows/product/workflows/create-product-attributes.d.ts +0 -7
  873. package/.medusa/server/src/workflows/product/workflows/create-product-attributes.js +0 -18
  874. package/.medusa/server/src/workflows/product/workflows/create-product-brands.d.ts +0 -7
  875. package/.medusa/server/src/workflows/product/workflows/create-product-brands.js +0 -19
  876. package/.medusa/server/src/workflows/product/workflows/create-product-categories.d.ts +0 -1581
  877. package/.medusa/server/src/workflows/product/workflows/create-product-categories.js +0 -18
  878. package/.medusa/server/src/workflows/product/workflows/create-product-variants.d.ts +0 -3
  879. package/.medusa/server/src/workflows/product/workflows/create-product-variants.js +0 -25
  880. package/.medusa/server/src/workflows/product/workflows/delete-product-attribute-values.d.ts +0 -6
  881. package/.medusa/server/src/workflows/product/workflows/delete-product-attribute-values.js +0 -20
  882. package/.medusa/server/src/workflows/product/workflows/delete-product-attributes.d.ts +0 -6
  883. package/.medusa/server/src/workflows/product/workflows/delete-product-attributes.js +0 -20
  884. package/.medusa/server/src/workflows/product/workflows/delete-product-brands.d.ts +0 -6
  885. package/.medusa/server/src/workflows/product/workflows/delete-product-brands.js +0 -19
  886. package/.medusa/server/src/workflows/product/workflows/delete-product-categories.d.ts +0 -6
  887. package/.medusa/server/src/workflows/product/workflows/delete-product-categories.js +0 -18
  888. package/.medusa/server/src/workflows/product/workflows/delete-product-variants.d.ts +0 -8
  889. package/.medusa/server/src/workflows/product/workflows/delete-product-variants.js +0 -24
  890. package/.medusa/server/src/workflows/product/workflows/delete-products.d.ts +0 -6
  891. package/.medusa/server/src/workflows/product/workflows/delete-products.js +0 -19
  892. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-brand.d.ts +0 -14
  893. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-brand.js +0 -21
  894. package/.medusa/server/src/workflows/product/workflows/remove-attribute-from-product.d.ts +0 -7
  895. package/.medusa/server/src/workflows/product/workflows/remove-attribute-from-product.js +0 -20
  896. package/.medusa/server/src/workflows/product/workflows/request-product-changes.d.ts +0 -11
  897. package/.medusa/server/src/workflows/product/workflows/request-product-changes.js +0 -61
  898. package/.medusa/server/src/workflows/product/workflows/resubmit-product.d.ts +0 -8
  899. package/.medusa/server/src/workflows/product/workflows/resubmit-product.js +0 -48
  900. package/.medusa/server/src/workflows/product/workflows/submit-seller-products.d.ts +0 -3
  901. package/.medusa/server/src/workflows/product/workflows/submit-seller-products.js +0 -76
  902. package/.medusa/server/src/workflows/product/workflows/update-product-attribute-values.d.ts +0 -8
  903. package/.medusa/server/src/workflows/product/workflows/update-product-attribute-values.js +0 -18
  904. package/.medusa/server/src/workflows/product/workflows/update-product-attributes.d.ts +0 -8
  905. package/.medusa/server/src/workflows/product/workflows/update-product-attributes.js +0 -18
  906. package/.medusa/server/src/workflows/product/workflows/update-product-brands.d.ts +0 -8
  907. package/.medusa/server/src/workflows/product/workflows/update-product-brands.js +0 -19
  908. package/.medusa/server/src/workflows/product/workflows/update-product-categories.d.ts +0 -1583
  909. package/.medusa/server/src/workflows/product/workflows/update-product-categories.js +0 -18
  910. package/.medusa/server/src/workflows/product/workflows/update-product-variants.d.ts +0 -3
  911. package/.medusa/server/src/workflows/product/workflows/update-product-variants.js +0 -36
  912. package/.medusa/server/src/workflows/product/workflows/upsert-product-attribute-values.d.ts +0 -8
  913. package/.medusa/server/src/workflows/product/workflows/upsert-product-attribute-values.js +0 -21
  914. package/.medusa/server/src/workflows/product-edit/steps/retrieve-product-with-change.d.ts +0 -5
  915. package/.medusa/server/src/workflows/product-edit/steps/retrieve-product-with-change.js +0 -11
  916. package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-pending.d.ts +0 -11
  917. package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-pending.js +0 -21
  918. package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-edit.d.ts +0 -19
  919. package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-edit.js +0 -40
  920. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-edit.d.ts +0 -21
  921. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-edit.js +0 -44
  922. package/.medusa/server/src/workflows/product-edit/workflows/decline-product-edit.d.ts +0 -16
  923. package/.medusa/server/src/workflows/product-edit/workflows/decline-product-edit.js +0 -42
  924. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-attribute.d.ts +0 -19
  925. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-attribute.js +0 -66
  926. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-variant.d.ts +0 -17
  927. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-variant.js +0 -58
  928. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-attribute.d.ts +0 -17
  929. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-attribute.js +0 -62
  930. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-variant.d.ts +0 -16
  931. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-variant.js +0 -68
  932. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variant.d.ts +0 -21
  933. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variant.js +0 -89
  934. package/.medusa/server/src/workflows/subscription/steps/create-subscription-overrides.d.ts +0 -31
  935. package/.medusa/server/src/workflows/subscription/steps/create-subscription-overrides.js +0 -17
  936. package/.medusa/server/src/workflows/subscription/steps/create-subscription-plans.d.ts +0 -31
  937. package/.medusa/server/src/workflows/subscription/steps/create-subscription-plans.js +0 -17
  938. package/.medusa/server/src/workflows/subscription/steps/delete-subscription-overrides.d.ts +0 -2
  939. package/.medusa/server/src/workflows/subscription/steps/delete-subscription-overrides.js +0 -17
  940. package/.medusa/server/src/workflows/subscription/steps/delete-subscription-plans.d.ts +0 -2
  941. package/.medusa/server/src/workflows/subscription/steps/delete-subscription-plans.js +0 -17
  942. package/.medusa/server/src/workflows/subscription/steps/index.d.ts +0 -6
  943. package/.medusa/server/src/workflows/subscription/steps/update-subscription-overrides.d.ts +0 -31
  944. package/.medusa/server/src/workflows/subscription/steps/update-subscription-overrides.js +0 -17
  945. package/.medusa/server/src/workflows/subscription/steps/update-subscription-plans.d.ts +0 -31
  946. package/.medusa/server/src/workflows/subscription/steps/update-subscription-plans.js +0 -17
  947. package/.medusa/server/src/workflows/subscription/workflows/create-subscription-overrides.d.ts +0 -31
  948. package/.medusa/server/src/workflows/subscription/workflows/create-subscription-overrides.js +0 -11
  949. package/.medusa/server/src/workflows/subscription/workflows/create-subscription-plans.d.ts +0 -31
  950. package/.medusa/server/src/workflows/subscription/workflows/create-subscription-plans.js +0 -11
  951. package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-overrides.d.ts +0 -5
  952. package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-overrides.js +0 -11
  953. package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-plans.d.ts +0 -5
  954. package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-plans.js +0 -11
  955. package/.medusa/server/src/workflows/subscription/workflows/index.d.ts +0 -6
  956. package/.medusa/server/src/workflows/subscription/workflows/update-subscription-overrides.d.ts +0 -31
  957. package/.medusa/server/src/workflows/subscription/workflows/update-subscription-overrides.js +0 -11
  958. package/.medusa/server/src/workflows/subscription/workflows/update-subscription-plans.d.ts +0 -31
  959. package/.medusa/server/src/workflows/subscription/workflows/update-subscription-plans.js +0 -11
  960. package/.medusa/server/src/workflows/utils/override-workflow.d.ts +0 -12
  961. package/.medusa/server/src/workflows/utils/override-workflow.js +0 -21
  962. /package/.medusa/server/src/links/{brand-seller-link.d.ts → offer-price-link.d.ts} +0 -0
  963. /package/.medusa/server/src/links/{line-item-commission-line-link.d.ts → product-variant-attribute-link.d.ts} +0 -0
  964. /package/.medusa/server/src/links/{offer-price-set-link.d.ts → product-variant-attribute-value-link.d.ts} +0 -0
  965. /package/.medusa/server/src/workflows/cart/hooks/{validate-add-to-cart-stock.d.ts → before-refreshing-payment-collection.d.ts} +0 -0
  966. /package/.medusa/server/src/workflows/cart/hooks/{validate-update-line-item-stock.d.ts → set-pricing-context.d.ts} +0 -0
  967. /package/.medusa/server/src/workflows/{subscription → customer-group}/index.d.ts +0 -0
@@ -2,71 +2,147 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.productEditUpdateFieldsWorkflow = exports.productEditUpdateFieldsWorkflowId = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
- const utils_1 = require("@medusajs/framework/utils");
6
5
  const core_flows_1 = require("@medusajs/medusa/core-flows");
7
6
  const types_1 = require("@mercurjs/types");
8
- const events_1 = require("../../product/events");
9
7
  const steps_1 = require("../steps");
10
- const auto_confirm_product_change_1 = require("./auto-confirm-product-change");
8
+ const stage_product_change_1 = require("./stage-product-change");
9
+ /**
10
+ * Fields the diff considers — anything outside this list is ignored.
11
+ * Variant and attribute mutations have dedicated workflows that emit
12
+ * `VARIANT_*` / `ATTRIBUTE_*` actions instead of an opaque UPDATE.
13
+ */
14
+ const DIFFABLE_FIELDS = [
15
+ "title",
16
+ "subtitle",
17
+ "handle",
18
+ "description",
19
+ "discountable",
20
+ "is_giftcard",
21
+ "thumbnail",
22
+ "images",
23
+ "material",
24
+ "weight",
25
+ "length",
26
+ "height",
27
+ "width",
28
+ "hs_code",
29
+ "mid_code",
30
+ "origin_country",
31
+ "type_id",
32
+ "collection_id",
33
+ "categories",
34
+ "tags",
35
+ "sales_channels",
36
+ "metadata",
37
+ ];
11
38
  exports.productEditUpdateFieldsWorkflowId = "product-edit-update-fields";
12
39
  /**
13
- * Opens a new pending `ProductChange` carrying one `UPDATE` action per
14
- * changed top-level Product field. Throws if another pending change
15
- * already exists for the product. No-op fields (proposed value === current
16
- * value) are dropped.
40
+ * Vendor "edit product fields" orchestrator. Diffs the proposed
41
+ * payload against the current product, stages one
42
+ * `ProductChangeAction` per changed field (`STATUS_CHANGE` for
43
+ * `status`, `UPDATE { field, value }` for everything else) via
44
+ * `stageProductChangeWorkflow`. The shared building block runs the
45
+ * auto-confirm conditional so the change is applied inline when the
46
+ * marketplace has the `PRODUCT_REQUEST` flag disabled.
47
+ *
48
+ * The dispatcher (`applyProductChangeActionsWorkflow`) collapses all
49
+ * UPDATE actions for the same product into a single
50
+ * `updateProductsWorkflow` call, so emitting field-granular actions
51
+ * still costs one core workflow run.
17
52
  */
18
53
  exports.productEditUpdateFieldsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.productEditUpdateFieldsWorkflowId, function (input) {
19
- const product = (0, steps_1.retrieveProductWithChangeStep)({
20
- product_id: input.product_id,
21
- });
22
- (0, steps_1.validateNoPendingProductChangeStep)({ product });
23
- const changeInput = (0, workflows_sdk_1.transform)({ input }, ({ input }) => [
24
- { product_id: input.product_id, created_by: input.actor_id },
25
- ]);
26
- const changes = (0, steps_1.createProductChangesStep)(changeInput);
27
- const actionInputs = (0, workflows_sdk_1.transform)({ product, changes, input }, ({ product, changes, input }) => {
28
- const fields = Object.keys(input.updates ?? {});
29
- if (!fields.length) {
30
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "No fields to update");
54
+ (0, steps_1.validateNoPendingProductChangeStep)((0, workflows_sdk_1.transform)({ input }, ({ input }) => ({
55
+ product_ids: [input.product_id],
56
+ })));
57
+ const { data: currentProducts } = (0, core_flows_1.useQueryGraphStep)({
58
+ entity: "product",
59
+ fields: [
60
+ "id",
61
+ "title",
62
+ "subtitle",
63
+ "handle",
64
+ "description",
65
+ "status",
66
+ "discountable",
67
+ "is_giftcard",
68
+ "thumbnail",
69
+ "material",
70
+ "weight",
71
+ "length",
72
+ "height",
73
+ "width",
74
+ "hs_code",
75
+ "mid_code",
76
+ "origin_country",
77
+ "type_id",
78
+ "collection_id",
79
+ "metadata",
80
+ "images.url",
81
+ "categories.id",
82
+ "tags.id",
83
+ "sales_channels.id",
84
+ ],
85
+ filters: (0, workflows_sdk_1.transform)({ input }, ({ input }) => ({ id: input.product_id })),
86
+ }).config({ name: "load-current-product-for-diff" });
87
+ const actions = (0, workflows_sdk_1.transform)({ input, currentProducts }, ({ input, currentProducts }) => {
88
+ const current = (currentProducts?.[0] ?? {});
89
+ const proposed = input.update ?? {};
90
+ const normalize = (value) => {
91
+ if (Array.isArray(value)) {
92
+ return value
93
+ .map((item) => {
94
+ if (item && typeof item === "object" && "id" in item) {
95
+ return item.id;
96
+ }
97
+ if (item && typeof item === "object" && "url" in item) {
98
+ return item.url;
99
+ }
100
+ return item;
101
+ })
102
+ .sort();
103
+ }
104
+ return value ?? null;
105
+ };
106
+ const isEqual = (a, b) => JSON.stringify(normalize(a)) === JSON.stringify(normalize(b));
107
+ const acts = [];
108
+ if (proposed.status !== undefined) {
109
+ if (!isEqual(current.status, proposed.status)) {
110
+ acts.push({
111
+ product_id: input.product_id,
112
+ action: types_1.ProductChangeActionType.STATUS_CHANGE,
113
+ details: {
114
+ status: proposed.status,
115
+ previous_status: current.status,
116
+ },
117
+ });
118
+ }
31
119
  }
32
- const out = [];
33
- for (const [field, value] of Object.entries(input.updates)) {
34
- const previous_value = product[field];
35
- if (previous_value === value)
120
+ for (const field of DIFFABLE_FIELDS) {
121
+ if (!(field in proposed))
122
+ continue;
123
+ const proposedValue = proposed[field];
124
+ const currentValue = current[field];
125
+ if (isEqual(currentValue, proposedValue))
36
126
  continue;
37
- out.push({
38
- product_change_id: changes[0].id,
127
+ acts.push({
39
128
  product_id: input.product_id,
40
129
  action: types_1.ProductChangeActionType.UPDATE,
41
- details: { field, value, previous_value },
42
- internal_note: input.internal_note,
130
+ details: {
131
+ field,
132
+ value: proposedValue,
133
+ previous_value: currentValue,
134
+ },
43
135
  });
44
136
  }
45
- if (!out.length) {
46
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "No proposed fields differ from the product's current values");
47
- }
48
- return out;
49
- });
50
- (0, steps_1.createProductChangeActionsStep)(actionInputs);
51
- const change = (0, workflows_sdk_1.transform)({ changes }, ({ changes }) => changes[0]);
52
- (0, core_flows_1.emitEventStep)({
53
- eventName: events_1.ProductWorkflowEvents.EDIT_REQUESTED,
54
- data: (0, workflows_sdk_1.transform)({ input, change }, ({ input, change }) => ({
55
- id: input.product_id,
56
- change_id: change.id,
57
- })),
137
+ return acts;
58
138
  });
59
- auto_confirm_product_change_1.autoConfirmProductChangeWorkflow.runAsStep({
60
- input: (0, workflows_sdk_1.transform)({ change, input }, ({ change, input }) => ({
139
+ const change = stage_product_change_1.stageProductChangeWorkflow.runAsStep({
140
+ input: (0, workflows_sdk_1.transform)({ input, actions }, ({ input, actions }) => ({
61
141
  product_id: input.product_id,
62
- product_change_id: change.id,
63
- actor_id: input.actor_id,
64
- internal_note: input.internal_note,
142
+ created_by: input.created_by,
143
+ actions,
65
144
  })),
66
145
  });
67
- const productEditFieldsRequested = (0, workflows_sdk_1.createHook)("productEditFieldsRequested", { product_id: input.product_id, change });
68
- return new workflows_sdk_1.WorkflowResponse(change, {
69
- hooks: [productEditFieldsRequested],
70
- });
146
+ return new workflows_sdk_1.WorkflowResponse(change);
71
147
  });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1lZGl0LXVwZGF0ZS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3Byb2R1Y3QtZWRpdC93b3JrZmxvd3MvcHJvZHVjdC1lZGl0LXVwZGF0ZS1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzBDO0FBQzFDLHFEQUF1RDtBQUN2RCw0REFBMkQ7QUFDM0QsMkNBQXlEO0FBRXpELGlEQUE0RDtBQUM1RCxvQ0FLaUI7QUFDakIsK0VBQWdGO0FBRW5FLFFBQUEsaUNBQWlDLEdBQzVDLDRCQUE0QixDQUFBO0FBUzlCOzs7OztHQUtHO0FBQ1UsUUFBQSwrQkFBK0IsR0FBRyxJQUFBLDhCQUFjLEVBQzNELHlDQUFpQyxFQUNqQyxVQUFVLEtBQTJDO0lBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUEscUNBQTZCLEVBQUM7UUFDNUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO0tBQzdCLENBQUMsQ0FBQTtJQUVGLElBQUEsMENBQWtDLEVBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBRS9DLE1BQU0sV0FBVyxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDdEQsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtLQUM3RCxDQUFDLENBQUE7SUFFRixNQUFNLE9BQU8sR0FBRyxJQUFBLGdDQUF3QixFQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRXJELE1BQU0sWUFBWSxHQUFHLElBQUEseUJBQVMsRUFDNUIsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUMzQixDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzlCLE1BQU0s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
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1lZGl0LXVwZGF0ZS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3Byb2R1Y3QtZWRpdC93b3JrZmxvd3MvcHJvZHVjdC1lZGl0LXVwZGF0ZS1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBSzBDO0FBQzFDLDREQUErRDtBQUMvRCwyQ0FJd0I7QUFFeEIsb0NBQTZEO0FBQzdELGlFQUFtRTtBQVFuRTs7OztHQUlHO0FBQ0gsTUFBTSxlQUFlLEdBQUc7SUFDdEIsT0FBTztJQUNQLFVBQVU7SUFDVixRQUFRO0lBQ1IsYUFBYTtJQUNiLGNBQWM7SUFDZCxhQUFhO0lBQ2IsV0FBVztJQUNYLFFBQVE7SUFDUixVQUFVO0lBQ1YsUUFBUTtJQUNSLFFBQVE7SUFDUixRQUFRO0lBQ1IsT0FBTztJQUNQLFNBQVM7SUFDVCxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLFNBQVM7SUFDVCxlQUFlO0lBQ2YsWUFBWTtJQUNaLE1BQU07SUFDTixnQkFBZ0I7SUFDaEIsVUFBVTtDQUNGLENBQUE7QUFFRyxRQUFBLGlDQUFpQyxHQUFHLDRCQUE0QixDQUFBO0FBRTdFOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDVSxRQUFBLCtCQUErQixHQUl4QyxJQUFBLDhCQUFjLEVBQ2hCLHlDQUFpQyxFQUNqQyxVQUFVLEtBQTJDO0lBQ25ELElBQUEsMENBQWtDLEVBQ2hDLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0tBQ2hDLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbEQsTUFBTSxFQUFFLFNBQVM7UUFDakIs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
@@ -0,0 +1,35 @@
1
+ import { AdditionalData } from "@medusajs/framework/types";
2
+ import { type ReturnWorkflow } from "@medusajs/framework/workflows-sdk";
3
+ import { ProductChangeDTO } from "@mercurjs/types";
4
+ export type ProductEditVariantAddOperation = {
5
+ type: "add";
6
+ variant: Record<string, unknown>;
7
+ };
8
+ export type ProductEditVariantUpdateOperation = {
9
+ type: "update";
10
+ variant_id: string;
11
+ fields: Record<string, unknown>;
12
+ };
13
+ export type ProductEditVariantRemoveOperation = {
14
+ type: "remove";
15
+ variant_id: string;
16
+ };
17
+ export type ProductEditVariantOperation = ProductEditVariantAddOperation | ProductEditVariantUpdateOperation | ProductEditVariantRemoveOperation;
18
+ export type ProductEditUpdateVariantsWorkflowInput = {
19
+ product_id: string;
20
+ created_by?: string;
21
+ operations: ProductEditVariantOperation[];
22
+ } & AdditionalData;
23
+ export declare const productEditUpdateVariantsWorkflowId = "product-edit-update-variants";
24
+ /**
25
+ * Vendor "edit product variants" orchestrator. Translates each
26
+ * `operations[]` entry into a `VARIANT_ADD` / `VARIANT_UPDATE` /
27
+ * `VARIANT_REMOVE` action on a fresh `ProductChange` via
28
+ * `stageProductChangeWorkflow`. Reusing this single workflow for all
29
+ * three verbs keeps `/vendor/products/:id/variants[...]` routes thin
30
+ * and lets `applyProductChangeActionsWorkflow` do its dependency-
31
+ * ordered dispatch (deletes before creates before updates) without
32
+ * the route having to know about it.
33
+ */
34
+ export declare const productEditUpdateVariantsWorkflow: ReturnWorkflow<ProductEditUpdateVariantsWorkflowInput, ProductChangeDTO, [
35
+ ]>;
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.productEditUpdateVariantsWorkflow = exports.productEditUpdateVariantsWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const types_1 = require("@mercurjs/types");
7
+ const steps_1 = require("../steps");
8
+ const stage_product_change_1 = require("./stage-product-change");
9
+ exports.productEditUpdateVariantsWorkflowId = "product-edit-update-variants";
10
+ /**
11
+ * Variant fields that are not vendor-editable and must never be staged
12
+ * as part of a `VARIANT_UPDATE`. `manage_inventory` is a marketplace
13
+ * invariant pinned to `false` at variant creation — surfacing it in the
14
+ * request block (as a phantom `Off → On` row) was the core of MER-168.
15
+ */
16
+ const NON_EDITABLE_VARIANT_FIELDS = new Set(["manage_inventory"]);
17
+ /**
18
+ * Vendor "edit product variants" orchestrator. Translates each
19
+ * `operations[]` entry into a `VARIANT_ADD` / `VARIANT_UPDATE` /
20
+ * `VARIANT_REMOVE` action on a fresh `ProductChange` via
21
+ * `stageProductChangeWorkflow`. Reusing this single workflow for all
22
+ * three verbs keeps `/vendor/products/:id/variants[...]` routes thin
23
+ * and lets `applyProductChangeActionsWorkflow` do its dependency-
24
+ * ordered dispatch (deletes before creates before updates) without
25
+ * the route having to know about it.
26
+ */
27
+ exports.productEditUpdateVariantsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.productEditUpdateVariantsWorkflowId, function (input) {
28
+ (0, steps_1.validateNoPendingProductChangeStep)((0, workflows_sdk_1.transform)({ input }, ({ input }) => ({
29
+ product_ids: [input.product_id],
30
+ })));
31
+ // Load current variants for the product so `VARIANT_UPDATE`
32
+ // actions can carry `previous_fields` alongside the proposed
33
+ // `fields`. The diff panel uses this for the strikethrough
34
+ // before/after render.
35
+ const variantIdsToLoad = (0, workflows_sdk_1.transform)({ input }, ({ input }) => Array.from(new Set((input.operations ?? [])
36
+ .filter((op) => op.type === "update")
37
+ .map((op) => op.variant_id))));
38
+ const { data: currentVariants } = (0, core_flows_1.useQueryGraphStep)({
39
+ entity: "variant",
40
+ fields: [
41
+ "id",
42
+ "title",
43
+ "sku",
44
+ "ean",
45
+ "upc",
46
+ "isbn",
47
+ "barcode",
48
+ "hs_code",
49
+ "mid_code",
50
+ "manage_inventory",
51
+ "allow_backorder",
52
+ "weight",
53
+ "length",
54
+ "height",
55
+ "width",
56
+ "origin_country",
57
+ "material",
58
+ "variant_rank",
59
+ "metadata",
60
+ // Loaded so an unchanged `options` payload is diffed away rather
61
+ // than re-staged on every edit (MER-168). `options` arrives as a
62
+ // `{ [option_title]: value }` map; rebuild the same shape from these.
63
+ "options.value",
64
+ "options.option.title",
65
+ ],
66
+ filters: { id: variantIdsToLoad },
67
+ }).config({ name: "pc-load-variants-for-diff" });
68
+ const actions = (0, workflows_sdk_1.transform)({ input, currentVariants }, ({ input, currentVariants }) => {
69
+ const acts = [];
70
+ const currentVariantsById = new Map();
71
+ for (const v of (currentVariants ?? [])) {
72
+ currentVariantsById.set(v.id, v);
73
+ }
74
+ // Mirror the product-level field diff (`product-edit-update-fields`):
75
+ // normalize relation/array shapes to ids/urls before comparing so an
76
+ // unchanged value never produces a spurious change row.
77
+ const normalize = (value) => {
78
+ if (Array.isArray(value)) {
79
+ return value
80
+ .map((item) => {
81
+ if (item && typeof item === "object" && "id" in item) {
82
+ return item.id;
83
+ }
84
+ if (item && typeof item === "object" && "url" in item) {
85
+ return item.url;
86
+ }
87
+ return item;
88
+ })
89
+ .sort();
90
+ }
91
+ return value ?? null;
92
+ };
93
+ const isEqual = (a, b) => JSON.stringify(normalize(a)) === JSON.stringify(normalize(b));
94
+ // Reduce a value to a stable `{ option_title: value }` map for
95
+ // comparison. The proposed payload is already that shape; the
96
+ // current variant carries `options: [{ value, option: { title } }]`.
97
+ const toOptionsMap = (value) => {
98
+ const out = {};
99
+ if (Array.isArray(value)) {
100
+ for (const entry of value) {
101
+ const title = entry?.option
102
+ ?.title;
103
+ if (title) {
104
+ out[title] = String(entry?.value ?? "");
105
+ }
106
+ }
107
+ }
108
+ else if (value && typeof value === "object") {
109
+ for (const [k, v] of Object.entries(value)) {
110
+ out[k] = String(v ?? "");
111
+ }
112
+ }
113
+ return out;
114
+ };
115
+ // Order-independent equality for the options map.
116
+ const optionsEqual = (a, b) => {
117
+ const stable = (m) => JSON.stringify(Object.keys(m)
118
+ .sort()
119
+ .map((k) => [k, m[k]]));
120
+ return stable(a) === stable(b);
121
+ };
122
+ for (const op of input.operations ?? []) {
123
+ switch (op.type) {
124
+ case "add":
125
+ acts.push({
126
+ product_id: input.product_id,
127
+ action: types_1.ProductChangeActionType.VARIANT_ADD,
128
+ details: { variant: op.variant },
129
+ });
130
+ break;
131
+ case "update": {
132
+ const current = currentVariantsById.get(op.variant_id) ?? {};
133
+ const changedFields = {};
134
+ const previousFields = {};
135
+ for (const [field, proposedValue] of Object.entries(op.fields ?? {})) {
136
+ // Never stage fields the vendor can't edit (e.g.
137
+ // `manage_inventory`).
138
+ if (NON_EDITABLE_VARIANT_FIELDS.has(field))
139
+ continue;
140
+ // `options` is a relation update (option-title → value
141
+ // pairs). Diff it against the variant's current options so an
142
+ // unchanged map (the form always re-submits it) never surfaces
143
+ // as a phantom change row (MER-168). Forward the proposed map
144
+ // verbatim when it actually differs so the apply step can
145
+ // re-pair variant options.
146
+ if (field === "options") {
147
+ if (proposedValue === undefined)
148
+ continue;
149
+ const currentOptions = toOptionsMap(current.options);
150
+ if (optionsEqual(currentOptions, toOptionsMap(proposedValue)))
151
+ continue;
152
+ changedFields.options = proposedValue;
153
+ previousFields.options = currentOptions;
154
+ continue;
155
+ }
156
+ // `images` is a relation (variant↔image links), not a
157
+ // scalar column we load for diffing. Forward it untouched
158
+ // so the apply step can reconcile the links; it carries no
159
+ // meaningful previous value and stays out of the preview.
160
+ if (field === "images") {
161
+ if (proposedValue !== undefined) {
162
+ changedFields.images = proposedValue;
163
+ }
164
+ continue;
165
+ }
166
+ // Skip fields that did not actually change.
167
+ if (isEqual(current[field], proposedValue))
168
+ continue;
169
+ changedFields[field] = proposedValue;
170
+ previousFields[field] = current[field] ?? null;
171
+ }
172
+ // Nothing editable changed — don't stage an empty action.
173
+ if (!Object.keys(changedFields).length)
174
+ break;
175
+ acts.push({
176
+ product_id: input.product_id,
177
+ action: types_1.ProductChangeActionType.VARIANT_UPDATE,
178
+ details: {
179
+ variant_id: op.variant_id,
180
+ fields: changedFields,
181
+ previous_fields: previousFields,
182
+ },
183
+ });
184
+ break;
185
+ }
186
+ case "remove":
187
+ acts.push({
188
+ product_id: input.product_id,
189
+ action: types_1.ProductChangeActionType.VARIANT_REMOVE,
190
+ details: { variant_id: op.variant_id },
191
+ });
192
+ break;
193
+ }
194
+ }
195
+ return acts;
196
+ });
197
+ const change = stage_product_change_1.stageProductChangeWorkflow.runAsStep({
198
+ input: (0, workflows_sdk_1.transform)({ input, actions }, ({ input, actions }) => ({
199
+ product_id: input.product_id,
200
+ created_by: input.created_by,
201
+ actions,
202
+ })),
203
+ });
204
+ return new workflows_sdk_1.WorkflowResponse(change);
205
+ });
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1lZGl0LXVwZGF0ZS12YXJpYW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1lZGl0L3dvcmtmbG93cy9wcm9kdWN0LWVkaXQtdXBkYXRlLXZhcmlhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0QsMkNBSXdCO0FBRXhCLG9DQUE2RDtBQUM3RCxpRUFBbUU7QUE2QnRELFFBQUEsbUNBQW1DLEdBQzlDLDhCQUE4QixDQUFBO0FBRWhDOzs7OztHQUtHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtBQUVqRTs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLGlDQUFpQyxHQUkxQyxJQUFBLDhCQUFjLEVBQ2hCLDJDQUFtQyxFQUNuQyxVQUFVLEtBQTZDO0lBQ3JELElBQUEsMENBQWtDLEVBQ2hDLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0tBQ2hDLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFRCw0REFBNEQ7SUFDNUQsNkRBQTZEO0lBQzdELDJEQUEyRDtJQUMzRCx1QkFBdUI7SUFDdkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUMxRCxLQUFLLENBQUMsSUFBSSxDQUNSLElBQUksR0FBRyxDQUNMLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7U0FDckIsTUFBTSxDQUNMLENBQ0UsRUFBRSxFQUtGLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxL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
@@ -0,0 +1,36 @@
1
+ import { CreateProductChangeActionDTO, ProductChangeDTO } from "@mercurjs/types";
2
+ export type RecordProductAuditChangeWorkflowInput = {
3
+ /**
4
+ * The actor recording the audit row — written to both `created_by`
5
+ * and `confirmed_by` on every created `ProductChange`. Optional for
6
+ * system-driven audit rows.
7
+ */
8
+ actor_id?: string;
9
+ changes: Array<{
10
+ product_id: string;
11
+ internal_note?: string;
12
+ external_note?: string;
13
+ /**
14
+ * Actions to attach to the change. `product_change_id` is stamped
15
+ * inside the workflow; `applied` is forced to `true` (this workflow
16
+ * is for audit rows where side effects have already run).
17
+ */
18
+ actions: Array<Omit<CreateProductChangeActionDTO, "product_change_id" | "applied">>;
19
+ }>;
20
+ };
21
+ export declare const recordProductAuditChangeWorkflowId = "record-product-audit-change";
22
+ /**
23
+ * Building block for "audit-only" product changes — every change is
24
+ * born `CONFIRMED` with `confirmed_by` / `confirmed_at` populated and
25
+ * every action attached with `applied: true`. The dispatcher
26
+ * (`applyProductChangeActionsWorkflow`) is not invoked because the
27
+ * caller has either already applied the side effect (e.g.
28
+ * `updateProductsStep` for status flips) or there is no side effect
29
+ * (e.g. `CHANGE_REQUESTED` is informational).
30
+ *
31
+ * Used by: `confirmProductsWorkflow`, `rejectProductWorkflow`,
32
+ * `requestProductChangeWorkflow`, and the seller-branch audit row in
33
+ * `createProductsWorkflow`. Callers emit their own domain event (e.g.
34
+ * `product.published`) alongside.
35
+ */
36
+ export declare const recordProductAuditChangeWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<RecordProductAuditChangeWorkflowInput, ProductChangeDTO[], []>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recordProductAuditChangeWorkflow = exports.recordProductAuditChangeWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const types_1 = require("@mercurjs/types");
6
+ const steps_1 = require("../steps");
7
+ exports.recordProductAuditChangeWorkflowId = "record-product-audit-change";
8
+ /**
9
+ * Building block for "audit-only" product changes — every change is
10
+ * born `CONFIRMED` with `confirmed_by` / `confirmed_at` populated and
11
+ * every action attached with `applied: true`. The dispatcher
12
+ * (`applyProductChangeActionsWorkflow`) is not invoked because the
13
+ * caller has either already applied the side effect (e.g.
14
+ * `updateProductsStep` for status flips) or there is no side effect
15
+ * (e.g. `CHANGE_REQUESTED` is informational).
16
+ *
17
+ * Used by: `confirmProductsWorkflow`, `rejectProductWorkflow`,
18
+ * `requestProductChangeWorkflow`, and the seller-branch audit row in
19
+ * `createProductsWorkflow`. Callers emit their own domain event (e.g.
20
+ * `product.published`) alongside.
21
+ */
22
+ exports.recordProductAuditChangeWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.recordProductAuditChangeWorkflowId, function (input) {
23
+ const changeData = (0, workflows_sdk_1.transform)({ input }, ({ input }) => {
24
+ const confirmedAt = new Date();
25
+ return input.changes.map((c) => ({
26
+ product_id: c.product_id,
27
+ created_by: input.actor_id,
28
+ status: types_1.ProductChangeStatus.CONFIRMED,
29
+ confirmed_by: input.actor_id,
30
+ confirmed_at: confirmedAt,
31
+ internal_note: c.internal_note,
32
+ external_note: c.external_note,
33
+ }));
34
+ });
35
+ const changes = (0, steps_1.createProductChangesStep)(changeData);
36
+ const actionData = (0, workflows_sdk_1.transform)({ input, changes }, ({ input, changes }) => {
37
+ const out = [];
38
+ input.changes.forEach((c, idx) => {
39
+ const product_change_id = changes[idx]?.id;
40
+ for (const action of c.actions) {
41
+ out.push({
42
+ ...action,
43
+ product_change_id,
44
+ applied: true,
45
+ });
46
+ }
47
+ });
48
+ return out;
49
+ });
50
+ (0, steps_1.createProductChangeActionsStep)(actionData);
51
+ return new workflows_sdk_1.WorkflowResponse((0, workflows_sdk_1.transform)({ changes }, ({ changes }) => changes));
52
+ });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLXByb2R1Y3QtYXVkaXQtY2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LWVkaXQvd29ya2Zsb3dzL3JlY29yZC1wcm9kdWN0LWF1ZGl0LWNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFJMEM7QUFDMUMsMkNBSXdCO0FBRXhCLG9DQUdpQjtBQXdCSixRQUFBLGtDQUFrQyxHQUFHLDZCQUE2QixDQUFBO0FBRS9FOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDVSxRQUFBLGdDQUFnQyxHQUFHLElBQUEsOEJBQWMsRUFDNUQsMENBQWtDLEVBQ2xDLFVBQVUsS0FBNEM7SUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDcEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQTtRQUM5QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN4QixVQUFVLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDMUIsTUFBTSxFQUFFLDJCQUFtQixDQUFDLFNBQVM7WUFDckMsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQzVCLFlBQVksRUFBRSxXQUFXO1lBQ3pCLGFBQWEsRUFBRSxDQUFDLENBQUMsYUFBYTtZQUM5QixhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWE7U0FDL0IsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDLENBQUMsQ0FBQTtJQUVGLE1BQU0sT0FBTyxHQUFHLElBQUEsZ0NBQXdCLEVBQUMsVUFBVSxDQUFDLENBQUE7SUFFcEQsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBUyxFQUMxQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFDbEIsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1FBQ3JCLE1BQU0sR0FBRyxHQUFtQyxFQUFFLENBQUE7UUFDOUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBWSxDQUFBO1lBQ3BELEtBQUssTUFBTSxNQUFNLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMvQixHQUFHLENBQUMsSUFBSSxDQUFDO29CQUNQLEdBQUcsTUFBTTtvQkFDVCxpQkFBaUI7b0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2lCQUNrQixDQUFDLENBQUE7WUFDcEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDLENBQ0YsQ0FBQTtJQUVELElBQUEsc0NBQThCLEVBQUMsVUFBVSxDQUFDLENBQUE7SUFFMUMsT0FBTyxJQUFJLGdDQUFnQixDQUN6QixJQUFBLHlCQUFTLEVBQ1AsRUFBRSxPQUFPLEVBQUUsRUFDWCxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQXdDLENBQzFELENBQ0YsQ0FBQTtBQUNILENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,18 @@
1
+ import { AdditionalData } from "@medusajs/framework/types";
2
+ import { type Hook, type ReturnWorkflow } from "@medusajs/framework/workflows-sdk";
3
+ export type RejectProductChangeWorkflowInput = {
4
+ id: string;
5
+ declined_by?: string;
6
+ declined_reason?: string;
7
+ } & AdditionalData;
8
+ export type RejectProductChangeWorkflowHooks = [
9
+ Hook<"validate", {
10
+ input: RejectProductChangeWorkflowInput;
11
+ }, unknown>,
12
+ Hook<"productChangeRejected", {
13
+ id: string;
14
+ additional_data: Record<string, unknown> | undefined;
15
+ }, unknown>
16
+ ];
17
+ export declare const rejectProductChangeWorkflowId = "reject-product-change";
18
+ export declare const rejectProductChangeWorkflow: ReturnWorkflow<RejectProductChangeWorkflowInput, void, RejectProductChangeWorkflowHooks>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rejectProductChangeWorkflow = exports.rejectProductChangeWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const events_1 = require("../events");
7
+ const steps_1 = require("../steps");
8
+ exports.rejectProductChangeWorkflowId = "reject-product-change";
9
+ exports.rejectProductChangeWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.rejectProductChangeWorkflowId, function (input) {
10
+ const validate = (0, workflows_sdk_1.createHook)("validate", { input });
11
+ const { data: changes } = (0, core_flows_1.useQueryGraphStep)({
12
+ entity: "product_change",
13
+ fields: ["id", "status"],
14
+ filters: { id: input.id },
15
+ options: { throwIfKeyNotFound: true },
16
+ }).config({ name: "pc-load-change" });
17
+ const change = (0, workflows_sdk_1.transform)({ changes }, ({ changes }) => changes[0]);
18
+ (0, steps_1.validateProductChangeIsPendingStep)({ change });
19
+ (0, steps_1.declineProductChangeStep)({
20
+ id: input.id,
21
+ declined_by: input.declined_by,
22
+ declined_reason: input.declined_reason,
23
+ });
24
+ (0, core_flows_1.emitEventStep)({
25
+ eventName: events_1.ProductChangeWorkflowEvents.DECLINED,
26
+ data: { id: input.id },
27
+ });
28
+ const productChangeRejected = (0, workflows_sdk_1.createHook)("productChangeRejected", {
29
+ id: input.id,
30
+ additional_data: input.additional_data,
31
+ });
32
+ return new workflows_sdk_1.WorkflowResponse(void 0, {
33
+ hooks: [validate, productChangeRejected],
34
+ });
35
+ });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVqZWN0LXByb2R1Y3QtY2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LWVkaXQvd29ya2Zsb3dzL3JlamVjdC1wcm9kdWN0LWNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxRUFPMEM7QUFDMUMsNERBR29DO0FBRXBDLHNDQUF1RDtBQUN2RCxvQ0FHaUI7QUFvQkosUUFBQSw2QkFBNkIsR0FBRyx1QkFBdUIsQ0FBQTtBQUV2RCxRQUFBLDJCQUEyQixHQUlwQyxJQUFBLDhCQUFjLEVBQ2hCLHFDQUE2QixFQUM3QixVQUFVLEtBQXVDO0lBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRWxELE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUMxQyxNQUFNLEVBQUUsZ0JBQWdCO1FBQ3hCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7UUFDeEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDekIsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFO0tBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFBO0lBRXJDLE1BQU0sTUFBTSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFbEUsSUFBQSwwQ0FBa0MsRUFBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFFOUMsSUFBQSxnQ0FBd0IsRUFBQztRQUN2QixFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDWixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7UUFDOUIsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO0tBQ3ZDLENBQUMsQ0FBQTtJQUVGLElBQUEsMEJBQWEsRUFBQztRQUNaLFNBQVMsRUFBRSxvQ0FBMkIsQ0FBQyxRQUFRO1FBQy9DLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO0tBQ3ZCLENBQUMsQ0FBQTtJQUVGLE1BQU0scUJBQXFCLEdBQUcsSUFBQSwwQkFBVSxFQUFDLHVCQUF1QixFQUFFO1FBQ2hFLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtRQUNaLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtLQUN2QyxDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbEMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLHFCQUFxQixDQUFDO0tBQ3pDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=