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

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 (634) hide show
  1. package/.medusa/server/src/api/admin/middlewares.js +9 -13
  2. package/.medusa/server/src/api/admin/offers/query-config.js +8 -8
  3. package/.medusa/server/src/api/admin/product-attributes/[id]/route.js +3 -3
  4. package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.js +3 -3
  5. package/.medusa/server/src/api/admin/product-attributes/[id]/values/route.js +2 -2
  6. package/.medusa/server/src/api/admin/product-attributes/middlewares.js +15 -1
  7. package/.medusa/server/src/api/admin/product-attributes/query-config.js +1 -2
  8. package/.medusa/server/src/api/admin/product-attributes/route.js +6 -3
  9. package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +1 -5
  10. package/.medusa/server/src/api/admin/product-attributes/validators.js +2 -15
  11. package/.medusa/server/src/api/admin/product-categories/[id]/products/route.js +3 -3
  12. package/.medusa/server/src/api/admin/product-categories/[id]/route.js +8 -7
  13. package/.medusa/server/src/api/admin/product-categories/query-config.js +1 -2
  14. package/.medusa/server/src/api/admin/product-categories/route.js +4 -4
  15. package/.medusa/server/src/api/admin/product-categories/validators.d.ts +8 -8
  16. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +5 -6
  17. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +5 -5
  18. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.d.ts +1 -4
  19. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.js +42 -30
  20. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.d.ts +3 -2
  21. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +11 -22
  22. package/.medusa/server/src/api/admin/products/[id]/attributes/route.d.ts +2 -3
  23. package/.medusa/server/src/api/admin/products/[id]/attributes/route.js +40 -25
  24. package/.medusa/server/src/api/admin/products/[id]/confirm/route.d.ts +12 -0
  25. package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +16 -6
  26. package/.medusa/server/src/api/admin/products/[id]/preview/route.d.ts +8 -1
  27. package/.medusa/server/src/api/admin/products/[id]/preview/route.js +20 -7
  28. package/.medusa/server/src/api/admin/products/[id]/reject/route.d.ts +8 -0
  29. package/.medusa/server/src/api/admin/products/[id]/reject/route.js +13 -8
  30. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.d.ts +9 -0
  31. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +16 -10
  32. package/.medusa/server/src/api/admin/products/[id]/route.js +6 -6
  33. package/.medusa/server/src/api/admin/products/[id]/variants/[variant_id]/route.js +5 -5
  34. package/.medusa/server/src/api/admin/products/[id]/variants/route.js +22 -4
  35. package/.medusa/server/src/api/admin/products/middlewares.js +8 -4
  36. package/.medusa/server/src/api/admin/products/query-config.js +12 -18
  37. package/.medusa/server/src/api/admin/products/route.js +4 -9
  38. package/.medusa/server/src/api/admin/products/validators.d.ts +1040 -214
  39. package/.medusa/server/src/api/admin/products/validators.js +108 -16
  40. package/.medusa/server/src/api/store/carts/[id]/line-items/route.js +11 -5
  41. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.d.ts +3 -3
  42. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.js +2 -2
  43. package/.medusa/server/src/api/store/middlewares.js +7 -9
  44. package/.medusa/server/src/api/store/products/[id]/route.js +3 -18
  45. package/.medusa/server/src/api/store/products/middlewares.js +1 -7
  46. package/.medusa/server/src/api/store/products/query-config.d.ts +1 -3
  47. package/.medusa/server/src/api/store/products/query-config.js +14 -17
  48. package/.medusa/server/src/api/store/products/route.js +3 -19
  49. package/.medusa/server/src/api/store/products/validators.d.ts +0 -6
  50. package/.medusa/server/src/api/store/products/validators.js +1 -2
  51. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.d.ts +17 -0
  52. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.js +58 -0
  53. package/.medusa/server/src/api/utils/format-product-attributes.d.ts +51 -5
  54. package/.medusa/server/src/api/utils/format-product-attributes.js +174 -31
  55. package/.medusa/server/src/api/utils/index.d.ts +1 -0
  56. package/.medusa/server/src/api/utils/index.js +2 -1
  57. package/.medusa/server/src/api/vendor/middlewares.js +7 -11
  58. package/.medusa/server/src/api/vendor/offers/query-config.js +8 -8
  59. package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route.js +3 -3
  60. package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/route.js +3 -3
  61. package/.medusa/server/src/api/vendor/product-attributes/middlewares.js +15 -1
  62. package/.medusa/server/src/api/vendor/product-attributes/route.js +4 -1
  63. package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +1 -5
  64. package/.medusa/server/src/api/vendor/product-attributes/validators.js +2 -15
  65. package/.medusa/server/src/api/vendor/product-categories/query-config.js +1 -2
  66. package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +4 -4
  67. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.d.ts +6 -5
  68. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.js +41 -16
  69. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.d.ts +10 -6
  70. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.js +60 -25
  71. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +5 -7
  72. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +14 -15
  73. package/.medusa/server/src/api/vendor/products/[id]/route.d.ts +18 -9
  74. package/.medusa/server/src/api/vendor/products/[id]/route.js +35 -16
  75. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.d.ts +11 -9
  76. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +43 -21
  77. package/.medusa/server/src/api/vendor/products/[id]/variants/route.d.ts +9 -5
  78. package/.medusa/server/src/api/vendor/products/[id]/variants/route.js +30 -10
  79. package/.medusa/server/src/api/vendor/products/helpers.d.ts +8 -0
  80. package/.medusa/server/src/api/vendor/products/helpers.js +26 -0
  81. package/.medusa/server/src/api/vendor/products/middlewares.js +17 -5
  82. package/.medusa/server/src/api/vendor/products/query-config.js +12 -17
  83. package/.medusa/server/src/api/vendor/products/route.d.ts +11 -1
  84. package/.medusa/server/src/api/vendor/products/route.js +25 -12
  85. package/.medusa/server/src/api/vendor/products/validators.d.ts +287 -57
  86. package/.medusa/server/src/api/vendor/products/validators.js +65 -13
  87. package/.medusa/server/src/api/vendor/returns/[id]/receive/confirm/route.js +3 -3
  88. package/.medusa/server/src/links/category-seller-link.js +2 -2
  89. package/.medusa/server/src/links/offer-price-link.js +13 -0
  90. package/.medusa/server/src/links/offer-variant-link.js +2 -2
  91. package/.medusa/server/src/links/product-attribute-category-link.d.ts +16 -0
  92. package/.medusa/server/src/links/product-attribute-category-link.js +40 -0
  93. package/.medusa/server/src/links/product-attribute-product-link.d.ts +10 -0
  94. package/.medusa/server/src/links/product-attribute-product-link.js +29 -0
  95. package/.medusa/server/src/links/product-attribute-value-link.d.ts +22 -0
  96. package/.medusa/server/src/links/product-attribute-value-link.js +46 -0
  97. package/.medusa/server/src/links/product-change-link.d.ts +8 -0
  98. package/.medusa/server/src/links/product-change-link.js +27 -0
  99. package/.medusa/server/src/links/product-seller-link.js +2 -2
  100. package/.medusa/server/src/links/product-variant-attribute-link.js +21 -0
  101. package/.medusa/server/src/links/product-variant-attribute-value-link.d.ts +2 -0
  102. package/.medusa/server/src/links/product-variant-attribute-value-link.js +21 -0
  103. package/.medusa/server/src/modules/{product/migrations/Migration20260414141012.d.ts → offer/migrations/Migration20260526000000.d.ts} +1 -1
  104. package/.medusa/server/src/modules/offer/migrations/Migration20260526000000.js +16 -0
  105. package/.medusa/server/src/modules/offer/models/offer.d.ts +0 -1
  106. package/.medusa/server/src/modules/offer/models/offer.js +1 -7
  107. package/.medusa/server/src/modules/offer/service.d.ts +0 -1
  108. package/.medusa/server/src/modules/product-attribute/index.d.ts +36 -0
  109. package/.medusa/server/src/modules/product-attribute/index.js +14 -0
  110. package/.medusa/server/src/modules/product-attribute/joiner-config.d.ts +1 -0
  111. package/.medusa/server/src/modules/product-attribute/joiner-config.js +17 -0
  112. package/.medusa/server/src/modules/{product/migrations/Migration20260415151424.d.ts → product-attribute/migrations/Migration20260601000000.d.ts} +1 -1
  113. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000000.js +62 -0
  114. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000001.d.ts +11 -0
  115. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000001.js +29 -0
  116. package/.medusa/server/src/modules/product-attribute/models/index.d.ts +2 -0
  117. package/.medusa/server/src/modules/product-attribute/models/index.js +11 -0
  118. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.d.ts +25 -0
  119. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.js +29 -0
  120. package/.medusa/server/src/modules/product-attribute/models/product-attribute.d.ts +26 -0
  121. package/.medusa/server/src/modules/product-attribute/models/product-attribute.js +53 -0
  122. package/.medusa/server/src/modules/product-attribute/service.d.ts +55 -0
  123. package/.medusa/server/src/modules/product-attribute/service.js +15 -0
  124. package/.medusa/server/src/modules/product-edit/index.d.ts +36 -0
  125. package/.medusa/server/src/modules/{subscription → product-edit}/index.js +4 -2
  126. package/.medusa/server/src/modules/product-edit/joiner-config.d.ts +1 -0
  127. package/.medusa/server/src/modules/product-edit/joiner-config.js +17 -0
  128. package/.medusa/server/src/modules/{product/migrations/Migration20260416104248.d.ts → product-edit/migrations/Migration20260601130000.d.ts} +1 -1
  129. package/.medusa/server/src/modules/product-edit/migrations/Migration20260601130000.js +78 -0
  130. package/.medusa/server/src/modules/product-edit/models/index.d.ts +2 -0
  131. package/.medusa/server/src/modules/product-edit/models/index.js +11 -0
  132. package/.medusa/server/src/modules/product-edit/models/product-change-action.d.ts +49 -0
  133. package/.medusa/server/src/modules/{product → product-edit}/models/product-change-action.js +1 -1
  134. package/.medusa/server/src/modules/product-edit/models/product-change.d.ts +31 -0
  135. package/.medusa/server/src/modules/product-edit/models/product-change.js +52 -0
  136. package/.medusa/server/src/modules/product-edit/service.d.ts +84 -0
  137. package/.medusa/server/src/modules/product-edit/service.js +15 -0
  138. package/.medusa/server/src/types/cart-line-item.d.ts +0 -9
  139. package/.medusa/server/src/with-mercur.js +1 -6
  140. package/.medusa/server/src/workflows/cart/hooks/before-refreshing-payment-collection.js +36 -0
  141. package/.medusa/server/src/workflows/cart/hooks/index.d.ts +3 -2
  142. package/.medusa/server/src/workflows/cart/hooks/index.js +4 -3
  143. package/.medusa/server/src/workflows/cart/hooks/set-pricing-context.js +94 -0
  144. package/.medusa/server/src/workflows/cart/hooks/validate.d.ts +1 -0
  145. package/.medusa/server/src/workflows/cart/hooks/validate.js +107 -0
  146. package/.medusa/server/src/workflows/cart/steps/index.d.ts +0 -3
  147. package/.medusa/server/src/workflows/cart/steps/index.js +1 -4
  148. package/.medusa/server/src/workflows/cart/utils/fields.js +1 -2
  149. package/.medusa/server/src/workflows/cart/workflows/index.d.ts +0 -2
  150. package/.medusa/server/src/workflows/cart/workflows/index.js +1 -3
  151. package/.medusa/server/src/workflows/index.d.ts +1 -1
  152. package/.medusa/server/src/workflows/index.js +2 -2
  153. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.d.ts +22 -0
  154. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.js +64 -0
  155. package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +0 -1
  156. package/.medusa/server/src/workflows/offer/steps/delete-offers.d.ts +6 -1
  157. package/.medusa/server/src/workflows/offer/steps/delete-offers.js +10 -6
  158. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.d.ts +15 -0
  159. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.js +61 -0
  160. package/.medusa/server/src/workflows/offer/steps/index.d.ts +4 -1
  161. package/.medusa/server/src/workflows/offer/steps/index.js +5 -2
  162. package/.medusa/server/src/workflows/offer/steps/remove-offer-prices.d.ts +3 -0
  163. package/.medusa/server/src/workflows/offer/steps/remove-offer-prices.js +15 -0
  164. package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +0 -1
  165. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.d.ts +17 -0
  166. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.js +27 -0
  167. package/.medusa/server/src/workflows/offer/utils/index.d.ts +1 -0
  168. package/.medusa/server/src/workflows/offer/utils/index.js +2 -1
  169. package/.medusa/server/src/workflows/offer/workflows/batch-offer-inventory-items.d.ts +17 -31
  170. package/.medusa/server/src/workflows/offer/workflows/batch-offer-inventory-items.js +1 -1
  171. package/.medusa/server/src/workflows/offer/workflows/create-offers.d.ts +12 -111
  172. package/.medusa/server/src/workflows/offer/workflows/create-offers.js +98 -45
  173. package/.medusa/server/src/workflows/offer/workflows/delete-offers.js +2 -2
  174. package/.medusa/server/src/workflows/offer/workflows/update-offers.d.ts +21 -116
  175. package/.medusa/server/src/workflows/offer/workflows/update-offers.js +136 -20
  176. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.d.ts +1 -1
  177. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.js +3 -4
  178. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.d.ts +1 -1
  179. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +3 -4
  180. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.d.ts +10 -33
  181. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.js +3 -4
  182. package/.medusa/server/src/workflows/product/events.d.ts +5 -47
  183. package/.medusa/server/src/workflows/product/events.js +7 -49
  184. package/.medusa/server/src/workflows/product/index.d.ts +1 -1
  185. package/.medusa/server/src/workflows/product/index.js +2 -2
  186. package/.medusa/server/src/workflows/product/steps/index.d.ts +3 -28
  187. package/.medusa/server/src/workflows/product/steps/index.js +4 -29
  188. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.d.ts +28 -0
  189. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.js +72 -0
  190. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.d.ts +90 -0
  191. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.js +185 -0
  192. package/.medusa/server/src/workflows/product/steps/validate-products-status.d.ts +19 -0
  193. package/.medusa/server/src/workflows/product/steps/validate-products-status.js +28 -0
  194. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.d.ts +0 -1
  195. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.js +2 -21
  196. package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +13 -1
  197. package/.medusa/server/src/workflows/product/workflows/confirm-products.js +41 -30
  198. package/.medusa/server/src/workflows/product/workflows/create-products.d.ts +59 -3
  199. package/.medusa/server/src/workflows/product/workflows/create-products.js +186 -16
  200. package/.medusa/server/src/workflows/product/workflows/index.d.ts +3 -26
  201. package/.medusa/server/src/workflows/product/workflows/index.js +4 -27
  202. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.d.ts +1 -1
  203. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.js +3 -4
  204. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.d.ts +1 -1
  205. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.js +3 -4
  206. package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +8 -1
  207. package/.medusa/server/src/workflows/product/workflows/reject-product.js +42 -38
  208. package/.medusa/server/src/workflows/product/workflows/request-product-change.d.ts +25 -0
  209. package/.medusa/server/src/workflows/product/workflows/request-product-change.js +69 -0
  210. package/.medusa/server/src/workflows/product/workflows/update-products.d.ts +39 -3
  211. package/.medusa/server/src/workflows/product/workflows/update-products.js +148 -10
  212. package/.medusa/server/src/workflows/product-attribute/events.d.ts +19 -0
  213. package/.medusa/server/src/workflows/product-attribute/events.js +23 -0
  214. package/.medusa/server/src/workflows/{subscription → product-attribute}/index.d.ts +1 -0
  215. package/.medusa/server/src/workflows/{subscription → product-attribute}/index.js +2 -1
  216. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.d.ts +37 -0
  217. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.js +18 -0
  218. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.d.ts +44 -0
  219. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.js +18 -0
  220. package/.medusa/server/src/workflows/{product → product-attribute}/steps/delete-product-attribute-values.d.ts +1 -0
  221. package/.medusa/server/src/workflows/product-attribute/steps/delete-product-attribute-values.js +18 -0
  222. package/.medusa/server/src/workflows/{product → product-attribute}/steps/delete-product-attributes.d.ts +1 -0
  223. package/.medusa/server/src/workflows/product-attribute/steps/delete-product-attributes.js +18 -0
  224. package/.medusa/server/src/workflows/product-attribute/steps/index.d.ts +10 -0
  225. package/.medusa/server/src/workflows/product-attribute/steps/index.js +27 -0
  226. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.d.ts +38 -0
  227. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.js +23 -0
  228. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attributes.d.ts +38 -0
  229. package/.medusa/server/src/workflows/{product → product-attribute}/steps/update-product-attributes.js +7 -6
  230. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.d.ts +43 -0
  231. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.js +51 -0
  232. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.d.ts +7 -0
  233. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.js +59 -0
  234. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.d.ts +6 -0
  235. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.js +20 -0
  236. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.d.ts +7 -0
  237. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.js +20 -0
  238. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.d.ts +52 -0
  239. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.js +120 -0
  240. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.d.ts +23 -0
  241. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.js +252 -0
  242. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.d.ts +18 -0
  243. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.js +26 -0
  244. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.d.ts +19 -0
  245. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.js +64 -0
  246. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.d.ts +16 -0
  247. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.js +40 -0
  248. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.d.ts +23 -0
  249. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.js +31 -0
  250. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.d.ts +17 -0
  251. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.js +62 -0
  252. package/.medusa/server/src/workflows/product-attribute/workflows/index.d.ts +12 -0
  253. package/.medusa/server/src/workflows/product-attribute/workflows/index.js +29 -0
  254. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.d.ts +135 -0
  255. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.js +43 -0
  256. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.d.ts +24 -0
  257. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.js +27 -0
  258. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.d.ts +18 -0
  259. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.js +27 -0
  260. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.d.ts +18 -0
  261. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.js +27 -0
  262. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.d.ts +18 -0
  263. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.js +26 -0
  264. package/.medusa/server/src/workflows/product-edit/events.d.ts +13 -0
  265. package/.medusa/server/src/workflows/product-edit/events.js +17 -0
  266. package/.medusa/server/src/workflows/product-edit/index.d.ts +1 -0
  267. package/.medusa/server/src/workflows/product-edit/index.js +2 -1
  268. package/.medusa/server/src/workflows/product-edit/steps/add-product-change-action.d.ts +38 -0
  269. package/.medusa/server/src/workflows/product-edit/steps/add-product-change-action.js +18 -0
  270. package/.medusa/server/src/workflows/product-edit/steps/cancel-product-change.d.ts +38 -2
  271. package/.medusa/server/src/workflows/product-edit/steps/cancel-product-change.js +28 -10
  272. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.d.ts +15 -0
  273. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.js +25 -0
  274. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.d.ts +46 -3
  275. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.js +44 -7
  276. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.d.ts +41 -14
  277. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.js +20 -11
  278. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.d.ts +46 -16
  279. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.js +11 -18
  280. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.d.ts +44 -3
  281. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.js +37 -10
  282. package/.medusa/server/src/workflows/product-edit/steps/index.d.ts +5 -3
  283. package/.medusa/server/src/workflows/product-edit/steps/index.js +6 -4
  284. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.d.ts +49 -0
  285. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.js +34 -0
  286. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +7 -7
  287. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +29 -13
  288. package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-is-pending.d.ts +10 -0
  289. package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-is-pending.js +14 -0
  290. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.d.ts +23 -0
  291. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.js +139 -0
  292. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.d.ts +38 -0
  293. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.js +191 -0
  294. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.d.ts +14 -13
  295. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.js +14 -22
  296. package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-change.d.ts +17 -0
  297. package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-change.js +35 -0
  298. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.d.ts +30 -0
  299. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.js +55 -0
  300. package/.medusa/server/src/workflows/product-edit/workflows/create-product-change.d.ts +17 -0
  301. package/.medusa/server/src/workflows/product-edit/workflows/create-product-change.js +26 -0
  302. package/.medusa/server/src/workflows/product-edit/workflows/index.d.ts +10 -8
  303. package/.medusa/server/src/workflows/product-edit/workflows/index.js +11 -9
  304. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.d.ts +14 -17
  305. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +21 -46
  306. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.d.ts +55 -0
  307. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.js +198 -0
  308. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.d.ts +22 -15
  309. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.js +126 -50
  310. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.d.ts +35 -0
  311. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +108 -0
  312. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.d.ts +36 -0
  313. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.js +53 -0
  314. package/.medusa/server/src/workflows/product-edit/workflows/reject-product-change.d.ts +18 -0
  315. package/.medusa/server/src/workflows/product-edit/workflows/reject-product-change.js +36 -0
  316. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.d.ts +35 -0
  317. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.js +57 -0
  318. package/.medusa/server/src/workflows/seller/workflows/create-sellers.d.ts +20 -2
  319. package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +1 -1
  320. package/.medusa/server/src/workflows/seller/workflows/update-seller-address.d.ts +14 -2
  321. package/.medusa/server/src/workflows/seller/workflows/update-seller-address.js +1 -1
  322. package/.medusa/server/src/workflows/seller/workflows/update-seller-payment-details.d.ts +14 -2
  323. package/.medusa/server/src/workflows/seller/workflows/update-seller-payment-details.js +1 -1
  324. package/.medusa/server/src/workflows/seller/workflows/update-seller-professional-details.d.ts +14 -2
  325. package/.medusa/server/src/workflows/seller/workflows/update-seller-professional-details.js +1 -1
  326. package/.medusa/server/src/workflows/seller/workflows/update-seller.d.ts +14 -2
  327. package/.medusa/server/src/workflows/seller/workflows/update-seller.js +1 -1
  328. package/package.json +3 -3
  329. package/.medusa/server/src/api/admin/product-brands/[id]/route.d.ts +0 -7
  330. package/.medusa/server/src/api/admin/product-brands/[id]/route.js +0 -51
  331. package/.medusa/server/src/api/admin/product-brands/[id]/sellers/route.d.ts +0 -3
  332. package/.medusa/server/src/api/admin/product-brands/[id]/sellers/route.js +0 -20
  333. package/.medusa/server/src/api/admin/product-brands/middlewares.d.ts +0 -2
  334. package/.medusa/server/src/api/admin/product-brands/middlewares.js +0 -49
  335. package/.medusa/server/src/api/admin/product-brands/query-config.d.ts +0 -12
  336. package/.medusa/server/src/api/admin/product-brands/query-config.js +0 -24
  337. package/.medusa/server/src/api/admin/product-brands/route.d.ts +0 -6
  338. package/.medusa/server/src/api/admin/product-brands/route.js +0 -38
  339. package/.medusa/server/src/api/admin/product-brands/validators.d.ts +0 -284
  340. package/.medusa/server/src/api/admin/product-brands/validators.js +0 -41
  341. package/.medusa/server/src/api/admin/products/batch/route.d.ts +0 -4
  342. package/.medusa/server/src/api/admin/products/batch/route.js +0 -36
  343. package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/[override_id]/route.d.ts +0 -6
  344. package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/[override_id]/route.js +0 -43
  345. package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/route.d.ts +0 -4
  346. package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/route.js +0 -24
  347. package/.medusa/server/src/api/admin/subscription-plans/[id]/route.d.ts +0 -6
  348. package/.medusa/server/src/api/admin/subscription-plans/[id]/route.js +0 -43
  349. package/.medusa/server/src/api/admin/subscription-plans/middlewares.d.ts +0 -2
  350. package/.medusa/server/src/api/admin/subscription-plans/middlewares.js +0 -81
  351. package/.medusa/server/src/api/admin/subscription-plans/query-config.d.ts +0 -17
  352. package/.medusa/server/src/api/admin/subscription-plans/query-config.js +0 -43
  353. package/.medusa/server/src/api/admin/subscription-plans/route.d.ts +0 -5
  354. package/.medusa/server/src/api/admin/subscription-plans/route.js +0 -35
  355. package/.medusa/server/src/api/admin/subscription-plans/validators.d.ts +0 -117
  356. package/.medusa/server/src/api/admin/subscription-plans/validators.js +0 -42
  357. package/.medusa/server/src/api/store/product-brands/[id]/route.d.ts +0 -2
  358. package/.medusa/server/src/api/store/product-brands/[id]/route.js +0 -18
  359. package/.medusa/server/src/api/store/product-brands/middlewares.d.ts +0 -2
  360. package/.medusa/server/src/api/store/product-brands/middlewares.js +0 -23
  361. package/.medusa/server/src/api/store/product-brands/query-config.d.ts +0 -12
  362. package/.medusa/server/src/api/store/product-brands/query-config.js +0 -23
  363. package/.medusa/server/src/api/store/product-brands/route.d.ts +0 -2
  364. package/.medusa/server/src/api/store/product-brands/route.js +0 -21
  365. package/.medusa/server/src/api/store/product-brands/validators.d.ts +0 -215
  366. package/.medusa/server/src/api/store/product-brands/validators.js +0 -21
  367. package/.medusa/server/src/api/utils/wrap-variants-with-offers-inventory.d.ts +0 -12
  368. package/.medusa/server/src/api/utils/wrap-variants-with-offers-inventory.js +0 -165
  369. package/.medusa/server/src/api/utils/wrap-variants-with-offers-prices.d.ts +0 -12
  370. package/.medusa/server/src/api/utils/wrap-variants-with-offers-prices.js +0 -64
  371. package/.medusa/server/src/api/vendor/product-brands/[id]/route.d.ts +0 -3
  372. package/.medusa/server/src/api/vendor/product-brands/[id]/route.js +0 -18
  373. package/.medusa/server/src/api/vendor/product-brands/middlewares.d.ts +0 -2
  374. package/.medusa/server/src/api/vendor/product-brands/middlewares.js +0 -23
  375. package/.medusa/server/src/api/vendor/product-brands/query-config.d.ts +0 -12
  376. package/.medusa/server/src/api/vendor/product-brands/query-config.js +0 -24
  377. package/.medusa/server/src/api/vendor/product-brands/route.d.ts +0 -3
  378. package/.medusa/server/src/api/vendor/product-brands/route.js +0 -21
  379. package/.medusa/server/src/api/vendor/product-brands/validators.d.ts +0 -221
  380. package/.medusa/server/src/api/vendor/product-brands/validators.js +0 -22
  381. package/.medusa/server/src/api/vendor/subscription/middlewares.d.ts +0 -2
  382. package/.medusa/server/src/api/vendor/subscription/middlewares.js +0 -28
  383. package/.medusa/server/src/api/vendor/subscription/route.d.ts +0 -3
  384. package/.medusa/server/src/api/vendor/subscription/route.js +0 -31
  385. package/.medusa/server/src/links/brand-seller-link.js +0 -16
  386. package/.medusa/server/src/links/offer-price-set-link.js +0 -15
  387. package/.medusa/server/src/modules/product/index.d.ts +0 -7
  388. package/.medusa/server/src/modules/product/index.js +0 -14
  389. package/.medusa/server/src/modules/product/migrations/Migration20260414141012.js +0 -169
  390. package/.medusa/server/src/modules/product/migrations/Migration20260415151424.js +0 -14
  391. package/.medusa/server/src/modules/product/migrations/Migration20260416104248.js +0 -14
  392. package/.medusa/server/src/modules/product/migrations/Migration20260416105443.d.ts +0 -5
  393. package/.medusa/server/src/modules/product/migrations/Migration20260416105443.js +0 -16
  394. package/.medusa/server/src/modules/product/migrations/Migration20260421093258.d.ts +0 -5
  395. package/.medusa/server/src/modules/product/migrations/Migration20260421093258.js +0 -22
  396. package/.medusa/server/src/modules/product/migrations/Migration20260422105949.d.ts +0 -5
  397. package/.medusa/server/src/modules/product/migrations/Migration20260422105949.js +0 -32
  398. package/.medusa/server/src/modules/product/migrations/Migration20260422112250.d.ts +0 -5
  399. package/.medusa/server/src/modules/product/migrations/Migration20260422112250.js +0 -16
  400. package/.medusa/server/src/modules/product/migrations/Migration20260424120000.d.ts +0 -5
  401. package/.medusa/server/src/modules/product/migrations/Migration20260424120000.js +0 -16
  402. package/.medusa/server/src/modules/product/migrations/Migration20260427140959.d.ts +0 -5
  403. package/.medusa/server/src/modules/product/migrations/Migration20260427140959.js +0 -20
  404. package/.medusa/server/src/modules/product/migrations/Migration20260427141021.d.ts +0 -5
  405. package/.medusa/server/src/modules/product/migrations/Migration20260427141021.js +0 -16
  406. package/.medusa/server/src/modules/product/migrations/Migration20260428115720.d.ts +0 -5
  407. package/.medusa/server/src/modules/product/migrations/Migration20260428115720.js +0 -16
  408. package/.medusa/server/src/modules/product/migrations/Migration20260430143600.d.ts +0 -5
  409. package/.medusa/server/src/modules/product/migrations/Migration20260430143600.js +0 -15
  410. package/.medusa/server/src/modules/product/migrations/Migration20260430144500.d.ts +0 -5
  411. package/.medusa/server/src/modules/product/migrations/Migration20260430144500.js +0 -23
  412. package/.medusa/server/src/modules/product/migrations/Migration20260430150000.d.ts +0 -5
  413. package/.medusa/server/src/modules/product/migrations/Migration20260430150000.js +0 -14
  414. package/.medusa/server/src/modules/product/migrations/Migration20260520120000.d.ts +0 -5
  415. package/.medusa/server/src/modules/product/migrations/Migration20260520120000.js +0 -16
  416. package/.medusa/server/src/modules/product/models/index.d.ts +0 -13
  417. package/.medusa/server/src/modules/product/models/index.js +0 -33
  418. package/.medusa/server/src/modules/product/models/product-attribute-value.d.ts +0 -1698
  419. package/.medusa/server/src/modules/product/models/product-attribute-value.js +0 -38
  420. package/.medusa/server/src/modules/product/models/product-attribute.d.ts +0 -1627
  421. package/.medusa/server/src/modules/product/models/product-attribute.js +0 -57
  422. package/.medusa/server/src/modules/product/models/product-brand.d.ts +0 -551
  423. package/.medusa/server/src/modules/product/models/product-brand.js +0 -34
  424. package/.medusa/server/src/modules/product/models/product-category.d.ts +0 -1692
  425. package/.medusa/server/src/modules/product/models/product-category.js +0 -55
  426. package/.medusa/server/src/modules/product/models/product-change-action.d.ts +0 -1105
  427. package/.medusa/server/src/modules/product/models/product-change.d.ts +0 -559
  428. package/.medusa/server/src/modules/product/models/product-change.js +0 -50
  429. package/.medusa/server/src/modules/product/models/product-collection.d.ts +0 -552
  430. package/.medusa/server/src/modules/product/models/product-collection.js +0 -27
  431. package/.medusa/server/src/modules/product/models/product-image.d.ts +0 -1745
  432. package/.medusa/server/src/modules/product/models/product-image.js +0 -51
  433. package/.medusa/server/src/modules/product/models/product-tag.d.ts +0 -561
  434. package/.medusa/server/src/modules/product/models/product-tag.js +0 -26
  435. package/.medusa/server/src/modules/product/models/product-type.d.ts +0 -553
  436. package/.medusa/server/src/modules/product/models/product-type.js +0 -26
  437. package/.medusa/server/src/modules/product/models/product-variant-product-image.d.ts +0 -3366
  438. package/.medusa/server/src/modules/product/models/product-variant-product-image.js +0 -19
  439. package/.medusa/server/src/modules/product/models/product-variant.d.ts +0 -1619
  440. package/.medusa/server/src/modules/product/models/product-variant.js +0 -87
  441. package/.medusa/server/src/modules/product/models/product.d.ts +0 -559
  442. package/.medusa/server/src/modules/product/models/product.js +0 -137
  443. package/.medusa/server/src/modules/product/repositories/product-category.d.ts +0 -53
  444. package/.medusa/server/src/modules/product/repositories/product-category.js +0 -381
  445. package/.medusa/server/src/modules/product/service.d.ts +0 -11209
  446. package/.medusa/server/src/modules/product/service.js +0 -1471
  447. package/.medusa/server/src/modules/product/services/product-category.d.ts +0 -37
  448. package/.medusa/server/src/modules/product/services/product-category.js +0 -166
  449. package/.medusa/server/src/modules/subscription/index.d.ts +0 -35
  450. package/.medusa/server/src/modules/subscription/migrations/Migration20260324135903.d.ts +0 -5
  451. package/.medusa/server/src/modules/subscription/migrations/Migration20260324135903.js +0 -24
  452. package/.medusa/server/src/modules/subscription/models/index.d.ts +0 -2
  453. package/.medusa/server/src/modules/subscription/models/index.js +0 -11
  454. package/.medusa/server/src/modules/subscription/models/subscription-override.d.ts +0 -20
  455. package/.medusa/server/src/modules/subscription/models/subscription-override.js +0 -36
  456. package/.medusa/server/src/modules/subscription/models/subscription-plan.d.ts +0 -20
  457. package/.medusa/server/src/modules/subscription/models/subscription-plan.js +0 -32
  458. package/.medusa/server/src/modules/subscription/service.d.ts +0 -49
  459. package/.medusa/server/src/modules/subscription/service.js +0 -17
  460. package/.medusa/server/src/workflows/cart/hooks/validate-add-to-cart-stock.js +0 -52
  461. package/.medusa/server/src/workflows/cart/hooks/validate-update-line-item-stock.js +0 -60
  462. package/.medusa/server/src/workflows/cart/steps/calculate-offer-prices.d.ts +0 -19
  463. package/.medusa/server/src/workflows/cart/steps/calculate-offer-prices.js +0 -39
  464. package/.medusa/server/src/workflows/cart/steps/decorate-line-item-with-offer.d.ts +0 -8
  465. package/.medusa/server/src/workflows/cart/steps/decorate-line-item-with-offer.js +0 -45
  466. package/.medusa/server/src/workflows/cart/steps/get-line-item-actions.d.ts +0 -21
  467. package/.medusa/server/src/workflows/cart/steps/get-line-item-actions.js +0 -85
  468. package/.medusa/server/src/workflows/cart/workflows/add-to-cart.d.ts +0 -12
  469. package/.medusa/server/src/workflows/cart/workflows/add-to-cart.js +0 -235
  470. package/.medusa/server/src/workflows/cart/workflows/update-line-item-in-cart.d.ts +0 -16
  471. package/.medusa/server/src/workflows/cart/workflows/update-line-item-in-cart.js +0 -87
  472. package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-brand.d.ts +0 -8
  473. package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-brand.js +0 -26
  474. package/.medusa/server/src/workflows/product/steps/batch-link-products-in-category.d.ts +0 -7
  475. package/.medusa/server/src/workflows/product/steps/batch-link-products-in-category.js +0 -61
  476. package/.medusa/server/src/workflows/product/steps/batch-product-attributes.d.ts +0 -11
  477. package/.medusa/server/src/workflows/product/steps/batch-product-attributes.js +0 -16
  478. package/.medusa/server/src/workflows/product/steps/create-product-attribute-values.d.ts +0 -6
  479. package/.medusa/server/src/workflows/product/steps/create-product-attribute-values.js +0 -17
  480. package/.medusa/server/src/workflows/product/steps/create-product-attributes.d.ts +0 -2
  481. package/.medusa/server/src/workflows/product/steps/create-product-attributes.js +0 -17
  482. package/.medusa/server/src/workflows/product/steps/create-product-brands.d.ts +0 -2
  483. package/.medusa/server/src/workflows/product/steps/create-product-brands.js +0 -17
  484. package/.medusa/server/src/workflows/product/steps/create-product-categories.d.ts +0 -1576
  485. package/.medusa/server/src/workflows/product/steps/create-product-categories.js +0 -18
  486. package/.medusa/server/src/workflows/product/steps/create-product-variants.d.ts +0 -2
  487. package/.medusa/server/src/workflows/product/steps/create-product-variants.js +0 -18
  488. package/.medusa/server/src/workflows/product/steps/create-products.d.ts +0 -2
  489. package/.medusa/server/src/workflows/product/steps/create-products.js +0 -17
  490. package/.medusa/server/src/workflows/product/steps/delete-product-attribute-values.js +0 -17
  491. package/.medusa/server/src/workflows/product/steps/delete-product-attributes.js +0 -17
  492. package/.medusa/server/src/workflows/product/steps/delete-product-brands.d.ts +0 -1
  493. package/.medusa/server/src/workflows/product/steps/delete-product-brands.js +0 -17
  494. package/.medusa/server/src/workflows/product/steps/delete-product-categories.d.ts +0 -1
  495. package/.medusa/server/src/workflows/product/steps/delete-product-categories.js +0 -17
  496. package/.medusa/server/src/workflows/product/steps/delete-product-variants.d.ts +0 -1
  497. package/.medusa/server/src/workflows/product/steps/delete-product-variants.js +0 -17
  498. package/.medusa/server/src/workflows/product/steps/delete-products.d.ts +0 -1
  499. package/.medusa/server/src/workflows/product/steps/delete-products.js +0 -17
  500. package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-brand.d.ts +0 -8
  501. package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-brand.js +0 -26
  502. package/.medusa/server/src/workflows/product/steps/remove-attribute-from-product.d.ts +0 -6
  503. package/.medusa/server/src/workflows/product/steps/remove-attribute-from-product.js +0 -11
  504. package/.medusa/server/src/workflows/product/steps/update-product-attribute-values.d.ts +0 -7
  505. package/.medusa/server/src/workflows/product/steps/update-product-attribute-values.js +0 -22
  506. package/.medusa/server/src/workflows/product/steps/update-product-attributes.d.ts +0 -7
  507. package/.medusa/server/src/workflows/product/steps/update-product-brands.d.ts +0 -7
  508. package/.medusa/server/src/workflows/product/steps/update-product-brands.js +0 -28
  509. package/.medusa/server/src/workflows/product/steps/update-product-categories.d.ts +0 -1580
  510. package/.medusa/server/src/workflows/product/steps/update-product-categories.js +0 -20
  511. package/.medusa/server/src/workflows/product/steps/update-product-variants.d.ts +0 -10
  512. package/.medusa/server/src/workflows/product/steps/update-product-variants.js +0 -32
  513. package/.medusa/server/src/workflows/product/steps/update-products.d.ts +0 -10
  514. package/.medusa/server/src/workflows/product/steps/update-products.js +0 -33
  515. package/.medusa/server/src/workflows/product/steps/upsert-product-attribute-values.d.ts +0 -5
  516. package/.medusa/server/src/workflows/product/steps/upsert-product-attribute-values.js +0 -30
  517. package/.medusa/server/src/workflows/product/steps/validate-attribute-accepts-values.d.ts +0 -5
  518. package/.medusa/server/src/workflows/product/steps/validate-attribute-accepts-values.js +0 -19
  519. package/.medusa/server/src/workflows/product/steps/validate-confirm-products.d.ts +0 -3
  520. package/.medusa/server/src/workflows/product/steps/validate-confirm-products.js +0 -14
  521. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attribute-values.d.ts +0 -5
  522. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attribute-values.js +0 -19
  523. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attributes.d.ts +0 -5
  524. package/.medusa/server/src/workflows/product/steps/validate-delete-product-attributes.js +0 -30
  525. package/.medusa/server/src/workflows/product/steps/validate-reject-product.d.ts +0 -3
  526. package/.medusa/server/src/workflows/product/steps/validate-reject-product.js +0 -12
  527. package/.medusa/server/src/workflows/product/steps/validate-request-changes.d.ts +0 -3
  528. package/.medusa/server/src/workflows/product/steps/validate-request-changes.js +0 -12
  529. package/.medusa/server/src/workflows/product/steps/validate-resubmit-product.d.ts +0 -3
  530. package/.medusa/server/src/workflows/product/steps/validate-resubmit-product.js +0 -12
  531. package/.medusa/server/src/workflows/product/workflows/batch-link-products-in-category.d.ts +0 -8
  532. package/.medusa/server/src/workflows/product/workflows/batch-link-products-in-category.js +0 -10
  533. package/.medusa/server/src/workflows/product/workflows/batch-product-attributes.d.ts +0 -12
  534. package/.medusa/server/src/workflows/product/workflows/batch-product-attributes.js +0 -23
  535. package/.medusa/server/src/workflows/product/workflows/batch-products.d.ts +0 -3
  536. package/.medusa/server/src/workflows/product/workflows/batch-products.js +0 -86
  537. package/.medusa/server/src/workflows/product/workflows/create-product-attribute-values.d.ts +0 -8
  538. package/.medusa/server/src/workflows/product/workflows/create-product-attribute-values.js +0 -21
  539. package/.medusa/server/src/workflows/product/workflows/create-product-attributes.d.ts +0 -7
  540. package/.medusa/server/src/workflows/product/workflows/create-product-attributes.js +0 -18
  541. package/.medusa/server/src/workflows/product/workflows/create-product-brands.d.ts +0 -7
  542. package/.medusa/server/src/workflows/product/workflows/create-product-brands.js +0 -19
  543. package/.medusa/server/src/workflows/product/workflows/create-product-categories.d.ts +0 -1581
  544. package/.medusa/server/src/workflows/product/workflows/create-product-categories.js +0 -18
  545. package/.medusa/server/src/workflows/product/workflows/create-product-variants.d.ts +0 -3
  546. package/.medusa/server/src/workflows/product/workflows/create-product-variants.js +0 -25
  547. package/.medusa/server/src/workflows/product/workflows/delete-product-attribute-values.d.ts +0 -6
  548. package/.medusa/server/src/workflows/product/workflows/delete-product-attribute-values.js +0 -20
  549. package/.medusa/server/src/workflows/product/workflows/delete-product-attributes.d.ts +0 -6
  550. package/.medusa/server/src/workflows/product/workflows/delete-product-attributes.js +0 -20
  551. package/.medusa/server/src/workflows/product/workflows/delete-product-brands.d.ts +0 -6
  552. package/.medusa/server/src/workflows/product/workflows/delete-product-brands.js +0 -19
  553. package/.medusa/server/src/workflows/product/workflows/delete-product-categories.d.ts +0 -6
  554. package/.medusa/server/src/workflows/product/workflows/delete-product-categories.js +0 -18
  555. package/.medusa/server/src/workflows/product/workflows/delete-product-variants.d.ts +0 -8
  556. package/.medusa/server/src/workflows/product/workflows/delete-product-variants.js +0 -24
  557. package/.medusa/server/src/workflows/product/workflows/delete-products.d.ts +0 -6
  558. package/.medusa/server/src/workflows/product/workflows/delete-products.js +0 -19
  559. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-brand.d.ts +0 -14
  560. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-brand.js +0 -21
  561. package/.medusa/server/src/workflows/product/workflows/remove-attribute-from-product.d.ts +0 -7
  562. package/.medusa/server/src/workflows/product/workflows/remove-attribute-from-product.js +0 -20
  563. package/.medusa/server/src/workflows/product/workflows/request-product-changes.d.ts +0 -11
  564. package/.medusa/server/src/workflows/product/workflows/request-product-changes.js +0 -61
  565. package/.medusa/server/src/workflows/product/workflows/resubmit-product.d.ts +0 -8
  566. package/.medusa/server/src/workflows/product/workflows/resubmit-product.js +0 -48
  567. package/.medusa/server/src/workflows/product/workflows/submit-seller-products.d.ts +0 -3
  568. package/.medusa/server/src/workflows/product/workflows/submit-seller-products.js +0 -76
  569. package/.medusa/server/src/workflows/product/workflows/update-product-attribute-values.d.ts +0 -8
  570. package/.medusa/server/src/workflows/product/workflows/update-product-attribute-values.js +0 -18
  571. package/.medusa/server/src/workflows/product/workflows/update-product-attributes.d.ts +0 -8
  572. package/.medusa/server/src/workflows/product/workflows/update-product-attributes.js +0 -18
  573. package/.medusa/server/src/workflows/product/workflows/update-product-brands.d.ts +0 -8
  574. package/.medusa/server/src/workflows/product/workflows/update-product-brands.js +0 -19
  575. package/.medusa/server/src/workflows/product/workflows/update-product-categories.d.ts +0 -1583
  576. package/.medusa/server/src/workflows/product/workflows/update-product-categories.js +0 -18
  577. package/.medusa/server/src/workflows/product/workflows/update-product-variants.d.ts +0 -3
  578. package/.medusa/server/src/workflows/product/workflows/update-product-variants.js +0 -36
  579. package/.medusa/server/src/workflows/product/workflows/upsert-product-attribute-values.d.ts +0 -8
  580. package/.medusa/server/src/workflows/product/workflows/upsert-product-attribute-values.js +0 -21
  581. package/.medusa/server/src/workflows/product-edit/steps/retrieve-product-with-change.d.ts +0 -5
  582. package/.medusa/server/src/workflows/product-edit/steps/retrieve-product-with-change.js +0 -11
  583. package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-pending.d.ts +0 -11
  584. package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-pending.js +0 -21
  585. package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-edit.d.ts +0 -19
  586. package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-edit.js +0 -40
  587. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-edit.d.ts +0 -21
  588. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-edit.js +0 -44
  589. package/.medusa/server/src/workflows/product-edit/workflows/decline-product-edit.d.ts +0 -16
  590. package/.medusa/server/src/workflows/product-edit/workflows/decline-product-edit.js +0 -42
  591. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-attribute.d.ts +0 -19
  592. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-attribute.js +0 -66
  593. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-variant.d.ts +0 -17
  594. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-variant.js +0 -58
  595. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-attribute.d.ts +0 -17
  596. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-attribute.js +0 -62
  597. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-variant.d.ts +0 -16
  598. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-variant.js +0 -68
  599. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variant.d.ts +0 -21
  600. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variant.js +0 -89
  601. package/.medusa/server/src/workflows/subscription/steps/create-subscription-overrides.d.ts +0 -31
  602. package/.medusa/server/src/workflows/subscription/steps/create-subscription-overrides.js +0 -17
  603. package/.medusa/server/src/workflows/subscription/steps/create-subscription-plans.d.ts +0 -31
  604. package/.medusa/server/src/workflows/subscription/steps/create-subscription-plans.js +0 -17
  605. package/.medusa/server/src/workflows/subscription/steps/delete-subscription-overrides.d.ts +0 -2
  606. package/.medusa/server/src/workflows/subscription/steps/delete-subscription-overrides.js +0 -17
  607. package/.medusa/server/src/workflows/subscription/steps/delete-subscription-plans.d.ts +0 -2
  608. package/.medusa/server/src/workflows/subscription/steps/delete-subscription-plans.js +0 -17
  609. package/.medusa/server/src/workflows/subscription/steps/index.d.ts +0 -6
  610. package/.medusa/server/src/workflows/subscription/steps/index.js +0 -23
  611. package/.medusa/server/src/workflows/subscription/steps/update-subscription-overrides.d.ts +0 -31
  612. package/.medusa/server/src/workflows/subscription/steps/update-subscription-overrides.js +0 -17
  613. package/.medusa/server/src/workflows/subscription/steps/update-subscription-plans.d.ts +0 -31
  614. package/.medusa/server/src/workflows/subscription/steps/update-subscription-plans.js +0 -17
  615. package/.medusa/server/src/workflows/subscription/workflows/create-subscription-overrides.d.ts +0 -31
  616. package/.medusa/server/src/workflows/subscription/workflows/create-subscription-overrides.js +0 -11
  617. package/.medusa/server/src/workflows/subscription/workflows/create-subscription-plans.d.ts +0 -31
  618. package/.medusa/server/src/workflows/subscription/workflows/create-subscription-plans.js +0 -11
  619. package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-overrides.d.ts +0 -5
  620. package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-overrides.js +0 -11
  621. package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-plans.d.ts +0 -5
  622. package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-plans.js +0 -11
  623. package/.medusa/server/src/workflows/subscription/workflows/index.d.ts +0 -6
  624. package/.medusa/server/src/workflows/subscription/workflows/index.js +0 -23
  625. package/.medusa/server/src/workflows/subscription/workflows/update-subscription-overrides.d.ts +0 -31
  626. package/.medusa/server/src/workflows/subscription/workflows/update-subscription-overrides.js +0 -11
  627. package/.medusa/server/src/workflows/subscription/workflows/update-subscription-plans.d.ts +0 -31
  628. package/.medusa/server/src/workflows/subscription/workflows/update-subscription-plans.js +0 -11
  629. package/.medusa/server/src/workflows/utils/override-workflow.d.ts +0 -12
  630. package/.medusa/server/src/workflows/utils/override-workflow.js +0 -21
  631. /package/.medusa/server/src/links/{brand-seller-link.d.ts → offer-price-link.d.ts} +0 -0
  632. /package/.medusa/server/src/links/{offer-price-set-link.d.ts → product-variant-attribute-link.d.ts} +0 -0
  633. /package/.medusa/server/src/workflows/cart/hooks/{validate-add-to-cart-stock.d.ts → before-refreshing-payment-collection.d.ts} +0 -0
  634. /package/.medusa/server/src/workflows/cart/hooks/{validate-update-line-item-stock.d.ts → set-pricing-context.d.ts} +0 -0
