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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (698) hide show
  1. package/.medusa/server/src/api/admin/claims/[id]/outbound/items/route.d.ts +13 -0
  2. package/.medusa/server/src/api/admin/claims/[id]/outbound/items/route.js +59 -0
  3. package/.medusa/server/src/api/admin/claims/[id]/request/route.d.ts +4 -0
  4. package/.medusa/server/src/api/admin/claims/[id]/request/route.js +74 -0
  5. package/.medusa/server/src/api/admin/collections/[id]/route.d.ts +7 -0
  6. package/.medusa/server/src/api/admin/collections/[id]/route.js +48 -0
  7. package/.medusa/server/src/api/admin/collections/middlewares.d.ts +2 -0
  8. package/.medusa/server/src/api/admin/collections/middlewares.js +49 -0
  9. package/.medusa/server/src/api/admin/collections/query-config.d.ts +12 -0
  10. package/.medusa/server/src/api/admin/collections/query-config.js +29 -0
  11. package/.medusa/server/src/api/admin/collections/route.d.ts +6 -0
  12. package/.medusa/server/src/api/admin/collections/route.js +36 -0
  13. package/.medusa/server/src/api/admin/collections/validators.d.ts +262 -0
  14. package/.medusa/server/src/api/admin/collections/validators.js +42 -0
  15. package/.medusa/server/src/api/admin/commission-rates/query-config.js +6 -4
  16. package/.medusa/server/src/api/admin/commission-rates/route.js +4 -1
  17. package/.medusa/server/src/api/admin/commission-rates/validators.d.ts +89 -58
  18. package/.medusa/server/src/api/admin/commission-rates/validators.js +16 -9
  19. package/.medusa/server/src/api/admin/customer-groups/middlewares.d.ts +2 -0
  20. package/.medusa/server/src/api/admin/customer-groups/middlewares.js +43 -0
  21. package/.medusa/server/src/api/admin/customer-groups/validators.d.ts +257 -0
  22. package/.medusa/server/src/api/admin/customer-groups/validators.js +12 -0
  23. package/.medusa/server/src/api/admin/exchanges/[id]/outbound/items/route.d.ts +14 -0
  24. package/.medusa/server/src/api/admin/exchanges/[id]/outbound/items/route.js +60 -0
  25. package/.medusa/server/src/api/admin/exchanges/[id]/request/route.d.ts +4 -0
  26. package/.medusa/server/src/api/admin/exchanges/[id]/request/route.js +75 -0
  27. package/.medusa/server/src/api/admin/members/validators.d.ts +14 -15
  28. package/.medusa/server/src/api/admin/middlewares.js +31 -36
  29. package/.medusa/server/src/api/admin/offers/middlewares.js +3 -1
  30. package/.medusa/server/src/api/admin/offers/query-config.js +3 -1
  31. package/.medusa/server/src/api/admin/offers/validators.d.ts +74 -55
  32. package/.medusa/server/src/api/admin/offers/validators.js +8 -1
  33. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.d.ts +3 -0
  34. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.js +18 -0
  35. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.d.ts +15 -0
  36. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.js +46 -0
  37. package/.medusa/server/src/api/admin/order-groups/helpers.d.ts +2 -0
  38. package/.medusa/server/src/api/admin/order-groups/helpers.js +53 -0
  39. package/.medusa/server/src/api/admin/order-groups/middlewares.js +3 -1
  40. package/.medusa/server/src/api/admin/order-groups/route.js +4 -2
  41. package/.medusa/server/src/api/admin/order-groups/validators.d.ts +20 -21
  42. package/.medusa/server/src/api/admin/orders/[id]/commission-lines/route.d.ts +7 -0
  43. package/.medusa/server/src/api/admin/orders/[id]/commission-lines/route.js +17 -0
  44. package/.medusa/server/src/api/admin/orders/middlewares.d.ts +2 -0
  45. package/.medusa/server/src/api/admin/orders/middlewares.js +42 -0
  46. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.d.ts +2 -0
  47. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.js +15 -0
  48. package/.medusa/server/src/api/admin/orders/validators.d.ts +1 -287
  49. package/.medusa/server/src/api/admin/orders/validators.js +9 -29
  50. package/.medusa/server/src/api/admin/payouts/validators.d.ts +18 -19
  51. package/.medusa/server/src/api/admin/product-attributes/[id]/route.js +2 -2
  52. package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.js +2 -2
  53. package/.medusa/server/src/api/admin/product-attributes/middlewares.js +1 -3
  54. package/.medusa/server/src/api/admin/product-attributes/query-config.js +4 -1
  55. package/.medusa/server/src/api/admin/product-attributes/route.d.ts +2 -2
  56. package/.medusa/server/src/api/admin/product-attributes/route.js +2 -5
  57. package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +129 -140
  58. package/.medusa/server/src/api/admin/product-attributes/validators.js +1 -3
  59. package/.medusa/server/src/api/admin/product-categories/[id]/route.js +8 -11
  60. package/.medusa/server/src/api/admin/product-categories/query-config.js +7 -1
  61. package/.medusa/server/src/api/admin/product-categories/route.js +5 -8
  62. package/.medusa/server/src/api/admin/product-categories/validators.d.ts +153 -93
  63. package/.medusa/server/src/api/admin/product-categories/validators.js +11 -1
  64. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.d.ts +0 -7
  65. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +1 -8
  66. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.d.ts +0 -7
  67. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +1 -8
  68. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +6 -9
  69. package/.medusa/server/src/api/admin/products/[id]/confirm/route.d.ts +0 -12
  70. package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +1 -13
  71. package/.medusa/server/src/api/admin/products/[id]/preview/route.d.ts +0 -7
  72. package/.medusa/server/src/api/admin/products/[id]/preview/route.js +1 -8
  73. package/.medusa/server/src/api/admin/products/[id]/reject/route.d.ts +0 -8
  74. package/.medusa/server/src/api/admin/products/[id]/reject/route.js +1 -9
  75. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.d.ts +0 -9
  76. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +1 -10
  77. package/.medusa/server/src/api/admin/products/[id]/route.js +9 -3
  78. package/.medusa/server/src/api/admin/products/[id]/sellers/route.d.ts +3 -0
  79. package/.medusa/server/src/api/admin/products/[id]/sellers/route.js +13 -0
  80. package/.medusa/server/src/api/admin/products/middlewares.js +6 -42
  81. package/.medusa/server/src/api/admin/products/query-config.js +41 -16
  82. package/.medusa/server/src/api/admin/products/route.js +9 -1
  83. package/.medusa/server/src/api/admin/products/validators.d.ts +558 -1306
  84. package/.medusa/server/src/api/admin/products/validators.js +59 -87
  85. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.d.ts +3 -0
  86. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.js +29 -0
  87. package/.medusa/server/src/api/admin/sellers/middlewares.js +1 -20
  88. package/.medusa/server/src/api/admin/sellers/validators.d.ts +75 -96
  89. package/.medusa/server/src/api/admin/sellers/validators.js +3 -4
  90. package/.medusa/server/src/api/admin/shipping-options/middlewares.d.ts +2 -0
  91. package/.medusa/server/src/api/admin/shipping-options/middlewares.js +46 -0
  92. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.d.ts +2 -0
  93. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.js +46 -0
  94. package/.medusa/server/src/api/admin/stock-locations/middlewares.d.ts +2 -0
  95. package/.medusa/server/src/api/admin/stock-locations/middlewares.js +46 -0
  96. package/.medusa/server/src/api/store/carts/[id]/complete/route.js +1 -5
  97. package/.medusa/server/src/api/store/carts/[id]/complete/validators.d.ts +1 -1
  98. package/.medusa/server/src/api/store/carts/[id]/line-items/route.js +13 -1
  99. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.d.ts +0 -3
  100. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.js +1 -2
  101. package/.medusa/server/src/api/store/carts/[id]/shipping-methods/route.js +6 -2
  102. package/.medusa/server/src/api/store/middlewares.js +15 -11
  103. package/.medusa/server/src/api/store/offers/[id]/route.d.ts +3 -0
  104. package/.medusa/server/src/api/store/offers/[id]/route.js +28 -0
  105. package/.medusa/server/src/api/store/offers/helpers.d.ts +43 -0
  106. package/.medusa/server/src/api/store/offers/helpers.js +191 -0
  107. package/.medusa/server/src/api/store/offers/middlewares.d.ts +2 -0
  108. package/.medusa/server/src/api/store/offers/middlewares.js +64 -0
  109. package/.medusa/server/src/api/store/offers/query-config.d.ts +12 -0
  110. package/.medusa/server/src/api/store/offers/query-config.js +50 -0
  111. package/.medusa/server/src/api/store/offers/route.d.ts +3 -0
  112. package/.medusa/server/src/api/store/offers/route.js +30 -0
  113. package/.medusa/server/src/api/store/offers/validators.d.ts +158 -0
  114. package/.medusa/server/src/api/store/offers/validators.js +29 -0
  115. package/.medusa/server/src/api/store/order-groups/validators.d.ts +16 -17
  116. package/.medusa/server/src/api/store/product-attributes/validators.d.ts +50 -46
  117. package/.medusa/server/src/api/store/product-categories/validators.d.ts +59 -53
  118. package/.medusa/server/src/api/store/products/[id]/route.js +9 -5
  119. package/.medusa/server/src/api/store/products/helpers.d.ts +10 -0
  120. package/.medusa/server/src/api/store/products/helpers.js +20 -0
  121. package/.medusa/server/src/api/store/products/middlewares.js +37 -24
  122. package/.medusa/server/src/api/store/products/query-config.js +23 -7
  123. package/.medusa/server/src/api/store/products/route.js +9 -1
  124. package/.medusa/server/src/api/store/products/validators.d.ts +69 -65
  125. package/.medusa/server/src/api/store/search/middlewares.d.ts +2 -0
  126. package/.medusa/server/src/api/store/search/middlewares.js +73 -0
  127. package/.medusa/server/src/api/store/search/route.d.ts +8 -0
  128. package/.medusa/server/src/api/store/search/route.js +25 -0
  129. package/.medusa/server/src/api/store/search/validators.d.ts +27 -0
  130. package/.medusa/server/src/api/store/search/validators.js +17 -0
  131. package/.medusa/server/src/api/store/sellers/validators.d.ts +35 -34
  132. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.d.ts +0 -15
  133. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.js +22 -26
  134. package/.medusa/server/src/api/utils/format-product-attributes.d.ts +5 -50
  135. package/.medusa/server/src/api/utils/format-product-attributes.js +90 -164
  136. package/.medusa/server/src/api/utils/index.d.ts +2 -0
  137. package/.medusa/server/src/api/utils/index.js +3 -1
  138. package/.medusa/server/src/api/utils/offers.d.ts +50 -0
  139. package/.medusa/server/src/api/utils/offers.js +286 -0
  140. package/.medusa/server/src/api/utils/order-commission-lines.d.ts +11 -0
  141. package/.medusa/server/src/api/utils/order-commission-lines.js +71 -0
  142. package/.medusa/server/src/api/utils/product-attribute-fields.d.ts +5 -0
  143. package/.medusa/server/src/api/utils/product-attribute-fields.js +35 -0
  144. package/.medusa/server/src/api/utils/sellers.d.ts +2 -0
  145. package/.medusa/server/src/api/utils/sellers.js +23 -0
  146. package/.medusa/server/src/api/vendor/campaigns/validators.d.ts +14 -15
  147. package/.medusa/server/src/api/vendor/claims/[id]/cancel/route.d.ts +4 -0
  148. package/.medusa/server/src/api/vendor/claims/[id]/cancel/route.js +17 -0
  149. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/[action_id]/route.d.ts +9 -0
  150. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/[action_id]/route.js +32 -0
  151. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/route.d.ts +6 -0
  152. package/.medusa/server/src/api/vendor/claims/[id]/claim-items/route.js +15 -0
  153. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/[action_id]/route.d.ts +9 -0
  154. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/[action_id]/route.js +46 -0
  155. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/route.d.ts +6 -0
  156. package/.medusa/server/src/api/vendor/claims/[id]/inbound/items/route.js +26 -0
  157. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/[action_id]/route.d.ts +9 -0
  158. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/[action_id]/route.js +39 -0
  159. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/route.d.ts +6 -0
  160. package/.medusa/server/src/api/vendor/claims/[id]/inbound/shipping-method/route.js +26 -0
  161. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/[action_id]/route.d.ts +9 -0
  162. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/[action_id]/route.js +32 -0
  163. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.d.ts +6 -0
  164. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.js +41 -0
  165. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/[action_id]/route.d.ts +9 -0
  166. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/[action_id]/route.js +32 -0
  167. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/route.d.ts +6 -0
  168. package/.medusa/server/src/api/vendor/claims/[id]/outbound/shipping-method/route.js +15 -0
  169. package/.medusa/server/src/api/vendor/claims/[id]/request/route.d.ts +6 -0
  170. package/.medusa/server/src/api/vendor/claims/[id]/request/route.js +31 -0
  171. package/.medusa/server/src/api/vendor/claims/[id]/route.d.ts +3 -0
  172. package/.medusa/server/src/api/vendor/claims/[id]/route.js +19 -0
  173. package/.medusa/server/src/api/vendor/claims/helpers.d.ts +2 -0
  174. package/.medusa/server/src/api/vendor/claims/helpers.js +19 -0
  175. package/.medusa/server/src/api/vendor/claims/middlewares.d.ts +2 -0
  176. package/.medusa/server/src/api/vendor/claims/middlewares.js +184 -0
  177. package/.medusa/server/src/api/vendor/claims/query-config.d.ts +12 -0
  178. package/.medusa/server/src/api/vendor/claims/query-config.js +31 -0
  179. package/.medusa/server/src/api/vendor/claims/route.d.ts +5 -0
  180. package/.medusa/server/src/api/vendor/claims/route.js +35 -0
  181. package/.medusa/server/src/api/vendor/claims/validators.d.ts +377 -0
  182. package/.medusa/server/src/api/vendor/claims/validators.js +89 -0
  183. package/.medusa/server/src/api/vendor/collections/query-config.js +7 -1
  184. package/.medusa/server/src/api/vendor/collections/validators.d.ts +22 -23
  185. package/.medusa/server/src/api/vendor/currencies/validators.d.ts +14 -15
  186. package/.medusa/server/src/api/vendor/customer-groups/[id]/customers/route.d.ts +4 -0
  187. package/.medusa/server/src/api/vendor/customer-groups/[id]/customers/route.js +20 -0
  188. package/.medusa/server/src/api/vendor/customer-groups/[id]/route.d.ts +6 -0
  189. package/.medusa/server/src/api/vendor/customer-groups/[id]/route.js +43 -0
  190. package/.medusa/server/src/api/vendor/customer-groups/helpers.d.ts +3 -0
  191. package/.medusa/server/src/api/vendor/customer-groups/helpers.js +38 -0
  192. package/.medusa/server/src/api/vendor/customer-groups/middlewares.d.ts +2 -0
  193. package/.medusa/server/src/api/vendor/customer-groups/middlewares.js +62 -0
  194. package/.medusa/server/src/api/vendor/customer-groups/query-config.d.ts +11 -0
  195. package/.medusa/server/src/api/vendor/customer-groups/query-config.js +22 -0
  196. package/.medusa/server/src/api/vendor/customer-groups/route.d.ts +5 -0
  197. package/.medusa/server/src/api/vendor/customer-groups/route.js +35 -0
  198. package/.medusa/server/src/api/vendor/customer-groups/validators.d.ts +156 -0
  199. package/.medusa/server/src/api/vendor/customer-groups/validators.js +35 -0
  200. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.d.ts +4 -0
  201. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.js +27 -0
  202. package/.medusa/server/src/api/vendor/customers/[id]/route.js +13 -1
  203. package/.medusa/server/src/api/vendor/customers/middlewares.js +9 -1
  204. package/.medusa/server/src/api/vendor/customers/validators.d.ts +47 -32
  205. package/.medusa/server/src/api/vendor/customers/validators.js +9 -2
  206. package/.medusa/server/src/api/vendor/exchanges/[id]/cancel/route.d.ts +4 -0
  207. package/.medusa/server/src/api/vendor/exchanges/[id]/cancel/route.js +17 -0
  208. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/[action_id]/route.d.ts +9 -0
  209. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/[action_id]/route.js +46 -0
  210. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/route.d.ts +6 -0
  211. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/items/route.js +26 -0
  212. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/[action_id]/route.d.ts +9 -0
  213. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/[action_id]/route.js +45 -0
  214. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/route.d.ts +6 -0
  215. package/.medusa/server/src/api/vendor/exchanges/[id]/inbound/shipping-method/route.js +26 -0
  216. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/[action_id]/route.d.ts +9 -0
  217. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/[action_id]/route.js +32 -0
  218. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.d.ts +6 -0
  219. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.js +41 -0
  220. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/[action_id]/route.d.ts +9 -0
  221. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/[action_id]/route.js +32 -0
  222. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/route.d.ts +6 -0
  223. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/shipping-method/route.js +15 -0
  224. package/.medusa/server/src/api/vendor/exchanges/[id]/request/route.d.ts +6 -0
  225. package/.medusa/server/src/api/vendor/exchanges/[id]/request/route.js +31 -0
  226. package/.medusa/server/src/api/vendor/exchanges/helpers.d.ts +2 -0
  227. package/.medusa/server/src/api/vendor/exchanges/helpers.js +19 -0
  228. package/.medusa/server/src/api/vendor/exchanges/middlewares.d.ts +2 -0
  229. package/.medusa/server/src/api/vendor/exchanges/middlewares.js +155 -0
  230. package/.medusa/server/src/api/vendor/exchanges/query-config.d.ts +7 -0
  231. package/.medusa/server/src/api/vendor/exchanges/query-config.js +23 -0
  232. package/.medusa/server/src/api/vendor/exchanges/route.d.ts +5 -0
  233. package/.medusa/server/src/api/vendor/exchanges/route.js +35 -0
  234. package/.medusa/server/src/api/vendor/exchanges/validators.d.ts +312 -0
  235. package/.medusa/server/src/api/vendor/exchanges/validators.js +71 -0
  236. package/.medusa/server/src/api/vendor/fulfillment-providers/validators.d.ts +24 -23
  237. package/.medusa/server/src/api/vendor/fulfillment-sets/validators.d.ts +18 -18
  238. package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +104 -110
  239. package/.medusa/server/src/api/vendor/middlewares.js +77 -67
  240. package/.medusa/server/src/api/vendor/offers/query-config.js +2 -1
  241. package/.medusa/server/src/api/vendor/offers/validators.d.ts +54 -59
  242. package/.medusa/server/src/api/vendor/offers/validators.js +4 -8
  243. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.d.ts +3 -0
  244. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.js +18 -0
  245. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.d.ts +5 -0
  246. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.js +32 -0
  247. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.d.ts +4 -0
  248. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.js +24 -0
  249. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.d.ts +4 -0
  250. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.js +33 -0
  251. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.d.ts +3 -0
  252. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.js +18 -0
  253. package/.medusa/server/src/api/vendor/order-edits/[id]/route.d.ts +3 -0
  254. package/.medusa/server/src/api/vendor/order-edits/[id]/route.js +19 -0
  255. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.d.ts +5 -0
  256. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.js +32 -0
  257. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.d.ts +4 -0
  258. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.js +15 -0
  259. package/.medusa/server/src/api/vendor/order-edits/middlewares.d.ts +2 -0
  260. package/.medusa/server/src/api/vendor/order-edits/middlewares.js +94 -0
  261. package/.medusa/server/src/api/vendor/order-edits/route.d.ts +4 -0
  262. package/.medusa/server/src/api/vendor/order-edits/route.js +15 -0
  263. package/.medusa/server/src/api/vendor/order-edits/validators.d.ts +160 -0
  264. package/.medusa/server/src/api/vendor/order-edits/validators.js +50 -0
  265. package/.medusa/server/src/api/vendor/orders/[id]/commission-lines/route.d.ts +7 -0
  266. package/.medusa/server/src/api/vendor/orders/[id]/commission-lines/route.js +18 -0
  267. package/.medusa/server/src/api/vendor/orders/query-config.js +34 -11
  268. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.d.ts +23 -0
  269. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.js +75 -0
  270. package/.medusa/server/src/api/vendor/orders/validators.d.ts +23 -24
  271. package/.medusa/server/src/api/vendor/payments/helpers.js +14 -8
  272. package/.medusa/server/src/api/vendor/payments/validators.d.ts +38 -38
  273. package/.medusa/server/src/api/vendor/payout-accounts/validators.d.ts +11 -12
  274. package/.medusa/server/src/api/vendor/payouts/validators.d.ts +18 -19
  275. package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +38 -40
  276. package/.medusa/server/src/api/vendor/price-preferences/validators.d.ts +14 -15
  277. package/.medusa/server/src/api/vendor/product-attributes/query-config.js +4 -2
  278. package/.medusa/server/src/api/vendor/product-attributes/route.js +1 -3
  279. package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +92 -104
  280. package/.medusa/server/src/api/vendor/product-attributes/validators.js +1 -1
  281. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.js +2 -2
  282. package/.medusa/server/src/api/vendor/product-categories/query-config.js +7 -1
  283. package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +89 -83
  284. package/.medusa/server/src/api/vendor/product-tags/validators.d.ts +2 -2
  285. package/.medusa/server/src/api/vendor/product-types/validators.d.ts +14 -15
  286. package/.medusa/server/src/api/vendor/product-variants/middlewares.js +11 -19
  287. package/.medusa/server/src/api/vendor/product-variants/query-config.js +1 -3
  288. package/.medusa/server/src/api/vendor/product-variants/validators.d.ts +103 -97
  289. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.d.ts +2 -9
  290. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.js +3 -27
  291. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +0 -6
  292. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +1 -9
  293. package/.medusa/server/src/api/vendor/products/[id]/preview/route.d.ts +0 -9
  294. package/.medusa/server/src/api/vendor/products/[id]/preview/route.js +1 -10
  295. package/.medusa/server/src/api/vendor/products/[id]/route.d.ts +0 -14
  296. package/.medusa/server/src/api/vendor/products/[id]/route.js +10 -20
  297. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.d.ts +0 -8
  298. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +3 -14
  299. package/.medusa/server/src/api/vendor/products/[id]/variants/route.d.ts +0 -7
  300. package/.medusa/server/src/api/vendor/products/[id]/variants/route.js +2 -11
  301. package/.medusa/server/src/api/vendor/products/helpers.d.ts +6 -5
  302. package/.medusa/server/src/api/vendor/products/helpers.js +54 -10
  303. package/.medusa/server/src/api/vendor/products/middlewares.js +14 -55
  304. package/.medusa/server/src/api/vendor/products/query-config.js +52 -15
  305. package/.medusa/server/src/api/vendor/products/route.d.ts +0 -9
  306. package/.medusa/server/src/api/vendor/products/route.js +14 -17
  307. package/.medusa/server/src/api/vendor/products/validators.d.ts +436 -816
  308. package/.medusa/server/src/api/vendor/products/validators.js +65 -97
  309. package/.medusa/server/src/api/vendor/promotions/validators.d.ts +47 -49
  310. package/.medusa/server/src/api/vendor/refund-reasons/validators.d.ts +18 -19
  311. package/.medusa/server/src/api/vendor/regions/validators.d.ts +20 -21
  312. package/.medusa/server/src/api/vendor/reservations/[id]/route.d.ts +5 -0
  313. package/.medusa/server/src/api/vendor/reservations/[id]/route.js +39 -0
  314. package/.medusa/server/src/api/vendor/reservations/helpers.d.ts +2 -0
  315. package/.medusa/server/src/api/vendor/reservations/helpers.js +18 -0
  316. package/.medusa/server/src/api/vendor/reservations/middlewares.d.ts +2 -0
  317. package/.medusa/server/src/api/vendor/reservations/middlewares.js +44 -0
  318. package/.medusa/server/src/api/vendor/reservations/query-config.d.ts +19 -0
  319. package/.medusa/server/src/api/vendor/reservations/query-config.js +45 -0
  320. package/.medusa/server/src/api/vendor/reservations/route.d.ts +4 -0
  321. package/.medusa/server/src/api/vendor/reservations/route.js +35 -0
  322. package/.medusa/server/src/api/vendor/reservations/validators.d.ts +295 -0
  323. package/.medusa/server/src/api/vendor/reservations/validators.js +40 -0
  324. package/.medusa/server/src/api/vendor/return-reasons/validators.d.ts +18 -19
  325. package/.medusa/server/src/api/vendor/returns/validators.d.ts +25 -26
  326. package/.medusa/server/src/api/vendor/sales-channels/[id]/products/route.js +2 -1
  327. package/.medusa/server/src/api/vendor/sales-channels/helpers.d.ts +1 -0
  328. package/.medusa/server/src/api/vendor/sales-channels/helpers.js +25 -2
  329. package/.medusa/server/src/api/vendor/sales-channels/validators.d.ts +25 -24
  330. package/.medusa/server/src/api/vendor/sellers/middlewares.js +1 -18
  331. package/.medusa/server/src/api/vendor/sellers/route.js +6 -2
  332. package/.medusa/server/src/api/vendor/sellers/validators.d.ts +25 -46
  333. package/.medusa/server/src/api/vendor/sellers/validators.js +2 -2
  334. package/.medusa/server/src/api/vendor/shipping-option-types/validators.d.ts +18 -19
  335. package/.medusa/server/src/api/vendor/shipping-options/middlewares.js +13 -1
  336. package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +100 -98
  337. package/.medusa/server/src/api/vendor/shipping-options/validators.js +2 -1
  338. package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +20 -21
  339. package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +18 -19
  340. package/.medusa/server/src/api/vendor/stores/validators.d.ts +14 -15
  341. package/.medusa/server/src/links/cart-line-item-offer-link.js +9 -2
  342. package/.medusa/server/src/links/media-product-category-link.d.ts +20 -0
  343. package/.medusa/server/src/links/media-product-category-link.js +34 -0
  344. package/.medusa/server/src/links/media-product-collection-link.d.ts +18 -0
  345. package/.medusa/server/src/links/media-product-collection-link.js +32 -0
  346. package/.medusa/server/src/links/offer-product-link.js +15 -0
  347. package/.medusa/server/src/links/order-line-item-offer-link.js +10 -2
  348. package/.medusa/server/src/links/product-attribute-category-link.d.ts +0 -14
  349. package/.medusa/server/src/links/product-attribute-category-link.js +4 -21
  350. package/.medusa/server/src/links/product-attribute-option-mirror-link.d.ts +6 -0
  351. package/.medusa/server/src/links/product-attribute-option-mirror-link.js +24 -0
  352. package/.medusa/server/src/links/product-attribute-product-link.d.ts +0 -5
  353. package/.medusa/server/src/links/product-attribute-product-link.js +2 -7
  354. package/.medusa/server/src/links/product-attribute-value-option-value-mirror-link.d.ts +6 -0
  355. package/.medusa/server/src/links/product-attribute-value-option-value-mirror-link.js +24 -0
  356. package/.medusa/server/src/links/{product-variant-attribute-value-link.d.ts → product-attribute-value-pivot-link.d.ts} +3 -0
  357. package/.medusa/server/src/links/product-attribute-value-pivot-link.js +23 -0
  358. package/.medusa/server/src/links/seller-customer-group-link.js +15 -0
  359. package/.medusa/server/src/migration-scripts/drop-fulfillment-global-unique-indexes.js +6 -1
  360. package/.medusa/server/src/migration-scripts/rename-default-store.d.ts +2 -0
  361. package/.medusa/server/src/migration-scripts/rename-default-store.js +12 -0
  362. package/.medusa/server/src/modules/commission/index.d.ts +14 -0
  363. package/.medusa/server/src/modules/commission/index.js +3 -1
  364. package/.medusa/server/src/modules/commission/loaders/seed-default-commission-rate.d.ts +11 -0
  365. package/.medusa/server/src/modules/commission/loaders/seed-default-commission-rate.js +35 -0
  366. package/.medusa/server/src/modules/commission/migrations/Migration20260615120000.d.ts +5 -0
  367. package/.medusa/server/src/modules/commission/migrations/Migration20260615120000.js +46 -0
  368. package/.medusa/server/src/modules/commission/models/commission-line.d.ts +2 -1
  369. package/.medusa/server/src/modules/commission/models/commission-line.js +3 -2
  370. package/.medusa/server/src/modules/commission/models/commission-rate-value.d.ts +25 -0
  371. package/.medusa/server/src/modules/commission/models/commission-rate-value.js +17 -0
  372. package/.medusa/server/src/modules/commission/models/commission-rate.d.ts +9 -4
  373. package/.medusa/server/src/modules/commission/models/commission-rate.js +9 -6
  374. package/.medusa/server/src/modules/commission/models/commission-rule.d.ts +8 -3
  375. package/.medusa/server/src/modules/commission/models/index.d.ts +1 -0
  376. package/.medusa/server/src/modules/commission/models/index.js +4 -2
  377. package/.medusa/server/src/modules/commission/service.d.ts +170 -10
  378. package/.medusa/server/src/modules/commission/service.js +270 -114
  379. package/.medusa/server/src/modules/media/index.d.ts +21 -0
  380. package/.medusa/server/src/modules/media/index.js +12 -0
  381. package/.medusa/server/src/modules/media/migrations/Migration20260616000000.d.ts +5 -0
  382. package/.medusa/server/src/modules/media/migrations/Migration20260616000000.js +16 -0
  383. package/.medusa/server/src/modules/media/models/index.d.ts +1 -0
  384. package/.medusa/server/src/modules/media/models/index.js +9 -0
  385. package/.medusa/server/src/modules/media/models/media-image.d.ts +32 -0
  386. package/.medusa/server/src/modules/media/models/media-image.js +41 -0
  387. package/.medusa/server/src/modules/media/service.d.ts +17 -0
  388. package/.medusa/server/src/modules/media/service.js +10 -0
  389. package/.medusa/server/src/modules/offer/migrations/Migration20260622000000.d.ts +5 -0
  390. package/.medusa/server/src/modules/offer/migrations/Migration20260622000000.js +16 -0
  391. package/.medusa/server/src/modules/offer/models/offer.d.ts +2 -0
  392. package/.medusa/server/src/modules/offer/models/offer.js +8 -1
  393. package/.medusa/server/src/modules/offer/service.d.ts +10 -0
  394. package/.medusa/server/src/modules/offer/service.js +100 -1
  395. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000002.d.ts +14 -0
  396. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000002.js +31 -0
  397. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.d.ts +2 -0
  398. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.js +2 -1
  399. package/.medusa/server/src/modules/product-attribute/models/product-attribute.d.ts +2 -0
  400. package/.medusa/server/src/modules/product-attribute/models/product-attribute.js +2 -1
  401. package/.medusa/server/src/modules/product-attribute/service.d.ts +18 -3
  402. package/.medusa/server/src/modules/product-attribute/service.js +213 -1
  403. package/.medusa/server/src/modules/search/abstract-search-provider.d.ts +9 -0
  404. package/.medusa/server/src/modules/search/abstract-search-provider.js +20 -0
  405. package/.medusa/server/src/modules/search/index.d.ts +10 -0
  406. package/.medusa/server/src/modules/search/index.js +31 -0
  407. package/.medusa/server/src/modules/search/lib/build-docs.d.ts +84 -0
  408. package/.medusa/server/src/modules/search/lib/build-docs.js +207 -0
  409. package/.medusa/server/src/modules/search/lib/reindex.d.ts +7 -0
  410. package/.medusa/server/src/modules/search/lib/reindex.js +61 -0
  411. package/.medusa/server/src/modules/search/lib/sync.d.ts +9 -0
  412. package/.medusa/server/src/modules/search/lib/sync.js +73 -0
  413. package/.medusa/server/src/modules/search/loaders/providers.d.ts +5 -0
  414. package/.medusa/server/src/modules/search/loaders/providers.js +26 -0
  415. package/.medusa/server/src/modules/search/providers/index.d.ts +1 -0
  416. package/.medusa/server/src/modules/search/providers/index.js +6 -0
  417. package/.medusa/server/src/modules/search/providers/orama/index.d.ts +4 -0
  418. package/.medusa/server/src/modules/search/providers/orama/index.js +12 -0
  419. package/.medusa/server/src/modules/search/providers/orama/service.d.ts +19 -0
  420. package/.medusa/server/src/modules/search/providers/orama/service.js +148 -0
  421. package/.medusa/server/src/modules/search/providers/orama/types.d.ts +10 -0
  422. package/.medusa/server/src/modules/search/providers/orama/types.js +3 -0
  423. package/.medusa/server/src/modules/search/services/index.d.ts +2 -0
  424. package/.medusa/server/src/modules/search/services/index.js +24 -0
  425. package/.medusa/server/src/modules/search/services/search-module-service.d.ts +25 -0
  426. package/.medusa/server/src/modules/search/services/search-module-service.js +60 -0
  427. package/.medusa/server/src/modules/search/services/search-provider-service.d.ts +15 -0
  428. package/.medusa/server/src/modules/search/services/search-provider-service.js +30 -0
  429. package/.medusa/server/src/modules/seller/migrations/Migration20260616120000.d.ts +5 -0
  430. package/.medusa/server/src/modules/seller/migrations/Migration20260616120000.js +16 -0
  431. package/.medusa/server/src/modules/seller/models/address.d.ts +2 -2
  432. package/.medusa/server/src/modules/seller/models/member-invite.d.ts +2 -2
  433. package/.medusa/server/src/modules/seller/models/member.d.ts +2 -2
  434. package/.medusa/server/src/modules/seller/models/payment-details.d.ts +2 -2
  435. package/.medusa/server/src/modules/seller/models/payment-details.js +3 -3
  436. package/.medusa/server/src/modules/seller/models/professional-details.d.ts +2 -2
  437. package/.medusa/server/src/modules/seller/models/seller-member.d.ts +4 -4
  438. package/.medusa/server/src/modules/seller/models/seller.d.ts +2 -2
  439. package/.medusa/server/src/modules/seller/repositories/order-group.js +1 -11
  440. package/.medusa/server/src/modules/seller/service.d.ts +16 -16
  441. package/.medusa/server/src/modules/seller/service.js +1 -2
  442. package/.medusa/server/src/subscribers/link-order-line-items-to-offers.d.ts +6 -0
  443. package/.medusa/server/src/subscribers/link-order-line-items-to-offers.js +94 -0
  444. package/.medusa/server/src/subscribers/order-edit-confirmed.d.ts +12 -0
  445. package/.medusa/server/src/subscribers/order-edit-confirmed.js +34 -0
  446. package/.medusa/server/src/subscribers/search-offer-changed.d.ts +6 -0
  447. package/.medusa/server/src/subscribers/search-offer-changed.js +34 -0
  448. package/.medusa/server/src/subscribers/search-product-changed.d.ts +5 -0
  449. package/.medusa/server/src/subscribers/search-product-changed.js +29 -0
  450. package/.medusa/server/src/subscribers/search-product-deleted.d.ts +5 -0
  451. package/.medusa/server/src/subscribers/search-product-deleted.js +23 -0
  452. package/.medusa/server/src/subscribers/search-reindex.d.ts +3 -0
  453. package/.medusa/server/src/subscribers/search-reindex.js +23 -0
  454. package/.medusa/server/src/subscribers/search-seller-changed.d.ts +5 -0
  455. package/.medusa/server/src/subscribers/search-seller-changed.js +44 -0
  456. package/.medusa/server/src/utils/dashboard/dashboard-base.js +6 -2
  457. package/.medusa/server/src/utils/disable-medusa-middlewares.js +7 -1
  458. package/.medusa/server/src/workflows/cart/hooks/validate.js +1 -12
  459. package/.medusa/server/src/workflows/cart/steps/prepare-adjustments-from-promotion-actions.js +3 -5
  460. package/.medusa/server/src/workflows/cart/utils/fields.js +25 -9
  461. package/.medusa/server/src/workflows/cart/utils/prepare-line-item-data.js +1 -3
  462. package/.medusa/server/src/workflows/cart/workflows/add-seller-shipping-method-to-cart.js +1 -2
  463. package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +19 -16
  464. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.d.ts +2 -2
  465. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.js +1 -2
  466. package/.medusa/server/src/workflows/commission/steps/create-commission-rates.d.ts +1 -28
  467. package/.medusa/server/src/workflows/commission/steps/create-commission-rules.d.ts +13 -4
  468. package/.medusa/server/src/workflows/commission/steps/index.d.ts +1 -0
  469. package/.medusa/server/src/workflows/commission/steps/index.js +2 -1
  470. package/.medusa/server/src/workflows/commission/steps/update-commission-rates.d.ts +13 -4
  471. package/.medusa/server/src/workflows/commission/steps/update-commission-rules.d.ts +13 -4
  472. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.d.ts +2 -2
  473. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.js +1 -1
  474. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.d.ts +2 -0
  475. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.js +19 -0
  476. package/.medusa/server/src/workflows/commission/workflows/create-commission-rates.d.ts +1 -28
  477. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rates.d.ts +1 -2
  478. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rates.js +3 -1
  479. package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.js +2 -1
  480. package/.medusa/server/src/workflows/commission/workflows/update-commission-rates.d.ts +13 -4
  481. package/.medusa/server/src/workflows/customer-group/index.d.ts +2 -0
  482. package/.medusa/server/src/workflows/customer-group/index.js +19 -0
  483. package/.medusa/server/src/workflows/customer-group/steps/index.d.ts +1 -0
  484. package/.medusa/server/src/workflows/customer-group/steps/index.js +18 -0
  485. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.d.ts +6 -0
  486. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.js +38 -0
  487. package/.medusa/server/src/workflows/customer-group/workflows/create-seller-customer-groups.d.ts +7 -0
  488. package/.medusa/server/src/workflows/customer-group/workflows/create-seller-customer-groups.js +20 -0
  489. package/.medusa/server/src/workflows/customer-group/workflows/index.d.ts +1 -0
  490. package/.medusa/server/src/workflows/customer-group/workflows/index.js +18 -0
  491. package/.medusa/server/src/workflows/index.d.ts +2 -0
  492. package/.medusa/server/src/workflows/index.js +3 -1
  493. package/.medusa/server/src/workflows/media/index.d.ts +2 -0
  494. package/.medusa/server/src/workflows/media/index.js +19 -0
  495. package/.medusa/server/src/workflows/media/steps/create-images.d.ts +20 -0
  496. package/.medusa/server/src/workflows/media/steps/create-images.js +21 -0
  497. package/.medusa/server/src/workflows/media/steps/delete-images.d.ts +3 -0
  498. package/.medusa/server/src/workflows/media/steps/delete-images.js +21 -0
  499. package/.medusa/server/src/workflows/media/steps/index.d.ts +2 -0
  500. package/.medusa/server/src/workflows/media/steps/index.js +19 -0
  501. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.d.ts +8 -0
  502. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.js +23 -0
  503. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.d.ts +8 -0
  504. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.js +23 -0
  505. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.d.ts +5 -0
  506. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.js +21 -0
  507. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.d.ts +5 -0
  508. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.js +21 -0
  509. package/.medusa/server/src/workflows/media/workflows/index.d.ts +8 -0
  510. package/.medusa/server/src/workflows/media/workflows/index.js +25 -0
  511. package/.medusa/server/src/workflows/media/workflows/set-category-images.d.ts +13 -0
  512. package/.medusa/server/src/workflows/media/workflows/set-category-images.js +71 -0
  513. package/.medusa/server/src/workflows/media/workflows/set-collection-images.d.ts +13 -0
  514. package/.medusa/server/src/workflows/media/workflows/set-collection-images.js +71 -0
  515. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.d.ts +9 -0
  516. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.js +22 -0
  517. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.d.ts +9 -0
  518. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.js +22 -0
  519. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.d.ts +0 -12
  520. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.js +1 -16
  521. package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +2 -0
  522. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.d.ts +0 -9
  523. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.js +1 -10
  524. package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +2 -5
  525. package/.medusa/server/src/workflows/offer/steps/update-offers.js +1 -1
  526. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.d.ts +0 -11
  527. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.js +1 -12
  528. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.d.ts +0 -10
  529. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.js +1 -19
  530. package/.medusa/server/src/workflows/offer/workflows/create-offers.js +4 -16
  531. package/.medusa/server/src/workflows/offer/workflows/delete-offers.js +7 -2
  532. package/.medusa/server/src/workflows/offer/workflows/update-offers.d.ts +0 -11
  533. package/.medusa/server/src/workflows/offer/workflows/update-offers.js +2 -23
  534. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.d.ts +1 -2
  535. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.js +1 -2
  536. package/.medusa/server/src/workflows/order/workflows/confirm-claim-request.d.ts +7 -0
  537. package/.medusa/server/src/workflows/order/workflows/confirm-claim-request.js +149 -0
  538. package/.medusa/server/src/workflows/order/workflows/confirm-exchange-request.d.ts +7 -0
  539. package/.medusa/server/src/workflows/order/workflows/confirm-exchange-request.js +152 -0
  540. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.d.ts +7 -0
  541. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.js +165 -0
  542. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +1 -9
  543. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.js +2 -3
  544. package/.medusa/server/src/workflows/order/workflows/index.d.ts +3 -0
  545. package/.medusa/server/src/workflows/order/workflows/index.js +4 -1
  546. package/.medusa/server/src/workflows/order-group/utils/aggregate-status.js +1 -7
  547. package/.medusa/server/src/workflows/order-group/workflows/get-order-groups-list.d.ts +1 -0
  548. package/.medusa/server/src/workflows/order-group/workflows/get-order-groups-list.js +11 -2
  549. package/.medusa/server/src/workflows/payout/workflows/create-payout.js +34 -21
  550. package/.medusa/server/src/workflows/product/events.d.ts +0 -6
  551. package/.medusa/server/src/workflows/product/events.js +1 -7
  552. package/.medusa/server/src/workflows/product/steps/index.d.ts +0 -2
  553. package/.medusa/server/src/workflows/product/steps/index.js +1 -3
  554. package/.medusa/server/src/workflows/product/steps/validate-products-status.d.ts +0 -8
  555. package/.medusa/server/src/workflows/product/steps/validate-products-status.js +1 -9
  556. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.js +1 -3
  557. package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +0 -16
  558. package/.medusa/server/src/workflows/product/workflows/confirm-products.js +1 -13
  559. package/.medusa/server/src/workflows/product/workflows/create-products.d.ts +4 -52
  560. package/.medusa/server/src/workflows/product/workflows/create-products.js +69 -158
  561. package/.medusa/server/src/workflows/product/workflows/index.d.ts +0 -1
  562. package/.medusa/server/src/workflows/product/workflows/index.js +1 -2
  563. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.d.ts +0 -7
  564. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.js +1 -1
  565. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.d.ts +0 -7
  566. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.js +1 -1
  567. package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +0 -7
  568. package/.medusa/server/src/workflows/product/workflows/reject-product.js +1 -8
  569. package/.medusa/server/src/workflows/product/workflows/request-product-change.d.ts +0 -14
  570. package/.medusa/server/src/workflows/product/workflows/request-product-change.js +1 -15
  571. package/.medusa/server/src/workflows/product-attribute/events.d.ts +0 -9
  572. package/.medusa/server/src/workflows/product-attribute/events.js +1 -10
  573. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.d.ts +1 -31
  574. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.d.ts +1 -41
  575. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.js +1 -1
  576. package/.medusa/server/src/workflows/product-attribute/steps/detach-product-option-values-from-product.d.ts +14 -0
  577. package/.medusa/server/src/workflows/product-attribute/steps/detach-product-option-values-from-product.js +40 -0
  578. package/.medusa/server/src/workflows/product-attribute/steps/index.d.ts +3 -4
  579. package/.medusa/server/src/workflows/product-attribute/steps/index.js +4 -5
  580. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.d.ts +6 -3
  581. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.js +17 -2
  582. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attributes.d.ts +1 -31
  583. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-linked.d.ts +2 -0
  584. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-linked.js +28 -0
  585. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-required.d.ts +7 -0
  586. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-required.js +16 -0
  587. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attributes-to-product.d.ts +9 -0
  588. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attributes-to-product.js +242 -0
  589. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.d.ts +14 -0
  590. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.js +27 -0
  591. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.js +44 -3
  592. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.js +41 -17
  593. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.js +36 -15
  594. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.d.ts +0 -7
  595. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.js +11 -8
  596. package/.medusa/server/src/workflows/product-attribute/workflows/index.d.ts +4 -5
  597. package/.medusa/server/src/workflows/product-attribute/workflows/index.js +5 -6
  598. package/.medusa/server/src/workflows/product-attribute/workflows/remove-product-attributes-from-product.d.ts +10 -0
  599. package/.medusa/server/src/workflows/product-attribute/workflows/remove-product-attributes-from-product.js +83 -0
  600. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.js +34 -1
  601. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.d.ts +11 -0
  602. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.js +285 -0
  603. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.js +15 -1
  604. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.d.ts +4 -11
  605. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.js +19 -19
  606. package/.medusa/server/src/workflows/product-edit/events.d.ts +0 -7
  607. package/.medusa/server/src/workflows/product-edit/events.js +1 -8
  608. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.d.ts +16 -0
  609. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.js +35 -0
  610. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.d.ts +0 -4
  611. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.js +1 -5
  612. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.d.ts +0 -6
  613. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.js +1 -7
  614. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.d.ts +0 -5
  615. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.js +1 -6
  616. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.d.ts +0 -6
  617. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.js +1 -1
  618. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.d.ts +0 -5
  619. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.js +1 -6
  620. package/.medusa/server/src/workflows/product-edit/steps/index.d.ts +1 -0
  621. package/.medusa/server/src/workflows/product-edit/steps/index.js +2 -1
  622. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.d.ts +0 -5
  623. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.js +1 -6
  624. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +0 -6
  625. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +2 -8
  626. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.d.ts +5 -19
  627. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.js +11 -128
  628. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.d.ts +0 -31
  629. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.js +43 -50
  630. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.d.ts +1 -9
  631. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.js +3 -11
  632. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.d.ts +0 -11
  633. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.js +1 -12
  634. package/.medusa/server/src/workflows/product-edit/workflows/index.d.ts +1 -1
  635. package/.medusa/server/src/workflows/product-edit/workflows/index.js +2 -2
  636. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.d.ts +0 -7
  637. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +10 -9
  638. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.d.ts +4 -46
  639. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.js +11 -162
  640. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.d.ts +11 -0
  641. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.js +133 -0
  642. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.d.ts +0 -10
  643. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +71 -17
  644. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.d.ts +0 -24
  645. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.js +1 -15
  646. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.d.ts +1 -25
  647. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.js +2 -15
  648. package/.medusa/server/src/workflows/promotion/steps/register-usage.d.ts +0 -3
  649. package/.medusa/server/src/workflows/promotion/steps/register-usage.js +1 -4
  650. package/.medusa/server/src/workflows/seller/steps/create-seller-member.d.ts +4 -4
  651. package/.medusa/server/src/workflows/seller/steps/update-member.d.ts +2 -2
  652. package/.medusa/server/src/workflows/seller/steps/update-seller-member.d.ts +4 -4
  653. package/.medusa/server/src/workflows/seller/workflows/accept-member-invite.js +1 -2
  654. package/.medusa/server/src/workflows/seller/workflows/add-seller-member.d.ts +4 -4
  655. package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +1 -2
  656. package/.medusa/server/src/workflows/seller/workflows/update-member.d.ts +2 -2
  657. package/package.json +19 -18
  658. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.d.ts +0 -4
  659. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.js +0 -65
  660. package/.medusa/server/src/api/admin/products/[id]/attributes/route.d.ts +0 -5
  661. package/.medusa/server/src/api/admin/products/[id]/attributes/route.js +0 -63
  662. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.d.ts +0 -10
  663. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.js +0 -62
  664. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.d.ts +0 -15
  665. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.js +0 -82
  666. package/.medusa/server/src/links/line-item-commission-line-link.js +0 -21
  667. package/.medusa/server/src/links/product-attribute-value-link.d.ts +0 -22
  668. package/.medusa/server/src/links/product-attribute-value-link.js +0 -46
  669. package/.medusa/server/src/links/product-variant-attribute-link.js +0 -21
  670. package/.medusa/server/src/links/product-variant-attribute-value-link.js +0 -21
  671. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.d.ts +0 -28
  672. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.js +0 -72
  673. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.d.ts +0 -90
  674. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.js +0 -185
  675. package/.medusa/server/src/workflows/product/workflows/update-products.d.ts +0 -39
  676. package/.medusa/server/src/workflows/product/workflows/update-products.js +0 -161
  677. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.d.ts +0 -43
  678. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.js +0 -51
  679. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.d.ts +0 -7
  680. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.js +0 -59
  681. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.d.ts +0 -6
  682. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.js +0 -20
  683. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.d.ts +0 -7
  684. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.js +0 -20
  685. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.d.ts +0 -52
  686. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.js +0 -120
  687. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.d.ts +0 -23
  688. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.js +0 -252
  689. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.d.ts +0 -17
  690. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.js +0 -62
  691. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.d.ts +0 -135
  692. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.js +0 -43
  693. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.d.ts +0 -24
  694. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.js +0 -27
  695. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.d.ts +0 -25
  696. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.js +0 -148
  697. /package/.medusa/server/src/links/{line-item-commission-line-link.d.ts → offer-product-link.d.ts} +0 -0
  698. /package/.medusa/server/src/links/{product-variant-attribute-link.d.ts → seller-customer-group-link.d.ts} +0 -0
