@mercurjs/core 2.2.0-canary.29 → 2.2.0-canary.30

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 (401) hide show
  1. package/.medusa/server/src/api/admin/claims/[id]/outbound/items/route.d.ts +0 -7
  2. package/.medusa/server/src/api/admin/claims/[id]/outbound/items/route.js +1 -8
  3. package/.medusa/server/src/api/admin/claims/[id]/request/route.d.ts +0 -6
  4. package/.medusa/server/src/api/admin/claims/[id]/request/route.js +1 -7
  5. package/.medusa/server/src/api/admin/collections/middlewares.js +1 -7
  6. package/.medusa/server/src/api/admin/collections/validators.d.ts +20 -29
  7. package/.medusa/server/src/api/admin/commission-rates/validators.d.ts +40 -39
  8. package/.medusa/server/src/api/admin/customer-groups/middlewares.js +1 -6
  9. package/.medusa/server/src/api/admin/customer-groups/validators.d.ts +55 -551
  10. package/.medusa/server/src/api/admin/customer-groups/validators.js +2 -3
  11. package/.medusa/server/src/api/admin/exchanges/[id]/outbound/items/route.d.ts +0 -8
  12. package/.medusa/server/src/api/admin/exchanges/[id]/outbound/items/route.js +1 -9
  13. package/.medusa/server/src/api/admin/exchanges/[id]/request/route.d.ts +0 -6
  14. package/.medusa/server/src/api/admin/exchanges/[id]/request/route.js +1 -7
  15. package/.medusa/server/src/api/admin/members/validators.d.ts +12 -13
  16. package/.medusa/server/src/api/admin/offers/validators.d.ts +16 -17
  17. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.d.ts +0 -9
  18. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.js +1 -10
  19. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.d.ts +0 -11
  20. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.js +1 -12
  21. package/.medusa/server/src/api/admin/order-groups/apply-request-filter.js +4 -10
  22. package/.medusa/server/src/api/admin/order-groups/validators.d.ts +16 -17
  23. package/.medusa/server/src/api/admin/order-groups/validators.js +1 -6
  24. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.d.ts +0 -9
  25. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.js +1 -10
  26. package/.medusa/server/src/api/admin/orders/validators.d.ts +1 -333
  27. package/.medusa/server/src/api/admin/payouts/validators.d.ts +16 -17
  28. package/.medusa/server/src/api/admin/product-attributes/middlewares.js +1 -3
  29. package/.medusa/server/src/api/admin/product-attributes/route.js +1 -4
  30. package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +99 -110
  31. package/.medusa/server/src/api/admin/product-attributes/validators.js +1 -3
  32. package/.medusa/server/src/api/admin/product-categories/validators.d.ts +87 -89
  33. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.d.ts +0 -7
  34. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +1 -8
  35. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.d.ts +0 -7
  36. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +1 -8
  37. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +6 -9
  38. package/.medusa/server/src/api/admin/products/[id]/confirm/route.d.ts +0 -12
  39. package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +1 -13
  40. package/.medusa/server/src/api/admin/products/[id]/preview/route.d.ts +0 -7
  41. package/.medusa/server/src/api/admin/products/[id]/preview/route.js +1 -8
  42. package/.medusa/server/src/api/admin/products/[id]/reject/route.d.ts +0 -8
  43. package/.medusa/server/src/api/admin/products/[id]/reject/route.js +1 -9
  44. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.d.ts +0 -9
  45. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +1 -10
  46. package/.medusa/server/src/api/admin/products/[id]/route.js +2 -6
  47. package/.medusa/server/src/api/admin/products/[id]/sellers/route.d.ts +3 -0
  48. package/.medusa/server/src/api/admin/products/[id]/sellers/route.js +13 -0
  49. package/.medusa/server/src/api/admin/products/middlewares.js +4 -42
  50. package/.medusa/server/src/api/admin/products/query-config.js +41 -16
  51. package/.medusa/server/src/api/admin/products/route.js +2 -5
  52. package/.medusa/server/src/api/admin/products/validators.d.ts +512 -1288
  53. package/.medusa/server/src/api/admin/products/validators.js +55 -96
  54. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.d.ts +0 -6
  55. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.js +1 -7
  56. package/.medusa/server/src/api/admin/sellers/middlewares.js +1 -20
  57. package/.medusa/server/src/api/admin/sellers/validators.d.ts +59 -79
  58. package/.medusa/server/src/api/store/carts/[id]/complete/route.js +1 -5
  59. package/.medusa/server/src/api/store/carts/[id]/complete/validators.d.ts +1 -1
  60. package/.medusa/server/src/api/store/offers/validators.d.ts +19 -20
  61. package/.medusa/server/src/api/store/order-groups/validators.d.ts +14 -15
  62. package/.medusa/server/src/api/store/product-attributes/validators.d.ts +50 -46
  63. package/.medusa/server/src/api/store/product-categories/validators.d.ts +59 -53
  64. package/.medusa/server/src/api/store/products/[id]/route.js +1 -5
  65. package/.medusa/server/src/api/store/products/middlewares.js +1 -7
  66. package/.medusa/server/src/api/store/products/query-config.js +23 -7
  67. package/.medusa/server/src/api/store/products/validators.d.ts +69 -65
  68. package/.medusa/server/src/api/store/sellers/validators.d.ts +35 -34
  69. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.d.ts +0 -15
  70. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.js +22 -26
  71. package/.medusa/server/src/api/utils/format-product-attributes.d.ts +5 -50
  72. package/.medusa/server/src/api/utils/format-product-attributes.js +90 -166
  73. package/.medusa/server/src/api/utils/index.d.ts +1 -0
  74. package/.medusa/server/src/api/utils/index.js +2 -1
  75. package/.medusa/server/src/api/utils/offers.d.ts +2 -29
  76. package/.medusa/server/src/api/utils/offers.js +3 -40
  77. package/.medusa/server/src/api/utils/order-commission-lines.d.ts +0 -7
  78. package/.medusa/server/src/api/utils/order-commission-lines.js +1 -8
  79. package/.medusa/server/src/api/utils/product-attribute-fields.d.ts +5 -0
  80. package/.medusa/server/src/api/utils/product-attribute-fields.js +35 -0
  81. package/.medusa/server/src/api/vendor/campaigns/validators.d.ts +12 -13
  82. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.d.ts +0 -6
  83. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.js +1 -7
  84. package/.medusa/server/src/api/vendor/claims/[id]/request/route.js +1 -4
  85. package/.medusa/server/src/api/vendor/claims/validators.d.ts +14 -15
  86. package/.medusa/server/src/api/vendor/collections/validators.d.ts +18 -19
  87. package/.medusa/server/src/api/vendor/currencies/validators.d.ts +12 -13
  88. package/.medusa/server/src/api/vendor/customer-groups/validators.d.ts +16 -17
  89. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.js +1 -2
  90. package/.medusa/server/src/api/vendor/customers/[id]/route.js +1 -3
  91. package/.medusa/server/src/api/vendor/customers/validators.d.ts +35 -34
  92. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.d.ts +0 -6
  93. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.js +1 -7
  94. package/.medusa/server/src/api/vendor/exchanges/[id]/request/route.js +1 -4
  95. package/.medusa/server/src/api/vendor/exchanges/validators.d.ts +13 -14
  96. package/.medusa/server/src/api/vendor/fulfillment-providers/validators.d.ts +24 -23
  97. package/.medusa/server/src/api/vendor/fulfillment-sets/validators.d.ts +2 -2
  98. package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +98 -104
  99. package/.medusa/server/src/api/vendor/offers/validators.d.ts +20 -25
  100. package/.medusa/server/src/api/vendor/offers/validators.js +1 -5
  101. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.d.ts +0 -11
  102. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.js +1 -12
  103. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.d.ts +0 -9
  104. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.js +1 -10
  105. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.d.ts +0 -6
  106. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.js +1 -7
  107. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.d.ts +0 -12
  108. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.js +1 -13
  109. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.d.ts +0 -7
  110. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.js +1 -8
  111. package/.medusa/server/src/api/vendor/order-edits/[id]/route.d.ts +0 -7
  112. package/.medusa/server/src/api/vendor/order-edits/[id]/route.js +1 -8
  113. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.d.ts +0 -9
  114. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.js +1 -10
  115. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.d.ts +0 -5
  116. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.js +1 -6
  117. package/.medusa/server/src/api/vendor/order-edits/middlewares.js +1 -13
  118. package/.medusa/server/src/api/vendor/order-edits/route.d.ts +0 -6
  119. package/.medusa/server/src/api/vendor/order-edits/route.js +1 -7
  120. package/.medusa/server/src/api/vendor/order-edits/validators.d.ts +0 -6
  121. package/.medusa/server/src/api/vendor/order-edits/validators.js +1 -1
  122. package/.medusa/server/src/api/vendor/orders/apply-request-filter.js +1 -4
  123. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.d.ts +0 -18
  124. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.js +1 -1
  125. package/.medusa/server/src/api/vendor/orders/validators.d.ts +19 -20
  126. package/.medusa/server/src/api/vendor/payment-collections/validators.d.ts +1 -1
  127. package/.medusa/server/src/api/vendor/payments/helpers.d.ts +0 -9
  128. package/.medusa/server/src/api/vendor/payments/helpers.js +1 -10
  129. package/.medusa/server/src/api/vendor/payments/validators.d.ts +36 -36
  130. package/.medusa/server/src/api/vendor/payout-accounts/validators.d.ts +11 -12
  131. package/.medusa/server/src/api/vendor/payouts/validators.d.ts +16 -17
  132. package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +26 -28
  133. package/.medusa/server/src/api/vendor/price-preferences/validators.d.ts +12 -13
  134. package/.medusa/server/src/api/vendor/product-attributes/route.js +1 -3
  135. package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +74 -86
  136. package/.medusa/server/src/api/vendor/product-attributes/validators.js +1 -1
  137. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.js +2 -2
  138. package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +89 -83
  139. package/.medusa/server/src/api/vendor/product-tags/validators.d.ts +2 -2
  140. package/.medusa/server/src/api/vendor/product-types/validators.d.ts +12 -13
  141. package/.medusa/server/src/api/vendor/product-variants/middlewares.js +11 -19
  142. package/.medusa/server/src/api/vendor/product-variants/query-config.js +1 -3
  143. package/.medusa/server/src/api/vendor/product-variants/validators.d.ts +103 -97
  144. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.d.ts +2 -9
  145. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.js +3 -27
  146. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +0 -6
  147. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +1 -7
  148. package/.medusa/server/src/api/vendor/products/[id]/preview/route.d.ts +0 -9
  149. package/.medusa/server/src/api/vendor/products/[id]/preview/route.js +1 -10
  150. package/.medusa/server/src/api/vendor/products/[id]/route.d.ts +0 -14
  151. package/.medusa/server/src/api/vendor/products/[id]/route.js +3 -21
  152. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.d.ts +0 -8
  153. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +2 -16
  154. package/.medusa/server/src/api/vendor/products/[id]/variants/route.d.ts +0 -7
  155. package/.medusa/server/src/api/vendor/products/[id]/variants/route.js +2 -9
  156. package/.medusa/server/src/api/vendor/products/helpers.d.ts +6 -5
  157. package/.medusa/server/src/api/vendor/products/helpers.js +54 -10
  158. package/.medusa/server/src/api/vendor/products/middlewares.js +14 -65
  159. package/.medusa/server/src/api/vendor/products/query-config.js +44 -15
  160. package/.medusa/server/src/api/vendor/products/route.d.ts +0 -9
  161. package/.medusa/server/src/api/vendor/products/route.js +7 -21
  162. package/.medusa/server/src/api/vendor/products/validators.d.ts +404 -830
  163. package/.medusa/server/src/api/vendor/products/validators.js +59 -112
  164. package/.medusa/server/src/api/vendor/promotions/validators.d.ts +43 -45
  165. package/.medusa/server/src/api/vendor/refund-reasons/validators.d.ts +16 -17
  166. package/.medusa/server/src/api/vendor/regions/validators.d.ts +16 -17
  167. package/.medusa/server/src/api/vendor/reservations/[id]/route.js +1 -1
  168. package/.medusa/server/src/api/vendor/reservations/helpers.js +1 -4
  169. package/.medusa/server/src/api/vendor/reservations/query-config.js +1 -4
  170. package/.medusa/server/src/api/vendor/reservations/route.js +1 -1
  171. package/.medusa/server/src/api/vendor/reservations/validators.d.ts +22 -23
  172. package/.medusa/server/src/api/vendor/reservations/validators.js +1 -1
  173. package/.medusa/server/src/api/vendor/return-reasons/validators.d.ts +16 -17
  174. package/.medusa/server/src/api/vendor/returns/validators.d.ts +22 -23
  175. package/.medusa/server/src/api/vendor/sales-channels/helpers.js +6 -1
  176. package/.medusa/server/src/api/vendor/sales-channels/validators.d.ts +25 -24
  177. package/.medusa/server/src/api/vendor/sellers/middlewares.js +1 -18
  178. package/.medusa/server/src/api/vendor/sellers/route.js +1 -4
  179. package/.medusa/server/src/api/vendor/sellers/validators.d.ts +16 -37
  180. package/.medusa/server/src/api/vendor/sellers/validators.js +1 -4
  181. package/.medusa/server/src/api/vendor/shipping-option-types/validators.d.ts +16 -17
  182. package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +33 -34
  183. package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +16 -17
  184. package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +16 -17
  185. package/.medusa/server/src/api/vendor/stores/validators.d.ts +12 -13
  186. package/.medusa/server/src/links/product-attribute-category-link.d.ts +6 -11
  187. package/.medusa/server/src/links/product-attribute-category-link.js +10 -20
  188. package/.medusa/server/src/links/product-attribute-option-mirror-link.d.ts +6 -0
  189. package/.medusa/server/src/links/product-attribute-option-mirror-link.js +24 -0
  190. package/.medusa/server/src/links/product-attribute-product-link.d.ts +0 -5
  191. package/.medusa/server/src/links/product-attribute-product-link.js +2 -7
  192. package/.medusa/server/src/links/product-attribute-value-option-value-mirror-link.d.ts +6 -0
  193. package/.medusa/server/src/links/product-attribute-value-option-value-mirror-link.js +24 -0
  194. package/.medusa/server/src/links/{product-variant-attribute-link.d.ts → product-attribute-value-pivot-link.d.ts} +3 -0
  195. package/.medusa/server/src/links/product-attribute-value-pivot-link.js +23 -0
  196. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000002.d.ts +14 -0
  197. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000002.js +31 -0
  198. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.d.ts +2 -0
  199. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.js +2 -1
  200. package/.medusa/server/src/modules/product-attribute/models/product-attribute.d.ts +2 -0
  201. package/.medusa/server/src/modules/product-attribute/models/product-attribute.js +2 -1
  202. package/.medusa/server/src/modules/product-attribute/service.d.ts +18 -3
  203. package/.medusa/server/src/modules/product-attribute/service.js +213 -1
  204. package/.medusa/server/src/modules/seller/repositories/order-group.js +1 -11
  205. package/.medusa/server/src/modules/seller/service.js +1 -2
  206. package/.medusa/server/src/workflows/cart/hooks/validate.js +1 -12
  207. package/.medusa/server/src/workflows/cart/steps/prepare-adjustments-from-promotion-actions.js +3 -5
  208. package/.medusa/server/src/workflows/cart/utils/fields.js +1 -13
  209. package/.medusa/server/src/workflows/cart/utils/prepare-line-item-data.js +1 -3
  210. package/.medusa/server/src/workflows/cart/workflows/add-seller-shipping-method-to-cart.js +1 -2
  211. package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +1 -24
  212. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.d.ts +2 -2
  213. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.js +1 -2
  214. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.d.ts +0 -4
  215. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.js +1 -5
  216. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.d.ts +0 -3
  217. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.js +1 -4
  218. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rates.d.ts +1 -2
  219. package/.medusa/server/src/workflows/media/steps/create-images.d.ts +0 -3
  220. package/.medusa/server/src/workflows/media/steps/create-images.js +1 -4
  221. package/.medusa/server/src/workflows/media/steps/delete-images.d.ts +0 -3
  222. package/.medusa/server/src/workflows/media/steps/delete-images.js +1 -4
  223. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.d.ts +0 -8
  224. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.js +1 -6
  225. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.d.ts +0 -8
  226. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.js +1 -6
  227. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.d.ts +0 -4
  228. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.js +1 -6
  229. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.d.ts +0 -5
  230. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.js +1 -7
  231. package/.medusa/server/src/workflows/media/workflows/set-category-images.d.ts +0 -11
  232. package/.medusa/server/src/workflows/media/workflows/set-category-images.js +1 -10
  233. package/.medusa/server/src/workflows/media/workflows/set-collection-images.d.ts +0 -12
  234. package/.medusa/server/src/workflows/media/workflows/set-collection-images.js +1 -11
  235. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.d.ts +0 -7
  236. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.js +1 -5
  237. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.d.ts +0 -7
  238. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.js +1 -5
  239. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.d.ts +0 -12
  240. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.js +1 -16
  241. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.d.ts +0 -9
  242. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.js +1 -10
  243. package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +0 -5
  244. package/.medusa/server/src/workflows/offer/steps/update-offers.js +1 -1
  245. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.d.ts +0 -11
  246. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.js +1 -12
  247. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.d.ts +0 -10
  248. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.js +1 -19
  249. package/.medusa/server/src/workflows/offer/workflows/create-offers.js +1 -14
  250. package/.medusa/server/src/workflows/offer/workflows/update-offers.d.ts +0 -11
  251. package/.medusa/server/src/workflows/offer/workflows/update-offers.js +1 -22
  252. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.d.ts +1 -2
  253. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.js +1 -2
  254. package/.medusa/server/src/workflows/order/workflows/confirm-claim-request.js +1 -3
  255. package/.medusa/server/src/workflows/order/workflows/confirm-exchange-request.js +1 -8
  256. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.js +1 -1
  257. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +1 -9
  258. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.js +2 -3
  259. package/.medusa/server/src/workflows/order-group/utils/aggregate-status.js +1 -7
  260. package/.medusa/server/src/workflows/product/events.d.ts +0 -6
  261. package/.medusa/server/src/workflows/product/events.js +1 -7
  262. package/.medusa/server/src/workflows/product/steps/index.d.ts +0 -2
  263. package/.medusa/server/src/workflows/product/steps/index.js +1 -3
  264. package/.medusa/server/src/workflows/product/steps/validate-products-status.d.ts +0 -8
  265. package/.medusa/server/src/workflows/product/steps/validate-products-status.js +1 -9
  266. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.js +1 -3
  267. package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +0 -16
  268. package/.medusa/server/src/workflows/product/workflows/confirm-products.js +1 -13
  269. package/.medusa/server/src/workflows/product/workflows/create-products.d.ts +4 -74
  270. package/.medusa/server/src/workflows/product/workflows/create-products.js +70 -209
  271. package/.medusa/server/src/workflows/product/workflows/index.d.ts +0 -1
  272. package/.medusa/server/src/workflows/product/workflows/index.js +1 -2
  273. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.d.ts +0 -7
  274. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.js +1 -1
  275. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.d.ts +0 -7
  276. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.js +1 -1
  277. package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +0 -7
  278. package/.medusa/server/src/workflows/product/workflows/reject-product.js +1 -8
  279. package/.medusa/server/src/workflows/product/workflows/request-product-change.d.ts +0 -14
  280. package/.medusa/server/src/workflows/product/workflows/request-product-change.js +1 -15
  281. package/.medusa/server/src/workflows/product-attribute/events.d.ts +0 -9
  282. package/.medusa/server/src/workflows/product-attribute/events.js +1 -10
  283. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.d.ts +1 -31
  284. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.d.ts +1 -41
  285. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.js +1 -1
  286. package/.medusa/server/src/workflows/product-attribute/steps/detach-product-option-values-from-product.d.ts +14 -0
  287. package/.medusa/server/src/workflows/product-attribute/steps/detach-product-option-values-from-product.js +40 -0
  288. package/.medusa/server/src/workflows/product-attribute/steps/index.d.ts +3 -4
  289. package/.medusa/server/src/workflows/product-attribute/steps/index.js +4 -5
  290. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.d.ts +6 -3
  291. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.js +17 -2
  292. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attributes.d.ts +1 -31
  293. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-linked.d.ts +2 -0
  294. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-linked.js +28 -0
  295. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-required.d.ts +7 -0
  296. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-required.js +16 -0
  297. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attributes-to-product.d.ts +9 -0
  298. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attributes-to-product.js +242 -0
  299. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.d.ts +14 -0
  300. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.js +27 -0
  301. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.js +44 -3
  302. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.js +41 -17
  303. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.js +36 -15
  304. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.d.ts +0 -7
  305. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.js +11 -8
  306. package/.medusa/server/src/workflows/product-attribute/workflows/index.d.ts +4 -6
  307. package/.medusa/server/src/workflows/product-attribute/workflows/index.js +5 -7
  308. package/.medusa/server/src/workflows/product-attribute/workflows/remove-product-attributes-from-product.d.ts +10 -0
  309. package/.medusa/server/src/workflows/product-attribute/workflows/remove-product-attributes-from-product.js +83 -0
  310. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.js +34 -1
  311. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.d.ts +11 -0
  312. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.js +285 -0
  313. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.js +15 -1
  314. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.d.ts +4 -11
  315. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.js +19 -19
  316. package/.medusa/server/src/workflows/product-edit/events.d.ts +0 -7
  317. package/.medusa/server/src/workflows/product-edit/events.js +1 -8
  318. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.d.ts +2 -10
  319. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.js +3 -9
  320. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.d.ts +0 -4
  321. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.js +1 -5
  322. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.d.ts +0 -6
  323. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.js +1 -7
  324. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.d.ts +0 -5
  325. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.js +1 -6
  326. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.d.ts +0 -6
  327. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.js +1 -1
  328. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.d.ts +0 -5
  329. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.js +1 -6
  330. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.d.ts +0 -5
  331. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.js +1 -6
  332. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +0 -6
  333. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +2 -8
  334. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.d.ts +5 -19
  335. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.js +11 -128
  336. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.d.ts +0 -31
  337. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.js +27 -56
  338. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.d.ts +0 -14
  339. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.js +1 -10
  340. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.d.ts +0 -11
  341. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.js +1 -12
  342. package/.medusa/server/src/workflows/product-edit/workflows/index.d.ts +1 -1
  343. package/.medusa/server/src/workflows/product-edit/workflows/index.js +2 -2
  344. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.d.ts +0 -12
  345. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +1 -13
  346. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.d.ts +4 -46
  347. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.js +11 -162
  348. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.d.ts +11 -0
  349. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.js +133 -0
  350. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.d.ts +0 -10
  351. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +1 -45
  352. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.d.ts +0 -24
  353. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.js +1 -15
  354. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.d.ts +0 -30
  355. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.js +1 -15
  356. package/.medusa/server/src/workflows/promotion/steps/register-usage.d.ts +0 -3
  357. package/.medusa/server/src/workflows/promotion/steps/register-usage.js +1 -4
  358. package/.medusa/server/src/workflows/seller/workflows/accept-member-invite.js +1 -2
  359. package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +1 -2
  360. package/package.json +15 -15
  361. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.d.ts +0 -13
  362. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.js +0 -90
  363. package/.medusa/server/src/api/admin/products/[id]/attributes/route.d.ts +0 -5
  364. package/.medusa/server/src/api/admin/products/[id]/attributes/route.js +0 -63
  365. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.d.ts +0 -22
  366. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.js +0 -97
  367. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.d.ts +0 -15
  368. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.js +0 -80
  369. package/.medusa/server/src/links/product-attribute-value-link.d.ts +0 -22
  370. package/.medusa/server/src/links/product-attribute-value-link.js +0 -46
  371. package/.medusa/server/src/links/product-variant-attribute-link.js +0 -21
  372. package/.medusa/server/src/links/product-variant-attribute-value-link.d.ts +0 -2
  373. package/.medusa/server/src/links/product-variant-attribute-value-link.js +0 -21
  374. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.d.ts +0 -28
  375. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.js +0 -72
  376. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.d.ts +0 -90
  377. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.js +0 -185
  378. package/.medusa/server/src/workflows/product/workflows/update-products.d.ts +0 -39
  379. package/.medusa/server/src/workflows/product/workflows/update-products.js +0 -161
  380. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.d.ts +0 -43
  381. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.js +0 -51
  382. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.d.ts +0 -7
  383. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.js +0 -59
  384. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.d.ts +0 -6
  385. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.js +0 -20
  386. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.d.ts +0 -7
  387. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.js +0 -20
  388. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.d.ts +0 -52
  389. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.js +0 -120
  390. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.d.ts +0 -23
  391. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.js +0 -252
  392. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.d.ts +0 -17
  393. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.js +0 -62
  394. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.d.ts +0 -135
  395. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.js +0 -43
  396. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.d.ts +0 -24
  397. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.js +0 -27
  398. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute.d.ts +0 -23
  399. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute.js +0 -67
  400. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.d.ts +0 -25
  401. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.js +0 -148
