@mercurjs/core 2.2.0-canary.9 → 2.2.0-rc.0

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 (642) hide show
  1. package/.medusa/server/src/api/admin/claims/[id]/outbound/items/route.d.ts +13 -0
  2. package/.medusa/server/src/api/admin/claims/[id]/outbound/items/route.js +59 -0
  3. package/.medusa/server/src/api/admin/claims/[id]/request/route.d.ts +4 -0
  4. package/.medusa/server/src/api/admin/claims/[id]/request/route.js +74 -0
  5. package/.medusa/server/src/api/admin/collections/[id]/route.d.ts +7 -0
  6. package/.medusa/server/src/api/admin/collections/[id]/route.js +48 -0
  7. package/.medusa/server/src/api/admin/collections/middlewares.d.ts +2 -0
  8. package/.medusa/server/src/api/admin/collections/middlewares.js +49 -0
  9. package/.medusa/server/src/api/admin/collections/query-config.d.ts +12 -0
  10. package/.medusa/server/src/api/admin/collections/query-config.js +29 -0
  11. package/.medusa/server/src/api/admin/collections/route.d.ts +6 -0
  12. package/.medusa/server/src/api/admin/collections/route.js +36 -0
  13. package/.medusa/server/src/api/admin/collections/validators.d.ts +262 -0
  14. package/.medusa/server/src/api/admin/collections/validators.js +42 -0
  15. package/.medusa/server/src/api/admin/commission-rates/query-config.js +6 -4
  16. package/.medusa/server/src/api/admin/commission-rates/route.js +4 -1
  17. package/.medusa/server/src/api/admin/commission-rates/validators.d.ts +89 -58
  18. package/.medusa/server/src/api/admin/commission-rates/validators.js +16 -9
  19. package/.medusa/server/src/api/admin/customer-groups/middlewares.d.ts +2 -0
  20. package/.medusa/server/src/api/admin/customer-groups/middlewares.js +43 -0
  21. package/.medusa/server/src/api/admin/customer-groups/validators.d.ts +257 -0
  22. package/.medusa/server/src/api/admin/customer-groups/validators.js +12 -0
  23. package/.medusa/server/src/api/admin/exchanges/[id]/outbound/items/route.d.ts +14 -0
  24. package/.medusa/server/src/api/admin/exchanges/[id]/outbound/items/route.js +60 -0
  25. package/.medusa/server/src/api/admin/exchanges/[id]/request/route.d.ts +4 -0
  26. package/.medusa/server/src/api/admin/exchanges/[id]/request/route.js +75 -0
  27. package/.medusa/server/src/api/admin/members/validators.d.ts +14 -15
  28. package/.medusa/server/src/api/admin/middlewares.js +31 -36
  29. package/.medusa/server/src/api/admin/offers/middlewares.js +3 -1
  30. package/.medusa/server/src/api/admin/offers/query-config.js +3 -1
  31. package/.medusa/server/src/api/admin/offers/validators.d.ts +74 -55
  32. package/.medusa/server/src/api/admin/offers/validators.js +8 -1
  33. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.d.ts +3 -0
  34. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.js +18 -0
  35. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.d.ts +15 -0
  36. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.js +46 -0
  37. package/.medusa/server/src/api/admin/order-groups/helpers.d.ts +2 -0
  38. package/.medusa/server/src/api/admin/order-groups/helpers.js +53 -0
  39. package/.medusa/server/src/api/admin/order-groups/middlewares.js +3 -1
  40. package/.medusa/server/src/api/admin/order-groups/route.js +4 -2
  41. package/.medusa/server/src/api/admin/order-groups/validators.d.ts +20 -21
  42. package/.medusa/server/src/api/admin/orders/[id]/commission-lines/route.d.ts +7 -0
  43. package/.medusa/server/src/api/admin/orders/[id]/commission-lines/route.js +17 -0
  44. package/.medusa/server/src/api/admin/orders/middlewares.d.ts +2 -0
  45. package/.medusa/server/src/api/admin/orders/middlewares.js +42 -0
  46. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.d.ts +2 -0
  47. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.js +15 -0
  48. package/.medusa/server/src/api/admin/orders/validators.d.ts +1 -287
  49. package/.medusa/server/src/api/admin/orders/validators.js +9 -29
  50. package/.medusa/server/src/api/admin/payouts/validators.d.ts +18 -19
  51. package/.medusa/server/src/api/admin/product-attributes/[id]/route.js +2 -2
  52. package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.js +2 -2
  53. package/.medusa/server/src/api/admin/product-attributes/middlewares.js +1 -3
  54. package/.medusa/server/src/api/admin/product-attributes/query-config.js +4 -1
  55. package/.medusa/server/src/api/admin/product-attributes/route.d.ts +2 -2
  56. package/.medusa/server/src/api/admin/product-attributes/route.js +2 -5
  57. package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +129 -140
  58. package/.medusa/server/src/api/admin/product-attributes/validators.js +1 -3
  59. package/.medusa/server/src/api/admin/product-categories/[id]/route.js +8 -11
  60. package/.medusa/server/src/api/admin/product-categories/query-config.js +7 -1
  61. package/.medusa/server/src/api/admin/product-categories/route.js +5 -8
  62. package/.medusa/server/src/api/admin/product-categories/validators.d.ts +153 -93
  63. package/.medusa/server/src/api/admin/product-categories/validators.js +11 -1
  64. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.d.ts +0 -7
  65. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +1 -8
  66. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.d.ts +0 -7
  67. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +1 -8
  68. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +6 -9
  69. package/.medusa/server/src/api/admin/products/[id]/confirm/route.d.ts +0 -12
  70. package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +1 -13
  71. package/.medusa/server/src/api/admin/products/[id]/preview/route.d.ts +0 -7
  72. package/.medusa/server/src/api/admin/products/[id]/preview/route.js +1 -8
  73. package/.medusa/server/src/api/admin/products/[id]/reject/route.d.ts +0 -8
  74. package/.medusa/server/src/api/admin/products/[id]/reject/route.js +1 -9
  75. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.d.ts +0 -9
  76. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +1 -10
  77. package/.medusa/server/src/api/admin/products/[id]/route.js +9 -3
  78. package/.medusa/server/src/api/admin/products/[id]/sellers/route.d.ts +3 -0
  79. package/.medusa/server/src/api/admin/products/[id]/sellers/route.js +13 -0
  80. package/.medusa/server/src/api/admin/products/middlewares.js +6 -42
  81. package/.medusa/server/src/api/admin/products/query-config.js +41 -16
  82. package/.medusa/server/src/api/admin/products/route.js +9 -1
  83. package/.medusa/server/src/api/admin/products/validators.d.ts +558 -1324
  84. package/.medusa/server/src/api/admin/products/validators.js +59 -93
  85. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.d.ts +3 -0
  86. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.js +29 -0
  87. package/.medusa/server/src/api/admin/sellers/middlewares.js +1 -20
  88. package/.medusa/server/src/api/admin/sellers/validators.d.ts +75 -96
  89. package/.medusa/server/src/api/admin/sellers/validators.js +3 -4
  90. package/.medusa/server/src/api/admin/shipping-options/middlewares.d.ts +2 -0
  91. package/.medusa/server/src/api/admin/shipping-options/middlewares.js +46 -0
  92. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.d.ts +2 -0
  93. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.js +46 -0
  94. package/.medusa/server/src/api/admin/stock-locations/middlewares.d.ts +2 -0
  95. package/.medusa/server/src/api/admin/stock-locations/middlewares.js +46 -0
  96. package/.medusa/server/src/api/store/carts/[id]/complete/route.js +1 -5
  97. package/.medusa/server/src/api/store/carts/[id]/complete/validators.d.ts +1 -1
  98. package/.medusa/server/src/api/store/carts/[id]/line-items/route.js +13 -1
  99. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.d.ts +0 -3
  100. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.js +1 -2
  101. package/.medusa/server/src/api/store/carts/[id]/shipping-methods/route.js +6 -2
  102. package/.medusa/server/src/api/store/middlewares.js +15 -11
  103. package/.medusa/server/src/api/store/offers/[id]/route.d.ts +3 -0
  104. package/.medusa/server/src/api/store/offers/[id]/route.js +28 -0
  105. package/.medusa/server/src/api/store/offers/helpers.d.ts +43 -0
  106. package/.medusa/server/src/api/store/offers/helpers.js +191 -0
  107. package/.medusa/server/src/api/store/offers/middlewares.d.ts +2 -0
  108. package/.medusa/server/src/api/store/offers/middlewares.js +64 -0
  109. package/.medusa/server/src/api/store/offers/query-config.d.ts +12 -0
  110. package/.medusa/server/src/api/store/offers/query-config.js +50 -0
  111. package/.medusa/server/src/api/store/offers/route.d.ts +3 -0
  112. package/.medusa/server/src/api/store/offers/route.js +30 -0
  113. package/.medusa/server/src/api/store/offers/validators.d.ts +158 -0
  114. package/.medusa/server/src/api/store/offers/validators.js +29 -0
  115. package/.medusa/server/src/api/store/order-groups/validators.d.ts +16 -17
  116. package/.medusa/server/src/api/store/product-attributes/validators.d.ts +50 -46
  117. package/.medusa/server/src/api/store/product-categories/validators.d.ts +59 -53
  118. package/.medusa/server/src/api/store/products/[id]/route.js +9 -5
  119. package/.medusa/server/src/api/store/products/helpers.d.ts +10 -0
  120. package/.medusa/server/src/api/store/products/helpers.js +20 -0
  121. package/.medusa/server/src/api/store/products/middlewares.js +37 -24
  122. package/.medusa/server/src/api/store/products/query-config.js +23 -7
  123. package/.medusa/server/src/api/store/products/route.js +9 -1
  124. package/.medusa/server/src/api/store/products/validators.d.ts +69 -65
  125. package/.medusa/server/src/api/store/search/middlewares.d.ts +2 -0
  126. package/.medusa/server/src/api/store/search/middlewares.js +73 -0
  127. package/.medusa/server/src/api/store/search/route.d.ts +8 -0
  128. package/.medusa/server/src/api/store/search/route.js +25 -0
  129. package/.medusa/server/src/api/store/search/validators.d.ts +27 -0
  130. package/.medusa/server/src/api/store/search/validators.js +17 -0
  131. package/.medusa/server/src/api/store/sellers/validators.d.ts +35 -34
  132. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.d.ts +0 -15
  133. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.js +22 -26
  134. package/.medusa/server/src/api/utils/format-product-attributes.d.ts +5 -50
  135. package/.medusa/server/src/api/utils/format-product-attributes.js +90 -166
  136. package/.medusa/server/src/api/utils/index.d.ts +2 -0
  137. package/.medusa/server/src/api/utils/index.js +3 -1
  138. package/.medusa/server/src/api/utils/offers.d.ts +50 -0
  139. package/.medusa/server/src/api/utils/offers.js +286 -0
  140. package/.medusa/server/src/api/utils/order-commission-lines.d.ts +11 -0
  141. package/.medusa/server/src/api/utils/order-commission-lines.js +71 -0
  142. package/.medusa/server/src/api/utils/product-attribute-fields.d.ts +5 -0
  143. package/.medusa/server/src/api/utils/product-attribute-fields.js +35 -0
  144. package/.medusa/server/src/api/utils/sellers.d.ts +2 -0
  145. package/.medusa/server/src/api/utils/sellers.js +23 -0
  146. package/.medusa/server/src/api/vendor/campaigns/validators.d.ts +14 -15
  147. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.d.ts +0 -6
  148. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.js +1 -7
  149. package/.medusa/server/src/api/vendor/claims/[id]/request/route.js +1 -4
  150. package/.medusa/server/src/api/vendor/claims/validators.d.ts +32 -33
  151. package/.medusa/server/src/api/vendor/collections/query-config.js +7 -1
  152. package/.medusa/server/src/api/vendor/collections/validators.d.ts +22 -23
  153. package/.medusa/server/src/api/vendor/currencies/validators.d.ts +14 -15
  154. package/.medusa/server/src/api/vendor/customer-groups/[id]/customers/route.d.ts +4 -0
  155. package/.medusa/server/src/api/vendor/customer-groups/[id]/customers/route.js +20 -0
  156. package/.medusa/server/src/api/vendor/customer-groups/[id]/route.d.ts +6 -0
  157. package/.medusa/server/src/api/vendor/customer-groups/[id]/route.js +43 -0
  158. package/.medusa/server/src/api/vendor/customer-groups/helpers.d.ts +3 -0
  159. package/.medusa/server/src/api/vendor/customer-groups/helpers.js +38 -0
  160. package/.medusa/server/src/api/vendor/customer-groups/middlewares.d.ts +2 -0
  161. package/.medusa/server/src/api/vendor/customer-groups/middlewares.js +62 -0
  162. package/.medusa/server/src/api/vendor/customer-groups/query-config.d.ts +11 -0
  163. package/.medusa/server/src/api/vendor/customer-groups/query-config.js +22 -0
  164. package/.medusa/server/src/api/vendor/customer-groups/route.d.ts +5 -0
  165. package/.medusa/server/src/api/vendor/customer-groups/route.js +35 -0
  166. package/.medusa/server/src/api/vendor/customer-groups/validators.d.ts +156 -0
  167. package/.medusa/server/src/api/vendor/customer-groups/validators.js +35 -0
  168. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.d.ts +4 -0
  169. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.js +27 -0
  170. package/.medusa/server/src/api/vendor/customers/[id]/route.js +13 -1
  171. package/.medusa/server/src/api/vendor/customers/middlewares.js +9 -1
  172. package/.medusa/server/src/api/vendor/customers/validators.d.ts +47 -32
  173. package/.medusa/server/src/api/vendor/customers/validators.js +9 -2
  174. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.d.ts +0 -6
  175. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.js +1 -7
  176. package/.medusa/server/src/api/vendor/exchanges/[id]/request/route.js +1 -4
  177. package/.medusa/server/src/api/vendor/exchanges/validators.d.ts +29 -30
  178. package/.medusa/server/src/api/vendor/fulfillment-providers/validators.d.ts +24 -23
  179. package/.medusa/server/src/api/vendor/fulfillment-sets/validators.d.ts +18 -18
  180. package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +104 -110
  181. package/.medusa/server/src/api/vendor/middlewares.js +17 -17
  182. package/.medusa/server/src/api/vendor/offers/query-config.js +2 -1
  183. package/.medusa/server/src/api/vendor/offers/validators.d.ts +54 -59
  184. package/.medusa/server/src/api/vendor/offers/validators.js +4 -8
  185. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.d.ts +0 -6
  186. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.js +3 -9
  187. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.d.ts +0 -9
  188. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.js +1 -10
  189. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.d.ts +0 -6
  190. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.js +1 -7
  191. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.d.ts +0 -12
  192. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.js +1 -13
  193. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.d.ts +0 -7
  194. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.js +1 -8
  195. package/.medusa/server/src/api/vendor/order-edits/[id]/route.d.ts +0 -7
  196. package/.medusa/server/src/api/vendor/order-edits/[id]/route.js +1 -8
  197. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.d.ts +0 -9
  198. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.js +1 -10
  199. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.d.ts +0 -5
  200. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.js +1 -6
  201. package/.medusa/server/src/api/vendor/order-edits/middlewares.js +1 -13
  202. package/.medusa/server/src/api/vendor/order-edits/route.d.ts +0 -6
  203. package/.medusa/server/src/api/vendor/order-edits/route.js +1 -7
  204. package/.medusa/server/src/api/vendor/order-edits/validators.d.ts +12 -18
  205. package/.medusa/server/src/api/vendor/order-edits/validators.js +1 -1
  206. package/.medusa/server/src/api/vendor/orders/[id]/commission-lines/route.d.ts +7 -0
  207. package/.medusa/server/src/api/vendor/orders/[id]/commission-lines/route.js +18 -0
  208. package/.medusa/server/src/api/vendor/orders/middlewares.js +1 -3
  209. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.d.ts +2 -13
  210. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.js +11 -2
  211. package/.medusa/server/src/api/vendor/orders/validators.d.ts +21 -25
  212. package/.medusa/server/src/api/vendor/orders/validators.js +1 -7
  213. package/.medusa/server/src/api/vendor/payments/helpers.d.ts +0 -9
  214. package/.medusa/server/src/api/vendor/payments/helpers.js +1 -10
  215. package/.medusa/server/src/api/vendor/payments/validators.d.ts +38 -38
  216. package/.medusa/server/src/api/vendor/payout-accounts/validators.d.ts +11 -12
  217. package/.medusa/server/src/api/vendor/payouts/validators.d.ts +18 -19
  218. package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +38 -40
  219. package/.medusa/server/src/api/vendor/price-preferences/validators.d.ts +14 -15
  220. package/.medusa/server/src/api/vendor/product-attributes/query-config.js +4 -2
  221. package/.medusa/server/src/api/vendor/product-attributes/route.js +1 -3
  222. package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +92 -104
  223. package/.medusa/server/src/api/vendor/product-attributes/validators.js +1 -1
  224. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.js +2 -2
  225. package/.medusa/server/src/api/vendor/product-categories/query-config.js +7 -1
  226. package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +89 -83
  227. package/.medusa/server/src/api/vendor/product-tags/validators.d.ts +2 -2
  228. package/.medusa/server/src/api/vendor/product-types/validators.d.ts +14 -15
  229. package/.medusa/server/src/api/vendor/product-variants/middlewares.js +11 -19
  230. package/.medusa/server/src/api/vendor/product-variants/query-config.js +1 -3
  231. package/.medusa/server/src/api/vendor/product-variants/validators.d.ts +103 -97
  232. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.d.ts +2 -9
  233. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.js +3 -27
  234. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +0 -6
  235. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +1 -7
  236. package/.medusa/server/src/api/vendor/products/[id]/preview/route.d.ts +0 -9
  237. package/.medusa/server/src/api/vendor/products/[id]/preview/route.js +1 -10
  238. package/.medusa/server/src/api/vendor/products/[id]/route.d.ts +0 -14
  239. package/.medusa/server/src/api/vendor/products/[id]/route.js +10 -17
  240. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.d.ts +0 -8
  241. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +3 -11
  242. package/.medusa/server/src/api/vendor/products/[id]/variants/route.d.ts +0 -7
  243. package/.medusa/server/src/api/vendor/products/[id]/variants/route.js +2 -9
  244. package/.medusa/server/src/api/vendor/products/helpers.d.ts +6 -5
  245. package/.medusa/server/src/api/vendor/products/helpers.js +54 -10
  246. package/.medusa/server/src/api/vendor/products/middlewares.js +14 -63
  247. package/.medusa/server/src/api/vendor/products/query-config.js +52 -15
  248. package/.medusa/server/src/api/vendor/products/route.d.ts +0 -9
  249. package/.medusa/server/src/api/vendor/products/route.js +14 -17
  250. package/.medusa/server/src/api/vendor/products/validators.d.ts +436 -838
  251. package/.medusa/server/src/api/vendor/products/validators.js +65 -103
  252. package/.medusa/server/src/api/vendor/promotions/validators.d.ts +47 -49
  253. package/.medusa/server/src/api/vendor/refund-reasons/validators.d.ts +18 -19
  254. package/.medusa/server/src/api/vendor/regions/validators.d.ts +20 -21
  255. package/.medusa/server/src/api/vendor/reservations/[id]/route.js +1 -1
  256. package/.medusa/server/src/api/vendor/reservations/helpers.js +1 -4
  257. package/.medusa/server/src/api/vendor/reservations/middlewares.js +1 -18
  258. package/.medusa/server/src/api/vendor/reservations/query-config.js +1 -4
  259. package/.medusa/server/src/api/vendor/reservations/route.js +1 -1
  260. package/.medusa/server/src/api/vendor/reservations/validators.d.ts +24 -25
  261. package/.medusa/server/src/api/vendor/reservations/validators.js +1 -1
  262. package/.medusa/server/src/api/vendor/return-reasons/validators.d.ts +18 -19
  263. package/.medusa/server/src/api/vendor/returns/validators.d.ts +25 -26
  264. package/.medusa/server/src/api/vendor/sales-channels/[id]/products/route.js +2 -1
  265. package/.medusa/server/src/api/vendor/sales-channels/helpers.d.ts +1 -0
  266. package/.medusa/server/src/api/vendor/sales-channels/helpers.js +25 -2
  267. package/.medusa/server/src/api/vendor/sales-channels/validators.d.ts +25 -24
  268. package/.medusa/server/src/api/vendor/sellers/middlewares.js +1 -18
  269. package/.medusa/server/src/api/vendor/sellers/route.js +6 -2
  270. package/.medusa/server/src/api/vendor/sellers/validators.d.ts +25 -46
  271. package/.medusa/server/src/api/vendor/sellers/validators.js +2 -2
  272. package/.medusa/server/src/api/vendor/shipping-option-types/validators.d.ts +18 -19
  273. package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +97 -98
  274. package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +20 -21
  275. package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +18 -19
  276. package/.medusa/server/src/api/vendor/stores/validators.d.ts +14 -15
  277. package/.medusa/server/src/links/media-product-category-link.d.ts +20 -0
  278. package/.medusa/server/src/links/media-product-category-link.js +34 -0
  279. package/.medusa/server/src/links/media-product-collection-link.d.ts +18 -0
  280. package/.medusa/server/src/links/media-product-collection-link.js +32 -0
  281. package/.medusa/server/src/links/offer-product-link.js +15 -0
  282. package/.medusa/server/src/links/product-attribute-category-link.d.ts +0 -14
  283. package/.medusa/server/src/links/product-attribute-category-link.js +4 -21
  284. package/.medusa/server/src/links/product-attribute-option-mirror-link.d.ts +6 -0
  285. package/.medusa/server/src/links/product-attribute-option-mirror-link.js +24 -0
  286. package/.medusa/server/src/links/product-attribute-product-link.d.ts +0 -5
  287. package/.medusa/server/src/links/product-attribute-product-link.js +2 -7
  288. package/.medusa/server/src/links/product-attribute-value-option-value-mirror-link.d.ts +6 -0
  289. package/.medusa/server/src/links/product-attribute-value-option-value-mirror-link.js +24 -0
  290. package/.medusa/server/src/links/{product-variant-attribute-value-link.d.ts → product-attribute-value-pivot-link.d.ts} +3 -0
  291. package/.medusa/server/src/links/product-attribute-value-pivot-link.js +23 -0
  292. package/.medusa/server/src/links/seller-customer-group-link.js +15 -0
  293. package/.medusa/server/src/migration-scripts/drop-fulfillment-global-unique-indexes.js +6 -1
  294. package/.medusa/server/src/migration-scripts/rename-default-store.d.ts +2 -0
  295. package/.medusa/server/src/migration-scripts/rename-default-store.js +12 -0
  296. package/.medusa/server/src/modules/commission/index.d.ts +14 -0
  297. package/.medusa/server/src/modules/commission/index.js +3 -1
  298. package/.medusa/server/src/modules/commission/loaders/seed-default-commission-rate.d.ts +11 -0
  299. package/.medusa/server/src/modules/commission/loaders/seed-default-commission-rate.js +35 -0
  300. package/.medusa/server/src/modules/commission/migrations/Migration20260615120000.d.ts +5 -0
  301. package/.medusa/server/src/modules/commission/migrations/Migration20260615120000.js +46 -0
  302. package/.medusa/server/src/modules/commission/models/commission-line.d.ts +2 -1
  303. package/.medusa/server/src/modules/commission/models/commission-line.js +3 -2
  304. package/.medusa/server/src/modules/commission/models/commission-rate-value.d.ts +25 -0
  305. package/.medusa/server/src/modules/commission/models/commission-rate-value.js +17 -0
  306. package/.medusa/server/src/modules/commission/models/commission-rate.d.ts +9 -4
  307. package/.medusa/server/src/modules/commission/models/commission-rate.js +9 -6
  308. package/.medusa/server/src/modules/commission/models/commission-rule.d.ts +8 -3
  309. package/.medusa/server/src/modules/commission/models/index.d.ts +1 -0
  310. package/.medusa/server/src/modules/commission/models/index.js +4 -2
  311. package/.medusa/server/src/modules/commission/service.d.ts +170 -10
  312. package/.medusa/server/src/modules/commission/service.js +270 -114
  313. package/.medusa/server/src/modules/media/index.d.ts +21 -0
  314. package/.medusa/server/src/modules/media/index.js +12 -0
  315. package/.medusa/server/src/modules/media/migrations/Migration20260616000000.d.ts +5 -0
  316. package/.medusa/server/src/modules/media/migrations/Migration20260616000000.js +16 -0
  317. package/.medusa/server/src/modules/media/models/index.d.ts +1 -0
  318. package/.medusa/server/src/modules/media/models/index.js +9 -0
  319. package/.medusa/server/src/modules/media/models/media-image.d.ts +32 -0
  320. package/.medusa/server/src/modules/media/models/media-image.js +41 -0
  321. package/.medusa/server/src/modules/media/service.d.ts +17 -0
  322. package/.medusa/server/src/modules/media/service.js +10 -0
  323. package/.medusa/server/src/modules/offer/migrations/Migration20260622000000.d.ts +5 -0
  324. package/.medusa/server/src/modules/offer/migrations/Migration20260622000000.js +16 -0
  325. package/.medusa/server/src/modules/offer/models/offer.d.ts +2 -0
  326. package/.medusa/server/src/modules/offer/models/offer.js +8 -1
  327. package/.medusa/server/src/modules/offer/service.d.ts +10 -0
  328. package/.medusa/server/src/modules/offer/service.js +100 -1
  329. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000002.d.ts +14 -0
  330. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000002.js +31 -0
  331. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.d.ts +2 -0
  332. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.js +2 -1
  333. package/.medusa/server/src/modules/product-attribute/models/product-attribute.d.ts +2 -0
  334. package/.medusa/server/src/modules/product-attribute/models/product-attribute.js +2 -1
  335. package/.medusa/server/src/modules/product-attribute/service.d.ts +18 -3
  336. package/.medusa/server/src/modules/product-attribute/service.js +213 -1
  337. package/.medusa/server/src/modules/search/abstract-search-provider.d.ts +9 -0
  338. package/.medusa/server/src/modules/search/abstract-search-provider.js +20 -0
  339. package/.medusa/server/src/modules/search/index.d.ts +10 -0
  340. package/.medusa/server/src/modules/search/index.js +31 -0
  341. package/.medusa/server/src/modules/search/lib/build-docs.d.ts +84 -0
  342. package/.medusa/server/src/modules/search/lib/build-docs.js +207 -0
  343. package/.medusa/server/src/modules/search/lib/reindex.d.ts +7 -0
  344. package/.medusa/server/src/modules/search/lib/reindex.js +61 -0
  345. package/.medusa/server/src/modules/search/lib/sync.d.ts +9 -0
  346. package/.medusa/server/src/modules/search/lib/sync.js +73 -0
  347. package/.medusa/server/src/modules/search/loaders/providers.d.ts +5 -0
  348. package/.medusa/server/src/modules/search/loaders/providers.js +26 -0
  349. package/.medusa/server/src/modules/search/providers/index.d.ts +1 -0
  350. package/.medusa/server/src/modules/search/providers/index.js +6 -0
  351. package/.medusa/server/src/modules/search/providers/orama/index.d.ts +4 -0
  352. package/.medusa/server/src/modules/search/providers/orama/index.js +12 -0
  353. package/.medusa/server/src/modules/search/providers/orama/service.d.ts +19 -0
  354. package/.medusa/server/src/modules/search/providers/orama/service.js +148 -0
  355. package/.medusa/server/src/modules/search/providers/orama/types.d.ts +10 -0
  356. package/.medusa/server/src/modules/search/providers/orama/types.js +3 -0
  357. package/.medusa/server/src/modules/search/services/index.d.ts +2 -0
  358. package/.medusa/server/src/modules/search/services/index.js +24 -0
  359. package/.medusa/server/src/modules/search/services/search-module-service.d.ts +25 -0
  360. package/.medusa/server/src/modules/search/services/search-module-service.js +60 -0
  361. package/.medusa/server/src/modules/search/services/search-provider-service.d.ts +15 -0
  362. package/.medusa/server/src/modules/search/services/search-provider-service.js +30 -0
  363. package/.medusa/server/src/modules/seller/migrations/Migration20260616120000.d.ts +5 -0
  364. package/.medusa/server/src/modules/seller/migrations/Migration20260616120000.js +16 -0
  365. package/.medusa/server/src/modules/seller/models/address.d.ts +2 -2
  366. package/.medusa/server/src/modules/seller/models/member-invite.d.ts +2 -2
  367. package/.medusa/server/src/modules/seller/models/member.d.ts +2 -2
  368. package/.medusa/server/src/modules/seller/models/payment-details.d.ts +2 -2
  369. package/.medusa/server/src/modules/seller/models/payment-details.js +3 -3
  370. package/.medusa/server/src/modules/seller/models/professional-details.d.ts +2 -2
  371. package/.medusa/server/src/modules/seller/models/seller-member.d.ts +4 -4
  372. package/.medusa/server/src/modules/seller/models/seller.d.ts +2 -2
  373. package/.medusa/server/src/modules/seller/repositories/order-group.js +1 -11
  374. package/.medusa/server/src/modules/seller/service.d.ts +16 -16
  375. package/.medusa/server/src/modules/seller/service.js +1 -2
  376. package/.medusa/server/src/subscribers/order-edit-confirmed.d.ts +9 -2
  377. package/.medusa/server/src/subscribers/order-edit-confirmed.js +18 -6
  378. package/.medusa/server/src/subscribers/search-offer-changed.d.ts +6 -0
  379. package/.medusa/server/src/subscribers/search-offer-changed.js +34 -0
  380. package/.medusa/server/src/subscribers/search-product-changed.d.ts +5 -0
  381. package/.medusa/server/src/subscribers/search-product-changed.js +29 -0
  382. package/.medusa/server/src/subscribers/search-product-deleted.d.ts +5 -0
  383. package/.medusa/server/src/subscribers/search-product-deleted.js +23 -0
  384. package/.medusa/server/src/subscribers/search-reindex.d.ts +3 -0
  385. package/.medusa/server/src/subscribers/search-reindex.js +23 -0
  386. package/.medusa/server/src/subscribers/search-seller-changed.d.ts +5 -0
  387. package/.medusa/server/src/subscribers/search-seller-changed.js +44 -0
  388. package/.medusa/server/src/utils/dashboard/dashboard-base.js +6 -2
  389. package/.medusa/server/src/utils/disable-medusa-middlewares.js +7 -1
  390. package/.medusa/server/src/workflows/cart/hooks/validate.js +1 -12
  391. package/.medusa/server/src/workflows/cart/steps/prepare-adjustments-from-promotion-actions.js +3 -5
  392. package/.medusa/server/src/workflows/cart/utils/fields.js +1 -13
  393. package/.medusa/server/src/workflows/cart/utils/prepare-line-item-data.js +1 -3
  394. package/.medusa/server/src/workflows/cart/workflows/add-seller-shipping-method-to-cart.js +1 -2
  395. package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +1 -24
  396. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.d.ts +2 -2
  397. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.js +1 -2
  398. package/.medusa/server/src/workflows/commission/steps/create-commission-rates.d.ts +1 -28
  399. package/.medusa/server/src/workflows/commission/steps/create-commission-rules.d.ts +13 -4
  400. package/.medusa/server/src/workflows/commission/steps/index.d.ts +1 -0
  401. package/.medusa/server/src/workflows/commission/steps/index.js +2 -1
  402. package/.medusa/server/src/workflows/commission/steps/update-commission-rates.d.ts +13 -4
  403. package/.medusa/server/src/workflows/commission/steps/update-commission-rules.d.ts +13 -4
  404. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.d.ts +2 -2
  405. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.js +1 -1
  406. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.d.ts +2 -0
  407. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.js +19 -0
  408. package/.medusa/server/src/workflows/commission/workflows/create-commission-rates.d.ts +1 -28
  409. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rates.d.ts +1 -2
  410. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rates.js +3 -1
  411. package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.js +2 -1
  412. package/.medusa/server/src/workflows/commission/workflows/update-commission-rates.d.ts +13 -4
  413. package/.medusa/server/src/workflows/customer-group/index.d.ts +2 -0
  414. package/.medusa/server/src/workflows/customer-group/index.js +19 -0
  415. package/.medusa/server/src/workflows/customer-group/steps/index.d.ts +1 -0
  416. package/.medusa/server/src/workflows/customer-group/steps/index.js +18 -0
  417. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.d.ts +6 -0
  418. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.js +38 -0
  419. package/.medusa/server/src/workflows/customer-group/workflows/create-seller-customer-groups.d.ts +7 -0
  420. package/.medusa/server/src/workflows/customer-group/workflows/create-seller-customer-groups.js +20 -0
  421. package/.medusa/server/src/workflows/customer-group/workflows/index.d.ts +1 -0
  422. package/.medusa/server/src/workflows/customer-group/workflows/index.js +18 -0
  423. package/.medusa/server/src/workflows/index.d.ts +2 -0
  424. package/.medusa/server/src/workflows/index.js +3 -1
  425. package/.medusa/server/src/workflows/media/index.d.ts +2 -0
  426. package/.medusa/server/src/workflows/media/index.js +19 -0
  427. package/.medusa/server/src/workflows/media/steps/create-images.d.ts +20 -0
  428. package/.medusa/server/src/workflows/media/steps/create-images.js +21 -0
  429. package/.medusa/server/src/workflows/media/steps/delete-images.d.ts +3 -0
  430. package/.medusa/server/src/workflows/media/steps/delete-images.js +21 -0
  431. package/.medusa/server/src/workflows/media/steps/index.d.ts +2 -0
  432. package/.medusa/server/src/workflows/media/steps/index.js +19 -0
  433. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.d.ts +8 -0
  434. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.js +23 -0
  435. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.d.ts +8 -0
  436. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.js +23 -0
  437. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.d.ts +5 -0
  438. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.js +21 -0
  439. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.d.ts +5 -0
  440. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.js +21 -0
  441. package/.medusa/server/src/workflows/media/workflows/index.d.ts +8 -0
  442. package/.medusa/server/src/workflows/media/workflows/index.js +25 -0
  443. package/.medusa/server/src/workflows/media/workflows/set-category-images.d.ts +13 -0
  444. package/.medusa/server/src/workflows/media/workflows/set-category-images.js +71 -0
  445. package/.medusa/server/src/workflows/media/workflows/set-collection-images.d.ts +13 -0
  446. package/.medusa/server/src/workflows/media/workflows/set-collection-images.js +71 -0
  447. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.d.ts +9 -0
  448. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.js +22 -0
  449. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.d.ts +9 -0
  450. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.js +22 -0
  451. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.d.ts +0 -12
  452. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.js +1 -16
  453. package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +2 -0
  454. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.d.ts +0 -9
  455. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.js +1 -10
  456. package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +2 -5
  457. package/.medusa/server/src/workflows/offer/steps/update-offers.js +1 -1
  458. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.d.ts +0 -11
  459. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.js +1 -12
  460. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.d.ts +0 -10
  461. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.js +1 -19
  462. package/.medusa/server/src/workflows/offer/workflows/create-offers.js +4 -16
  463. package/.medusa/server/src/workflows/offer/workflows/delete-offers.js +7 -2
  464. package/.medusa/server/src/workflows/offer/workflows/update-offers.d.ts +0 -11
  465. package/.medusa/server/src/workflows/offer/workflows/update-offers.js +2 -23
  466. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.d.ts +1 -2
  467. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.js +1 -2
  468. package/.medusa/server/src/workflows/order/workflows/confirm-claim-request.js +1 -3
  469. package/.medusa/server/src/workflows/order/workflows/confirm-exchange-request.js +1 -8
  470. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.d.ts +7 -0
  471. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.js +165 -0
  472. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +1 -9
  473. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.js +2 -3
  474. package/.medusa/server/src/workflows/order/workflows/index.d.ts +1 -0
  475. package/.medusa/server/src/workflows/order/workflows/index.js +2 -1
  476. package/.medusa/server/src/workflows/order-group/utils/aggregate-status.js +1 -7
  477. package/.medusa/server/src/workflows/order-group/workflows/get-order-groups-list.d.ts +1 -0
  478. package/.medusa/server/src/workflows/order-group/workflows/get-order-groups-list.js +11 -2
  479. package/.medusa/server/src/workflows/payout/workflows/create-payout.js +34 -21
  480. package/.medusa/server/src/workflows/product/events.d.ts +0 -6
  481. package/.medusa/server/src/workflows/product/events.js +1 -7
  482. package/.medusa/server/src/workflows/product/steps/index.d.ts +0 -2
  483. package/.medusa/server/src/workflows/product/steps/index.js +1 -3
  484. package/.medusa/server/src/workflows/product/steps/validate-products-status.d.ts +0 -8
  485. package/.medusa/server/src/workflows/product/steps/validate-products-status.js +1 -9
  486. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.js +1 -3
  487. package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +0 -16
  488. package/.medusa/server/src/workflows/product/workflows/confirm-products.js +1 -13
  489. package/.medusa/server/src/workflows/product/workflows/create-products.d.ts +4 -52
  490. package/.medusa/server/src/workflows/product/workflows/create-products.js +69 -158
  491. package/.medusa/server/src/workflows/product/workflows/index.d.ts +0 -1
  492. package/.medusa/server/src/workflows/product/workflows/index.js +1 -2
  493. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.d.ts +0 -7
  494. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.js +1 -1
  495. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.d.ts +0 -7
  496. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.js +1 -1
  497. package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +0 -7
  498. package/.medusa/server/src/workflows/product/workflows/reject-product.js +1 -8
  499. package/.medusa/server/src/workflows/product/workflows/request-product-change.d.ts +0 -14
  500. package/.medusa/server/src/workflows/product/workflows/request-product-change.js +1 -15
  501. package/.medusa/server/src/workflows/product-attribute/events.d.ts +0 -9
  502. package/.medusa/server/src/workflows/product-attribute/events.js +1 -10
  503. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.d.ts +1 -31
  504. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.d.ts +1 -41
  505. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.js +1 -1
  506. package/.medusa/server/src/workflows/product-attribute/steps/detach-product-option-values-from-product.d.ts +14 -0
  507. package/.medusa/server/src/workflows/product-attribute/steps/detach-product-option-values-from-product.js +40 -0
  508. package/.medusa/server/src/workflows/product-attribute/steps/index.d.ts +3 -4
  509. package/.medusa/server/src/workflows/product-attribute/steps/index.js +4 -5
  510. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.d.ts +6 -3
  511. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.js +17 -2
  512. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attributes.d.ts +1 -31
  513. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-linked.d.ts +2 -0
  514. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-linked.js +28 -0
  515. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-required.d.ts +7 -0
  516. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-required.js +16 -0
  517. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attributes-to-product.d.ts +9 -0
  518. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attributes-to-product.js +242 -0
  519. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.d.ts +14 -0
  520. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.js +27 -0
  521. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.js +44 -3
  522. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.js +41 -17
  523. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.js +36 -15
  524. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.d.ts +0 -7
  525. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.js +11 -8
  526. package/.medusa/server/src/workflows/product-attribute/workflows/index.d.ts +4 -6
  527. package/.medusa/server/src/workflows/product-attribute/workflows/index.js +5 -7
  528. package/.medusa/server/src/workflows/product-attribute/workflows/remove-product-attributes-from-product.d.ts +10 -0
  529. package/.medusa/server/src/workflows/product-attribute/workflows/remove-product-attributes-from-product.js +83 -0
  530. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.js +34 -1
  531. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.d.ts +11 -0
  532. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.js +285 -0
  533. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.js +15 -1
  534. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.d.ts +4 -11
  535. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.js +19 -19
  536. package/.medusa/server/src/workflows/product-edit/events.d.ts +0 -7
  537. package/.medusa/server/src/workflows/product-edit/events.js +1 -8
  538. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.d.ts +16 -0
  539. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.js +35 -0
  540. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.d.ts +0 -4
  541. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.js +1 -5
  542. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.d.ts +0 -6
  543. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.js +1 -7
  544. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.d.ts +0 -5
  545. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.js +1 -6
  546. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.d.ts +0 -6
  547. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.js +1 -1
  548. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.d.ts +0 -5
  549. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.js +1 -6
  550. package/.medusa/server/src/workflows/product-edit/steps/index.d.ts +1 -0
  551. package/.medusa/server/src/workflows/product-edit/steps/index.js +2 -1
  552. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.d.ts +0 -5
  553. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.js +1 -6
  554. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +0 -6
  555. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +2 -8
  556. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.d.ts +5 -19
  557. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.js +11 -128
  558. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.d.ts +0 -31
  559. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.js +43 -50
  560. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.d.ts +1 -9
  561. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.js +3 -11
  562. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.d.ts +0 -11
  563. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.js +1 -12
  564. package/.medusa/server/src/workflows/product-edit/workflows/index.d.ts +1 -1
  565. package/.medusa/server/src/workflows/product-edit/workflows/index.js +2 -2
  566. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.d.ts +0 -7
  567. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +10 -9
  568. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.d.ts +4 -46
  569. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.js +11 -162
  570. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.d.ts +11 -0
  571. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.js +133 -0
  572. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.d.ts +0 -10
  573. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +71 -17
  574. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.d.ts +0 -24
  575. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.js +1 -15
  576. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.d.ts +1 -25
  577. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.js +2 -15
  578. package/.medusa/server/src/workflows/promotion/steps/register-usage.d.ts +0 -3
  579. package/.medusa/server/src/workflows/promotion/steps/register-usage.js +1 -4
  580. package/.medusa/server/src/workflows/seller/steps/create-seller-member.d.ts +4 -4
  581. package/.medusa/server/src/workflows/seller/steps/update-member.d.ts +2 -2
  582. package/.medusa/server/src/workflows/seller/steps/update-seller-member.d.ts +4 -4
  583. package/.medusa/server/src/workflows/seller/workflows/accept-member-invite.js +1 -2
  584. package/.medusa/server/src/workflows/seller/workflows/add-seller-member.d.ts +4 -4
  585. package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +1 -2
  586. package/.medusa/server/src/workflows/seller/workflows/update-member.d.ts +2 -2
  587. package/package.json +19 -18
  588. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.d.ts +0 -13
  589. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.js +0 -90
  590. package/.medusa/server/src/api/admin/products/[id]/attributes/route.d.ts +0 -5
  591. package/.medusa/server/src/api/admin/products/[id]/attributes/route.js +0 -63
  592. package/.medusa/server/src/api/vendor/orders/apply-request-filter.d.ts +0 -2
  593. package/.medusa/server/src/api/vendor/orders/apply-request-filter.js +0 -99
  594. package/.medusa/server/src/api/vendor/payment-collections/[id]/mark-as-paid/route.d.ts +0 -3
  595. package/.medusa/server/src/api/vendor/payment-collections/[id]/mark-as-paid/route.js +0 -25
  596. package/.medusa/server/src/api/vendor/payment-collections/helpers.d.ts +0 -3
  597. package/.medusa/server/src/api/vendor/payment-collections/helpers.js +0 -30
  598. package/.medusa/server/src/api/vendor/payment-collections/middlewares.d.ts +0 -2
  599. package/.medusa/server/src/api/vendor/payment-collections/middlewares.js +0 -17
  600. package/.medusa/server/src/api/vendor/payment-collections/query-config.d.ts +0 -7
  601. package/.medusa/server/src/api/vendor/payment-collections/query-config.js +0 -26
  602. package/.medusa/server/src/api/vendor/payment-collections/validators.d.ts +0 -17
  603. package/.medusa/server/src/api/vendor/payment-collections/validators.js +0 -12
  604. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.d.ts +0 -22
  605. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.js +0 -97
  606. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.d.ts +0 -15
  607. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.js +0 -80
  608. package/.medusa/server/src/links/line-item-commission-line-link.js +0 -21
  609. package/.medusa/server/src/links/product-attribute-value-link.d.ts +0 -22
  610. package/.medusa/server/src/links/product-attribute-value-link.js +0 -46
  611. package/.medusa/server/src/links/product-variant-attribute-link.js +0 -21
  612. package/.medusa/server/src/links/product-variant-attribute-value-link.js +0 -21
  613. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.d.ts +0 -28
  614. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.js +0 -72
  615. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.d.ts +0 -90
  616. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.js +0 -185
  617. package/.medusa/server/src/workflows/product/workflows/update-products.d.ts +0 -39
  618. package/.medusa/server/src/workflows/product/workflows/update-products.js +0 -161
  619. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.d.ts +0 -43
  620. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.js +0 -51
  621. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.d.ts +0 -7
  622. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.js +0 -59
  623. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.d.ts +0 -6
  624. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.js +0 -20
  625. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.d.ts +0 -7
  626. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.js +0 -20
  627. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.d.ts +0 -52
  628. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.js +0 -120
  629. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.d.ts +0 -23
  630. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.js +0 -252
  631. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.d.ts +0 -17
  632. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.js +0 -62
  633. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.d.ts +0 -135
  634. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.js +0 -43
  635. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.d.ts +0 -24
  636. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.js +0 -27
  637. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute.d.ts +0 -23
  638. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute.js +0 -67
  639. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.d.ts +0 -25
  640. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.js +0 -148
  641. /package/.medusa/server/src/links/{line-item-commission-line-link.d.ts → offer-product-link.d.ts} +0 -0
  642. /package/.medusa/server/src/links/{product-variant-attribute-link.d.ts → seller-customer-group-link.d.ts} +0 -0