@@ -2,59 +2,34 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.productEditDeleteProductWorkflow = exports.productEditDeleteProductWorkflowId = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
- const core_flows_1 = require("@medusajs/medusa/core-flows");
6
5
  const types_1 = require("@mercurjs/types");
7
- const events_1 = require("../../product/events");
8
6
  const steps_1 = require("../steps");
9
- const auto_confirm_product_change_1 = require("./auto-confirm-product-change");
7
+ const stage_product_change_1 = require("./stage-product-change");
10
8
  exports.productEditDeleteProductWorkflowId = "product-edit-delete-product";
11
9
  /**
12
- * Opens a new pending `ProductChange` carrying a single `PRODUCT_DELETE`
13
- * action proposes soft-deleting the product when the change is
14
- * confirmed. Throws if a pending change already exists for the product.
15
- *
16
- * Distinct from a direct `deleteProducts` call: deletion only takes
17
- * effect after operator confirmation, so vendors cannot remove products
18
- * unilaterally once the change-review pipeline is in use.
10
+ * Vendor "delete product" orchestrator. Stages a `PRODUCT_DELETE`
11
+ * action on a fresh `ProductChange` via `stageProductChangeWorkflow`,
12
+ * which dispatches through `autoConfirmProductChangeWorkflow`
13
+ * either leaves it pending for admin approval (flag on) or applies it
14
+ * inline (flag off).
19
15
  */
