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

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 (746) 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/batch/route.js +3 -3
  30. package/.medusa/server/src/api/admin/offers/middlewares.js +3 -1
  31. package/.medusa/server/src/api/admin/offers/query-config.js +3 -1
  32. package/.medusa/server/src/api/admin/offers/validators.d.ts +79 -57
  33. package/.medusa/server/src/api/admin/offers/validators.js +10 -2
  34. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.d.ts +3 -0
  35. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.js +18 -0
  36. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.d.ts +15 -0
  37. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.js +46 -0
  38. package/.medusa/server/src/api/admin/order-groups/helpers.d.ts +2 -0
  39. package/.medusa/server/src/api/admin/order-groups/helpers.js +53 -0
  40. package/.medusa/server/src/api/admin/order-groups/middlewares.js +3 -1
  41. package/.medusa/server/src/api/admin/order-groups/route.js +4 -2
  42. package/.medusa/server/src/api/admin/order-groups/validators.d.ts +20 -21
  43. package/.medusa/server/src/api/admin/orders/[id]/commission-lines/route.d.ts +7 -0
  44. package/.medusa/server/src/api/admin/orders/[id]/commission-lines/route.js +17 -0
  45. package/.medusa/server/src/api/admin/orders/middlewares.d.ts +2 -0
  46. package/.medusa/server/src/api/admin/orders/middlewares.js +42 -0
  47. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.d.ts +2 -0
  48. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.js +15 -0
  49. package/.medusa/server/src/api/admin/orders/validators.d.ts +1 -287
  50. package/.medusa/server/src/api/admin/orders/validators.js +9 -29
  51. package/.medusa/server/src/api/admin/payouts/validators.d.ts +18 -19
  52. package/.medusa/server/src/api/admin/product-attributes/[id]/route.js +2 -2
  53. package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.js +2 -2
  54. package/.medusa/server/src/api/admin/product-attributes/middlewares.js +1 -3
  55. package/.medusa/server/src/api/admin/product-attributes/query-config.js +4 -1
  56. package/.medusa/server/src/api/admin/product-attributes/route.d.ts +2 -2
  57. package/.medusa/server/src/api/admin/product-attributes/route.js +2 -5
  58. package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +129 -140
  59. package/.medusa/server/src/api/admin/product-attributes/validators.js +1 -3
  60. package/.medusa/server/src/api/admin/product-categories/[id]/products/route.js +3 -3
  61. package/.medusa/server/src/api/admin/product-categories/[id]/route.js +8 -11
  62. package/.medusa/server/src/api/admin/product-categories/query-config.js +7 -1
  63. package/.medusa/server/src/api/admin/product-categories/route.js +5 -8
  64. package/.medusa/server/src/api/admin/product-categories/validators.d.ts +153 -93
  65. package/.medusa/server/src/api/admin/product-categories/validators.js +11 -1
  66. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.d.ts +0 -7
  67. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +2 -8
  68. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.d.ts +0 -7
  69. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +2 -8
  70. package/.medusa/server/src/api/admin/product-changes/validators.d.ts +8 -4
  71. package/.medusa/server/src/api/admin/product-changes/validators.js +6 -3
  72. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +6 -9
  73. package/.medusa/server/src/api/admin/products/[id]/confirm/route.d.ts +0 -12
  74. package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +2 -13
  75. package/.medusa/server/src/api/admin/products/[id]/preview/route.d.ts +0 -7
  76. package/.medusa/server/src/api/admin/products/[id]/preview/route.js +1 -8
  77. package/.medusa/server/src/api/admin/products/[id]/reject/route.d.ts +0 -8
  78. package/.medusa/server/src/api/admin/products/[id]/reject/route.js +2 -9
  79. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.d.ts +0 -9
  80. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +2 -10
  81. package/.medusa/server/src/api/admin/products/[id]/route.js +9 -3
  82. package/.medusa/server/src/api/admin/products/[id]/sellers/route.d.ts +3 -0
  83. package/.medusa/server/src/api/admin/products/[id]/sellers/route.js +13 -0
  84. package/.medusa/server/src/api/admin/products/middlewares.js +6 -42
  85. package/.medusa/server/src/api/admin/products/query-config.js +41 -16
  86. package/.medusa/server/src/api/admin/products/route.js +9 -1
  87. package/.medusa/server/src/api/admin/products/validators.d.ts +570 -1314
  88. package/.medusa/server/src/api/admin/products/validators.js +66 -90
  89. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.d.ts +3 -0
  90. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.js +29 -0
  91. package/.medusa/server/src/api/admin/sellers/[id]/address/route.js +4 -2
  92. package/.medusa/server/src/api/admin/sellers/[id]/approve/route.d.ts +2 -1
  93. package/.medusa/server/src/api/admin/sellers/[id]/approve/route.js +2 -1
  94. package/.medusa/server/src/api/admin/sellers/[id]/payment-details/route.js +4 -2
  95. package/.medusa/server/src/api/admin/sellers/[id]/professional-details/route.js +4 -2
  96. package/.medusa/server/src/api/admin/sellers/[id]/route.js +4 -2
  97. package/.medusa/server/src/api/admin/sellers/[id]/suspend/route.js +2 -1
  98. package/.medusa/server/src/api/admin/sellers/[id]/terminate/route.js +2 -1
  99. package/.medusa/server/src/api/admin/sellers/[id]/unsuspend/route.d.ts +2 -1
  100. package/.medusa/server/src/api/admin/sellers/[id]/unsuspend/route.js +2 -1
  101. package/.medusa/server/src/api/admin/sellers/[id]/unterminate/route.d.ts +2 -1
  102. package/.medusa/server/src/api/admin/sellers/[id]/unterminate/route.js +2 -1
  103. package/.medusa/server/src/api/admin/sellers/middlewares.js +4 -20
  104. package/.medusa/server/src/api/admin/sellers/route.js +4 -2
  105. package/.medusa/server/src/api/admin/sellers/validators.d.ts +89 -100
  106. package/.medusa/server/src/api/admin/sellers/validators.js +12 -7
  107. package/.medusa/server/src/api/admin/shipping-options/middlewares.d.ts +2 -0
  108. package/.medusa/server/src/api/admin/shipping-options/middlewares.js +46 -0
  109. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.d.ts +2 -0
  110. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.js +46 -0
  111. package/.medusa/server/src/api/admin/stock-locations/middlewares.d.ts +2 -0
  112. package/.medusa/server/src/api/admin/stock-locations/middlewares.js +46 -0
  113. package/.medusa/server/src/api/store/carts/[id]/complete/route.js +1 -5
  114. package/.medusa/server/src/api/store/carts/[id]/complete/validators.d.ts +1 -1
  115. package/.medusa/server/src/api/store/carts/[id]/line-items/route.js +13 -1
  116. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.d.ts +0 -3
  117. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.js +1 -2
  118. package/.medusa/server/src/api/store/carts/[id]/shipping-methods/route.js +6 -2
  119. package/.medusa/server/src/api/store/middlewares.js +15 -11
  120. package/.medusa/server/src/api/store/offers/[id]/route.d.ts +3 -0
  121. package/.medusa/server/src/api/store/offers/[id]/route.js +28 -0
  122. package/.medusa/server/src/api/store/offers/helpers.d.ts +43 -0
  123. package/.medusa/server/src/api/store/offers/helpers.js +191 -0
  124. package/.medusa/server/src/api/store/offers/middlewares.d.ts +2 -0
  125. package/.medusa/server/src/api/store/offers/middlewares.js +64 -0
  126. package/.medusa/server/src/api/store/offers/query-config.d.ts +12 -0
  127. package/.medusa/server/src/api/store/offers/query-config.js +50 -0
  128. package/.medusa/server/src/api/store/offers/route.d.ts +3 -0
  129. package/.medusa/server/src/api/store/offers/route.js +30 -0
  130. package/.medusa/server/src/api/store/offers/validators.d.ts +158 -0
  131. package/.medusa/server/src/api/store/offers/validators.js +29 -0
  132. package/.medusa/server/src/api/store/order-groups/validators.d.ts +16 -17
  133. package/.medusa/server/src/api/store/product-attributes/validators.d.ts +50 -46
  134. package/.medusa/server/src/api/store/product-categories/validators.d.ts +59 -53
  135. package/.medusa/server/src/api/store/products/[id]/route.js +9 -5
  136. package/.medusa/server/src/api/store/products/helpers.d.ts +10 -0
  137. package/.medusa/server/src/api/store/products/helpers.js +20 -0
  138. package/.medusa/server/src/api/store/products/middlewares.js +37 -24
  139. package/.medusa/server/src/api/store/products/query-config.js +23 -7
  140. package/.medusa/server/src/api/store/products/route.js +9 -1
  141. package/.medusa/server/src/api/store/products/validators.d.ts +69 -65
  142. package/.medusa/server/src/api/store/search/middlewares.d.ts +2 -0
  143. package/.medusa/server/src/api/store/search/middlewares.js +73 -0
  144. package/.medusa/server/src/api/store/search/route.d.ts +8 -0
  145. package/.medusa/server/src/api/store/search/route.js +25 -0
  146. package/.medusa/server/src/api/store/search/validators.d.ts +27 -0
  147. package/.medusa/server/src/api/store/search/validators.js +17 -0
  148. package/.medusa/server/src/api/store/sellers/validators.d.ts +35 -34
  149. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.d.ts +0 -15
  150. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.js +22 -26
  151. package/.medusa/server/src/api/utils/format-product-attributes.d.ts +5 -50
  152. package/.medusa/server/src/api/utils/format-product-attributes.js +90 -164
  153. package/.medusa/server/src/api/utils/index.d.ts +2 -0
  154. package/.medusa/server/src/api/utils/index.js +3 -1
  155. package/.medusa/server/src/api/utils/offers.d.ts +50 -0
  156. package/.medusa/server/src/api/utils/offers.js +286 -0
  157. package/.medusa/server/src/api/utils/order-commission-lines.d.ts +11 -0
  158. package/.medusa/server/src/api/utils/order-commission-lines.js +71 -0
  159. package/.medusa/server/src/api/utils/product-attribute-fields.d.ts +5 -0
  160. package/.medusa/server/src/api/utils/product-attribute-fields.js +35 -0
  161. package/.medusa/server/src/api/utils/sellers.d.ts +2 -0
  162. package/.medusa/server/src/api/utils/sellers.js +23 -0
  163. package/.medusa/server/src/api/vendor/campaigns/validators.d.ts +14 -15
  164. package/.medusa/server/src/api/vendor/claims/[id]/cancel/route.d.ts +4 -0
  165. package/.medusa/server/src/api/vendor/claims/[id]/cancel/route.js +17 -0
  166. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/[action_id]/route.d.ts +9 -0
  167. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/[action_id]/route.js +32 -0
  168. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/route.d.ts +6 -0
  169. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/route.js +15 -0
  170. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/[action_id]/route.d.ts +9 -0
  171. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/[action_id]/route.js +46 -0
  172. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/route.d.ts +6 -0
  173. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/route.js +26 -0
  174. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/[action_id]/route.d.ts +9 -0
  175. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/[action_id]/route.js +39 -0
  176. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/route.d.ts +6 -0
  177. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/route.js +26 -0
  178. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/[action_id]/route.d.ts +9 -0
  179. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/[action_id]/route.js +32 -0
  180. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.d.ts +6 -0
  181. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.js +41 -0
  182. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/[action_id]/route.d.ts +9 -0
  183. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/[action_id]/route.js +32 -0
  184. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/route.d.ts +6 -0
  185. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/route.js +15 -0
  186. package/.medusa/server/src/api/vendor/claims/[id]/request/route.d.ts +6 -0
  187. package/.medusa/server/src/api/vendor/claims/[id]/request/route.js +31 -0
  188. package/.medusa/server/src/api/vendor/claims/[id]/route.d.ts +3 -0
  189. package/.medusa/server/src/api/vendor/claims/[id]/route.js +19 -0
  190. package/.medusa/server/src/api/vendor/claims/helpers.d.ts +2 -0
  191. package/.medusa/server/src/api/vendor/claims/helpers.js +19 -0
  192. package/.medusa/server/src/api/vendor/claims/middlewares.d.ts +2 -0
  193. package/.medusa/server/src/api/vendor/claims/middlewares.js +184 -0
  194. package/.medusa/server/src/api/vendor/claims/query-config.d.ts +12 -0
  195. package/.medusa/server/src/api/vendor/claims/query-config.js +31 -0
  196. package/.medusa/server/src/api/vendor/claims/route.d.ts +5 -0
  197. package/.medusa/server/src/api/vendor/claims/route.js +35 -0
  198. package/.medusa/server/src/api/vendor/claims/validators.d.ts +377 -0
  199. package/.medusa/server/src/api/vendor/claims/validators.js +89 -0
  200. package/.medusa/server/src/api/vendor/collections/query-config.js +7 -1
  201. package/.medusa/server/src/api/vendor/collections/validators.d.ts +22 -23
  202. package/.medusa/server/src/api/vendor/currencies/validators.d.ts +14 -15
  203. package/.medusa/server/src/api/vendor/customer-groups/[id]/customers/route.d.ts +4 -0
  204. package/.medusa/server/src/api/vendor/customer-groups/[id]/customers/route.js +20 -0
  205. package/.medusa/server/src/api/vendor/customer-groups/[id]/route.d.ts +6 -0
  206. package/.medusa/server/src/api/vendor/customer-groups/[id]/route.js +43 -0
  207. package/.medusa/server/src/api/vendor/customer-groups/helpers.d.ts +3 -0
  208. package/.medusa/server/src/api/vendor/customer-groups/helpers.js +38 -0
  209. package/.medusa/server/src/api/vendor/customer-groups/middlewares.d.ts +2 -0
  210. package/.medusa/server/src/api/vendor/customer-groups/middlewares.js +62 -0
  211. package/.medusa/server/src/api/vendor/customer-groups/query-config.d.ts +11 -0
  212. package/.medusa/server/src/api/vendor/customer-groups/query-config.js +22 -0
  213. package/.medusa/server/src/api/vendor/customer-groups/route.d.ts +5 -0
  214. package/.medusa/server/src/api/vendor/customer-groups/route.js +35 -0
  215. package/.medusa/server/src/api/vendor/customer-groups/validators.d.ts +156 -0
  216. package/.medusa/server/src/api/vendor/customer-groups/validators.js +35 -0
  217. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.d.ts +4 -0
  218. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.js +27 -0
  219. package/.medusa/server/src/api/vendor/customers/[id]/route.js +13 -1
  220. package/.medusa/server/src/api/vendor/customers/middlewares.js +9 -1
  221. package/.medusa/server/src/api/vendor/customers/validators.d.ts +47 -32
  222. package/.medusa/server/src/api/vendor/customers/validators.js +9 -2
  223. package/.medusa/server/src/api/vendor/exchanges/[id]/cancel/route.d.ts +4 -0
  224. package/.medusa/server/src/api/vendor/exchanges/[id]/cancel/route.js +17 -0
  225. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/[action_id]/route.d.ts +9 -0
  226. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/[action_id]/route.js +46 -0
  227. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/route.d.ts +6 -0
  228. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/route.js +26 -0
  229. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/[action_id]/route.d.ts +9 -0
  230. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/[action_id]/route.js +45 -0
  231. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/route.d.ts +6 -0
  232. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/route.js +26 -0
  233. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/[action_id]/route.d.ts +9 -0
  234. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/[action_id]/route.js +32 -0
  235. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.d.ts +6 -0
  236. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.js +41 -0
  237. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/[action_id]/route.d.ts +9 -0
  238. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/[action_id]/route.js +32 -0
  239. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/route.d.ts +6 -0
  240. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/route.js +15 -0
  241. package/.medusa/server/src/api/vendor/exchanges/[id]/request/route.d.ts +6 -0
  242. package/.medusa/server/src/api/vendor/exchanges/[id]/request/route.js +31 -0
  243. package/.medusa/server/src/api/vendor/exchanges/helpers.d.ts +2 -0
  244. package/.medusa/server/src/api/vendor/exchanges/helpers.js +19 -0
  245. package/.medusa/server/src/api/vendor/exchanges/middlewares.d.ts +2 -0
  246. package/.medusa/server/src/api/vendor/exchanges/middlewares.js +155 -0
  247. package/.medusa/server/src/api/vendor/exchanges/query-config.d.ts +7 -0
  248. package/.medusa/server/src/api/vendor/exchanges/query-config.js +23 -0
  249. package/.medusa/server/src/api/vendor/exchanges/route.d.ts +5 -0
  250. package/.medusa/server/src/api/vendor/exchanges/route.js +35 -0
  251. package/.medusa/server/src/api/vendor/exchanges/validators.d.ts +312 -0
  252. package/.medusa/server/src/api/vendor/exchanges/validators.js +71 -0
  253. package/.medusa/server/src/api/vendor/fulfillment-providers/validators.d.ts +24 -23
  254. package/.medusa/server/src/api/vendor/fulfillment-sets/validators.d.ts +18 -18
  255. package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +104 -110
  256. package/.medusa/server/src/api/vendor/members/me/route.js +3 -2
  257. package/.medusa/server/src/api/vendor/members/validators.d.ts +4 -2
  258. package/.medusa/server/src/api/vendor/members/validators.js +5 -3
  259. package/.medusa/server/src/api/vendor/middlewares.js +77 -67
  260. package/.medusa/server/src/api/vendor/offers/[id]/route.js +4 -2
  261. package/.medusa/server/src/api/vendor/offers/batch/route.js +3 -2
  262. package/.medusa/server/src/api/vendor/offers/query-config.js +2 -1
  263. package/.medusa/server/src/api/vendor/offers/route.js +4 -2
  264. package/.medusa/server/src/api/vendor/offers/validators.d.ts +68 -67
  265. package/.medusa/server/src/api/vendor/offers/validators.js +12 -12
  266. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.d.ts +3 -0
  267. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.js +18 -0
  268. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.d.ts +5 -0
  269. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.js +32 -0
  270. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.d.ts +4 -0
  271. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.js +24 -0
  272. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.d.ts +4 -0
  273. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.js +33 -0
  274. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.d.ts +3 -0
  275. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.js +18 -0
  276. package/.medusa/server/src/api/vendor/order-edits/[id]/route.d.ts +3 -0
  277. package/.medusa/server/src/api/vendor/order-edits/[id]/route.js +19 -0
  278. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.d.ts +5 -0
  279. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.js +32 -0
  280. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.d.ts +4 -0
  281. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.js +15 -0
  282. package/.medusa/server/src/api/vendor/order-edits/middlewares.d.ts +2 -0
  283. package/.medusa/server/src/api/vendor/order-edits/middlewares.js +94 -0
  284. package/.medusa/server/src/api/vendor/order-edits/route.d.ts +4 -0
  285. package/.medusa/server/src/api/vendor/order-edits/route.js +15 -0
  286. package/.medusa/server/src/api/vendor/order-edits/validators.d.ts +160 -0
  287. package/.medusa/server/src/api/vendor/order-edits/validators.js +50 -0
  288. package/.medusa/server/src/api/vendor/orders/[id]/commission-lines/route.d.ts +7 -0
  289. package/.medusa/server/src/api/vendor/orders/[id]/commission-lines/route.js +18 -0
  290. package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route.d.ts +2 -1
  291. package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route.js +4 -1
  292. package/.medusa/server/src/api/vendor/orders/middlewares.js +2 -1
  293. package/.medusa/server/src/api/vendor/orders/query-config.js +34 -11
  294. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.d.ts +23 -0
  295. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.js +75 -0
  296. package/.medusa/server/src/api/vendor/orders/validators.d.ts +37 -26
  297. package/.medusa/server/src/api/vendor/orders/validators.js +10 -3
  298. package/.medusa/server/src/api/vendor/payments/helpers.js +14 -8
  299. package/.medusa/server/src/api/vendor/payments/validators.d.ts +38 -38
  300. package/.medusa/server/src/api/vendor/payout-accounts/validators.d.ts +11 -12
  301. package/.medusa/server/src/api/vendor/payouts/validators.d.ts +18 -19
  302. package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +38 -40
  303. package/.medusa/server/src/api/vendor/price-preferences/validators.d.ts +14 -15
  304. package/.medusa/server/src/api/vendor/product-attributes/query-config.js +4 -2
  305. package/.medusa/server/src/api/vendor/product-attributes/route.js +1 -3
  306. package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +92 -104
  307. package/.medusa/server/src/api/vendor/product-attributes/validators.js +1 -1
  308. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.d.ts +4 -0
  309. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.js +36 -0
  310. package/.medusa/server/src/api/vendor/product-categories/middlewares.js +9 -1
  311. package/.medusa/server/src/api/vendor/product-categories/query-config.js +7 -1
  312. package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +102 -79
  313. package/.medusa/server/src/api/vendor/product-categories/validators.js +7 -2
  314. package/.medusa/server/src/api/vendor/product-tags/validators.d.ts +2 -2
  315. package/.medusa/server/src/api/vendor/product-types/validators.d.ts +14 -15
  316. package/.medusa/server/src/api/vendor/product-variants/middlewares.js +11 -19
  317. package/.medusa/server/src/api/vendor/product-variants/query-config.js +1 -3
  318. package/.medusa/server/src/api/vendor/product-variants/validators.d.ts +103 -97
  319. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.d.ts +5 -0
  320. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.js +22 -0
  321. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +2 -7
  322. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +2 -9
  323. package/.medusa/server/src/api/vendor/products/[id]/preview/route.d.ts +0 -9
  324. package/.medusa/server/src/api/vendor/products/[id]/preview/route.js +1 -10
  325. package/.medusa/server/src/api/vendor/products/[id]/route.d.ts +0 -14
  326. package/.medusa/server/src/api/vendor/products/[id]/route.js +12 -21
  327. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.d.ts +0 -8
  328. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +3 -14
  329. package/.medusa/server/src/api/vendor/products/[id]/variants/route.d.ts +0 -7
  330. package/.medusa/server/src/api/vendor/products/[id]/variants/route.js +2 -11
  331. package/.medusa/server/src/api/vendor/products/helpers.d.ts +6 -5
  332. package/.medusa/server/src/api/vendor/products/helpers.js +54 -10
  333. package/.medusa/server/src/api/vendor/products/middlewares.js +16 -48
  334. package/.medusa/server/src/api/vendor/products/query-config.js +52 -15
  335. package/.medusa/server/src/api/vendor/products/route.d.ts +0 -9
  336. package/.medusa/server/src/api/vendor/products/route.js +14 -17
  337. package/.medusa/server/src/api/vendor/products/validators.d.ts +458 -770
  338. package/.medusa/server/src/api/vendor/products/validators.js +90 -78
  339. package/.medusa/server/src/api/vendor/promotions/validators.d.ts +47 -49
  340. package/.medusa/server/src/api/vendor/refund-reasons/validators.d.ts +18 -19
  341. package/.medusa/server/src/api/vendor/regions/validators.d.ts +20 -21
  342. package/.medusa/server/src/api/vendor/reservations/[id]/route.d.ts +5 -0
  343. package/.medusa/server/src/api/vendor/reservations/[id]/route.js +39 -0
  344. package/.medusa/server/src/api/vendor/reservations/helpers.d.ts +2 -0
  345. package/.medusa/server/src/api/vendor/reservations/helpers.js +18 -0
  346. package/.medusa/server/src/api/vendor/reservations/middlewares.d.ts +2 -0
  347. package/.medusa/server/src/api/vendor/reservations/middlewares.js +44 -0
  348. package/.medusa/server/src/api/vendor/reservations/query-config.d.ts +19 -0
  349. package/.medusa/server/src/api/vendor/reservations/query-config.js +45 -0
  350. package/.medusa/server/src/api/vendor/reservations/route.d.ts +4 -0
  351. package/.medusa/server/src/api/vendor/reservations/route.js +35 -0
  352. package/.medusa/server/src/api/vendor/reservations/validators.d.ts +295 -0
  353. package/.medusa/server/src/api/vendor/reservations/validators.js +40 -0
  354. package/.medusa/server/src/api/vendor/return-reasons/validators.d.ts +18 -19
  355. package/.medusa/server/src/api/vendor/returns/validators.d.ts +25 -26
  356. package/.medusa/server/src/api/vendor/sales-channels/[id]/products/route.js +2 -1
  357. package/.medusa/server/src/api/vendor/sales-channels/helpers.d.ts +1 -0
  358. package/.medusa/server/src/api/vendor/sales-channels/helpers.js +25 -2
  359. package/.medusa/server/src/api/vendor/sales-channels/validators.d.ts +25 -24
  360. package/.medusa/server/src/api/vendor/sellers/[id]/address/route.js +4 -2
  361. package/.medusa/server/src/api/vendor/sellers/[id]/payment-details/route.js +4 -2
  362. package/.medusa/server/src/api/vendor/sellers/[id]/professional-details/route.js +4 -2
  363. package/.medusa/server/src/api/vendor/sellers/[id]/route.js +4 -2
  364. package/.medusa/server/src/api/vendor/sellers/me/route.js +10 -1
  365. package/.medusa/server/src/api/vendor/sellers/middlewares.js +1 -18
  366. package/.medusa/server/src/api/vendor/sellers/route.js +8 -3
  367. package/.medusa/server/src/api/vendor/sellers/validators.d.ts +25 -46
  368. package/.medusa/server/src/api/vendor/sellers/validators.js +2 -2
  369. package/.medusa/server/src/api/vendor/shipping-option-types/validators.d.ts +18 -19
  370. package/.medusa/server/src/api/vendor/shipping-options/middlewares.js +13 -1
  371. package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +100 -98
  372. package/.medusa/server/src/api/vendor/shipping-options/validators.js +2 -1
  373. package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +20 -21
  374. package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +18 -19
  375. package/.medusa/server/src/api/vendor/stores/validators.d.ts +14 -15
  376. package/.medusa/server/src/links/cart-line-item-offer-link.js +9 -2
  377. package/.medusa/server/src/links/media-product-category-link.d.ts +20 -0
  378. package/.medusa/server/src/links/media-product-category-link.js +34 -0
  379. package/.medusa/server/src/links/media-product-collection-link.d.ts +18 -0
  380. package/.medusa/server/src/links/media-product-collection-link.js +32 -0
  381. package/.medusa/server/src/links/offer-product-link.js +15 -0
  382. package/.medusa/server/src/links/order-line-item-offer-link.js +10 -2
  383. package/.medusa/server/src/links/product-attribute-category-link.d.ts +0 -14
  384. package/.medusa/server/src/links/product-attribute-category-link.js +4 -21
  385. package/.medusa/server/src/links/product-attribute-option-mirror-link.d.ts +6 -0
  386. package/.medusa/server/src/links/product-attribute-option-mirror-link.js +24 -0
  387. package/.medusa/server/src/links/product-attribute-product-link.d.ts +0 -5
  388. package/.medusa/server/src/links/product-attribute-product-link.js +2 -7
  389. package/.medusa/server/src/links/product-attribute-value-option-value-mirror-link.d.ts +6 -0
  390. package/.medusa/server/src/links/product-attribute-value-option-value-mirror-link.js +24 -0
  391. package/.medusa/server/src/links/{product-variant-attribute-value-link.d.ts → product-attribute-value-pivot-link.d.ts} +3 -0
  392. package/.medusa/server/src/links/product-attribute-value-pivot-link.js +23 -0
  393. package/.medusa/server/src/links/seller-customer-group-link.js +15 -0
  394. package/.medusa/server/src/migration-scripts/drop-fulfillment-global-unique-indexes.js +6 -1
  395. package/.medusa/server/src/migration-scripts/rename-default-store.d.ts +2 -0
  396. package/.medusa/server/src/migration-scripts/rename-default-store.js +12 -0
  397. package/.medusa/server/src/modules/commission/index.d.ts +14 -0
  398. package/.medusa/server/src/modules/commission/index.js +3 -1
  399. package/.medusa/server/src/modules/commission/loaders/seed-default-commission-rate.d.ts +11 -0
  400. package/.medusa/server/src/modules/commission/loaders/seed-default-commission-rate.js +35 -0
  401. package/.medusa/server/src/modules/commission/migrations/Migration20260615120000.d.ts +5 -0
  402. package/.medusa/server/src/modules/commission/migrations/Migration20260615120000.js +46 -0
  403. package/.medusa/server/src/modules/commission/models/commission-line.d.ts +2 -1
  404. package/.medusa/server/src/modules/commission/models/commission-line.js +3 -2
  405. package/.medusa/server/src/modules/commission/models/commission-rate-value.d.ts +25 -0
  406. package/.medusa/server/src/modules/commission/models/commission-rate-value.js +17 -0
  407. package/.medusa/server/src/modules/commission/models/commission-rate.d.ts +9 -4
  408. package/.medusa/server/src/modules/commission/models/commission-rate.js +9 -6
  409. package/.medusa/server/src/modules/commission/models/commission-rule.d.ts +8 -3
  410. package/.medusa/server/src/modules/commission/models/index.d.ts +1 -0
  411. package/.medusa/server/src/modules/commission/models/index.js +4 -2
  412. package/.medusa/server/src/modules/commission/service.d.ts +170 -10
  413. package/.medusa/server/src/modules/commission/service.js +270 -114
  414. package/.medusa/server/src/modules/media/index.d.ts +21 -0
  415. package/.medusa/server/src/modules/media/index.js +12 -0
  416. package/.medusa/server/src/modules/media/migrations/Migration20260616000000.d.ts +5 -0
  417. package/.medusa/server/src/modules/media/migrations/Migration20260616000000.js +16 -0
  418. package/.medusa/server/src/modules/media/models/index.d.ts +1 -0
  419. package/.medusa/server/src/modules/media/models/index.js +9 -0
  420. package/.medusa/server/src/modules/media/models/media-image.d.ts +32 -0
  421. package/.medusa/server/src/modules/media/models/media-image.js +41 -0
  422. package/.medusa/server/src/modules/media/service.d.ts +17 -0
  423. package/.medusa/server/src/modules/media/service.js +10 -0
  424. package/.medusa/server/src/modules/offer/migrations/Migration20260622000000.d.ts +5 -0
  425. package/.medusa/server/src/modules/offer/migrations/Migration20260622000000.js +16 -0
  426. package/.medusa/server/src/modules/offer/models/offer.d.ts +2 -0
  427. package/.medusa/server/src/modules/offer/models/offer.js +8 -1
  428. package/.medusa/server/src/modules/offer/service.d.ts +10 -0
  429. package/.medusa/server/src/modules/offer/service.js +100 -1
  430. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000002.d.ts +14 -0
  431. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000002.js +31 -0
  432. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.d.ts +2 -0
  433. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.js +2 -1
  434. package/.medusa/server/src/modules/product-attribute/models/product-attribute.d.ts +2 -0
  435. package/.medusa/server/src/modules/product-attribute/models/product-attribute.js +2 -1
  436. package/.medusa/server/src/modules/product-attribute/service.d.ts +18 -3
  437. package/.medusa/server/src/modules/product-attribute/service.js +213 -1
  438. package/.medusa/server/src/modules/search/abstract-search-provider.d.ts +9 -0
  439. package/.medusa/server/src/modules/search/abstract-search-provider.js +20 -0
  440. package/.medusa/server/src/modules/search/index.d.ts +10 -0
  441. package/.medusa/server/src/modules/search/index.js +31 -0
  442. package/.medusa/server/src/modules/search/lib/build-docs.d.ts +84 -0
  443. package/.medusa/server/src/modules/search/lib/build-docs.js +207 -0
  444. package/.medusa/server/src/modules/search/lib/reindex.d.ts +7 -0
  445. package/.medusa/server/src/modules/search/lib/reindex.js +61 -0
  446. package/.medusa/server/src/modules/search/lib/sync.d.ts +9 -0
  447. package/.medusa/server/src/modules/search/lib/sync.js +73 -0
  448. package/.medusa/server/src/modules/search/loaders/providers.d.ts +5 -0
  449. package/.medusa/server/src/modules/search/loaders/providers.js +26 -0
  450. package/.medusa/server/src/modules/search/providers/index.d.ts +1 -0
  451. package/.medusa/server/src/modules/search/providers/index.js +6 -0
  452. package/.medusa/server/src/modules/search/providers/orama/index.d.ts +4 -0
  453. package/.medusa/server/src/modules/search/providers/orama/index.js +12 -0
  454. package/.medusa/server/src/modules/search/providers/orama/service.d.ts +19 -0
  455. package/.medusa/server/src/modules/search/providers/orama/service.js +148 -0
  456. package/.medusa/server/src/modules/search/providers/orama/types.d.ts +10 -0
  457. package/.medusa/server/src/modules/search/providers/orama/types.js +3 -0
  458. package/.medusa/server/src/modules/search/services/index.d.ts +2 -0
  459. package/.medusa/server/src/modules/search/services/index.js +24 -0
  460. package/.medusa/server/src/modules/search/services/search-module-service.d.ts +25 -0
  461. package/.medusa/server/src/modules/search/services/search-module-service.js +60 -0
  462. package/.medusa/server/src/modules/search/services/search-provider-service.d.ts +15 -0
  463. package/.medusa/server/src/modules/search/services/search-provider-service.js +30 -0
  464. package/.medusa/server/src/modules/seller/migrations/Migration20260616120000.d.ts +5 -0
  465. package/.medusa/server/src/modules/seller/migrations/Migration20260616120000.js +16 -0
  466. package/.medusa/server/src/modules/seller/models/address.d.ts +2 -2
  467. package/.medusa/server/src/modules/seller/models/member-invite.d.ts +2 -2
  468. package/.medusa/server/src/modules/seller/models/member.d.ts +2 -2
  469. package/.medusa/server/src/modules/seller/models/payment-details.d.ts +2 -2
  470. package/.medusa/server/src/modules/seller/models/payment-details.js +3 -3
  471. package/.medusa/server/src/modules/seller/models/professional-details.d.ts +2 -2
  472. package/.medusa/server/src/modules/seller/models/seller-member.d.ts +4 -4
  473. package/.medusa/server/src/modules/seller/models/seller.d.ts +2 -2
  474. package/.medusa/server/src/modules/seller/repositories/order-group.js +1 -11
  475. package/.medusa/server/src/modules/seller/service.d.ts +16 -16
  476. package/.medusa/server/src/modules/seller/service.js +1 -2
  477. package/.medusa/server/src/subscribers/link-order-line-items-to-offers.d.ts +6 -0
  478. package/.medusa/server/src/subscribers/link-order-line-items-to-offers.js +94 -0
  479. package/.medusa/server/src/subscribers/order-edit-confirmed.d.ts +12 -0
  480. package/.medusa/server/src/subscribers/order-edit-confirmed.js +34 -0
  481. package/.medusa/server/src/subscribers/search-offer-changed.d.ts +6 -0
  482. package/.medusa/server/src/subscribers/search-offer-changed.js +34 -0
  483. package/.medusa/server/src/subscribers/search-product-changed.d.ts +5 -0
  484. package/.medusa/server/src/subscribers/search-product-changed.js +29 -0
  485. package/.medusa/server/src/subscribers/search-product-deleted.d.ts +5 -0
  486. package/.medusa/server/src/subscribers/search-product-deleted.js +23 -0
  487. package/.medusa/server/src/subscribers/search-reindex.d.ts +3 -0
  488. package/.medusa/server/src/subscribers/search-reindex.js +23 -0
  489. package/.medusa/server/src/subscribers/search-seller-changed.d.ts +5 -0
  490. package/.medusa/server/src/subscribers/search-seller-changed.js +44 -0
  491. package/.medusa/server/src/utils/dashboard/dashboard-base.js +6 -2
  492. package/.medusa/server/src/utils/disable-medusa-middlewares.js +7 -1
  493. package/.medusa/server/src/workflows/cart/hooks/validate.js +1 -12
  494. package/.medusa/server/src/workflows/cart/steps/prepare-adjustments-from-promotion-actions.js +3 -5
  495. package/.medusa/server/src/workflows/cart/utils/fields.js +25 -9
  496. package/.medusa/server/src/workflows/cart/utils/prepare-line-item-data.js +1 -3
  497. package/.medusa/server/src/workflows/cart/workflows/add-seller-shipping-method-to-cart.js +1 -2
  498. package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +19 -16
  499. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.d.ts +2 -2
  500. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.js +1 -2
  501. package/.medusa/server/src/workflows/commission/steps/create-commission-rates.d.ts +1 -28
  502. package/.medusa/server/src/workflows/commission/steps/create-commission-rules.d.ts +13 -4
  503. package/.medusa/server/src/workflows/commission/steps/index.d.ts +1 -0
  504. package/.medusa/server/src/workflows/commission/steps/index.js +2 -1
  505. package/.medusa/server/src/workflows/commission/steps/update-commission-rates.d.ts +13 -4
  506. package/.medusa/server/src/workflows/commission/steps/update-commission-rules.d.ts +13 -4
  507. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.d.ts +2 -2
  508. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.js +1 -1
  509. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.d.ts +2 -0
  510. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.js +19 -0
  511. package/.medusa/server/src/workflows/commission/workflows/create-commission-rates.d.ts +1 -28
  512. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rates.d.ts +1 -2
  513. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rates.js +3 -1
  514. package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.js +2 -1
  515. package/.medusa/server/src/workflows/commission/workflows/update-commission-rates.d.ts +13 -4
  516. package/.medusa/server/src/workflows/customer-group/index.d.ts +2 -0
  517. package/.medusa/server/src/workflows/customer-group/index.js +19 -0
  518. package/.medusa/server/src/workflows/customer-group/steps/index.d.ts +1 -0
  519. package/.medusa/server/src/workflows/customer-group/steps/index.js +18 -0
  520. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.d.ts +6 -0
  521. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.js +38 -0
  522. package/.medusa/server/src/workflows/customer-group/workflows/create-seller-customer-groups.d.ts +7 -0
  523. package/.medusa/server/src/workflows/customer-group/workflows/create-seller-customer-groups.js +20 -0
  524. package/.medusa/server/src/workflows/customer-group/workflows/index.d.ts +1 -0
  525. package/.medusa/server/src/workflows/customer-group/workflows/index.js +18 -0
  526. package/.medusa/server/src/workflows/index.d.ts +2 -0
  527. package/.medusa/server/src/workflows/index.js +3 -1
  528. package/.medusa/server/src/workflows/media/index.d.ts +2 -0
  529. package/.medusa/server/src/workflows/media/index.js +19 -0
  530. package/.medusa/server/src/workflows/media/steps/create-images.d.ts +20 -0
  531. package/.medusa/server/src/workflows/media/steps/create-images.js +21 -0
  532. package/.medusa/server/src/workflows/media/steps/delete-images.d.ts +3 -0
  533. package/.medusa/server/src/workflows/media/steps/delete-images.js +21 -0
  534. package/.medusa/server/src/workflows/media/steps/index.d.ts +2 -0
  535. package/.medusa/server/src/workflows/media/steps/index.js +19 -0
  536. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.d.ts +8 -0
  537. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.js +23 -0
  538. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.d.ts +8 -0
  539. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.js +23 -0
  540. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.d.ts +5 -0
  541. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.js +21 -0
  542. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.d.ts +5 -0
  543. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.js +21 -0
  544. package/.medusa/server/src/workflows/media/workflows/index.d.ts +8 -0
  545. package/.medusa/server/src/workflows/media/workflows/index.js +25 -0
  546. package/.medusa/server/src/workflows/media/workflows/set-category-images.d.ts +13 -0
  547. package/.medusa/server/src/workflows/media/workflows/set-category-images.js +71 -0
  548. package/.medusa/server/src/workflows/media/workflows/set-collection-images.d.ts +13 -0
  549. package/.medusa/server/src/workflows/media/workflows/set-collection-images.js +71 -0
  550. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.d.ts +9 -0
  551. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.js +22 -0
  552. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.d.ts +9 -0
  553. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.js +22 -0
  554. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.d.ts +0 -12
  555. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.js +1 -16
  556. package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +2 -0
  557. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.d.ts +0 -9
  558. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.js +1 -10
  559. package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +2 -5
  560. package/.medusa/server/src/workflows/offer/steps/update-offers.js +1 -1
  561. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.d.ts +0 -11
  562. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.js +1 -12
  563. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.d.ts +0 -10
  564. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.js +1 -19
  565. package/.medusa/server/src/workflows/offer/workflows/create-offers.js +4 -16
  566. package/.medusa/server/src/workflows/offer/workflows/delete-offers.js +7 -2
  567. package/.medusa/server/src/workflows/offer/workflows/update-offers.d.ts +0 -11
  568. package/.medusa/server/src/workflows/offer/workflows/update-offers.js +2 -23
  569. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.d.ts +1 -2
  570. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.js +1 -2
  571. package/.medusa/server/src/workflows/order/workflows/confirm-claim-request.d.ts +7 -0
  572. package/.medusa/server/src/workflows/order/workflows/confirm-claim-request.js +149 -0
  573. package/.medusa/server/src/workflows/order/workflows/confirm-exchange-request.d.ts +7 -0
  574. package/.medusa/server/src/workflows/order/workflows/confirm-exchange-request.js +152 -0
  575. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.d.ts +7 -0
  576. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.js +165 -0
  577. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +1 -9
  578. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.js +2 -3
  579. package/.medusa/server/src/workflows/order/workflows/index.d.ts +3 -0
  580. package/.medusa/server/src/workflows/order/workflows/index.js +4 -1
  581. package/.medusa/server/src/workflows/order-group/utils/aggregate-status.js +1 -7
  582. package/.medusa/server/src/workflows/order-group/workflows/get-order-groups-list.d.ts +1 -0
  583. package/.medusa/server/src/workflows/order-group/workflows/get-order-groups-list.js +11 -2
  584. package/.medusa/server/src/workflows/payout/workflows/create-payout.js +34 -21
  585. package/.medusa/server/src/workflows/product/events.d.ts +0 -6
  586. package/.medusa/server/src/workflows/product/events.js +1 -7
  587. package/.medusa/server/src/workflows/product/steps/index.d.ts +0 -2
  588. package/.medusa/server/src/workflows/product/steps/index.js +1 -3
  589. package/.medusa/server/src/workflows/product/steps/validate-products-status.d.ts +0 -8
  590. package/.medusa/server/src/workflows/product/steps/validate-products-status.js +1 -9
  591. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.js +1 -3
  592. package/.medusa/server/src/workflows/product/workflows/assign-products-to-category.d.ts +12 -0
  593. package/.medusa/server/src/workflows/product/workflows/assign-products-to-category.js +23 -0
  594. package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +4 -20
  595. package/.medusa/server/src/workflows/product/workflows/confirm-products.js +2 -13
  596. package/.medusa/server/src/workflows/product/workflows/create-products.d.ts +4 -52
  597. package/.medusa/server/src/workflows/product/workflows/create-products.js +69 -142
  598. package/.medusa/server/src/workflows/product/workflows/index.d.ts +1 -1
  599. package/.medusa/server/src/workflows/product/workflows/index.js +2 -2
  600. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.d.ts +0 -7
  601. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.js +1 -1
  602. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.d.ts +0 -7
  603. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.js +1 -1
  604. package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +4 -11
  605. package/.medusa/server/src/workflows/product/workflows/reject-product.js +2 -8
  606. package/.medusa/server/src/workflows/product/workflows/request-product-change.d.ts +4 -18
  607. package/.medusa/server/src/workflows/product/workflows/request-product-change.js +2 -15
  608. package/.medusa/server/src/workflows/product-attribute/events.d.ts +0 -9
  609. package/.medusa/server/src/workflows/product-attribute/events.js +1 -10
  610. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.d.ts +1 -31
  611. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.d.ts +1 -41
  612. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.js +1 -1
  613. package/.medusa/server/src/workflows/product-attribute/steps/detach-product-option-values-from-product.d.ts +14 -0
  614. package/.medusa/server/src/workflows/product-attribute/steps/detach-product-option-values-from-product.js +40 -0
  615. package/.medusa/server/src/workflows/product-attribute/steps/index.d.ts +3 -4
  616. package/.medusa/server/src/workflows/product-attribute/steps/index.js +4 -5
  617. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.d.ts +6 -3
  618. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.js +17 -2
  619. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attributes.d.ts +1 -31
  620. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-linked.d.ts +2 -0
  621. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-linked.js +28 -0
  622. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-required.d.ts +7 -0
  623. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-required.js +16 -0
  624. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attributes-to-product.d.ts +9 -0
  625. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attributes-to-product.js +242 -0
  626. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.d.ts +15 -0
  627. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.js +28 -0
  628. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.js +44 -3
  629. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.js +41 -17
  630. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.js +36 -15
  631. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.d.ts +0 -7
  632. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.js +11 -8
  633. package/.medusa/server/src/workflows/product-attribute/workflows/index.d.ts +4 -5
  634. package/.medusa/server/src/workflows/product-attribute/workflows/index.js +5 -6
  635. package/.medusa/server/src/workflows/product-attribute/workflows/remove-product-attributes-from-product.d.ts +10 -0
  636. package/.medusa/server/src/workflows/product-attribute/workflows/remove-product-attributes-from-product.js +83 -0
  637. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.js +34 -1
  638. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.d.ts +11 -0
  639. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.js +285 -0
  640. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.js +15 -1
  641. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.d.ts +4 -11
  642. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.js +19 -19
  643. package/.medusa/server/src/workflows/product-edit/events.d.ts +0 -7
  644. package/.medusa/server/src/workflows/product-edit/events.js +1 -8
  645. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.d.ts +16 -0
  646. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.js +35 -0
  647. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.d.ts +0 -4
  648. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.js +1 -5
  649. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.d.ts +0 -6
  650. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.js +1 -7
  651. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.d.ts +0 -5
  652. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.js +1 -6
  653. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.d.ts +0 -6
  654. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.js +1 -1
  655. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.d.ts +0 -5
  656. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.js +1 -6
  657. package/.medusa/server/src/workflows/product-edit/steps/index.d.ts +1 -0
  658. package/.medusa/server/src/workflows/product-edit/steps/index.js +2 -1
  659. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.d.ts +0 -5
  660. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.js +1 -6
  661. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +0 -6
  662. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +2 -8
  663. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.d.ts +5 -19
  664. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.js +11 -128
  665. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.d.ts +0 -31
  666. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.js +43 -50
  667. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.d.ts +1 -9
  668. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.js +3 -11
  669. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.d.ts +0 -11
  670. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.js +1 -12
  671. package/.medusa/server/src/workflows/product-edit/workflows/index.d.ts +1 -1
  672. package/.medusa/server/src/workflows/product-edit/workflows/index.js +2 -2
  673. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.d.ts +0 -7
  674. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +10 -9
  675. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.d.ts +4 -46
  676. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.js +11 -162
  677. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.d.ts +16 -0
  678. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.js +139 -0
  679. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.d.ts +0 -10
  680. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +71 -17
  681. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.d.ts +0 -24
  682. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.js +1 -15
  683. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.d.ts +1 -25
  684. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.js +2 -15
  685. package/.medusa/server/src/workflows/promotion/steps/register-usage.d.ts +0 -3
  686. package/.medusa/server/src/workflows/promotion/steps/register-usage.js +1 -4
  687. package/.medusa/server/src/workflows/seller/steps/create-seller-member.d.ts +4 -4
  688. package/.medusa/server/src/workflows/seller/steps/update-member.d.ts +2 -2
  689. package/.medusa/server/src/workflows/seller/steps/update-seller-member.d.ts +4 -4
  690. package/.medusa/server/src/workflows/seller/workflows/accept-member-invite.js +1 -2
  691. package/.medusa/server/src/workflows/seller/workflows/add-seller-member.d.ts +4 -4
  692. package/.medusa/server/src/workflows/seller/workflows/approve-seller.d.ts +4 -4
  693. package/.medusa/server/src/workflows/seller/workflows/approve-seller.js +2 -1
  694. package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +1 -2
  695. package/.medusa/server/src/workflows/seller/workflows/suspend-seller.d.ts +4 -4
  696. package/.medusa/server/src/workflows/seller/workflows/suspend-seller.js +2 -1
  697. package/.medusa/server/src/workflows/seller/workflows/terminate-seller.d.ts +4 -4
  698. package/.medusa/server/src/workflows/seller/workflows/terminate-seller.js +2 -1
  699. package/.medusa/server/src/workflows/seller/workflows/unsuspend-seller.d.ts +4 -4
  700. package/.medusa/server/src/workflows/seller/workflows/unsuspend-seller.js +2 -1
  701. package/.medusa/server/src/workflows/seller/workflows/unterminate-seller.d.ts +4 -4
  702. package/.medusa/server/src/workflows/seller/workflows/unterminate-seller.js +2 -1
  703. package/.medusa/server/src/workflows/seller/workflows/update-member.d.ts +12 -101
  704. package/.medusa/server/src/workflows/seller/workflows/update-member.js +6 -2
  705. package/package.json +22 -21
  706. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.d.ts +0 -4
  707. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.js +0 -65
  708. package/.medusa/server/src/api/admin/products/[id]/attributes/route.d.ts +0 -5
  709. package/.medusa/server/src/api/admin/products/[id]/attributes/route.js +0 -63
  710. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.d.ts +0 -10
  711. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.js +0 -62
  712. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.d.ts +0 -15
  713. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.js +0 -82
  714. package/.medusa/server/src/links/line-item-commission-line-link.js +0 -21
  715. package/.medusa/server/src/links/product-attribute-value-link.d.ts +0 -22
  716. package/.medusa/server/src/links/product-attribute-value-link.js +0 -46
  717. package/.medusa/server/src/links/product-variant-attribute-link.js +0 -21
  718. package/.medusa/server/src/links/product-variant-attribute-value-link.js +0 -21
  719. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.d.ts +0 -28
  720. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.js +0 -72
  721. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.d.ts +0 -90
  722. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.js +0 -185
  723. package/.medusa/server/src/workflows/product/workflows/update-products.d.ts +0 -39
  724. package/.medusa/server/src/workflows/product/workflows/update-products.js +0 -161
  725. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.d.ts +0 -43
  726. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.js +0 -51
  727. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.d.ts +0 -7
  728. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.js +0 -59
  729. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.d.ts +0 -6
  730. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.js +0 -20
  731. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.d.ts +0 -7
  732. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.js +0 -20
  733. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.d.ts +0 -52
  734. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.js +0 -120
  735. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.d.ts +0 -23
  736. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.js +0 -252
  737. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.d.ts +0 -17
  738. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.js +0 -62
  739. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.d.ts +0 -135
  740. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.js +0 -43
  741. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.d.ts +0 -24
  742. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.js +0 -27
  743. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.d.ts +0 -25
  744. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.js +0 -148
  745. /package/.medusa/server/src/links/{line-item-commission-line-link.d.ts → offer-product-link.d.ts} +0 -0
  746. /package/.medusa/server/src/links/{product-variant-attribute-link.d.ts → seller-customer-group-link.d.ts} +0 -0
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addProductAttributesToProductWorkflow = exports.addProductAttributesToProductWorkflowId = 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
+ exports.addProductAttributesToProductWorkflowId = "add-product-attributes-to-product";
10
+ const isExisting = (ref) => "id" in ref;
11
+ const key = (itemIdx, addIdx) => `${itemIdx}:${addIdx}`;
12
+ exports.addProductAttributesToProductWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.addProductAttributesToProductWorkflowId, function (input) {
13
+ const items = (0, workflows_sdk_1.transform)({ input }, ({ input }) => Array.isArray(input) ? input : [input]);
14
+ const attributesQuery = (0, core_flows_1.useQueryGraphStep)({
15
+ entity: "product_attribute",
16
+ filters: {
17
+ id: (0, workflows_sdk_1.transform)({ items }, ({ items }) => items.flatMap((it) => it.add.filter(isExisting).map((r) => r.id))),
18
+ },
19
+ fields: [
20
+ "id",
21
+ "name",
22
+ "type",
23
+ "is_variant_axis",
24
+ "product_id",
25
+ "product_option_id",
26
+ "values.id",
27
+ "values.name",
28
+ "values.product_option_value_id",
29
+ ],
30
+ }).config({ name: "add-pa-attributes" });
31
+ const optionsPlan = (0, workflows_sdk_1.transform)({ items }, ({ items }) => {
32
+ const inlineAxisOptions = [];
33
+ const optionIdxByKey = {};
34
+ items.forEach((it, i) => {
35
+ it.add.forEach((ref, j) => {
36
+ if (!isExisting(ref) && ref.is_variant_axis) {
37
+ optionIdxByKey[key(i, j)] = inlineAxisOptions.length;
38
+ inlineAxisOptions.push({
39
+ title: ref.title,
40
+ is_exclusive: true,
41
+ values: ref.values ?? [],
42
+ });
43
+ }
44
+ });
45
+ });
46
+ return { inlineAxisOptions, optionIdxByKey };
47
+ });
48
+ const inlineOptions = (0, core_flows_1.createProductOptionsStep)(optionsPlan.inlineAxisOptions);
49
+ const attrsPlan = (0, workflows_sdk_1.transform)({ items, optionsPlan, inlineOptions }, ({ items, optionsPlan, inlineOptions }) => {
50
+ const inlineAttrs = [];
51
+ const attrIdxByKey = {};
52
+ items.forEach((it, i) => {
53
+ it.add.forEach((ref, j) => {
54
+ if (isExisting(ref)) {
55
+ return;
56
+ }
57
+ attrIdxByKey[key(i, j)] = inlineAttrs.length;
58
+ const optionIdx = optionsPlan.optionIdxByKey[key(i, j)];
59
+ if (ref.is_variant_axis) {
60
+ inlineAttrs.push({
61
+ name: ref.title,
62
+ type: types_1.AttributeType.MULTI_SELECT,
63
+ is_variant_axis: true,
64
+ is_filterable: ref.is_filterable ?? false,
65
+ is_required: ref.is_required ?? false,
66
+ description: ref.description ?? null,
67
+ metadata: ref.metadata ?? null,
68
+ product_id: it.product_id,
69
+ product_option_id: inlineOptions[optionIdx].id,
70
+ });
71
+ }
72
+ else {
73
+ const inferredType = ref.type ??
74
+ (typeof ref.value === "boolean"
75
+ ? types_1.AttributeType.TOGGLE
76
+ : types_1.AttributeType.TEXT);
77
+ inlineAttrs.push({
78
+ name: ref.title,
79
+ type: inferredType,
80
+ is_variant_axis: false,
81
+ is_filterable: ref.is_filterable ?? false,
82
+ is_required: ref.is_required ?? false,
83
+ description: ref.description ?? null,
84
+ metadata: ref.metadata ?? null,
85
+ product_id: it.product_id,
86
+ });
87
+ }
88
+ });
89
+ });
90
+ return { inlineAttrs, attrIdxByKey };
91
+ });
92
+ const inlineAttrs = (0, steps_1.createProductAttributesStep)(attrsPlan.inlineAttrs);
93
+ const valuePlan = (0, workflows_sdk_1.transform)({ items, attributesQuery, optionsPlan, inlineOptions, attrsPlan }, ({ items, attributesQuery, optionsPlan, inlineOptions, attrsPlan }) => {
94
+ const attrsById = new Map((attributesQuery.data ?? []).map((a) => [
95
+ a.id,
96
+ a,
97
+ ]));
98
+ const rows = [];
99
+ const linkProductId = [];
100
+ items.forEach((it, i) => {
101
+ it.add.forEach((ref, j) => {
102
+ if (!isExisting(ref)) {
103
+ const attrIdx = attrsPlan.attrIdxByKey[key(i, j)];
104
+ const attributeId = inlineAttrs[attrIdx].id;
105
+ if (ref.is_variant_axis) {
106
+ const optionIdx = optionsPlan.optionIdxByKey[key(i, j)];
107
+ for (const ov of inlineOptions[optionIdx].values ?? []) {
108
+ rows.push({
109
+ name: ov.value,
110
+ attribute_id: attributeId,
111
+ product_option_value_id: ov.id,
112
+ });
113
+ // The formatter reads the selected axis subset from the
114
+ // product_attribute_value_link pivot (native options populate
115
+ // is broken on 2.16), so inline-axis values are linked too.
116
+ linkProductId.push(it.product_id);
117
+ }
118
+ }
119
+ else {
120
+ const names = ref.values ??
121
+ (ref.value !== undefined ? [String(ref.value)] : []);
122
+ for (const name of names) {
123
+ rows.push({ name, attribute_id: attributeId });
124
+ linkProductId.push(it.product_id);
125
+ }
126
+ }
127
+ return;
128
+ }
129
+ const attr = attrsById.get(ref.id);
130
+ if (attr &&
131
+ (attr.type === types_1.AttributeType.TEXT ||
132
+ attr.type === types_1.AttributeType.UNIT) &&
133
+ ref.value !== undefined) {
134
+ rows.push({ name: String(ref.value), attribute_id: ref.id });
135
+ linkProductId.push(it.product_id);
136
+ }
137
+ });
138
+ });
139
+ return { rows, linkProductId };
140
+ });
141
+ const createdValues = (0, steps_1.createProductAttributeValuesStep)(valuePlan.rows);
142
+ const optionPairs = (0, workflows_sdk_1.transform)({ items, attributesQuery, optionsPlan, inlineOptions }, ({ items, attributesQuery, optionsPlan, inlineOptions }) => {
143
+ const attrsById = new Map((attributesQuery.data ?? []).map((a) => [
144
+ a.id,
145
+ a,
146
+ ]));
147
+ const pairs = [];
148
+ items.forEach((it, i) => {
149
+ it.add.forEach((ref, j) => {
150
+ if (isExisting(ref)) {
151
+ const attr = attrsById.get(ref.id);
152
+ const isAxis = attr?.type === types_1.AttributeType.MULTI_SELECT &&
153
+ !!attr?.is_variant_axis &&
154
+ !!attr?.product_option_id;
155
+ if (!attr || !isAxis) {
156
+ return;
157
+ }
158
+ const optValByValueId = new Map((attr.values ?? []).map((v) => [
159
+ v.id,
160
+ v.product_option_value_id,
161
+ ]));
162
+ const product_option_value_ids = (ref.value_ids ?? [])
163
+ .map((vid) => optValByValueId.get(vid))
164
+ .filter((id) => !!id);
165
+ pairs.push({
166
+ product_id: it.product_id,
167
+ product_option_id: attr.product_option_id,
168
+ product_option_value_ids,
169
+ });
170
+ }
171
+ else if (ref.is_variant_axis) {
172
+ const optionIdx = optionsPlan.optionIdxByKey[key(i, j)];
173
+ pairs.push({
174
+ product_id: it.product_id,
175
+ product_option_id: inlineOptions[optionIdx].id,
176
+ });
177
+ }
178
+ });
179
+ });
180
+ return pairs;
181
+ });
182
+ (0, workflows_sdk_1.when)({ optionPairs }, ({ optionPairs }) => optionPairs.length > 0).then(() => (0, core_flows_1.addProductOptionsToProductStep)(optionPairs));
183
+ const valueLinks = (0, workflows_sdk_1.transform)({ items, attributesQuery, valuePlan, createdValues }, ({ items, attributesQuery, valuePlan, createdValues }) => {
184
+ const links = [];
185
+ createdValues.forEach((v, i) => {
186
+ const product_id = valuePlan.linkProductId[i];
187
+ if (product_id) {
188
+ links.push({
189
+ [utils_1.Modules.PRODUCT]: { product_id },
190
+ [types_1.MercurModules.PRODUCT_ATTRIBUTE]: {
191
+ product_attribute_value_id: v.id,
192
+ },
193
+ });
194
+ }
195
+ });
196
+ const attrsById = new Map((attributesQuery.data ?? []).map((a) => [
197
+ a.id,
198
+ a,
199
+ ]));
200
+ for (const it of items) {
201
+ for (const ref of it.add) {
202
+ if (!isExisting(ref)) {
203
+ continue;
204
+ }
205
+ const attr = attrsById.get(ref.id);
206
+ if (!attr) {
207
+ continue;
208
+ }
209
+ if (attr.type === types_1.AttributeType.TOGGLE && ref.value !== undefined) {
210
+ const seeded = (attr.values ?? []).find((v) => v.name === String(ref.value));
211
+ if (seeded) {
212
+ links.push({
213
+ [utils_1.Modules.PRODUCT]: { product_id: it.product_id },
214
+ [types_1.MercurModules.PRODUCT_ATTRIBUTE]: {
215
+ product_attribute_value_id: seeded.id,
216
+ },
217
+ });
218
+ }
219
+ }
220
+ else {
221
+ // Axis values are linked into the pivot too so the formatter can
222
+ // render the selected-of-available subset (native options populate
223
+ // is broken on 2.16).
224
+ for (const vid of ref.value_ids ?? []) {
225
+ links.push({
226
+ [utils_1.Modules.PRODUCT]: { product_id: it.product_id },
227
+ [types_1.MercurModules.PRODUCT_ATTRIBUTE]: {
228
+ product_attribute_value_id: vid,
229
+ },
230
+ });
231
+ }
232
+ }
233
+ }
234
+ }
235
+ return links;
236
+ });
237
+ (0, workflows_sdk_1.when)({ valueLinks }, ({ valueLinks }) => valueLinks.length > 0).then(() => (0, core_flows_1.createRemoteLinkStep)(valueLinks).config({
238
+ name: "add-pa-value-links",
239
+ }));
240
+ return new workflows_sdk_1.WorkflowResponse(void 0);
241
+ });
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXByb2R1Y3QtYXR0cmlidXRlcy10by1wcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LWF0dHJpYnV0ZS93b3JrZmxvd3MvYWRkLXByb2R1Y3QtYXR0cmlidXRlcy10by1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFtRDtBQU1uRCxxRUFLMEM7QUFDMUMsNERBS29DO0FBQ3BDLDJDQU93QjtBQUV4QixvQ0FHaUI7QUFXSixRQUFBLHVDQUF1QyxHQUNsRCxtQ0FBbUMsQ0FBQTtBQUVyQyxNQUFNLFVBQVUsR0FBRyxDQUNqQixHQUE2QixFQUM2QixFQUFFLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQTtBQUUxRSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQWUsRUFBRSxNQUFjLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxJQUFJLE1BQU0sRUFBRSxDQUFBO0FBRTFELFFBQUEscUNBQXFDLEdBQUcsSUFBQSw4QkFBYyxFQUNqRSwrQ0FBdUMsRUFDdkMsVUFBVSxLQUF1RDtJQUMvRCxNQUFNLEtBQUssR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUMvQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ3ZDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ3hDLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsT0FBTyxFQUFFO1lBQ1AsRUFBRSxFQUFFLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FB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
@@ -0,0 +1,15 @@
1
+ import { AdditionalData } from "@medusajs/framework/types";
2
+ import { type Hook, type ReturnWorkflow } from "@medusajs/framework/workflows-sdk";
3
+ import { ProductAttributeBatchInput } from "@mercurjs/types";
4
+ export type CreateAndLinkProductAttributesWorkflowInput = ProductAttributeBatchInput & AdditionalData;
5
+ export type CreateAndLinkProductAttributesWorkflowHooks = [
6
+ Hook<"validate", {
7
+ input: CreateAndLinkProductAttributesWorkflowInput;
8
+ }, unknown>,
9
+ Hook<"productAttributesLinked", {
10
+ product_id: string;
11
+ additional_data: Record<string, unknown> | undefined;
12
+ }, unknown>
13
+ ];
14
+ export declare const createAndLinkProductAttributesToProductWorkflowId = "create-and-link-product-attributes-to-product";
15
+ export declare const createAndLinkProductAttributesToProductWorkflow: ReturnWorkflow<CreateAndLinkProductAttributesWorkflowInput, void, CreateAndLinkProductAttributesWorkflowHooks>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAndLinkProductAttributesToProductWorkflow = exports.createAndLinkProductAttributesToProductWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const add_product_attributes_to_product_1 = require("./add-product-attributes-to-product");
6
+ const remove_product_attributes_from_product_1 = require("./remove-product-attributes-from-product");
7
+ const update_product_attributes_on_product_1 = require("./update-product-attributes-on-product");
8
+ exports.createAndLinkProductAttributesToProductWorkflowId = "create-and-link-product-attributes-to-product";
9
+ exports.createAndLinkProductAttributesToProductWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.createAndLinkProductAttributesToProductWorkflowId, function (input) {
10
+ const validate = (0, workflows_sdk_1.createHook)("validate", { input });
11
+ (0, workflows_sdk_1.when)({ input }, ({ input }) => !!input.remove?.length).then(() => remove_product_attributes_from_product_1.removeProductAttributesFromProductWorkflow.runAsStep({
12
+ input: { product_id: input.product_id, remove: input.remove ?? [] },
13
+ }));
14
+ (0, workflows_sdk_1.when)({ input }, ({ input }) => !!input.add?.length).then(() => add_product_attributes_to_product_1.addProductAttributesToProductWorkflow.runAsStep({
15
+ input: { product_id: input.product_id, add: input.add ?? [] },
16
+ }));
17
+ (0, workflows_sdk_1.when)({ input }, ({ input }) => !!input.update?.length).then(() => update_product_attributes_on_product_1.updateProductAttributesOnProductWorkflow.runAsStep({
18
+ input: { product_id: input.product_id, update: input.update ?? [] },
19
+ }));
20
+ const productAttributesLinked = (0, workflows_sdk_1.createHook)("productAttributesLinked", {
21
+ product_id: input.product_id,
22
+ additional_data: input.additional_data,
23
+ });
24
+ return new workflows_sdk_1.WorkflowResponse(void 0, {
25
+ hooks: [validate, productAttributesLinked],
26
+ });
27
+ });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFuZC1saW5rLXByb2R1Y3QtYXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL2NyZWF0ZS1hbmQtbGluay1wcm9kdWN0LWF0dHJpYnV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBTzBDO0FBRzFDLDJGQUEyRjtBQUMzRixxR0FBcUc7QUFDckcsaUdBQWlHO0FBcUJwRixRQUFBLGlEQUFpRCxHQUM1RCwrQ0FBK0MsQ0FBQTtBQUVwQyxRQUFBLCtDQUErQyxHQUl4RCxJQUFBLDhCQUFjLEVBQ2hCLHlEQUFpRCxFQUNqRCxVQUFVLEtBQWtEO0lBQzFELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRWxELElBQUEsb0JBQUksRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUMvRCxtRkFBMEMsQ0FBQyxTQUFTLENBQUM7UUFDbkQsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFO0tBQ3BFLENBQUMsQ0FDSCxDQUFBO0lBRUQsSUFBQSxvQkFBSSxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQzVELHlFQUFxQyxDQUFDLFNBQVMsQ0FBQztRQUM5QyxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUU7S0FDOUQsQ0FBQyxDQUNILENBQUE7SUFFRCxJQUFBLG9CQUFJLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDL0QsK0VBQXdDLENBQUMsU0FBUyxDQUFDO1FBQ2pELEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRTtLQUNwRSxDQUFDLENBQ0gsQ0FBQTtJQUVELE1BQU0sdUJBQXVCLEdBQUcsSUFBQSwwQkFBVSxFQUFDLHlCQUF5QixFQUFFO1FBQ3BFLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtRQUM1QixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7S0FDdkMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2xDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQztLQUMzQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXByb2R1Y3QtYXR0cmlidXRlLXZhbHVlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1hdHRyaWJ1dGUvd29ya2Zsb3dzL2RlbGV0ZS1wcm9kdWN0LWF0dHJpYnV0ZS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBUTBDO0FBQzFDLDREQUlvQztBQUNwQywyQ0FBK0M7QUFFL0Msc0NBQStEO0FBQy9ELG9DQUVpQjtBQXNCSixRQUFBLHNDQUFzQyxHQUNqRCxpQ0FBaUMsQ0FBQTtBQUV0QixRQUFBLG9DQUFvQyxHQUk3QyxJQUFBLDhCQUFjLEVBQ2hCLDhDQUFzQyxFQUN0QyxVQUFVLEtBQWdEO0lBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRWxELE1BQU0sV0FBVyxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDcEMsTUFBTSxFQUFFLHlCQUF5QjtRQUNqQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFBO0lBRTFDLElBQUEsd0NBQWdDLEVBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTNDLE1BQU0sZUFBZSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RSxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FDYixJQUFJLEdBQUcsQ0FDTCxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsR0FB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
@@ -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