@@ -3,13 +3,54 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createProductAttributeValuesWorkflow = exports.createProductAttributeValuesWorkflowId = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
5
  const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const types_1 = require("@mercurjs/types");
6
7
  const events_1 = require("../events");
7
8
  const steps_1 = require("../steps");
8
9
  exports.createProductAttributeValuesWorkflowId = "create-product-attribute-values";
9
10
  exports.createProductAttributeValuesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.createProductAttributeValuesWorkflowId, function (input) {
10
11
  const validate = (0, workflows_sdk_1.createHook)("validate", { input });
11
- (0, steps_1.validateAttributeAcceptsValuesStep)({ attribute_id: input.attribute_id });
12
- const valueInputs = (0, workflows_sdk_1.transform)({ input }, ({ input }) => input.values.map((v) => ({ ...v, attribute_id: input.attribute_id })));
12
+ const attributeQuery = (0, core_flows_1.useQueryGraphStep)({
13
+ entity: "product_attribute",
14
+ filters: { id: input.attribute_id },
15
+ fields: [
16
+ "id",
17
+ "name",
18
+ "type",
19
+ "is_variant_axis",
20
+ "product_option_id",
21
+ "values.name",
22
+ ],
23
+ options: { isList: false },
24
+ });
25
+ const mirroredOption = (0, workflows_sdk_1.when)({ attributeQuery }, ({ attributeQuery }) => {
26
+ const attribute = attributeQuery.data;
27
+ return (attribute?.type === types_1.AttributeType.MULTI_SELECT &&
28
+ !!attribute?.is_variant_axis &&
29
+ !!attribute?.product_option_id);
30
+ }).then(() => {
31
+ const optionUpdate = (0, workflows_sdk_1.transform)({ attributeQuery, input }, ({ attributeQuery, input }) => {
32
+ const attribute = attributeQuery.data;
33
+ const existing = (attribute.values ?? []).map((v) => v.name);
34
+ const incoming = input.values.map((v) => v.name);
35
+ return {
36
+ selector: { id: attribute.product_option_id },
37
+ update: { values: Array.from(new Set([...existing, ...incoming])) },
38
+ };
39
+ });
40
+ return (0, core_flows_1.updateProductOptionsStep)(optionUpdate);
41
+ });
42
+ const valueInputs = (0, workflows_sdk_1.transform)({ input, mirroredOption }, ({ input, mirroredOption }) => {
43
+ const option = mirroredOption?.[0];
44
+ const idByValue = new Map((option?.values ?? []).map((ov) => [
45
+ ov.value,
46
+ ov.id,
47
+ ]));
48
+ return input.values.map((v) => ({
49
+ ...v,
50
+ attribute_id: input.attribute_id,
51
+ product_option_value_id: idByValue.get(v.name) ?? null,
52
+ }));
53
+ });
13
54
  const values = (0, steps_1.createProductAttributeValuesStep)(valueInputs);
14
55
  (0, core_flows_1.emitEventStep)({
15
56
  eventName: events_1.ProductAttributeValueWorkflowEvents.CREATED,
@@ -23,4 +64,4 @@ exports.createProductAttributeValuesWorkflow = (0, workflows_sdk_1.createWorkflo
23
64
  hooks: [validate, productAttributeValuesCreated],
24
65
  });
25
66
  });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb2R1Y3QtYXR0cmlidXRlLXZhbHVlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL2NyZWF0ZS1wcm9kdWN0LWF0dHJpYnV0ZS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBTzBDO0FBQzFDLDREQUEyRDtBQU0zRCxzQ0FBK0Q7QUFDL0Qsb0NBR2lCO0FBdUJKLFFBQUEsc0NBQXNDLEdBQ2pELGlDQUFpQyxDQUFBO0FBRXRCLFFBQUEsb0NBQW9DLEdBSTdDLElBQUEsOEJBQWMsRUFDaEIsOENBQXNDLEVBQ3RDLFVBQVUsS0FBZ0Q7SUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBQSwwQkFBVSxFQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFFbEQsSUFBQSwwQ0FBa0MsRUFBQyxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQTtJQUV4RSxNQUFNLFdBQVcsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUNyRCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUN0RSxDQUFBO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBQSx3Q0FBZ0MsRUFBQyxXQUFXLENBQUMsQ0FBQTtJQUU1RCxJQUFBLDBCQUFhLEVBQUM7UUFDWixTQUFTLEVBQUUsNENBQW1DLENBQUMsT0FBTztRQUN0RCxJQUFJLEVBQUUsSUFBQSx5QkFBUyxFQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FDekMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNsQztLQUNGLENBQUMsQ0FBQTtJQUVGLE1BQU0sNkJBQTZCLEdBQUcsSUFBQSwwQkFBVSxFQUM5QywrQkFBK0IsRUFDL0I7UUFDRSxNQUFNO1FBQ04sZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO0tBQ3ZDLENBQ0YsQ0FBQTtJQUVELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxNQUFvQyxFQUFFO1FBQ2hFLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQztLQUNqRCxDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb2R1Y3QtYXR0cmlidXRlLXZhbHVlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL2NyZWF0ZS1wcm9kdWN0LWF0dHJpYnV0ZS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBUTBDO0FBQzFDLDREQUlvQztBQUNwQywyQ0FJd0I7QUFFeEIsc0NBQStEO0FBQy9ELG9DQUVpQjtBQXVCSixRQUFBLHNDQUFzQyxHQUNqRCxpQ0FBaUMsQ0FBQTtBQUV0QixRQUFBLG9DQUFvQyxHQUk3QyxJQUFBLDhCQUFjLEVBQ2hCLDhDQUFzQyxFQUN0QyxVQUFVLEtBQWdEO0lBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRWxELE1BQU0sY0FBYyxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDdkMsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRTtRQUNuQyxNQUFNLEVBQUU7WUFDTixJQUFJO1lBQ0osTUFBTTtZQUNOLE1BQU07WUFDTixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLGFBQWE7U0FDZDtRQUNELE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7S0FDM0IsQ0FBQyxDQUFBO0lBRUYsTUFBTSxjQUFjLEdBQUcsSUFBQSxvQkFBSSxFQUN6QixFQUFFLGNBQWMsRUFBRSxFQUNsQixDQUFDLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRTtRQUNyQixNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFBO1FBQ3JDLE9BQU8sQ0FDTCxTQUFTLEVBQUUsSUFBSSxLQUFLLHFCQUFhLENBQUMsWUFBWTtZQUM5QyxDQUFDLENBQUMsU0FB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