@@ -2,18 +2,17 @@ import { z } from "zod";
2
2
  export type StoreGetSellersParamsType = z.infer<typeof StoreGetSellersParams>;
3
3
  export declare const StoreGetSellersParams: z.ZodObject<{
4
4
  fields: z.ZodOptional<z.ZodString>;
5
- } & {
6
- offset: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
7
- limit: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
5
+ offset: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
6
+ limit: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
8
7
  order: z.ZodOptional<z.ZodString> | z.ZodDefault<z.ZodOptional<z.ZodString>>;
9
- with_deleted: z.ZodEffects<z.ZodOptional<z.ZodBoolean>, boolean | undefined, unknown>;
8
+ with_deleted: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
10
9
  } & {
11
10
  q: z.ZodOptional<z.ZodString>;
12
11
  id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
13
12
  name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
14
13
  handle: z.ZodOptional<z.ZodString>;
15
- is_premium: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodString]>, string | boolean, string | boolean>, boolean, string | boolean>>;
16
- created_at: z.ZodOptional<z.ZodUnion<[any, z.ZodObject<{
14
+ is_premium: any;
15
+ created_at: z.ZodOptional<z.ZodUnion<readonly [any, z.ZodObject<{
17
16
  $eq: any;
18
17
  $ne: any;
19
18
  $in: any;
@@ -26,7 +25,7 @@ export declare const StoreGetSellersParams: z.ZodObject<{
26
25
  $gte: any;
27
26
  $lt: any;
28
27
  $lte: any;
29
- }, "strip", z.ZodTypeAny, {
28
+ }, z.core.$strip, z.ZodTypeAny, {
30
29
  $eq?: any;
31
30
  $ne?: any;
32
31
  $in?: any;
@@ -53,7 +52,7 @@ export declare const StoreGetSellersParams: z.ZodObject<{
53
52
  $lt?: any;
54
53
  $lte?: any;
55
54
  }>]>>;
56
- updated_at: z.ZodOptional<z.ZodUnion<[any, z.ZodObject<{
55
+ updated_at: z.ZodOptional<z.ZodUnion<readonly [any, z.ZodObject<{
57
56
  $eq: any;
58
57
  $ne: any;
59
58
  $in: any;
@@ -66,7 +65,7 @@ export declare const StoreGetSellersParams: z.ZodObject<{
66
65
  $gte: any;
67
66
  $lt: any;
68
67
  $lte: any;
69
- }, "strip", z.ZodTypeAny, {
68
+ }, z.core.$strip, z.ZodTypeAny, {
70
69
  $eq?: any;
71
70
  $ne?: any;
72
71
  $in?: any;
@@ -94,36 +93,38 @@ export declare const StoreGetSellersParams: z.ZodObject<{
94
93
  $lte?: any;
95
94
  }>]>>;
96
95
  }, "strip", z.ZodTypeAny, {
97
- offset: number;
98
- limit: number;
99
- id?: string | string[] | undefined;
100
- created_at?: any;
101
- updated_at?: any;
102
- q?: string | undefined;
103
- fields?: string | undefined;
104
- order?: string | undefined;
105
- with_deleted?: boolean | undefined;
106
- name?: string | string[] | undefined;
107
- handle?: string | undefined;
108
- is_premium?: boolean | undefined;
96
+ [x: string]: any;
97
+ fields?: unknown;
98
+ offset?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
99
+ limit?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
100
+ order?: unknown;
101
+ with_deleted?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
102
+ q?: unknown;
103
+ id?: unknown;
104
+ name?: unknown;
105
+ handle?: unknown;
106
+ is_premium?: unknown;
107
+ created_at?: unknown;
108
+ updated_at?: unknown;
109
109
  }, {
110
- id?: string | string[] | undefined;
111
- created_at?: any;
112
- updated_at?: any;
113
- offset?: unknown;
114
- limit?: unknown;
115
- q?: string | undefined;
116
- fields?: string | undefined;
117
- order?: string | undefined;
118
- with_deleted?: unknown;
119
- name?: string | string[] | undefined;
120
- handle?: string | undefined;
121
- is_premium?: string | boolean | undefined;
110
+ [x: string]: any;
111
+ fields?: unknown;
112
+ offset?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
113
+ limit?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
114
+ order?: unknown;
115
+ with_deleted?: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
116
+ q?: unknown;
117
+ id?: unknown;
118
+ name?: unknown;
119
+ handle?: unknown;
120
+ is_premium?: unknown;
121
+ created_at?: unknown;
122
+ updated_at?: unknown;
122
123
  }>;
123
124
  export type StoreGetSellerParamsType = z.infer<typeof StoreGetSellerParams>;
124
125
  export declare const StoreGetSellerParams: z.ZodObject<{
125
126
  fields: z.ZodOptional<z.ZodString>;
126
- }, "strip", z.ZodTypeAny, {
127
+ }, z.core.$strip, z.ZodTypeAny, {
127
128
  fields?: string | undefined;
128
129
  }, {
129
130
  fields?: string | undefined;
@@ -1,17 +1,2 @@
1
1
  import { MedusaNextFunction, MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
- /**
3
- * Replacement for `maybeApplyLinkFilter` on the
4
- * `category_owning_attribute` link. When a category filter is present,
5
- * the default helper restricts the result to attribute IDs linked to
6
- * that category, which silently drops "global" attributes (those that
7
- * have no category link at all). Marketplace operators and vendors
8
- * expect a category-scoped attribute list to also surface global
9
- * attributes, so this middleware composes:
10
- *
11
- * id IN (attribute IDs linked to the requested category)
12
- * OR
13
- * id NOT IN (any attribute that has at least one category link)
14
- *
15
- * The second clause is what brings global attributes back in.
16
- */
17
2
  export declare const filterAttributesByCategoryLinkOrGlobal: (req: MedusaRequest, _: MedusaResponse, next: MedusaNextFunction) => Promise<void>;
@@ -2,21 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.filterAttributesByCategoryLinkOrGlobal = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
- /**
6
- * Replacement for `maybeApplyLinkFilter` on the
7
- * `category_owning_attribute` link. When a category filter is present,
8
- * the default helper restricts the result to attribute IDs linked to
9
- * that category, which silently drops "global" attributes (those that
10
- * have no category link at all). Marketplace operators and vendors
11
- * expect a category-scoped attribute list to also surface global
12
- * attributes, so this middleware composes:
13
- *
14
- * id IN (attribute IDs linked to the requested category)
15
- * OR
16
- * id NOT IN (any attribute that has at least one category link)
17
- *
18
- * The second clause is what brings global attributes back in.
19
- */
20
5
  const filterAttributesByCategoryLinkOrGlobal = async (req, _, next) => {
21
6
  const filterableFields = req.filterableFields ?? {};
22
7
  const categoryFilter = filterableFields.product_category_id;
@@ -28,17 +13,28 @@ const filterAttributesByCategoryLinkOrGlobal = async (req, _, next) => {
28
13
  ? categoryFilter
29
14
  : [categoryFilter];
30
15
  const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
31
- const { data: linkedToCategory } = await query.graph({
32
- entity: "category_owning_attribute",
33
- fields: ["product_attribute_id"],
34
- filters: { product_category_id: categoryIds },
16
+ const { data: attributes } = await query.graph({
17
+ entity: "product_attribute",
18
+ fields: ["id", "categories.id"],
35
19
  });
36
- const linkedToCategoryIds = Array.from(new Set(linkedToCategory.map((l) => l.product_attribute_id)));
37
- const { data: anyLinked } = await query.graph({
38
- entity: "category_owning_attribute",
39
- fields: ["product_attribute_id"],
40
- });
41
- const anyLinkedIds = Array.from(new Set(anyLinked.map((l) => l.product_attribute_id)));
20
+ const categoryIdSet = new Set(categoryIds);
21
+ const linkedToCategoryIds = [];
22
+ const anyLinkedIds = [];
23
+ for (const attribute of attributes) {
24
+ const raw = attribute.categories;
25
+ const categoryLinks = Array.isArray(raw)
26
+ ? raw
27
+ : raw
28
+ ? [raw]
29
+ : [];
30
+ if (categoryLinks.length === 0) {
31
+ continue;
32
+ }
33
+ anyLinkedIds.push(attribute.id);
34
+ if (categoryLinks.some((c) => c?.id != null && categoryIdSet.has(c.id))) {
35
+ linkedToCategoryIds.push(attribute.id);
36
+ }
37
+ }
42
38
  const orClause = [
43
39
  { id: linkedToCategoryIds },
44
40
  { id: { $nin: anyLinkedIds } },
@@ -55,4 +51,4 @@ const filterAttributesByCategoryLinkOrGlobal = async (req, _, next) => {
55
51
  return next();
56
52
  };
57
53
  exports.filterAttributesByCategoryLinkOrGlobal = filterAttributesByCategoryLinkOrGlobal;
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWF0dHJpYnV0ZXMtYnktY2F0ZWdvcnktbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdXRpbHMvZmlsdGVyLWF0dHJpYnV0ZXMtYnktY2F0ZWdvcnktbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxxREFBcUU7QUFFckU7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSSxNQUFNLHNDQUFzQyxHQUFHLEtBQUssRUFDekQsR0FBa0IsRUFDbEIsQ0FBaUIsRUFDakIsSUFBd0IsRUFDeEIsRUFBRTtJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQTtJQUNuRCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQTtJQUUzRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsT0FBTyxJQUFJLEVBQUUsQ0FBQTtJQUNmLENBQUM7SUFFRCxPQUFPLGdCQUFnQixDQUFDLG1CQUFtQixDQUFBO0lBRTNDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxjQUFjO1FBQ2hCLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBRXBCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWhFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDbkQsTUFBTSxFQUFFLDJCQUEyQjtRQUNuQyxNQUFNLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztRQUNoQyxPQUFPLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUU7S0FDOUMsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUNwQyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQ2xFLENBQUE7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1QyxNQUFNLEVBQUUsMkJBQTJCO1FBQ25DLE1BQU0sRUFBRSxDQUFDLHNCQUFzQixDQUFDO0tBQ2pDLENBQUMsQ0FBQTtJQUNGLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQzdCLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQzNELENBQUE7SUFFRCxNQUFNLFFBQVEsR0FBRztRQUNmLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFO1FBQzNCLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFO0tBQy9CLENBQUE7SUFFRCxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUE7SUFDdEMsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDN0IsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUMvRCxPQUFPLGdCQUFnQixDQUFDLEVBQUUsQ0FBQTtJQUM1QixDQUFDO1NBQU0sQ0FBQztRQUNOLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUE7SUFDakMsQ0FBQztJQUVELEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQTtJQUV2QyxPQUFPLElBQUksRUFBRSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBckRZLFFBQUEsc0NBQXNDLDBDQXFEbEQifQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWF0dHJpYnV0ZXMtYnktY2F0ZWdvcnktbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdXRpbHMvZmlsdGVyLWF0dHJpYnV0ZXMtYnktY2F0ZWdvcnktbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxxREFBcUU7QUFVOUQsTUFBTSxzQ0FBc0MsR0FBRyxLQUFLLEVBQ3pELEdBQWtCLEVBQ2xCLENBQWlCLEVBQ2pCLElBQXdCLEVBQ3hCLEVBQUU7SUFDRixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUE7SUFDbkQsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUE7SUFFM0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUE7SUFDZixDQUFDO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQTtJQUUzQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUMvQyxDQUFDLENBQUMsY0FBYztRQUNoQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUVwQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM3QyxNQUFNLEVBQUUsbUJBQW1CO1FBQzNCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUM7S0FDaEMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDMUMsTUFBTSxtQkFBbUIsR0FBYSxFQUFFLENBQUE7SUFDeEMsTUFBTSxZQUFZLEdBQWEsRUFBRSxDQUFBO0lBRWpDLEtBQUssTUFBTSxTQUFTLElBQUksVUFBdUMsRUFBRSxDQUFDO1FBQ2hFLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUE7UUFDaEMsTUFBTSxhQUFhLEdBQWtCLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ3JELENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEdBQUc7Z0JBQ0gsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDUixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0IsU0FBUTtRQUNWLENBQUM7UUFDRCxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMvQixJQUNFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksSUFBSSxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ25FLENBQUM7WUFDRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUc7UUFDZixFQUFFLEVBQUUsRUFBRSxtQkFBbUIsRUFBRTtRQUMzQixFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRTtLQUMvQixDQUFBO0lBRUQsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxDQUFBO0lBQ3RDLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzdCLGdCQUFnQixDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDL0QsT0FBTyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUE7SUFDNUIsQ0FBQztTQUFNLENBQUM7UUFDTixnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFBO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUE7SUFFdkMsT0FBTyxJQUFJLEVBQUUsQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQS9EWSxRQUFBLHNDQUFzQywwQ0ErRGxEIn0=
@@ -1,54 +1,9 @@
1
1
  import type { MedusaContainer } from "@medusajs/framework/types";
2
+ export declare function wrapProductWithProductAttributes(products: any[]): void;
2
3
  /**
3
- * Builds a unified `product.attributes` array on each product from the
4
- * linked value ids (single-hop joiner) by issuing TWO bulk queries
5
- * against the product-attribute moduleone for every selected value
6
- * across all input products, one for every attribute's full value set.
7
- * Each entry per product surfaces:
8
- *
9
- * - `values`: the values selected on this product (sorted by rank).
10
- * - `all_values`: the parent attribute's full value set so the edit
11
- * form can render the dropdown with `values` pre-selected.
12
- *
13
- * Always seeds `product.attributes = []` even when there's nothing to
14
- * enrich, so downstream code can rely on the field existing. Cross-
15
- * module chained populate (`attribute_values.attribute.values`) crashes
16
- * Medusa's joiner here because the value side lives in another module —
17
- * splitting the read avoids that path entirely.
18
- *
19
- * Mutates each product object in place.
4
+ * A global (non-scoped) attribute can only reach its full value set through
5
+ * `product_attribute_values.attribute.values` a cross-link 2-hop chained
6
+ * populate that resolves empty on the remote joinerso it is resolved
7
+ * directly with a single in-module `product_attribute values` read.
20
8
  */
21
9
  export declare function enrichProductAttributes(scope: MedusaContainer, products: any[]): Promise<void>;
22
- type ProductAttributeValueRow = {
23
- id: string;
24
- name: string;
25
- attribute?: {
26
- id: string;
27
- name?: string;
28
- handle?: string | null;
29
- type?: string;
30
- is_variant_axis?: boolean;
31
- } | null;
32
- };
33
- type GroupedProductAttribute = {
34
- id: string;
35
- name?: string;
36
- handle?: string | null;
37
- type?: string;
38
- is_variant_axis?: boolean;
39
- values: {
40
- id: string;
41
- name: string;
42
- }[];
43
- };
44
- /**
45
- * Groups `product.attribute_values` (from a 2-hop graph fetch with
46
- * `attribute_values.attribute.*`) into one entry per attribute, each
47
- * carrying only the values selected on this product. Pass
48
- * `options.attributeId` to narrow the result to a single attribute for
49
- * detail endpoints.
50
- */
51
- export declare function groupProductAttributeValues(attributeValues: ProductAttributeValueRow[] | undefined, options?: {
52
- attributeId?: string;
53
- }): GroupedProductAttribute[];
54
- export {};
@@ -1,187 +1,113 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wrapProductWithProductAttributes = wrapProductWithProductAttributes;
3
4
  exports.enrichProductAttributes = enrichProductAttributes;
4
- exports.groupProductAttributeValues = groupProductAttributeValues;
5
5
  const utils_1 = require("@medusajs/framework/utils");
6
- /**
7
- * Builds a unified `product.attributes` array on each product from the
8
- * linked value ids (single-hop joiner) by issuing TWO bulk queries
9
- * against the product-attribute module — one for every selected value
10
- * across all input products, one for every attribute's full value set.
11
- * Each entry per product surfaces:
12
- *
13
- * - `values`: the values selected on this product (sorted by rank).
14
- * - `all_values`: the parent attribute's full value set so the edit
15
- * form can render the dropdown with `values` pre-selected.
16
- *
17
- * Always seeds `product.attributes = []` even when there's nothing to
18
- * enrich, so downstream code can rely on the field existing. Cross-
19
- * module chained populate (`attribute_values.attribute.values`) crashes
20
- * Medusa's joiner here because the value side lives in another module —
21
- * splitting the read avoids that path entirely.
22
- *
23
- * Mutates each product object in place.
24
- */
25
- async function enrichProductAttributes(scope, products) {
6
+ const types_1 = require("@mercurjs/types");
7
+ const SELECT_TYPES = new Set([
8
+ types_1.AttributeType.SINGLE_SELECT,
9
+ types_1.AttributeType.MULTI_SELECT,
10
+ ]);
11
+ const byRank = (a, b) => (a.rank ?? 0) - (b.rank ?? 0);
12
+ const toValue = (v) => ({ id: v.id, name: v.name, rank: v.rank });
13
+ function wrapProductWithProductAttributes(products) {
26
14
  if (!products?.length)
27
15
  return;
28
- // Guarantee the field is present even if the product carries no
29
- // attribute joiner data.
30
- for (const product of products) {
31
- if (product && !product.attributes)
32
- product.attributes = [];
33
- }
34
- // Collect linked value ids and product-scoped attribute ids across
35
- // the whole batch so we issue one query per module entity instead of
36
- // N (where N = list size).
37
- const linkedValueIds = new Set();
38
- const inlineAttributeIds = new Set();
39
- for (const product of products) {
40
- for (const v of (product?.attribute_values ?? [])) {
41
- if (typeof v?.id === "string")
42
- linkedValueIds.add(v.id);
43
- }
44
- for (const a of (product?.scoped_attributes ?? [])) {
45
- if (typeof a?.id === "string")
46
- inlineAttributeIds.add(a.id);
47
- }
48
- }
49
- if (!linkedValueIds.size && !inlineAttributeIds.size)
50
- return;
51
- const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
52
- const { data: selectedValues } = linkedValueIds.size
53
- ? await query.graph({
54
- entity: "product_attribute_value",
55
- fields: ["id", "name", "rank", "attribute_id"],
56
- filters: { id: Array.from(linkedValueIds) },
57
- })
58
- : {
59
- data: [],
60
- };
61
- const selectedValueById = new Map();
62
- for (const v of selectedValues) {
63
- selectedValueById.set(v.id, v);
64
- }
65
- const attributeIds = new Set(inlineAttributeIds);
66
- for (const v of selectedValues) {
67
- if (v.attribute_id)
68
- attributeIds.add(v.attribute_id);
69
- }
70
- if (!attributeIds.size)
71
- return;
72
- const { data: attributes } = await query.graph({
73
- entity: "product_attribute",
74
- fields: [
75
- "id",
76
- "name",
77
- "handle",
78
- "type",
79
- "is_variant_axis",
80
- "rank",
81
- "product_id",
82
- ],
83
- filters: { id: Array.from(attributeIds) },
84
- });
85
- const { data: allValues } = await query.graph({
86
- entity: "product_attribute_value",
87
- fields: ["id", "name", "rank", "attribute_id"],
88
- filters: { attribute_id: Array.from(attributeIds) },
89
- });
90
- const attrTemplateById = new Map();
91
- for (const attr of attributes) {
92
- attrTemplateById.set(attr.id, {
93
- id: attr.id,
94
- name: attr.name,
95
- handle: attr.handle ?? null,
96
- type: attr.type,
97
- is_variant_axis: !!attr.is_variant_axis,
98
- rank: attr.rank,
99
- all_values: [],
100
- });
101
- }
102
- for (const v of allValues) {
103
- if (!v.attribute_id)
104
- continue;
105
- const tmpl = attrTemplateById.get(v.attribute_id);
106
- if (!tmpl)
107
- continue;
108
- tmpl.all_values.push({ id: v.id, name: v.name, rank: v.rank });
109
- }
110
- for (const tmpl of attrTemplateById.values()) {
111
- tmpl.all_values.sort((a, b) => (a.rank ?? 0) - (b.rank ?? 0));
112
- }
113
16
  for (const product of products) {
114
17
  if (!product)
115
18
  continue;
116
- const productValueIds = (product.attribute_values ?? [])
117
- .map((v) => v?.id)
118
- .filter((id) => typeof id === "string");
119
- const productScopedAttrIds = (product.scoped_attributes ?? [])
120
- .map((a) => a?.id)
121
- .filter((id) => typeof id === "string");
122
- const attrsForProduct = new Map();
123
- for (const aid of productScopedAttrIds) {
124
- const tmpl = attrTemplateById.get(aid);
125
- if (tmpl)
126
- attrsForProduct.set(aid, {
127
- ...tmpl,
128
- all_values: [...tmpl.all_values],
129
- values: [],
130
- });
19
+ const attrsById = new Map();
20
+ const scopedAttributes = product.scoped_attributes ?? [];
21
+ for (const scoped of scopedAttributes) {
22
+ attrsById.set(scoped.id, {
23
+ id: scoped.id,
24
+ name: scoped.name,
25
+ handle: scoped.handle ?? null,
26
+ type: scoped.type,
27
+ is_variant_axis: !!scoped.is_variant_axis,
28
+ is_required: !!scoped.is_required,
29
+ rank: scoped.rank,
30
+ is_scoped: true,
31
+ all_values: (scoped.values ?? []).map(toValue),
32
+ values: [],
33
+ });
131
34
  }
132
- for (const vid of productValueIds) {
133
- const v = selectedValueById.get(vid);
134
- if (!v?.attribute_id)
35
+ const linkedValues = product.product_attribute_values ?? [];
36
+ for (const value of linkedValues) {
37
+ const attributeId = value.attribute?.id ?? value.attribute_id;
38
+ if (!attributeId)
135
39
  continue;
136
- let attr = attrsForProduct.get(v.attribute_id);
137
- if (!attr) {
138
- const tmpl = attrTemplateById.get(v.attribute_id);
139
- if (!tmpl)
140
- continue;
141
- attr = {
142
- ...tmpl,
143
- all_values: [...tmpl.all_values],
40
+ let entry = attrsById.get(attributeId);
41
+ if (!entry) {
42
+ const attribute = value.attribute;
43
+ entry = {
44
+ id: attributeId,
45
+ name: attribute?.name,
46
+ handle: attribute?.handle ?? null,
47
+ type: attribute?.type,
48
+ is_variant_axis: !!attribute?.is_variant_axis,
49
+ is_required: !!attribute?.is_required,
50
+ rank: attribute?.rank,
51
+ is_scoped: false,
52
+ all_values: (attribute?.values ?? []).map(toValue),
144
53
  values: [],
145
54
  };
146
- attrsForProduct.set(v.attribute_id, attr);
55
+ attrsById.set(attributeId, entry);
147
56
  }
148
- attr.values.push({ id: v.id, name: v.name, rank: v.rank });
57
+ entry.values.push({
58
+ id: value.id,
59
+ name: value.name ?? "",
60
+ rank: value.rank,
61
+ });
149
62
  }
150
- for (const attr of attrsForProduct.values()) {
151
- attr.values.sort((a, b) => (a.rank ?? 0) - (b.rank ?? 0));
63
+ for (const entry of attrsById.values()) {
64
+ entry.all_values.sort(byRank);
65
+ entry.values.sort(byRank);
152
66
  }
153
- product.attributes = [...attrsForProduct.values()].sort((a, b) => (a.rank ?? 0) - (b.rank ?? 0));
67
+ product.attributes = [...attrsById.values()].sort((a, b) => (a.rank ?? 0) - (b.rank ?? 0));
154
68
  }
155
69
  }
156
70
  /**
157
- * Groups `product.attribute_values` (from a 2-hop graph fetch with
158
- * `attribute_values.attribute.*`) into one entry per attribute, each
159
- * carrying only the values selected on this product. Pass
160
- * `options.attributeId` to narrow the result to a single attribute for
161
- * detail endpoints.
71
+ * A global (non-scoped) attribute can only reach its full value set through
72
+ * `product_attribute_values.attribute.values` a cross-link 2-hop chained
73
+ * populate that resolves empty on the remote joiner so it is resolved
74
+ * directly with a single in-module `product_attribute values` read.
162
75
  */
163
- function groupProductAttributeValues(attributeValues, options) {
164
- const byId = new Map();
165
- for (const v of attributeValues ?? []) {
166
- const attr = v.attribute;
167
- if (!attr?.id)
168
- continue;
169
- if (options?.attributeId && attr.id !== options.attributeId)
170
- continue;
171
- let grouped = byId.get(attr.id);
172
- if (!grouped) {
173
- grouped = {
174
- id: attr.id,
175
- name: attr.name,
176
- handle: attr.handle ?? null,
177
- type: attr.type,
178
- is_variant_axis: !!attr.is_variant_axis,
179
- values: [],
180
- };
181
- byId.set(attr.id, grouped);
76
+ async function enrichProductAttributes(scope, products) {
77
+ wrapProductWithProductAttributes(products);
78
+ if (!products?.length)
79
+ return;
80
+ const missingIds = new Set();
81
+ for (const product of products) {
82
+ for (const attr of (product?.attributes ??
83
+ [])) {
84
+ if (SELECT_TYPES.has(attr.type) && !attr.all_values?.length) {
85
+ missingIds.add(attr.id);
86
+ }
87
+ }
88
+ }
89
+ if (!missingIds.size)
90
+ return;
91
+ const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
92
+ const { data } = await query.graph({
93
+ entity: "product_attribute",
94
+ fields: ["id", "values.id", "values.name", "values.rank"],
95
+ filters: { id: Array.from(missingIds) },
96
+ });
97
+ const valuesById = new Map((data ?? []).map((a) => [
98
+ a.id,
99
+ (a.values ?? []).map(toValue).sort(byRank),
100
+ ]));
101
+ for (const product of products) {
102
+ for (const attr of (product?.attributes ??
103
+ [])) {
104
+ if (!attr.all_values?.length) {
105
+ const full = valuesById.get(attr.id);
106
+ if (full?.length) {
107
+ attr.all_values = full;
108
+ }
109
+ }
182
110
  }
183
- grouped.values.push({ id: v.id, name: v.name });
184
111
  }
185
- return Array.from(byId.values());
186
112
  }
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXByb2R1Y3QtYXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdXRpbHMvZm9ybWF0LXByb2R1Y3QtYXR0cmlidXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlDQSwwREFxTEM7QUE4QkQsa0VBd0JDO0FBNVFELHFEQUFxRTtBQWNyRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0ksS0FBSyxVQUFVLHVCQUF1QixDQUMzQyxLQUFzQixFQUN0QixRQUFlO0lBRWYsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNO1FBQUUsT0FBTTtJQUU3QixnRUFBZ0U7SUFDaEUseUJBQXlCO0lBQ3pCLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUFFLE9BQU8sQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFBO0lBQzdELENBQUM7SUFFRCxtRUFBbUU7SUFDbkUscUVBQXFFO0lBQ3JFLDJCQUEyQjtJQUMzQixNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFBO0lBQ3hDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtJQUM1QyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLElBQUksRUFBRSxDQUU5QyxFQUFFLENBQUM7WUFDSCxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxRQUFRO2dCQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3pELENBQUM7UUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGlCQUFpQixJQUFJLEVBQUUsQ0FFL0MsRUFBRSxDQUFDO1lBQ0gsSUFBSSxPQUFPLENB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
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXByb2R1Y3QtYXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdXRpbHMvZm9ybWF0LXByb2R1Y3QtYXR0cmlidXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXdCQSw0RUFtRUM7QUFRRCwwREEyQ0M7QUE5SUQscURBQXFFO0FBRXJFLDJDQU13QjtBQUV4QixNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBZ0I7SUFDMUMscUJBQWEsQ0FBQyxhQUFhO0lBQzNCLHFCQUFhLENBQUMsWUFBWTtDQUMzQixDQUFDLENBQUE7QUFFRixNQUFNLE1BQU0sR0FBRyxDQUNiLENBQWtDLEVBQ2xDLENBQWtDLEVBQ2xDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBRWxDLE1BQU0sT0FBTyxHQUFHLENBQ2QsQ0FBMkIsRUFDTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUVoRixTQUFnQixnQ0FBZ0MsQ0FBQyxRQUFlO0lBQzlELElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTTtRQUFFLE9BQU07SUFFN0IsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTztZQUFFLFNBQVE7UUFFdEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUE7UUFFL0QsTUFBTSxnQkFBZ0IsR0FDcEIsT0FBTyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQTtRQUVqQyxLQUFLLE1BQU0sTUFBTSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDdEMsU0FB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
@@ -4,4 +4,6 @@ export * from "./ensure-seller-middleware";
4
4
  export * from "./filter-by-seller-id";
5
5
  export * from "./vendor-cors-middleware";
6
6
  export * from "./format-product-attributes";
7
+ export * from "./product-attribute-fields";
7
8
  export * from "./filter-attributes-by-category-link";
9
+ export * from "./offers";
@@ -20,5 +20,7 @@ __exportStar(require("./ensure-seller-middleware"), exports);
20
20
  __exportStar(require("./filter-by-seller-id"), exports);
21
21
  __exportStar(require("./vendor-cors-middleware"), exports);
22
22
  __exportStar(require("./format-product-attributes"), exports);
23
+ __exportStar(require("./product-attribute-fields"), exports);
23
24
  __exportStar(require("./filter-attributes-by-category-link"), exports);
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUM7QUFDakMsZ0VBQTZDO0FBQzdDLDZEQUEwQztBQUMxQyx3REFBcUM7QUFDckMsMkRBQXdDO0FBQ3hDLDhEQUEyQztBQUMzQyx1RUFBb0QifQ==
25
+ __exportStar(require("./offers"), exports);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUM7QUFDakMsZ0VBQTZDO0FBQzdDLDZEQUEwQztBQUMxQyx3REFBcUM7QUFDckMsMkRBQXdDO0FBQ3hDLDhEQUEyQztBQUMzQyw2REFBMEM7QUFDMUMsdUVBQW9EO0FBQ3BELDJDQUF3QiJ9
@@ -0,0 +1,50 @@
1
+ import { AuthenticatedMedusaRequest, MedusaNextFunction, MedusaResponse, MedusaStoreRequest } from "@medusajs/framework/http";
2
+ import type { MedusaContainer, MedusaPricingContext, TaxCalculationContext } from "@medusajs/framework/types";
3
+ type WrappableVariant = {
4
+ id: string;
5
+ offers?: unknown[];
6
+ };
7
+ type WrappableProduct = {
8
+ variants?: WrappableVariant[] | null;
9
+ };
10
+ /**
11
+ * The `offer ↔ variant` link is shared across sellers, so a raw graph
12
+ * traversal would surface every seller's offers on a master variant.
13
+ */
14
+ export declare const wrapProductVariantsWithOffers: (scope: MedusaContainer, products: WrappableProduct[], sellerId?: string) => Promise<void>;
15
+ type OfferAwareRequest = AuthenticatedMedusaRequest & {
16
+ seller_context?: {
17
+ seller_id?: string;
18
+ };
19
+ };
20
+ export declare const applyOfferedProductsFilter: (req: OfferAwareRequest, _res: MedusaResponse, next: MedusaNextFunction) => Promise<void>;
21
+ export declare const applyGroupedOfferProductFilter: (req: OfferAwareRequest, _res: MedusaResponse, next: MedusaNextFunction) => Promise<void>;
22
+ type StoreRequestWithContext = MedusaStoreRequest<unknown> & {
23
+ pricingContext?: MedusaPricingContext;
24
+ taxContext?: {
25
+ taxLineContext?: TaxCalculationContext;
26
+ taxInclusivityContext?: {
27
+ automaticTaxes: boolean;
28
+ };
29
+ };
30
+ };
31
+ type PriceableVariant = {
32
+ id: string;
33
+ offer_id?: string | null;
34
+ calculated_price?: Record<string, unknown> | null;
35
+ };
36
+ type PriceableProduct = {
37
+ id?: string;
38
+ variants?: PriceableVariant[] | null;
39
+ };
40
+ /**
41
+ * Sets each variant's cheapest offer as `variant.offer_id` + its
42
+ * `variant.calculated_price`, in place. Offer prices share the variant price
43
+ * set scoped by an `offer_id` rule, so passing the union of offer ids as the
44
+ * pricing context lets one batched `calculatePrices` return the lowest matching
45
+ * price per price set; `offer_id` is recovered from the winning price row via a
46
+ * `price.id → offer.id` map. Variants without an offer get `null` for both.
47
+ * No-ops without a pricing context (caller did not request calculated prices).
48
+ */
49
+ export declare const wrapProductVariantsWithOfferPrice: (req: StoreRequestWithContext, products: PriceableProduct[]) => Promise<void>;
50
+ export {};