20
16
  exports.productEditDeleteProductWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.productEditDeleteProductWorkflowId, function (input) {
21
- const product = (0, steps_1.retrieveProductWithChangeStep)({
22
- product_id: input.product_id,
23
- });
24
- (0, steps_1.validateNoPendingProductChangeStep)({ product });
25
- const changeInput = (0, workflows_sdk_1.transform)({ input }, ({ input }) => [
26
- { product_id: input.product_id, created_by: input.actor_id },
27
- ]);
28
- const changes = (0, steps_1.createProductChangesStep)(changeInput);
29
- const actionInputs = (0, workflows_sdk_1.transform)({ changes, input }, ({ changes, input }) => [
30
- {
31
- product_change_id: changes[0].id,
17
+ (0, steps_1.validateNoPendingProductChangeStep)((0, workflows_sdk_1.transform)({ input }, ({ input }) => ({
18
+ product_ids: [input.product_id],
19
+ })));
20
+ const change = stage_product_change_1.stageProductChangeWorkflow.runAsStep({
21
+ input: (0, workflows_sdk_1.transform)({ input }, ({ input }) => ({
32
22
  product_id: input.product_id,
33
- action: types_1.ProductChangeActionType.PRODUCT_DELETE,
34
- details: {},
35
- internal_note: input.internal_note,
36
- },
37
- ]);
38
- (0, steps_1.createProductChangeActionsStep)(actionInputs);
39
- const change = (0, workflows_sdk_1.transform)({ changes }, ({ changes }) => changes[0]);
40
- (0, core_flows_1.emitEventStep)({
41
- eventName: events_1.ProductWorkflowEvents.EDIT_REQUESTED,
42
- data: (0, workflows_sdk_1.transform)({ input, change }, ({ input, change }) => ({
43
- id: input.product_id,
44
- change_id: change.id,
23
+ created_by: input.created_by,
24
+ actions: [
25
+ {
26
+ product_id: input.product_id,
27
+ action: types_1.ProductChangeActionType.PRODUCT_DELETE,
28
+ details: {},
29
+ },
30
+ ],
45
31
  })),
46
32
  });
47
- auto_confirm_product_change_1.autoConfirmProductChangeWorkflow.runAsStep({
48
- input: (0, workflows_sdk_1.transform)({ change, input }, ({ change, input }) => ({
49
- product_id: input.product_id,
50
- product_change_id: change.id,
51
- actor_id: input.actor_id,
52
- internal_note: input.internal_note,
53
- })),
54
- });
55
- const productEditDeleteRequested = (0, workflows_sdk_1.createHook)("productEditDeleteRequested", { product_id: input.product_id, change });
56
- return new workflows_sdk_1.WorkflowResponse(change, {
57
- hooks: [productEditDeleteRequested],
58
- });
33
+ return new workflows_sdk_1.WorkflowResponse(change);
59
34
  });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1lZGl0LWRlbGV0ZS1wcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LWVkaXQvd29ya2Zsb3dzL3Byb2R1Y3QtZWRpdC1kZWxldGUtcHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMEM7QUFDMUMsNERBQTJEO0FBQzNELDJDQUF5RDtBQUV6RCxpREFBNEQ7QUFDNUQsb0NBS2lCO0FBQ2pCLCtFQUFnRjtBQUVuRSxRQUFBLGtDQUFrQyxHQUM3Qyw2QkFBNkIsQ0FBQTtBQVEvQjs7Ozs7Ozs7R0FRRztBQUNVLFFBQUEsZ0NBQWdDLEdBQUcsSUFBQSw4QkFBYyxFQUM1RCwwQ0FBa0MsRUFDbEMsVUFBVSxLQUE0QztJQUNwRCxNQUFNLE9BQU8sR0FBRyxJQUFBLHFDQUE2QixFQUFDO1FBQzVDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtLQUM3QixDQUFDLENBQUE7SUFFRixJQUFBLDBDQUFrQyxFQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUUvQyxNQUFNLFdBQVcsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3RELEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7S0FDN0QsQ0FBQyxDQUFBO0lBRUYsTUFBTSxPQUFPLEdBQUcsSUFBQSxnQ0FBd0IsRUFBQyxXQUFXLENBQUMsQ0FBQTtJQUVyRCxNQUFNLFlBQVksR0FBRyxJQUFBLHlCQUFTLEVBQzVCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUNsQixDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUN0QjtZQUNFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixNQUFNLEVBQUUsK0JBQXVCLENBQUMsY0FBYztZQUM5QyxPQUFPLEVBQUUsRUFBRTtZQUNYLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtTQUNuQztLQUNGLENBQ0YsQ0FBQTtJQUVELElBQUEsc0NBQThCLEVBQUMsWUFBWSxDQUFDLENBQUE7SUFFNUMsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVsRSxJQUFBLDBCQUFhLEVBQUM7UUFDWixTQUFTLEVBQUUsOEJBQXFCLENBQUMsY0FBYztRQUMvQyxJQUFJLEVBQUUsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekQsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQ3BCLFNBQVMsRUFBRyxNQUFjLENBQUMsRUFBRTtTQUM5QixDQUFDLENBQUM7S0FDSixDQUFDLENBQUE7SUFFRiw4REFBZ0MsQ0FBQyxTQUFTLENBQUM7UUFDekMsS0FBSyxFQUFFLElBQUEseUJBQVMsRUFBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzFELFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixpQkFBaUIsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUM1QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1NBQ25DLENBQUMsQ0FBQztLQUNKLENBQUMsQ0FBQTtJQUVGLE1BQU0sMEJBQTBCLEdBQUcsSUFBQSwwQkFBVSxFQUMzQyw0QkFBNEIsRUFDNUIsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FDekMsQ0FBQTtJQUVELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxNQUFNLEVBQUU7UUFDbEMsS0FBSyxFQUFFLENBQUMsMEJBQTBCLENBQUM7S0FDcEMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1lZGl0LWRlbGV0ZS1wcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LWVkaXQvd29ya2Zsb3dzL3Byb2R1Y3QtZWRpdC1kZWxldGUtcHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxRUFLMEM7QUFDMUMsMkNBR3dCO0FBRXhCLG9DQUE2RDtBQUM3RCxpRUFBbUU7QUFPdEQsUUFBQSxrQ0FBa0MsR0FDN0MsNkJBQTZCLENBQUE7QUFFL0I7Ozs7OztHQU1HO0FBQ1UsUUFBQSxnQ0FBZ0MsR0FJekMsSUFBQSw4QkFBYyxFQUNoQiwwQ0FBa0MsRUFDbEMsVUFBVSxLQUE0QztJQUNwRCxJQUFBLDBDQUFrQyxFQUNoQyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztLQUNoQyxDQUFDLENBQUMsQ0FDSixDQUFBO0lBRUQsTUFBTSxNQUFNLEdBQUcsaURBQTBCLENBQUMsU0FBUyxDQUFDO1FBQ2xELEtBQUssRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO29CQUM1QixNQUFNLEVBQUUsK0JBQXVCLENBQUMsY0FBYztvQkFDOUMsT0FBTyxFQUFFLEVBQUU7aUJBQ1o7YUFDRjtTQUNGLENBQUMsQ0FBQztLQUNKLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNyQyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,55 @@
1
+ import { AdditionalData } from "@medusajs/framework/types";
2
+ import { type ReturnWorkflow } from "@medusajs/framework/workflows-sdk";
3
+ import { AttributeType, ProductChangeDTO } from "@mercurjs/types";
4
+ /**
5
+ * Existing-attribute reference passed by the vendor. `value_ids` are
6
+ * already `ProductAttributeValue` ids; if the caller passed value
7
+ * `values` (names) instead, the route resolves them via
8
+ * `upsertProductAttributeValuesWorkflow` before invoking this flow.
9
+ */
10
+ export type ProductEditAttributeAddExistingOperation = {
11
+ type: "add";
12
+ attribute_id: string;
13
+ value_ids?: string[];
14
+ values?: string[];
15
+ };
16
+ /**
17
+ * Inline-create reference — the vendor is creating a product-scoped
18
+ * attribute and its values in the same submission. The attribute and
19
+ * its values are created up-front; the `ProductChangeAction` only
20
+ * stages the *link* between product and value.
21
+ */
22
+ export type ProductEditAttributeAddInlineOperation = {
23
+ type: "add";
24
+ attribute_id?: undefined;
25
+ name: string;
26
+ attribute_type: AttributeType;
27
+ values: string[];
28
+ is_variant_axis?: boolean;
29
+ is_filterable?: boolean;
30
+ is_required?: boolean;
31
+ description?: string | null;
32
+ metadata?: Record<string, unknown> | null;
33
+ };
34
+ export type ProductEditAttributeRemoveOperation = {
35
+ type: "remove";
36
+ attribute_id: string;
37
+ };
38
+ export type ProductEditAttributeOperation = ProductEditAttributeAddExistingOperation | ProductEditAttributeAddInlineOperation | ProductEditAttributeRemoveOperation;
39
+ export type ProductEditUpdateAttributesWorkflowInput = {
40
+ product_id: string;
41
+ created_by?: string;
42
+ operations: ProductEditAttributeOperation[];
43
+ } & AdditionalData;
44
+ export declare const productEditUpdateAttributesWorkflowId = "product-edit-update-attributes";
45
+ /**
46
+ * Vendor "edit product attributes" orchestrator. Supports
47
+ * attach-existing and inline-create on the add path, plus detach on
48
+ * the remove path. Inline-create writes a real product-scoped
49
+ * `ProductAttribute` + values up-front so the staged action can carry
50
+ * pre-resolved `attribute_value_ids` — the dispatcher contract
51
+ * documented in `apply-product-change-actions.ts`. The link between
52
+ * product and value is what gets staged, not the attribute schema.
53
+ */
54
+ export declare const productEditUpdateAttributesWorkflow: ReturnWorkflow<ProductEditUpdateAttributesWorkflowInput, ProductChangeDTO, [
55
+ ]>;
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.productEditUpdateAttributesWorkflow = exports.productEditUpdateAttributesWorkflowId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const types_1 = require("@mercurjs/types");
7
+ const steps_1 = require("../steps");
8
+ const materialize_product_attributes_1 = require("../../product-attribute/workflows/materialize-product-attributes");
9
+ const steps_2 = require("../../product/steps");
10
+ const stage_product_change_1 = require("./stage-product-change");
11
+ exports.productEditUpdateAttributesWorkflowId = "product-edit-update-attributes";
12
+ /**
13
+ * Vendor "edit product attributes" orchestrator. Supports
14
+ * attach-existing and inline-create on the add path, plus detach on
15
+ * the remove path. Inline-create writes a real product-scoped
16
+ * `ProductAttribute` + values up-front so the staged action can carry
17
+ * pre-resolved `attribute_value_ids` — the dispatcher contract
18
+ * documented in `apply-product-change-actions.ts`. The link between
19
+ * product and value is what gets staged, not the attribute schema.
20
+ */
21
+ exports.productEditUpdateAttributesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.productEditUpdateAttributesWorkflowId, function (input) {
22
+ (0, steps_1.validateNoPendingProductChangeStep)((0, workflows_sdk_1.transform)({ input }, ({ input }) => ({
23
+ product_ids: [input.product_id],
24
+ })));
25
+ // Build resolveAttributeRefsStep input. Variant-axis routing is a
26
+ // detail the apply-actions dispatcher handles when creating links
27
+ // — we just need value_id resolution here, so everything goes into
28
+ // `product_attributes`.
29
+ const resolveGroups = (0, workflows_sdk_1.transform)({ input }, ({ input }) => {
30
+ const refs = [];
31
+ for (const op of input.operations ?? []) {
32
+ if (op.type !== "add")
33
+ continue;
34
+ if (op.attribute_id !== undefined) {
35
+ refs.push({
36
+ attribute_id: op.attribute_id,
37
+ value_ids: op.value_ids,
38
+ values: op.values,
39
+ });
40
+ }
41
+ else {
42
+ refs.push({
43
+ name: op.name,
44
+ type: op.attribute_type,
45
+ values: op.values,
46
+ is_variant_axis: op.is_variant_axis,
47
+ is_filterable: op.is_filterable,
48
+ is_required: op.is_required,
49
+ description: op.description ?? undefined,
50
+ metadata: op.metadata ?? undefined,
51
+ });
52
+ }
53
+ }
54
+ return [{ product_attributes: refs }];
55
+ });
56
+ const resolved = (0, steps_2.resolveAttributeRefsStep)({ groups: resolveGroups });
57
+ const inlinePlan = (0, workflows_sdk_1.transform)({ input, resolved }, ({ input, resolved }) => (0, steps_2.buildInlinePlan)(resolved, () => input.product_id));
58
+ // Free-form values (unit/text/toggle) submitted against an existing
59
+ // attribute won't pre-exist in the attribute's preset `values`, so
60
+ // `resolveAttributeRefsStep` leaves them out of `value_ids`.
61
+ // Materialise the unresolved names so the staged action carries
62
+ // resolved ids (the dispatcher contract in
63
+ // `apply-product-change-actions.ts`). Select-type misses are not
64
+ // valid free-form values — surface as NOT_FOUND.
65
+ const freeFormValueInput = (0, workflows_sdk_1.transform)({ input, resolved }, ({ input, resolved }) => {
66
+ const existing = resolved[0]?.existing_product ?? [];
67
+ const requestedByAttrId = new Map();
68
+ for (const op of input.operations ?? []) {
69
+ if (op.type !== "add")
70
+ continue;
71
+ if (op.attribute_id === undefined)
72
+ continue;
73
+ if (!op.values?.length)
74
+ continue;
75
+ requestedByAttrId.set(op.attribute_id, op.values);
76
+ }
77
+ const out = [];
78
+ for (const ref of existing) {
79
+ const requested = requestedByAttrId.get(ref.attribute_id);
80
+ if (!requested?.length)
81
+ continue;
82
+ const resolvedNames = new Set(ref.value_names);
83
+ const seen = new Set();
84
+ const unresolved = [];
85
+ for (const raw of requested) {
86
+ const name = raw?.trim();
87
+ if (!name)
88
+ continue;
89
+ if (resolvedNames.has(name))
90
+ continue;
91
+ if (seen.has(name))
92
+ continue;
93
+ seen.add(name);
94
+ unresolved.push(name);
95
+ }
96
+ if (!unresolved.length)
97
+ continue;
98
+ if (ref.attribute_type === types_1.AttributeType.SINGLE_SELECT ||
99
+ ref.attribute_type === types_1.AttributeType.MULTI_SELECT) {
100
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Product attribute value(s) ${unresolved
101
+ .map((v) => `"${v}"`)
102
+ .join(", ")} not found on attribute ${ref.attribute_id}`);
103
+ }
104
+ for (const name of unresolved) {
105
+ out.push({ name, attribute_id: ref.attribute_id });
106
+ }
107
+ }
108
+ return out;
109
+ });
110
+ const materialized = materialize_product_attributes_1.materializeProductAttributesWorkflow.runAsStep({
111
+ input: (0, workflows_sdk_1.transform)({ inlinePlan, freeFormValueInput }, ({ inlinePlan, freeFormValueInput }) => ({
112
+ plan: inlinePlan,
113
+ free_form_values: freeFormValueInput,
114
+ })),
115
+ });
116
+ const createdInlineAttrs = (0, workflows_sdk_1.transform)({ materialized }, ({ materialized }) => materialized.inline_attributes);
117
+ const createdInlineValues = (0, workflows_sdk_1.transform)({ materialized }, ({ materialized }) => materialized.inline_values);
118
+ const createdFreeFormValues = (0, workflows_sdk_1.transform)({ materialized }, ({ materialized }) => materialized.free_form_values);
119
+ const actions = (0, workflows_sdk_1.transform)({
120
+ input,
121
+ resolved,
122
+ createdInlineAttrs,
123
+ createdInlineValues,
124
+ createdFreeFormValues,
125
+ }, ({ input, resolved, createdInlineAttrs, createdInlineValues, createdFreeFormValues, }) => {
126
+ const acts = [];
127
+ const existing = resolved[0]?.existing_product ?? [];
128
+ const inlines = resolved[0]?.inline_product ?? [];
129
+ const freeFormByAttrId = new Map();
130
+ for (const v of createdFreeFormValues ?? []) {
131
+ const aid = v.attribute_id;
132
+ if (!aid)
133
+ continue;
134
+ const list = freeFormByAttrId.get(aid) ?? [];
135
+ list.push(v.id);
136
+ freeFormByAttrId.set(aid, list);
137
+ }
138
+ for (const r of existing) {
139
+ const newIds = freeFormByAttrId.get(r.attribute_id) ?? [];
140
+ const allIds = [...r.value_ids, ...newIds];
141
+ if (!allIds.length)
142
+ continue;
143
+ acts.push({
144
+ product_id: input.product_id,
145
+ action: types_1.ProductChangeActionType.ATTRIBUTE_ADD,
146
+ details: {
147
+ attribute_id: r.attribute_id,
148
+ attribute_value_ids: allIds,
149
+ },
150
+ });
151
+ }
152
+ const valuesByAttrId = new Map();
153
+ for (const v of createdInlineValues ?? []) {
154
+ const aid = v.attribute_id;
155
+ if (!aid)
156
+ continue;
157
+ const list = valuesByAttrId.get(aid) ?? [];
158
+ list.push(v.id);
159
+ valuesByAttrId.set(aid, list);
160
+ }
161
+ inlines.forEach((_inline, idx) => {
162
+ const attr = createdInlineAttrs[idx];
163
+ const attributeId = attr?.id;
164
+ if (!attributeId)
165
+ return;
166
+ const valueIds = valuesByAttrId.get(attributeId) ?? [];
167
+ if (!valueIds.length)
168
+ return;
169
+ acts.push({
170
+ product_id: input.product_id,
171
+ action: types_1.ProductChangeActionType.ATTRIBUTE_ADD,
172
+ details: {
173
+ attribute_id: attributeId,
174
+ attribute_value_ids: valueIds,
175
+ },
176
+ });
177
+ });
178
+ for (const op of input.operations ?? []) {
179
+ if (op.type !== "remove")
180
+ continue;
181
+ acts.push({
182
+ product_id: input.product_id,
183
+ action: types_1.ProductChangeActionType.ATTRIBUTE_REMOVE,
184
+ details: { attribute_id: op.attribute_id },
185
+ });
186
+ }
187
+ return acts;
188
+ });
189
+ const change = stage_product_change_1.stageProductChangeWorkflow.runAsStep({
190
+ input: (0, workflows_sdk_1.transform)({ input, actions }, ({ input, actions }) => ({
191
+ product_id: input.product_id,
192
+ created_by: input.created_by,
193
+ actions,
194
+ })),
195
+ });
196
+ return new workflows_sdk_1.WorkflowResponse(change);
197
+ });
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1lZGl0LXVwZGF0ZS1hdHRyaWJ1dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LWVkaXQvd29ya2Zsb3dzL3Byb2R1Y3QtZWRpdC11cGRhdGUtYXR0cmlidXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBdUQ7QUFDdkQscUVBSzBDO0FBQzFDLDJDQU13QjtBQUV4QixvQ0FBNkQ7QUFDN0QscUhBQXVIO0FBQ3ZILCtDQUErRTtBQUMvRSxpRUFBbUU7QUFrRHRELFFBQUEscUNBQXFDLEdBQ2hELGdDQUFnQyxDQUFBO0FBRWxDOzs7Ozs7OztHQVFHO0FBQ1UsUUFBQSxtQ0FBbUMsR0FJNUMsSUFBQSw4QkFBYyxFQUNoQiw2Q0FBcUMsRUFDckMsVUFBVSxLQUErQztJQUN2RCxJQUFBLDBDQUFrQyxFQUNoQyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztLQUNoQyxDQUFDLENBQUMsQ0FDSixDQUFBO0lBRUQsa0VBQWtFO0lBQ2xFLGtFQUFrRTtJQUNsRSxtRUFBbUU7SUFDbkUsd0JBQXdCO0lBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQ3ZELE1BQU0sSUFBSSxHQUErQixFQUFFLENBQUE7UUFDM0MsS0FBSyxNQUFNLEVBQUUsSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxLQUFLO2dCQUFFLFNBQVE7WUFDL0IsSUFBSSxFQUFFLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFD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
@@ -1,18 +1,25 @@
1
- export declare const productEditUpdateFieldsWorkflowId = "product-edit-update-fields";
2
- type ProductEditUpdateFieldsWorkflowInput = {
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 ProductEditUpdateFieldsWorkflowInput = {
3
5
  product_id: string;
4
- updates: Record<string, unknown>;
5
- actor_id?: string;
6
- internal_note?: string;
7
- };
6
+ created_by?: string;
7
+ update: Record<string, unknown>;
8
+ } & AdditionalData;
9
+ export declare const productEditUpdateFieldsWorkflowId = "product-edit-update-fields";
8
10
  /**
9
- * Opens a new pending `ProductChange` carrying one `UPDATE` action per
10
- * changed top-level Product field. Throws if another pending change
11
- * already exists for the product. No-op fields (proposed value === current
12
- * value) are dropped.
11
+ * Vendor "edit product fields" orchestrator. Diffs the proposed
12
+ * payload against the current product, stages one
13
+ * `ProductChangeAction` per changed field (`STATUS_CHANGE` for
14
+ * `status`, `UPDATE { field, value }` for everything else) via
15
+ * `stageProductChangeWorkflow`. The shared building block runs the
16
+ * auto-confirm conditional so the change is applied inline when the
17
+ * marketplace has the `PRODUCT_REQUEST` flag disabled.
18
+ *
19
+ * The dispatcher (`applyProductChangeActionsWorkflow`) collapses all
20
+ * UPDATE actions for the same product into a single
21
+ * `updateProductsWorkflow` call, so emitting field-granular actions
22
+ * still costs one core workflow run.
13
23
  */
14
- export declare const productEditUpdateFieldsWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<ProductEditUpdateFieldsWorkflowInput, any, [import("@medusajs/framework/workflows-sdk").Hook<"productEditFieldsRequested", {
15
- product_id: string;
16
- change: any;
17
- }, unknown>]>;
18
- export {};
24
+ export declare const productEditUpdateFieldsWorkflow: ReturnWorkflow<ProductEditUpdateFieldsWorkflowInput, ProductChangeDTO, [
25
+ ]>;
@@ -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
+ ]>;