@@ -10,37 +10,61 @@ const steps_1 = require("../steps");
10
10
  exports.createProductAttributesWorkflowId = "create-product-attributes";
11
11
  exports.createProductAttributesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.createProductAttributesWorkflowId, function (input) {
12
12
  const validate = (0, workflows_sdk_1.createHook)("validate", { input });
13
- (0, steps_1.validateProductAttributeInputStep)({ attributes: input.attributes });
14
- const attributesToCreate = (0, workflows_sdk_1.transform)({ input }, ({ input }) => input.attributes.map((attr) => {
13
+ const optionsPlan = (0, workflows_sdk_1.transform)({ input }, ({ input }) => {
14
+ const optionsToCreate = [];
15
+ const attrIdxToOptionIdx = {};
16
+ input.attributes.forEach((attr, idx) => {
17
+ if (attr.type === types_1.AttributeType.MULTI_SELECT && attr.is_variant_axis) {
18
+ attrIdxToOptionIdx[idx] = optionsToCreate.length;
19
+ optionsToCreate.push({
20
+ title: attr.name,
21
+ is_exclusive: false,
22
+ values: (attr.values ?? []).map((v) => v.name),
23
+ });
24
+ }
25
+ });
26
+ return { optionsToCreate, attrIdxToOptionIdx };
27
+ });
28
+ const sharedOptions = (0, core_flows_1.createProductOptionsStep)(optionsPlan.optionsToCreate);
29
+ const attributesToCreate = (0, workflows_sdk_1.transform)({ input, optionsPlan, sharedOptions }, ({ input, optionsPlan, sharedOptions }) => input.attributes.map((attr, idx) => {
15
30
  const { category_ids: _category_ids, values: _values, ...rest } = attr;
16
- return rest;
31
+ const optionIdx = optionsPlan.attrIdxToOptionIdx[idx];
32
+ if (optionIdx === undefined) {
33
+ return rest;
34
+ }
35
+ return { ...rest, product_option_id: sharedOptions[optionIdx].id };
17
36
  }));
18
37
  const attributes = (0, steps_1.createProductAttributesStep)(attributesToCreate);
19
- // Persist each attribute's `values[]` against the just-created ids.
20
- // The underlying create-attribute service doesn't accept inline
21
- // values, so they have to land via the values step.
22
- const valuesToCreate = (0, workflows_sdk_1.transform)({ input, attributes }, ({ input, attributes }) => {
23
- const out = [];
38
+ const valueInputs = (0, workflows_sdk_1.transform)({ input, attributes, optionsPlan, sharedOptions }, ({ input, attributes, optionsPlan, sharedOptions }) => {
39
+ const valuesToCreate = [];
24
40
  input.attributes.forEach((attr, idx) => {
25
- const attribute_id = attributes[idx]?.id;
26
- if (!attribute_id)
27
- return;
28
- for (const v of attr.values ?? []) {
29
- out.push({ ...v, attribute_id });
41
+ const optionIdx = optionsPlan.attrIdxToOptionIdx[idx];
42
+ const idByValue = new Map(optionIdx === undefined
43
+ ? []
44
+ : (sharedOptions[optionIdx].values ?? []).map((ov) => [
45
+ ov.value,
46
+ ov.id,
47
+ ]));
48
+ for (const value of attr.values ?? []) {
49
+ valuesToCreate.push({
50
+ ...value,
51
+ attribute_id: attributes[idx].id,
52
+ product_option_value_id: idByValue.get(value.name) ?? null,
53
+ });
30
54
  }
31
55
  });
32
- return out;
56
+ return valuesToCreate;
33
57
  });
34
- (0, steps_1.createProductAttributeValuesStep)(valuesToCreate);
58
+ (0, steps_1.createProductAttributeValuesStep)(valueInputs);
35
59
  const categoryLinks = (0, workflows_sdk_1.transform)({ input, attributes }, ({ input, attributes }) => {
36
60
  const links = [];
37
61
  input.attributes.forEach((attr, idx) => {
38
62
  for (const category_id of attr.category_ids ?? []) {
39
63
  links.push({
40
- [utils_1.Modules.PRODUCT]: { product_category_id: category_id },
41
64
  [types_1.MercurModules.PRODUCT_ATTRIBUTE]: {
42
65
  product_attribute_id: attributes[idx].id,
43
66
  },
67
+ [utils_1.Modules.PRODUCT]: { product_category_id: category_id },
44
68
  });
45
69
  }
46
70
  });
@@ -61,4 +85,4 @@ exports.createProductAttributesWorkflow = (0, workflows_sdk_1.createWorkflow)(ex
61
85
  hooks: [validate, productAttributesCreated],
62
86
  });
63
87
  });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb2R1Y3QtYXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL2NyZWF0ZS1wcm9kdWN0LWF0dHJpYnV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQW1EO0FBRW5ELHFFQU8wQztBQUMxQyw0REFHb0M7QUFDcEMsMkNBSXdCO0FBRXhCLHNDQUEwRDtBQUMxRCxvQ0FJaUI7QUFvQkosUUFBQSxpQ0FBaUMsR0FBRywyQkFBMkIsQ0FBQTtBQUUvRCxRQUFBLCtCQUErQixHQUl4QyxJQUFBLDhCQUFjLEVBQ2hCLHlDQUFpQyxFQUNqQyxVQUFVLEtBQTJDO0lBQ25ELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRWxELElBQUEseUNBQWlDLEVBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7SUFFbkUsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUM1RCxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzVCLE1BQU0sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDdEUsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBQSxtQ0FBMkIsRUFBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBRWxFLG9FQUFvRTtJQUNwRSxnRUFBZ0U7SUFDaEUsb0RBQW9EO0lBQ3BELE1BQU0sY0FBYyxH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
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb2R1Y3QtYXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL2NyZWF0ZS1wcm9kdWN0LWF0dHJpYnV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQW1EO0FBTW5ELHFFQU8wQztBQUMxQyw0REFJb0M7QUFDcEMsMkNBTXdCO0FBR3hCLHNDQUEwRDtBQUMxRCxvQ0FHaUI7QUFvQkosUUFBQSxpQ0FBaUMsR0FBRywyQkFBMkIsQ0FBQTtBQUUvRCxRQUFBLCtCQUErQixHQUl4QyxJQUFBLDhCQUFjLEVBQ2hCLHlDQUFpQyxFQUNqQyxVQUFVLEtBQTJDO0lBQ25ELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRWxELE1BQU0sV0FBVyxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQ3JELE1BQU0sZUFBZSxHQUEwQyxFQUFFLENBQUE7UUFDakUsTUFBTSxrQkFBa0IsR0FBMkIsRUFBRSxDQUFBO1FBQ3JELEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3JDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBYSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3JFLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUE7Z0JBQ2hELGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDaEIsWUFBWSxFQUFFLEtBQUs7b0JBQ25CLE1BQU0sRUFBRSxDQUFDLElB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
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deleteProductAttributeValuesWorkflow = exports.deleteProductAttributeValuesWorkflowId = void 0;
4
- const utils_1 = require("@medusajs/framework/utils");
5
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
5
  const core_flows_1 = require("@medusajs/medusa/core-flows");
7
6
  const types_1 = require("@mercurjs/types");
@@ -10,21 +9,43 @@ const steps_1 = require("../steps");
10
9
  exports.deleteProductAttributeValuesWorkflowId = "delete-product-attribute-values";
11
10
  exports.deleteProductAttributeValuesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.deleteProductAttributeValuesWorkflowId, function (input) {
12
11
  const validate = (0, workflows_sdk_1.createHook)("validate", { input });
13
- // NOTE: mirror-link validation gap — previously enforced via
14
- // `validateProductAttributeValueNotMirroredStep`; dropped to avoid the
15
- // full-table scan it required.
16
- const dismissLinks = (0, workflows_sdk_1.transform)({ input }, ({ input }) => input.ids.flatMap((id) => [
17
- {
18
- [types_1.MercurModules.PRODUCT_ATTRIBUTE]: {
19
- product_attribute_value_id: id,
12
+ const valuesQuery = (0, core_flows_1.useQueryGraphStep)({
13
+ entity: "product_attribute_value",
14
+ filters: { id: input.ids },
15
+ fields: ["id", "attribute_id"],
16
+ }).config({ name: "pa-values-to-delete" });
17
+ (0, steps_1.deleteProductAttributeValuesStep)(input.ids);
18
+ const attributeFilter = (0, workflows_sdk_1.transform)({ valuesQuery }, ({ valuesQuery }) => ({
19
+ ids: Array.from(new Set((valuesQuery.data ?? []).map((v) => v.attribute_id))),
20
+ }));
21
+ const attributeQuery = (0, core_flows_1.useQueryGraphStep)({
22
+ entity: "product_attribute",
23
+ filters: { id: attributeFilter.ids },
24
+ fields: [
25
+ "id",
26
+ "type",
27
+ "is_variant_axis",
28
+ "product_option_id",
29
+ "values.name",
30
+ ],
31
+ }).config({ name: "pa-deleted-values-attributes" });
32
+ const optionValuesSync = (0, workflows_sdk_1.transform)({ attributeQuery }, ({ attributeQuery }) => {
33
+ const attributes = attributeQuery.data ?? [];
34
+ const mirrored = attributes.filter((a) => a.type === types_1.AttributeType.MULTI_SELECT &&
35
+ !!a.is_variant_axis &&
36
+ !!a.product_option_id);
37
+ const target = mirrored.length === 1 ? mirrored[0] : undefined;
38
+ return {
39
+ should: !!target,
40
+ stepInput: {
41
+ selector: { id: target?.product_option_id ?? "" },
42
+ update: {
43
+ values: (target?.values ?? []).map((v) => v.name),
44
+ },
20
45
  },
21
- [utils_1.Modules.PRODUCT]: {},
22
- },
23
- ]));
24
- (0, core_flows_1.dismissRemoteLinkStep)(dismissLinks).config({
25
- name: "pa-dismiss-attribute-value-links",
46
+ };
26
47
  });
27
- (0, steps_1.deleteProductAttributeValuesStep)(input.ids);
48
+ (0, workflows_sdk_1.when)({ optionValuesSync }, ({ optionValuesSync }) => optionValuesSync.should).then(() => (0, core_flows_1.updateProductOptionsStep)(optionValuesSync.stepInput));
28
49
  (0, core_flows_1.emitEventStep)({
29
50
  eventName: events_1.ProductAttributeValueWorkflowEvents.DELETED,
30
51
  data: (0, workflows_sdk_1.transform)({ input }, ({ input }) => input.ids.map((id) => ({ id }))),
@@ -37,4 +58,4 @@ exports.deleteProductAttributeValuesWorkflow = (0, workflows_sdk_1.createWorkflo
37
58
  hooks: [validate, productAttributeValuesDeleted],
38
59
  });
39
60
  });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXByb2R1Y3QtYXR0cmlidXRlLXZhbHVlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL2RlbGV0ZS1wcm9kdWN0LWF0dHJpYnV0ZS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQW1EO0FBRW5ELHFFQU8wQztBQUMxQyw0REFHb0M7QUFDcEMsMkNBQStDO0FBRS9DLHNDQUErRDtBQUMvRCxvQ0FBMkQ7QUFzQjlDLFFBQUEsc0NBQXNDLEdBQ2pELGlDQUFpQyxDQUFBO0FBRXRCLFFBQUEsb0NBQW9DLEdBSTdDLElBQUEsOEJBQWMsRUFDaEIsOENBQXNDLEVBQ3RDLFVBQVUsS0FBZ0Q7SUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBQSwwQkFBVSxFQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFFbEQsNkRBQTZEO0lBQzdELHVFQUF1RTtJQUN2RSwrQkFBK0I7SUFFL0IsTUFBTSxZQUFZLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FDdEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3hCO1lBQ0UsQ0FBQyxxQkFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7Z0JBQ2pDLDBCQUEwQixFQUFFLEVBQUU7YUFDL0I7WUFDRCxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1NBQ3RCO0tBQ0YsQ0FBQyxDQUNILENBQUE7SUFFRCxJQUFBLGtDQUFxQixFQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUN6QyxJQUFJLEVBQUUsa0NBQWtDO0tBQ3pDLENBQUMsQ0FBQTtJQUVGLElBQUEsd0NBQWdDLEVBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTNDLElBQUEsMEJBQWEsRUFBQztRQUNaLFNBQVMsRUFBRSw0Q0FBbUMsQ0FBQyxPQUFPO1FBQ3RELElBQUksRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUN2QyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDaEM7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLDZCQUE2QixHQUFHLElBQUEsMEJBQVUsRUFDOUMsK0JBQStCLEVBQy9CO1FBQ0UsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1FBQ2QsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO0tBQ3ZDLENBQ0YsQ0FBQTtJQUVELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNsQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsNkJBQTZCLENBQUM7S0FDakQsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXByb2R1Y3QtYXR0cmlidXRlLXZhbHVlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL2RlbGV0ZS1wcm9kdWN0LWF0dHJpYnV0ZS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBUTBDO0FBQzFDLDREQUlvQztBQUNwQywyQ0FBK0M7QUFFL0Msc0NBQStEO0FBQy9ELG9DQUVpQjtBQXNCSixRQUFBLHNDQUFzQyxHQUNqRCxpQ0FBaUMsQ0FBQTtBQUV0QixRQUFBLG9DQUFvQyxHQUk3QyxJQUFBLDhCQUFjLEVBQ2hCLDhDQUFzQyxFQUN0QyxVQUFVLEtBQWdEO0lBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRWxELE1BQU0sV0FBVyxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDcEMsTUFBTSxFQUFFLHlCQUF5QjtRQUNqQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFBO0lBRTFDLElBQUEsd0NBQWdDLEVBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTNDLE1BQU0sZUFBZSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RSxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FDYixJQUFJLEdBQUcsQ0FDTCxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUMxQixDQUFDLENBQTJCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQ2hELENBQ0YsQ0FDRjtLQUNGLENBQUMsQ0FBQyxDQUFBO0lBRUgsTUFBTSxjQUFjLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN2QyxNQUFNLEVBQUUsbUJBQW1CO1FBQzNCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLENBQUMsR0FBRyxFQUFFO1FBQ3BDLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixNQUFNO1lBQ04saUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixhQUFhO1NBQ2Q7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLDhCQUE4QixFQUFFLENBQUMsQ0FBQTtJQUVuRCxNQUFNLGdCQUFnQixHQUFHLElBQUEseUJBQVMsRUFDaEMsRUFBRSxjQUFjLEVBQUUsRUFDbEIsQ0FBQyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUU7UUFDckIsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUE7UUFDNUMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FDaEMsQ0FBQyxDQUlBLEVBQUUsRUFBRSxDQUNILENBQUMsQ0FBQyxJQUFJLEtBQUsscUJBQWEsQ0FBQyxZQUFZO1lBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUN4QixDQUFBO1FBQ0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO1FBQzlELE9BQU87WUFDTCxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU07WUFDaEIsU0FBUyxFQUFFO2dCQUNULFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLElBQUksRUFBRSxFQUFFO2dCQUNqRCxNQUFNLEVBQUU7b0JBQ04sTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQ2hDLENBQUMsQ0FBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDaEM7aUJBQ0Y7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDLENBQ0YsQ0FBQTtJQUVELElBQUEsb0JBQUksRUFDRixFQUFFLGdCQUFnQixFQUFFLEVBQ3BCLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQ2xELENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEscUNBQXdCLEVBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUVsRSxJQUFBLDBCQUFhLEVBQUM7UUFDWixTQUFTLEVBQUUsNENBQW1DLENBQUMsT0FBTztRQUN0RCxJQUFJLEVBQUUsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FDdkMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ2hDO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsTUFBTSw2QkFBNkIsR0FBRyxJQUFBLDBCQUFVLEVBQzlDLCtCQUErQixFQUMvQjtRQUNFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztRQUNkLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtLQUN2QyxDQUNGLENBQUE7SUFFRCxPQUFPLElBQUksZ0NBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbEMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDO0tBQ2pELENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
@@ -13,11 +13,4 @@ export type DeleteProductAttributesWorkflowHooks = [
13
13
  }, unknown>
14
14
  ];
15
15
  export declare const deleteProductAttributesWorkflowId = "delete-product-attributes";
16
- /**
17
- * Soft-deletes attributes. Link rows in `product_attribute_value_link`,
18
- * `product_variant_attribute`, etc. are intentionally NOT dismissed here
19
- * — they reference values, not the attribute itself, and Mercur's
20
- * read-side query filters out soft-deleted attributes via
21
- * `deleted_at IS NULL` on the attribute join.
22
- */
23
16
  export declare const deleteProductAttributesWorkflow: ReturnWorkflow<DeleteProductAttributesWorkflowInput, void, DeleteProductAttributesWorkflowHooks>;
@@ -6,16 +6,19 @@ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
6
  const events_1 = require("../events");
7
7
  const steps_1 = require("../steps");
8
8
  exports.deleteProductAttributesWorkflowId = "delete-product-attributes";
9
- /**
10
- * Soft-deletes attributes. Link rows in `product_attribute_value_link`,
11
- * `product_variant_attribute`, etc. are intentionally NOT dismissed here
12
- * — they reference values, not the attribute itself, and Mercur's
13
- * read-side query filters out soft-deleted attributes via
14
- * `deleted_at IS NULL` on the attribute join.
15
- */
16
9
  exports.deleteProductAttributesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.deleteProductAttributesWorkflowId, function (input) {
17
10
  const validate = (0, workflows_sdk_1.createHook)("validate", { input });
11
+ (0, steps_1.validateProductAttributesNotLinkedStep)(input.ids);
12
+ const attributesQuery = (0, core_flows_1.useQueryGraphStep)({
13
+ entity: "product_attribute",
14
+ filters: { id: input.ids },
15
+ fields: ["id", "product_option_id"],
16
+ });
18
17
  (0, steps_1.deleteProductAttributesStep)(input.ids);
18
+ const optionIdsToDelete = (0, workflows_sdk_1.transform)({ attributesQuery }, ({ attributesQuery }) => (attributesQuery.data ?? [])
19
+ .map((a) => a.product_option_id)
20
+ .filter((id) => !!id));
21
+ (0, workflows_sdk_1.when)({ optionIdsToDelete }, ({ optionIdsToDelete }) => optionIdsToDelete.length > 0).then(() => (0, core_flows_1.deleteProductOptionsStep)(optionIdsToDelete));
19
22
  (0, core_flows_1.emitEventStep)({
20
23
  eventName: events_1.ProductAttributeWorkflowEvents.DELETED,
21
24
  data: (0, workflows_sdk_1.transform)({ input }, ({ input }) => input.ids.map((id) => ({ id }))),
@@ -28,4 +31,4 @@ exports.deleteProductAttributesWorkflow = (0, workflows_sdk_1.createWorkflow)(ex
28
31
  hooks: [validate, productAttributesDeleted],
29
32
  });
30
33
  });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXByb2R1Y3QtYXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL2RlbGV0ZS1wcm9kdWN0LWF0dHJpYnV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBTzBDO0FBQzFDLDREQUEyRDtBQUUzRCxzQ0FBMEQ7QUFDMUQsb0NBQXNEO0FBa0J6QyxRQUFBLGlDQUFpQyxHQUFHLDJCQUEyQixDQUFBO0FBRTVFOzs7Ozs7R0FNRztBQUNVLFFBQUEsK0JBQStCLEdBSXhDLElBQUEsOEJBQWMsRUFDaEIseUNBQWlDLEVBQ2pDLFVBQVUsS0FBMkM7SUFDbkQsTUFBTSxRQUFRLEdBQUcsSUFBQSwwQkFBVSxFQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFFbEQsSUFBQSxtQ0FBMkIsRUFBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFdEMsSUFBQSwwQkFBYSxFQUFDO1FBQ1osU0FBUyxFQUFFLHVDQUE4QixDQUFDLE9BQU87UUFDakQsSUFBSSxFQUFFLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQ3ZDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNoQztLQUNGLENBQUMsQ0FBQTtJQUVGLE1BQU0sd0JBQXdCLEdBQUcsSUFBQSwwQkFBVSxFQUFDLDBCQUEwQixFQUFFO1FBQ3RFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztRQUNkLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtLQUN2QyxDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbEMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDO0tBQzVDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXByb2R1Y3QtYXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL2RlbGV0ZS1wcm9kdWN0LWF0dHJpYnV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBUTBDO0FBQzFDLDREQUlvQztBQUVwQyxzQ0FBMEQ7QUFDMUQsb0NBR2lCO0FBa0JKLFFBQUEsaUNBQWlDLEdBQUcsMkJBQTJCLENBQUE7QUFHL0QsUUFBQSwrQkFBK0IsR0FJeEMsSUFBQSw4QkFBYyxFQUNoQix5Q0FBaUMsRUFDakMsVUFBVSxLQUEyQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxJQUFBLDBCQUFVLEVBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUVsRCxJQUFBLDhDQUFzQyxFQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUVqRCxNQUFNLGVBQWUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ3hDLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUU7UUFDMUIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDO0tBQ3BDLENBQUMsQ0FBQTtJQUVGLElBQUEsbUNBQTJCLEVBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRXRDLE1BQU0saUJBQWlCLEdBQUcsSUFBQSx5QkFBUyxFQUNqQyxFQUFFLGVBQWUsRUFBRSxFQUNuQixDQUFDLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxDQUN0QixDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1NBQ3pCLEdBQUcsQ0FBQyxDQUFDLENBQXVDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztTQUNyRSxNQUFNLENBQUMsQ0FBQyxFQUFpQixFQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUN2RCxDQUFBO0lBRUQsSUFBQSxvQkFBSSxFQUNGLEVBQUUsaUJBQWlCLEVBQUUsRUFDckIsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ3hELENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEscUNBQXdCLEVBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFBO0lBRXpELElBQUEsMEJBQWEsRUFBQztRQUNaLFNBQVMsRUFBRSx1Q0FBOEIsQ0FBQyxPQUFPO1FBQ2pELElBQUksRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUN2QyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDaEM7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLHdCQUF3QixHQUFHLElBQUEsMEJBQVUsRUFBQywwQkFBMEIsRUFBRTtRQUN0RSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7UUFDZCxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7S0FDdkMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2xDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQztLQUM1QyxDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
@@ -1,4 +1,3 @@
1
- export * from "./add-product-attribute";
2
1
  export * from "./create-product-attributes";
3
2
  export * from "./update-product-attributes";
4
3
  export * from "./delete-product-attributes";
@@ -6,8 +5,7 @@ export * from "./create-product-attribute-values";
6
5
  export * from "./update-product-attribute-values";
7
6
  export * from "./delete-product-attribute-values";
8
7
  export * from "./upsert-product-attribute-values";
9
- export * from "./detach-product-attribute";
10
- export * from "./update-product-attribute";
11
- export * from "./batch-product-attribute-values";
12
- export * from "./materialize-product-attributes";
13
- export * from "./sync-product-attribute-options";
8
+ export * from "./add-product-attributes-to-product";
9
+ export * from "./remove-product-attributes-from-product";
10
+ export * from "./update-product-attributes-on-product";
11
+ export * from "./create-and-link-product-attributes";
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./add-product-attribute"), exports);
18
17
  __exportStar(require("./create-product-attributes"), exports);
19
18
  __exportStar(require("./update-product-attributes"), exports);
20
19
  __exportStar(require("./delete-product-attributes"), exports);
@@ -22,9 +21,8 @@ __exportStar(require("./create-product-attribute-values"), exports);
22
21
  __exportStar(require("./update-product-attribute-values"), exports);
23
22
  __exportStar(require("./delete-product-attribute-values"), exports);
24
23
  __exportStar(require("./upsert-product-attribute-values"), exports);
25
- __exportStar(require("./detach-product-attribute"), exports);
26
- __exportStar(require("./update-product-attribute"), exports);
27
- __exportStar(require("./batch-product-attribute-values"), exports);
28
- __exportStar(require("./materialize-product-attributes"), exports);
29
- __exportStar(require("./sync-product-attribute-options"), exports);
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3Byb2R1Y3QtYXR0cmlidXRlL3dvcmtmbG93cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMERBQXVDO0FBQ3ZDLDhEQUEyQztBQUMzQyw4REFBMkM7QUFDM0MsOERBQTJDO0FBQzNDLG9FQUFpRDtBQUNqRCxvRUFBaUQ7QUFDakQsb0VBQWlEO0FBQ2pELG9FQUFpRDtBQUNqRCw2REFBMEM7QUFDMUMsNkRBQTBDO0FBQzFDLG1FQUFnRDtBQUNoRCxtRUFBZ0Q7QUFDaEQsbUVBQWdEIn0=
24
+ __exportStar(require("./add-product-attributes-to-product"), exports);
25
+ __exportStar(require("./remove-product-attributes-from-product"), exports);
26
+ __exportStar(require("./update-product-attributes-on-product"), exports);
27
+ __exportStar(require("./create-and-link-product-attributes"), exports);
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3Byb2R1Y3QtYXR0cmlidXRlL3dvcmtmbG93cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOERBQTJDO0FBQzNDLDhEQUEyQztBQUMzQyw4REFBMkM7QUFDM0Msb0VBQWlEO0FBQ2pELG9FQUFpRDtBQUNqRCxvRUFBaUQ7QUFDakQsb0VBQWlEO0FBQ2pELHNFQUFtRDtBQUNuRCwyRUFBd0Q7QUFDeEQseUVBQXNEO0FBQ3RELHVFQUFvRCJ9
@@ -0,0 +1,10 @@
1
+ import { AdditionalData } from "@medusajs/framework/types";
2
+ export type RemoveProductAttributesFromProductWorkflowInput = {
3
+ product_id: string;
4
+ remove: string[];
5
+ } & AdditionalData;
6
+ export declare const removeProductAttributesFromProductWorkflowId = "remove-product-attributes-from-product";
7
+ export declare const removeProductAttributesFromProductWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<{
8
+ product_id: string;
9
+ remove: string[];
10
+ } & AdditionalData, undefined, []>;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeProductAttributesFromProductWorkflow = exports.removeProductAttributesFromProductWorkflowId = 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 delete_product_attributes_1 = require("./delete-product-attributes");
10
+ exports.removeProductAttributesFromProductWorkflowId = "remove-product-attributes-from-product";
11
+ exports.removeProductAttributesFromProductWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.removeProductAttributesFromProductWorkflowId, function (input) {
12
+ const attributesQuery = (0, core_flows_1.useQueryGraphStep)({
13
+ entity: "product_attribute",
14
+ filters: { id: input.remove },
15
+ fields: [
16
+ "id",
17
+ "name",
18
+ "type",
19
+ "is_required",
20
+ "is_variant_axis",
21
+ "product_id",
22
+ "product_option_id",
23
+ ],
24
+ }).config({ name: "rm-pa-attributes" });
25
+ (0, steps_1.validateProductAttributesNotRequiredStep)((0, workflows_sdk_1.transform)({ attributesQuery }, ({ attributesQuery }) => ((attributesQuery.data ?? [])).map((a) => ({
26
+ id: a.id,
27
+ name: a.name,
28
+ is_required: !!a.is_required,
29
+ }))));
30
+ const productQuery = (0, core_flows_1.useQueryGraphStep)({
31
+ entity: "product",
32
+ filters: { id: input.product_id },
33
+ fields: [
34
+ "product_attribute_values.id",
35
+ "product_attribute_values.attribute.id",
36
+ ],
37
+ options: { isList: false },
38
+ }).config({ name: "rm-pa-product" });
39
+ const plan = (0, workflows_sdk_1.transform)({ attributesQuery, productQuery, input }, ({ attributesQuery, productQuery, input }) => {
40
+ const product_id = input.product_id;
41
+ const optionPairs = [];
42
+ const scopedAttrIds = [];
43
+ // The formatter reads the selected axis subset from the pivot, so axis
44
+ // links must be cleaned up alongside non-axis ones.
45
+ const dismissAttrIds = new Set();
46
+ for (const a of (attributesQuery.data ?? [])) {
47
+ const isAxis = a.type === types_1.AttributeType.MULTI_SELECT &&
48
+ !!a.is_variant_axis &&
49
+ !!a.product_option_id;
50
+ const isScoped = !!a.product_id;
51
+ dismissAttrIds.add(a.id);
52
+ if (isAxis && !isScoped) {
53
+ optionPairs.push({
54
+ product_option_id: a.product_option_id,
55
+ product_id,
56
+ });
57
+ }
58
+ else if (isScoped) {
59
+ scopedAttrIds.push(a.id);
60
+ }
61
+ }
62
+ const linkedValues = (productQuery.data?.product_attribute_values ??
63
+ []);
64
+ const dismissLinks = linkedValues
65
+ .filter((v) => v.attribute && dismissAttrIds.has(v.attribute.id))
66
+ .map((v) => ({
67
+ [utils_1.Modules.PRODUCT]: { product_id },
68
+ [types_1.MercurModules.PRODUCT_ATTRIBUTE]: {
69
+ product_attribute_value_id: v.id,
70
+ },
71
+ }));
72
+ return { optionPairs, scopedAttrIds, dismissLinks };
73
+ });
74
+ (0, workflows_sdk_1.when)({ plan }, ({ plan }) => plan.optionPairs.length > 0).then(() => (0, core_flows_1.removeProductOptionsFromProductStep)(plan.optionPairs));
75
+ (0, workflows_sdk_1.when)({ plan }, ({ plan }) => plan.dismissLinks.length > 0).then(() => (0, core_flows_1.dismissRemoteLinkStep)(plan.dismissLinks).config({
76
+ name: "rm-pa-dismiss-value-links",
77
+ }));
78
+ (0, workflows_sdk_1.when)({ plan }, ({ plan }) => plan.scopedAttrIds.length > 0).then(() => delete_product_attributes_1.deleteProductAttributesWorkflow.runAsStep({
79
+ input: { ids: plan.scopedAttrIds },
80
+ }));
81
+ return new workflows_sdk_1.WorkflowResponse(void 0);
82
+ });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXByb2R1Y3QtYXR0cmlidXRlcy1mcm9tLXByb2R1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3Byb2R1Y3QtYXR0cmlidXRlL3dvcmtmbG93cy9yZW1vdmUtcHJvZHVjdC1hdHRyaWJ1dGVzLWZyb20tcHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBbUQ7QUFFbkQscUVBSzBDO0FBQzFDLDREQUlvQztBQUNwQywyQ0FBOEQ7QUFFOUQsb0NBQW1FO0FBQ25FLDJFQUE2RTtBQU9oRSxRQUFBLDRDQUE0QyxHQUN2RCx3Q0FBd0MsQ0FBQTtBQUU3QixRQUFBLDBDQUEwQyxHQUFHLElBQUEsOEJBQWMsRUFDdEUsb0RBQTRDLEVBQzVDLFVBQVUsS0FBc0Q7SUFDOUQsTUFBTSxlQUFlLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN4QyxNQUFNLEVBQUUsbUJBQW1CO1FBQzNCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQzdCLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixNQUFNO1lBQ04sTUFBTTtZQUNOLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLG1CQUFtQjtTQUNwQjtLQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0lBRXZDLElBQUEsZ0RBQXdDLEVBQ3RDLElBQUEseUJBQVMsRUFBQyxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQ3JELENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTtRQUNSLElBQUksRUFB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
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateProductAttributeValuesWorkflow = exports.updateProductAttributeValuesWorkflowId = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
5
  const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const types_1 = require("@mercurjs/types");
6
7
  const events_1 = require("../events");
7
8
  const steps_1 = require("../steps");
8
9
  exports.updateProductAttributeValuesWorkflowId = "update-product-attribute-values";
@@ -12,6 +13,38 @@ exports.updateProductAttributeValuesWorkflow = (0, workflows_sdk_1.createWorkflo
12
13
  selector: input.selector,
13
14
  update: input.update,
14
15
  });
16
+ const attributeFilter = (0, workflows_sdk_1.transform)({ values }, ({ values }) => ({
17
+ ids: Array.from(new Set(values.map((v) => v.attribute_id))),
18
+ }));
19
+ const attributeQuery = (0, core_flows_1.useQueryGraphStep)({
20
+ entity: "product_attribute",
21
+ filters: { id: attributeFilter.ids },
22
+ fields: [
23
+ "id",
24
+ "type",
25
+ "is_variant_axis",
26
+ "product_option_id",
27
+ "values.name",
28
+ ],
29
+ });
30
+ const optionValuesSync = (0, workflows_sdk_1.transform)({ attributeQuery }, ({ attributeQuery }) => {
31
+ const attributes = attributeQuery.data ?? [];
32
+ const mirrored = attributes.filter((a) => a.type === types_1.AttributeType.MULTI_SELECT &&
33
+ !!a.is_variant_axis &&
34
+ !!a.product_option_id);
35
+ const target = mirrored.length === 1 ? mirrored[0] : undefined;
36
+ return {
37
+ should: !!target,
38
+ stepInput: {
39
+ selector: { id: target?.product_option_id ?? "" },
40
+ update: {
41
+ values: (target?.values ?? []).map((v) => v.name),
42
+ },
43
+ },
44
+ };
45
+ });
46
+ (0, workflows_sdk_1.when)({ optionValuesSync }, ({ optionValuesSync }) => optionValuesSync.should)
47
+ .then(() => (0, core_flows_1.updateProductOptionsStep)(optionValuesSync.stepInput));
15
48
  (0, core_flows_1.emitEventStep)({
16
49
  eventName: events_1.ProductAttributeValueWorkflowEvents.UPDATED,
17
50
  data: (0, workflows_sdk_1.transform)({ values }, ({ values }) => values.map((v) => ({ id: v.id }))),
@@ -24,4 +57,4 @@ exports.updateProductAttributeValuesWorkflow = (0, workflows_sdk_1.createWorkflo
24
57
  hooks: [validate, productAttributeValuesUpdated],
25
58
  });
26
59
  });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXByb2R1Y3QtYXR0cmlidXRlLXZhbHVlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL3VwZGF0ZS1wcm9kdWN0LWF0dHJpYnV0ZS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBTzBDO0FBQzFDLDREQUEyRDtBQU0zRCxzQ0FBK0Q7QUFDL0Qsb0NBQTJEO0FBdUI5QyxRQUFBLHNDQUFzQyxHQUNqRCxpQ0FBaUMsQ0FBQTtBQUV0QixRQUFBLG9DQUFvQyxHQUk3QyxJQUFBLDhCQUFjLEVBQ2hCLDhDQUFzQyxFQUN0QyxVQUFVLEtBQWdEO0lBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRWxELE1BQU0sTUFBTSxHQUFHLElBQUEsd0NBQWdDLEVBQUM7UUFDOUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1FBQ3hCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtLQUNyQixDQUFDLENBQUE7SUFFRixJQUFBLDBCQUFhLEVBQUM7UUFDWixTQUFTLEVBQUUsNENBQW1DLENBQUMsT0FBTztRQUN0RCxJQUFJLEVBQUUsSUFBQSx5QkFBUyxFQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FDekMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNsQztLQUNGLENBQUMsQ0FBQTtJQUVGLE1BQU0sNkJBQTZCLEdBQUcsSUFBQSwwQkFBVSxFQUM5QywrQkFBK0IsRUFDL0I7UUFDRSxNQUFNO1FBQ04sZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO0tBQ3ZDLENBQ0YsQ0FBQTtJQUVELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxNQUFvQyxFQUFFO1FBQ2hFLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQztLQUNqRCxDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXByb2R1Y3QtYXR0cmlidXRlLXZhbHVlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL3VwZGF0ZS1wcm9kdWN0LWF0dHJpYnV0ZS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBUTBDO0FBQzFDLDREQUlvQztBQUNwQywyQ0FJd0I7QUFFeEIsc0NBQStEO0FBQy9ELG9DQUVpQjtBQXVCSixRQUFBLHNDQUFzQyxHQUNqRCxpQ0FBaUMsQ0FBQTtBQUV0QixRQUFBLG9DQUFvQyxHQUk3QyxJQUFBLDhCQUFjLEVBQ2hCLDhDQUFzQyxFQUN0QyxVQUFVLEtBQWdEO0lBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRWxELE1BQU0sTUFBTSxHQUFHLElBQUEsd0NBQWdDLEVBQUM7UUFDOUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1FBQ3hCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtLQUNyQixDQUFDLENBQUE7SUFFRixNQUFNLGVBQWUsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0QsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7S0FDNUQsQ0FBQyxDQUFDLENBQUE7SUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ3ZDLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWUsQ0FBQyxHQUFHLEVBQUU7UUFDcEMsTUFBTSxFQUFFO1lBQ04sSUFBSTtZQUNKLE1BQU07WUFDTixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLGFBQWE7U0FDZDtLQUNGLENBQUMsQ0FBQTtJQUVGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSx5QkFBUyxFQUNoQyxFQUFFLGNBQWMsRUFBRSxFQUNsQixDQUFDLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRTtRQUNyQixNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUNoQyxDQUFDLENBSUEsRUFBRSxFQUFFLENBQ0gsQ0FBQyxDQUFDLElBQUksS0FBSyxxQkFBYSxDQUFDLFlBQVk7WUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQ3hCLENBQUE7UUFDRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDOUQsT0FBTztZQUNMLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtZQUNoQixTQUFTLEVBQUU7Z0JBQ1QsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsSUFBSSxFQUFFLEVBQUU7Z0JBQ2pELE1BQU0sRUFBRTtvQkFDTixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDaEMsQ0FBQyxDQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNoQztpQkFDRjthQUNGO1NBQ0YsQ0FBQTtJQUNILENBQUMsQ0FDRixDQUFBO0lBRUQsSUFBQSxvQkFBSSxFQUFDLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1NBQzFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLHFDQUF3QixFQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFFbkUsSUFBQSwwQkFBYSxFQUFDO1FBQ1osU0FBUyxFQUFFLDRDQUFtQyxDQUFDLE9BQU87UUFDdEQsSUFBSSxFQUFFLElBQUEseUJBQVMsRUFBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQ3pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDbEM7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLDZCQUE2QixHQUFHLElBQUEsMEJBQVUsRUFDOUMsK0JBQStCLEVBQy9CO1FBQ0UsTUFBTTtRQUNOLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtLQUN2QyxDQUNGLENBQUE7SUFFRCxPQUFPLElBQUksZ0NBQWdCLENBQUMsTUFBb0MsRUFBRTtRQUNoRSxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsNkJBQTZCLENBQUM7S0FDakQsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,11 @@
1
+ import { AdditionalData } from "@medusajs/framework/types";
2
+ import { ProductAttributeBatchUpdate } from "@mercurjs/types";
3
+ export type UpdateProductAttributesOnProductWorkflowInput = {
4
+ product_id: string;
5
+ update: ProductAttributeBatchUpdate[];
6
+ } & AdditionalData;
7
+ export declare const updateProductAttributesOnProductWorkflowId = "update-product-attributes-on-product";
8
+ export declare const updateProductAttributesOnProductWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<{
9
+ product_id: string;
10
+ update: ProductAttributeBatchUpdate[];
11
+ } & AdditionalData, undefined, []>;