@@ -1,252 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.batchProductAttributeValuesWorkflow = exports.batchProductAttributeValuesWorkflowId = void 0;
4
- const utils_1 = require("@medusajs/framework/utils");
5
- const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
- const core_flows_1 = require("@medusajs/medusa/core-flows");
7
- const types_1 = require("@mercurjs/types");
8
- const steps_1 = require("../steps");
9
- const sync_product_attribute_options_1 = require("./sync-product-attribute-options");
10
- exports.batchProductAttributeValuesWorkflowId = "batch-product-attribute-values";
11
- exports.batchProductAttributeValuesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.batchProductAttributeValuesWorkflowId, function (input) {
12
- const validate = (0, workflows_sdk_1.createHook)("validate", { input });
13
- // Collect candidate (attribute_id, name) pairs into one query so
14
- // free-text `values` in the create payload can be resolved to ids.
15
- const nameLookupFilters = (0, workflows_sdk_1.transform)({ input }, ({ input }) => {
16
- const attributeIds = new Set();
17
- const names = new Set();
18
- for (const entry of input.create ?? []) {
19
- if (entry.values?.length) {
20
- attributeIds.add(entry.attribute_id);
21
- entry.values.forEach((n) => names.add(n));
22
- }
23
- }
24
- return {
25
- attribute_ids: Array.from(attributeIds),
26
- names: Array.from(names),
27
- has_lookups: attributeIds.size > 0,
28
- };
29
- });
30
- const namedValues = (0, workflows_sdk_1.when)({ nameLookupFilters }, ({ nameLookupFilters }) => nameLookupFilters.has_lookups).then(() => (0, core_flows_1.useQueryGraphStep)({
31
- entity: "product_attribute_value",
32
- fields: ["id", "name", "attribute_id"],
33
- filters: {
34
- attribute_id: nameLookupFilters.attribute_ids,
35
- name: nameLookupFilters.names,
36
- },
37
- }).config({ name: "batch-pa-resolve-named-values" }));
38
- // For non-select attribute types the UI sends free-text `values` —
39
- // upsert any name that doesn't already exist as a
40
- // `ProductAttributeValue`. Matches the validator's "Text/unit/toggle
41
- // types — provide new value strings" contract.
42
- const valuesToCreate = (0, workflows_sdk_1.transform)({ input, namedValues }, ({ input, namedValues }) => {
43
- const matches = (namedValues
44
- ?.data ?? []);
45
- const existing = new Set(matches
46
- .filter((v) => v.attribute_id)
47
- .map((v) => `${v.attribute_id}::${v.name}`));
48
- const seen = new Set();
49
- const out = [];
50
- for (const entry of input.create ?? []) {
51
- for (const name of entry.values ?? []) {
52
- const trimmed = name?.trim();
53
- if (!trimmed)
54
- continue;
55
- const key = `${entry.attribute_id}::${trimmed}`;
56
- if (existing.has(key) || seen.has(key))
57
- continue;
58
- seen.add(key);
59
- out.push({ attribute_id: entry.attribute_id, name: trimmed });
60
- }
61
- }
62
- return out;
63
- });
64
- // Always invoke — the step short-circuits on an empty input — so the
65
- // workflow graph wires `createdNamedValues` deterministically into
66
- // `valueIdsToAttach` regardless of whether anything had to be upserted.
67
- const createdNamedValues = (0, steps_1.createProductAttributeValuesStep)(valuesToCreate).config({ name: "batch-pa-create-named-values" });
68
- // Load attribute metadata once for the union of create + delete
69
- // attribute_ids — needed to (a) decide which refs are variant-axis
70
- // (and therefore need an accompanying product option) and (b)
71
- // resolve value ids → names for option synthesis.
72
- const attrMetaFilters = (0, workflows_sdk_1.transform)({ input }, ({ input }) => {
73
- const ids = new Set();
74
- for (const entry of input.create ?? [])
75
- ids.add(entry.attribute_id);
76
- for (const id of input.delete ?? [])
77
- ids.add(id);
78
- return { ids: Array.from(ids), has_any: ids.size > 0 };
79
- });
80
- const attributesMeta = (0, workflows_sdk_1.when)({ attrMetaFilters }, ({ attrMetaFilters }) => attrMetaFilters.has_any).then(() => (0, core_flows_1.useQueryGraphStep)({
81
- entity: "product_attribute",
82
- fields: [
83
- "id",
84
- "name",
85
- "is_variant_axis",
86
- "values.id",
87
- "values.name",
88
- ],
89
- filters: { id: attrMetaFilters.ids },
90
- }).config({ name: "batch-pa-load-attribute-meta" }));
91
- // Load the product's currently-linked attribute values so the delete
92
- // payload (which references attribute_ids, not value_ids) can be
93
- // expanded to the value_ids whose links need to be dismissed. Also
94
- // loads the product's options so variant-axis detachment can drop
95
- // the matching stock option in the same transaction.
96
- const hasDeletes = (0, workflows_sdk_1.transform)({ input }, ({ input }) => (input.delete?.length ?? 0) > 0);
97
- const productAttributeValues = (0, workflows_sdk_1.when)({ hasDeletes }, ({ hasDeletes }) => hasDeletes).then(() => (0, core_flows_1.useQueryGraphStep)({
98
- entity: "product",
99
- fields: [
100
- "attribute_values.id",
101
- "attribute_values.attribute.id",
102
- "options.id",
103
- "options.title",
104
- ],
105
- filters: { id: input.product_id },
106
- }).config({ name: "batch-pa-load-product" }));
107
- const valueIdsToAttach = (0, workflows_sdk_1.transform)({ input, namedValues, createdNamedValues, valuesToCreate }, ({ input, namedValues, createdNamedValues, valuesToCreate }) => {
108
- const matches = (namedValues
109
- ?.data ?? []);
110
- const created = (createdNamedValues ?? []);
111
- const idByKey = new Map();
112
- for (const v of matches) {
113
- if (v.attribute_id)
114
- idByKey.set(`${v.attribute_id}::${v.name}`, v.id);
115
- }
116
- // `createProductAttributeValuesStep` returns the new rows in the
117
- // same order as `valuesToCreate`, so pair them by index — the
118
- // returned shape may not include `attribute_id` (it's a belongsTo
119
- // FK and isn't always flattened on the create response).
120
- valuesToCreate.forEach((spec, idx) => {
121
- const row = created[idx];
122
- if (row?.id)
123
- idByKey.set(`${spec.attribute_id}::${spec.name}`, row.id);
124
- });
125
- const ids = [];
126
- for (const entry of input.create ?? []) {
127
- if (entry.attribute_value_ids?.length) {
128
- ids.push(...entry.attribute_value_ids);
129
- }
130
- if (entry.values?.length) {
131
- for (const name of entry.values) {
132
- const trimmed = name?.trim();
133
- if (!trimmed)
134
- continue;
135
- const id = idByKey.get(`${entry.attribute_id}::${trimmed}`);
136
- if (id)
137
- ids.push(id);
138
- }
139
- }
140
- }
141
- return ids;
142
- });
143
- const valueIdsToDetach = (0, workflows_sdk_1.transform)({ input, productAttributeValues }, ({ input, productAttributeValues }) => {
144
- const toDelete = new Set(input.delete ?? []);
145
- if (toDelete.size === 0)
146
- return [];
147
- const products = (productAttributeValues?.data ?? []);
148
- const values = products[0]?.attribute_values ?? [];
149
- return values
150
- .filter((v) => v.attribute?.id && toDelete.has(v.attribute.id))
151
- .map((v) => v.id);
152
- });
153
- // Build the list of (product_id, title, values[]) entries for the
154
- // variant-axis create refs. Mirrors what `addProductAttributeWorkflow`
155
- // does for the single-attach case — a variant-axis attribute attach
156
- // must also produce a matching stock product option so the variant
157
- // form has somewhere to slot its axis values.
158
- const optionsToUpsert = (0, workflows_sdk_1.transform)({ input, attributesMeta }, ({ input, attributesMeta }) => {
159
- const attrs = (attributesMeta
160
- ?.data ?? []);
161
- const byId = new Map(attrs.map((a) => [a.id, a]));
162
- const out = [];
163
- for (const entry of input.create ?? []) {
164
- const attr = byId.get(entry.attribute_id);
165
- if (!attr?.is_variant_axis)
166
- continue;
167
- const nameById = new Map((attr.values ?? []).map((v) => [v.id, v.name]));
168
- const names = [];
169
- const seen = new Set();
170
- const pushName = (name) => {
171
- if (!name || seen.has(name))
172
- return;
173
- seen.add(name);
174
- names.push(name);
175
- };
176
- for (const id of entry.attribute_value_ids ?? []) {
177
- pushName(nameById.get(id));
178
- }
179
- if (entry.values?.length) {
180
- // Variant-axis option upsert mirrors what `valueIdsToAttach`
181
- // links — both existing-by-name matches and newly-upserted
182
- // names contribute to the stock option's value set.
183
- for (const name of entry.values) {
184
- pushName(name?.trim());
185
- }
186
- }
187
- if (!names.length)
188
- continue;
189
- out.push({
190
- product_id: input.product_id,
191
- title: attr.name,
192
- values: names,
193
- });
194
- }
195
- return out;
196
- });
197
- // For each variant-axis attribute being detached, drop the matching
198
- // product option (matched by title === attribute.name) — symmetric
199
- // to `detachProductAttributeWorkflow`.
200
- const optionIdsToDelete = (0, workflows_sdk_1.transform)({ input, attributesMeta, productAttributeValues }, ({ input, attributesMeta, productAttributeValues }) => {
201
- if (!input.delete?.length)
202
- return [];
203
- const attrs = (attributesMeta
204
- ?.data ?? []);
205
- const byId = new Map(attrs.map((a) => [a.id, a]));
206
- const products = (productAttributeValues?.data ?? []);
207
- const optionByTitle = new Map((products[0]?.options ?? []).map((o) => [o.title, o.id]));
208
- const ids = [];
209
- for (const id of input.delete) {
210
- const attr = byId.get(id);
211
- if (!attr?.is_variant_axis)
212
- continue;
213
- const optionId = optionByTitle.get(attr.name);
214
- if (optionId)
215
- ids.push(optionId);
216
- }
217
- return ids;
218
- });
219
- const attachLinks = (0, workflows_sdk_1.transform)({ valueIdsToAttach, input }, ({ valueIdsToAttach, input }) => valueIdsToAttach.map((value_id) => ({
220
- [utils_1.Modules.PRODUCT]: { product_id: input.product_id },
221
- [types_1.MercurModules.PRODUCT_ATTRIBUTE]: {
222
- product_attribute_value_id: value_id,
223
- },
224
- })));
225
- const detachLinks = (0, workflows_sdk_1.transform)({ valueIdsToDetach, input }, ({ valueIdsToDetach, input }) => valueIdsToDetach.map((value_id) => ({
226
- [utils_1.Modules.PRODUCT]: { product_id: input.product_id },
227
- [types_1.MercurModules.PRODUCT_ATTRIBUTE]: {
228
- product_attribute_value_id: value_id,
229
- },
230
- })));
231
- (0, workflows_sdk_1.when)({ valueIdsToAttach }, ({ valueIdsToAttach }) => valueIdsToAttach.length > 0).then(() => (0, core_flows_1.createRemoteLinkStep)(attachLinks).config({
232
- name: "batch-pa-attach-links",
233
- }));
234
- (0, workflows_sdk_1.when)({ valueIdsToDetach }, ({ valueIdsToDetach }) => valueIdsToDetach.length > 0).then(() => (0, core_flows_1.dismissRemoteLinkStep)(detachLinks).config({
235
- name: "batch-pa-detach-links",
236
- }));
237
- sync_product_attribute_options_1.syncProductAttributeOptionsWorkflow.runAsStep({
238
- input: (0, workflows_sdk_1.transform)({ optionsToUpsert, optionIdsToDelete }, ({ optionsToUpsert, optionIdsToDelete }) => ({
239
- upsert: optionsToUpsert,
240
- delete_ids: optionIdsToDelete,
241
- })),
242
- });
243
- const productAttributeValuesBatched = (0, workflows_sdk_1.createHook)("productAttributeValuesBatched", {
244
- product_id: input.product_id,
245
- attached_value_ids: valueIdsToAttach,
246
- detached_value_ids: valueIdsToDetach,
247
- });
248
- return new workflows_sdk_1.WorkflowResponse(void 0, {
249
- hooks: [validate, productAttributeValuesBatched],
250
- });
251
- });
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2gtcHJvZHVjdC1hdHRyaWJ1dGUtdmFsdWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LWF0dHJpYnV0ZS93b3JrZmxvd3MvYmF0Y2gtcHJvZHVjdC1hdHRyaWJ1dGUtdmFsdWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFtRDtBQUNuRCxxRUFRMEM7QUFDMUMsNERBSW9DO0FBQ3BDLDJDQUErQztBQUUvQyxvQ0FBMkQ7QUFDM0QscUZBQXNGO0FBK0J6RSxRQUFBLHFDQUFxQyxHQUNoRCxnQ0FBZ0MsQ0FBQTtBQUVyQixRQUFBLG1DQUFtQyxHQUk1QyxJQUFBLDhCQUFjLEVBQ2hCLDZDQUFxQyxFQUNyQyxVQUFVLEtBQStDO0lBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRWxELGlFQUFpRTtJQUNqRSxtRUFBbUU7SUFDbkUsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUMzRCxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFBO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUE7UUFDL0IsS0FBSyxNQUFNLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDekIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7Z0JBQ3BDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMs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
@@ -1,17 +0,0 @@
1
- import { type Hook, type ReturnWorkflow } from "@medusajs/framework/workflows-sdk";
2
- export type DetachProductAttributeWorkflowInput = {
3
- product_id: string;
4
- attribute_id: string;
5
- };
6
- export type DetachProductAttributeWorkflowHooks = [
7
- Hook<"validate", {
8
- input: DetachProductAttributeWorkflowInput;
9
- }, unknown>,
10
- Hook<"productAttributeDetached", {
11
- product_id: string;
12
- attribute_id: string;
13
- detached_value_ids: string[];
14
- }, unknown>
15
- ];
16
- export declare const detachProductAttributeWorkflowId = "detach-product-attribute";
17
- export declare const detachProductAttributeWorkflow: ReturnWorkflow<DetachProductAttributeWorkflowInput, void, DetachProductAttributeWorkflowHooks>;
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.detachProductAttributeWorkflow = exports.detachProductAttributeWorkflowId = void 0;
4
- const utils_1 = require("@medusajs/framework/utils");
5
- const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
- const core_flows_1 = require("@medusajs/medusa/core-flows");
7
- const types_1 = require("@mercurjs/types");
8
- const sync_product_attribute_options_1 = require("./sync-product-attribute-options");
9
- exports.detachProductAttributeWorkflowId = "detach-product-attribute";
10
- exports.detachProductAttributeWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.detachProductAttributeWorkflowId, function (input) {
11
- const validate = (0, workflows_sdk_1.createHook)("validate", { input });
12
- const { data: products } = (0, core_flows_1.useQueryGraphStep)({
13
- entity: "product",
14
- fields: [
15
- "options.id",
16
- "options.title",
17
- "attribute_values.id",
18
- "attribute_values.attribute.id",
19
- "attribute_values.attribute.name",
20
- ],
21
- filters: { id: input.product_id },
22
- }).config({ name: "detach-pa-load-product" });
23
- const detachPlan = (0, workflows_sdk_1.transform)({ products, input }, ({ products, input }) => {
24
- const product = products[0];
25
- const matched = (product?.attribute_values ?? []).filter((v) => v.attribute?.id === input.attribute_id);
26
- const value_ids = matched.map((v) => v.id);
27
- const attribute_name = matched[0]?.attribute?.name;
28
- const option_ids = attribute_name
29
- ? (product?.options ?? [])
30
- .filter((o) => o.title === attribute_name)
31
- .map((o) => o.id)
32
- : [];
33
- return { value_ids, option_ids };
34
- });
35
- const links = (0, workflows_sdk_1.transform)({ detachPlan, input }, ({ detachPlan, input }) => detachPlan.value_ids.map((value_id) => ({
36
- [utils_1.Modules.PRODUCT]: { product_id: input.product_id },
37
- [types_1.MercurModules.PRODUCT_ATTRIBUTE]: {
38
- product_attribute_value_id: value_id,
39
- },
40
- })));
41
- (0, core_flows_1.dismissRemoteLinkStep)(links).config({
42
- name: "pa-detach-product-attribute-links",
43
- });
44
- // Symmetric to the create flow: variant-axis attributes synthesise a
45
- // product option, so detaching them should drop the matching option
46
- // too (matched by title === attribute.name). Non-axis attributes
47
- // never produce an option, so `option_ids` is empty for them.
48
- sync_product_attribute_options_1.syncProductAttributeOptionsWorkflow.runAsStep({
49
- input: (0, workflows_sdk_1.transform)({ detachPlan }, ({ detachPlan }) => ({
50
- delete_ids: detachPlan.option_ids,
51
- })),
52
- });
53
- const productAttributeDetached = (0, workflows_sdk_1.createHook)("productAttributeDetached", {
54
- product_id: input.product_id,
55
- attribute_id: input.attribute_id,
56
- detached_value_ids: (0, workflows_sdk_1.transform)({ detachPlan }, ({ detachPlan }) => detachPlan.value_ids),
57
- });
58
- return new workflows_sdk_1.WorkflowResponse(void 0, {
59
- hooks: [validate, productAttributeDetached],
60
- });
61
- });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWNoLXByb2R1Y3QtYXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LWF0dHJpYnV0ZS93b3JrZmxvd3MvZGV0YWNoLXByb2R1Y3QtYXR0cmlidXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFtRDtBQUNuRCxxRUFPMEM7QUFDMUMsNERBR29DO0FBQ3BDLDJDQUErQztBQUUvQyxxRkFBc0Y7QUFvQnpFLFFBQUEsZ0NBQWdDLEdBQUcsMEJBQTBCLENBQUE7QUFFN0QsUUFBQSw4QkFBOEIsR0FJdkMsSUFBQSw4QkFBYyxFQUNoQix3Q0FBZ0MsRUFDaEMsVUFBVSxLQUEwQztJQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFBLDBCQUFVLEVBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUVsRCxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDM0MsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFO1lBQ04sWUFBWTtZQUNaLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsK0JBQStCO1lBQy9CLGlDQUFpQztTQUNsQztRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFO0tBQ2xDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFBO0lBRTdDLE1BQU0sVUFBVSxHQUFHLElBQUEseUJBQVMsRUFDMUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQ25CLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUN0QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQVFiLENBQUE7UUFFYixNQUFNLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0Is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
@@ -1,135 +0,0 @@
1
- import { ProductAttributeDTO, ProductAttributeValueDTO } from "@mercurjs/types";
2
- import type { InlinePlanEntry } from "../../product/steps";
3
- export type MaterializeProductAttributesWorkflowInput = {
4
- /**
5
- * Inline-create plan. One entry per attribute to materialize, each
6
- * carrying its target `product_id` (for product-scoped attributes)
7
- * and the deduped value names to create alongside. Build the plan
8
- * with `buildInlinePlan` from `../../product/steps` for the multi-
9
- * group case, or assemble it inline for single-product flows.
10
- */
11
- plan: InlinePlanEntry[];
12
- /**
13
- * Optional batch of value names to create against existing
14
- * attributes — used by the vendor edit-attributes flow to
15
- * materialize free-form value names submitted against unit/text/
16
- * toggle attributes.
17
- */
18
- free_form_values?: Array<{
19
- name: string;
20
- attribute_id: string;
21
- }>;
22
- };
23
- export type MaterializeProductAttributesWorkflowOutput = {
24
- inline_attributes: ProductAttributeDTO[];
25
- inline_values: ProductAttributeValueDTO[];
26
- free_form_values: ProductAttributeValueDTO[];
27
- };
28
- export declare const materializeProductAttributesWorkflowId = "materialize-product-attributes";
29
- /**
30
- * Materializes inline-custom product attributes + their values + any
31
- * free-form value names against existing attributes. Encapsulates the
32
- * `createProductAttributesStep` → `createProductAttributeValuesStep`
33
- * pairing duplicated across `createProductsWorkflow`,
34
- * `updateProductsWorkflow`, `addProductAttributeWorkflow`,
35
- * `productEditUpdateAttributesWorkflow`, and the ATTRIBUTE_ADD bucket
36
- * of `applyProductChangeActionsWorkflow`. Order is fixed: attributes
37
- * first, then inline values, then free-form values — all in one
38
- * workflow transaction so a failed value insert rolls back the
39
- * attribute insert.
40
- */
41
- export declare const materializeProductAttributesWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<MaterializeProductAttributesWorkflowInput, {
42
- inline_attributes: {
43
- id: string;
44
- handle: string | null;
45
- name: string;
46
- description: string | null;
47
- type: import("@mercurjs/types").AttributeType;
48
- is_required: boolean;
49
- is_filterable: boolean;
50
- is_variant_axis: boolean;
51
- rank: number;
52
- is_active: boolean;
53
- created_by: string | null;
54
- product_id: string | null;
55
- metadata: Record<string, unknown> | null;
56
- values: {
57
- id: string;
58
- handle: string | null;
59
- name: string;
60
- rank: number;
61
- is_active: boolean;
62
- metadata: Record<string, unknown> | null;
63
- attribute: /*elided*/ any;
64
- created_at: Date;
65
- updated_at: Date;
66
- deleted_at: Date | null;
67
- attribute_id: string;
68
- }[];
69
- created_at: Date;
70
- updated_at: Date;
71
- deleted_at: Date | null;
72
- }[];
73
- inline_values: {
74
- id: string;
75
- handle: string | null;
76
- name: string;
77
- rank: number;
78
- is_active: boolean;
79
- metadata: Record<string, unknown> | null;
80
- attribute: {
81
- id: string;
82
- handle: string | null;
83
- name: string;
84
- description: string | null;
85
- type: import("@mercurjs/types").AttributeType;
86
- is_required: boolean;
87
- is_filterable: boolean;
88
- is_variant_axis: boolean;
89
- rank: number;
90
- is_active: boolean;
91
- created_by: string | null;
92
- product_id: string | null;
93
- metadata: Record<string, unknown> | null;
94
- values: /*elided*/ any[];
95
- created_at: Date;
96
- updated_at: Date;
97
- deleted_at: Date | null;
98
- };
99
- created_at: Date;
100
- updated_at: Date;
101
- deleted_at: Date | null;
102
- attribute_id: string;
103
- }[];
104
- free_form_values: {
105
- id: string;
106
- handle: string | null;
107
- name: string;
108
- rank: number;
109
- is_active: boolean;
110
- metadata: Record<string, unknown> | null;
111
- attribute: {
112
- id: string;
113
- handle: string | null;
114
- name: string;
115
- description: string | null;
116
- type: import("@mercurjs/types").AttributeType;
117
- is_required: boolean;
118
- is_filterable: boolean;
119
- is_variant_axis: boolean;
120
- rank: number;
121
- is_active: boolean;
122
- created_by: string | null;
123
- product_id: string | null;
124
- metadata: Record<string, unknown> | null;
125
- values: /*elided*/ any[];
126
- created_at: Date;
127
- updated_at: Date;
128
- deleted_at: Date | null;
129
- };
130
- created_at: Date;
131
- updated_at: Date;
132
- deleted_at: Date | null;
133
- attribute_id: string;
134
- }[];
135
- }, []>;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.materializeProductAttributesWorkflow = exports.materializeProductAttributesWorkflowId = void 0;
4
- const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
- const steps_1 = require("../steps");
6
- exports.materializeProductAttributesWorkflowId = "materialize-product-attributes";
7
- /**
8
- * Materializes inline-custom product attributes + their values + any
9
- * free-form value names against existing attributes. Encapsulates the
10
- * `createProductAttributesStep` → `createProductAttributeValuesStep`
11
- * pairing duplicated across `createProductsWorkflow`,
12
- * `updateProductsWorkflow`, `addProductAttributeWorkflow`,
13
- * `productEditUpdateAttributesWorkflow`, and the ATTRIBUTE_ADD bucket
14
- * of `applyProductChangeActionsWorkflow`. Order is fixed: attributes
15
- * first, then inline values, then free-form values — all in one
16
- * workflow transaction so a failed value insert rolls back the
17
- * attribute insert.
18
- */
19
- exports.materializeProductAttributesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.materializeProductAttributesWorkflowId, function (input) {
20
- const attrInput = (0, workflows_sdk_1.transform)({ input }, ({ input }) => (input.plan ?? []).map(({ _group_idx, _value_names, ...attr }) => attr));
21
- const inline_attributes = (0, steps_1.createProductAttributesStep)(attrInput);
22
- const inlineValuesInput = (0, workflows_sdk_1.transform)({ input, inline_attributes }, ({ input, inline_attributes }) => {
23
- const out = [];
24
- (input.plan ?? []).forEach((entry, i) => {
25
- const attribute_id = inline_attributes[i]?.id;
26
- if (!attribute_id)
27
- return;
28
- for (const name of entry._value_names) {
29
- out.push({ name, attribute_id });
30
- }
31
- });
32
- return out;
33
- });
34
- const inline_values = (0, steps_1.createProductAttributeValuesStep)(inlineValuesInput);
35
- const freeFormInput = (0, workflows_sdk_1.transform)({ input }, ({ input }) => input.free_form_values ?? []);
36
- const free_form_values = (0, steps_1.createProductAttributeValuesStep)(freeFormInput).config({ name: "materialize-product-attributes-free-form-values" });
37
- return new workflows_sdk_1.WorkflowResponse((0, workflows_sdk_1.transform)({ inline_attributes, inline_values, free_form_values }, ({ inline_attributes, inline_values, free_form_values, }) => ({
38
- inline_attributes,
39
- inline_values,
40
- free_form_values,
41
- })));
42
- });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWxpemUtcHJvZHVjdC1hdHRyaWJ1dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LWF0dHJpYnV0ZS93b3JrZmxvd3MvbWF0ZXJpYWxpemUtcHJvZHVjdC1hdHRyaWJ1dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUkwQztBQU0xQyxvQ0FHaUI7QUEyQkosUUFBQSxzQ0FBc0MsR0FDakQsZ0NBQWdDLENBQUE7QUFFbEM7Ozs7Ozs7Ozs7O0dBV0c7QUFDVSxRQUFBLG9DQUFvQyxHQUFHLElBQUEsOEJBQWMsRUFDaEUsOENBQXNDLEVBQ3RDLFVBQVUsS0FBZ0Q7SUFDeEQsTUFBTSxTQUFTLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FDbkQsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDcEIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUNoRCxDQUNGLENBQUE7SUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUEsbUNBQTJCLEVBQUMsU0FBUyxDQUFDLENBQUE7SUFFaEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLHlCQUFTLEVBQ2pDLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLEVBQzVCLENBQUMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxFQUFFO1FBQy9CLE1BQU0sR0FBRyxHQUFrRCxFQUFFLENBQzVEO1FBQUEsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QyxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUF3QixDQUFBO1lBQ25FLElBQUksQ0FBQyxZQUFZO2dCQUFFLE9BQU07WUFDekIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3RDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQTtZQUNsQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUMsQ0FDRixDQUFBO0lBRUQsTUFBTSxhQUFhLEdBQUcsSUFBQSx3Q0FBZ0MsRUFBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBRXpFLE1BQU0sYUFBYSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQ3ZELEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQzdCLENBQUE7SUFFRCxNQUFNLGdCQUFnQixHQUFHLElBQUEsd0NBQWdDLEVBQ3ZELGFBQWEsQ0FDZCxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxpREFBaUQsRUFBRSxDQUFDLENBQUE7SUFFckUsT0FBTyxJQUFJLGdDQUFnQixDQUN6QixJQUFBLHlCQUFTLEVBQ1AsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsRUFDdEQsQ0FBQyxFQUNDLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsZ0JBQWdCLEdBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDTCxpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGdCQUFnQjtLQUNqQixDQUFDLENBQ0gsQ0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUNGLENBQUEifQ==
@@ -1,24 +0,0 @@
1
- import { type UpsertProductOptionsForAxisInput } from "../steps";
2
- export type SyncProductAttributeOptionsWorkflowInput = {
3
- /**
4
- * Variant-axis product options to upsert. Each entry adds the value
5
- * names to an existing `(product_id, title)` option or creates a
6
- * fresh one.
7
- */
8
- upsert?: UpsertProductOptionsForAxisInput;
9
- /**
10
- * Product option ids to delete. Used when detaching the last
11
- * variant-axis attribute of a given option from a product.
12
- */
13
- delete_ids?: string[];
14
- };
15
- export declare const syncProductAttributeOptionsWorkflowId = "sync-product-attribute-options";
16
- /**
17
- * Building block for the variant-axis ↔ product-option sync. Existing
18
- * callers (`addProductAttributeWorkflow`,
19
- * `detachProductAttributeWorkflow`, `batchProductAttributeValuesWorkflow`,
20
- * `applyProductAttributeChangeActionsWorkflow`) routed through this
21
- * workflow get consistent ordering: upsert first, then delete, never
22
- * parallelized.
23
- */
24
- export declare const syncProductAttributeOptionsWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<SyncProductAttributeOptionsWorkflowInput, undefined, []>;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.syncProductAttributeOptionsWorkflow = exports.syncProductAttributeOptionsWorkflowId = void 0;
4
- const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
- const core_flows_1 = require("@medusajs/medusa/core-flows");
6
- const steps_1 = require("../steps");
7
- exports.syncProductAttributeOptionsWorkflowId = "sync-product-attribute-options";
8
- /**
9
- * Building block for the variant-axis ↔ product-option sync. Existing
10
- * callers (`addProductAttributeWorkflow`,
11
- * `detachProductAttributeWorkflow`, `batchProductAttributeValuesWorkflow`,
12
- * `applyProductAttributeChangeActionsWorkflow`) routed through this
13
- * workflow get consistent ordering: upsert first, then delete, never
14
- * parallelized.
15
- */
16
- exports.syncProductAttributeOptionsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.syncProductAttributeOptionsWorkflowId, function (input) {
17
- (0, steps_1.upsertProductOptionsForAxisStep)((0, workflows_sdk_1.transform)({ input }, ({ input }) => input.upsert ?? []));
18
- (0, workflows_sdk_1.when)({ input }, ({ input }) => !!input.delete_ids?.length).then(() => {
19
- core_flows_1.deleteProductOptionsWorkflow.runAsStep({
20
- input: (0, workflows_sdk_1.transform)({ input }, ({ input }) => ({
21
- ids: input.delete_ids ?? [],
22
- })),
23
- });
24
- });
25
- return new workflows_sdk_1.WorkflowResponse(void 0);
26
- });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1wcm9kdWN0LWF0dHJpYnV0ZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LWF0dHJpYnV0ZS93b3JrZmxvd3Mvc3luYy1wcm9kdWN0LWF0dHJpYnV0ZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUMxQyw0REFBMEU7QUFFMUUsb0NBR2lCO0FBZ0JKLFFBQUEscUNBQXFDLEdBQ2hELGdDQUFnQyxDQUFBO0FBRWxDOzs7Ozs7O0dBT0c7QUFDVSxRQUFBLG1DQUFtQyxHQUFHLElBQUEsOEJBQWMsRUFDL0QsNkNBQXFDLEVBQ3JDLFVBQVUsS0FBK0M7SUFDdkQsSUFBQSx1Q0FBK0IsRUFDN0IsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUN4RCxDQUFBO0lBRUQsSUFBQSxvQkFBSSxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ25FLHlDQUE0QixDQUFDLFNBQVMsQ0FBQztZQUNyQyxLQUFLLEVBQUUsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxHQUFHLEVBQUUsS0FBSyxDQUFDLFVBQVUsSUFBSSxFQUFFO2FBQzVCLENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFDckMsQ0FBQyxDQUNGLENBQUEifQ==
@@ -1,23 +0,0 @@
1
- import { ProductAttributeDTO } from "@mercurjs/types";
2
- export type UpdateProductAttributeWorkflowInput = {
3
- product_id: string;
4
- attribute_id: string;
5
- value_ids?: string[];
6
- values?: string[];
7
- };
8
- export type UpdateProductAttributeWorkflowOutput = {
9
- product_attribute: ProductAttributeDTO | null;
10
- };
11
- export declare const updateProductAttributeWorkflowId = "update-product-attribute";
12
- /**
13
- * Replaces the value set of a single attribute on a product. Composes
14
- * `detachProductAttributeWorkflow` (drops the existing value links) +
15
- * `addProductAttributeWorkflow` (links the new value set) in one
16
- * workflow run so a failure in the add path rolls back the detach.
17
- * Re-reads the product's attribute values at the end and returns the
18
- * refreshed `product_attribute` shape, so route handlers can ship the
19
- * response directly without a second query + ad-hoc filtering.
20
- */
21
- export declare const updateProductAttributeWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<UpdateProductAttributeWorkflowInput, {
22
- product_attribute: ProductAttributeDTO | null;
23
- }, []>;