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

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 (685) hide show
  1. package/.medusa/server/src/api/admin/claims/[id]/outbound/items/route.d.ts +13 -0
  2. package/.medusa/server/src/api/admin/claims/[id]/outbound/items/route.js +59 -0
  3. package/.medusa/server/src/api/admin/claims/[id]/request/route.d.ts +4 -0
  4. package/.medusa/server/src/api/admin/claims/[id]/request/route.js +74 -0
  5. package/.medusa/server/src/api/admin/collections/[id]/route.d.ts +7 -0
  6. package/.medusa/server/src/api/admin/collections/[id]/route.js +48 -0
  7. package/.medusa/server/src/api/admin/collections/middlewares.d.ts +2 -0
  8. package/.medusa/server/src/api/admin/collections/middlewares.js +49 -0
  9. package/.medusa/server/src/api/admin/collections/query-config.d.ts +12 -0
  10. package/.medusa/server/src/api/admin/collections/query-config.js +29 -0
  11. package/.medusa/server/src/api/admin/collections/route.d.ts +6 -0
  12. package/.medusa/server/src/api/admin/collections/route.js +36 -0
  13. package/.medusa/server/src/api/admin/collections/validators.d.ts +262 -0
  14. package/.medusa/server/src/api/admin/collections/validators.js +42 -0
  15. package/.medusa/server/src/api/admin/commission-rates/query-config.js +6 -4
  16. package/.medusa/server/src/api/admin/commission-rates/route.js +4 -1
  17. package/.medusa/server/src/api/admin/commission-rates/validators.d.ts +89 -58
  18. package/.medusa/server/src/api/admin/commission-rates/validators.js +16 -9
  19. package/.medusa/server/src/api/admin/customer-groups/middlewares.d.ts +2 -0
  20. package/.medusa/server/src/api/admin/customer-groups/middlewares.js +43 -0
  21. package/.medusa/server/src/api/admin/customer-groups/validators.d.ts +257 -0
  22. package/.medusa/server/src/api/admin/customer-groups/validators.js +12 -0
  23. package/.medusa/server/src/api/admin/exchanges/[id]/outbound/items/route.d.ts +14 -0
  24. package/.medusa/server/src/api/admin/exchanges/[id]/outbound/items/route.js +60 -0
  25. package/.medusa/server/src/api/admin/exchanges/[id]/request/route.d.ts +4 -0
  26. package/.medusa/server/src/api/admin/exchanges/[id]/request/route.js +75 -0
  27. package/.medusa/server/src/api/admin/members/validators.d.ts +14 -15
  28. package/.medusa/server/src/api/admin/middlewares.js +31 -36
  29. package/.medusa/server/src/api/admin/offers/batch/route.js +3 -3
  30. package/.medusa/server/src/api/admin/offers/middlewares.js +3 -1
  31. package/.medusa/server/src/api/admin/offers/query-config.js +3 -1
  32. package/.medusa/server/src/api/admin/offers/validators.d.ts +79 -57
  33. package/.medusa/server/src/api/admin/offers/validators.js +10 -2
  34. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.d.ts +3 -0
  35. package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.js +18 -0
  36. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.d.ts +15 -0
  37. package/.medusa/server/src/api/admin/order-edits/[id]/items/route.js +46 -0
  38. package/.medusa/server/src/api/admin/order-groups/helpers.d.ts +2 -0
  39. package/.medusa/server/src/api/admin/order-groups/helpers.js +53 -0
  40. package/.medusa/server/src/api/admin/order-groups/middlewares.js +3 -1
  41. package/.medusa/server/src/api/admin/order-groups/route.js +4 -2
  42. package/.medusa/server/src/api/admin/order-groups/validators.d.ts +20 -21
  43. package/.medusa/server/src/api/admin/orders/[id]/commission-lines/route.d.ts +7 -0
  44. package/.medusa/server/src/api/admin/orders/[id]/commission-lines/route.js +17 -0
  45. package/.medusa/server/src/api/admin/orders/middlewares.d.ts +2 -0
  46. package/.medusa/server/src/api/admin/orders/middlewares.js +42 -0
  47. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.d.ts +2 -0
  48. package/.medusa/server/src/api/admin/orders/resolve-order-seller-id.js +15 -0
  49. package/.medusa/server/src/api/admin/orders/validators.d.ts +1 -287
  50. package/.medusa/server/src/api/admin/orders/validators.js +9 -29
  51. package/.medusa/server/src/api/admin/payouts/validators.d.ts +18 -19
  52. package/.medusa/server/src/api/admin/product-attributes/[id]/route.js +2 -2
  53. package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.js +2 -2
  54. package/.medusa/server/src/api/admin/product-attributes/middlewares.js +1 -3
  55. package/.medusa/server/src/api/admin/product-attributes/query-config.js +4 -1
  56. package/.medusa/server/src/api/admin/product-attributes/route.d.ts +2 -2
  57. package/.medusa/server/src/api/admin/product-attributes/route.js +2 -5
  58. package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +129 -140
  59. package/.medusa/server/src/api/admin/product-attributes/validators.js +1 -3
  60. package/.medusa/server/src/api/admin/product-categories/[id]/products/route.js +3 -3
  61. package/.medusa/server/src/api/admin/product-categories/[id]/route.js +8 -11
  62. package/.medusa/server/src/api/admin/product-categories/query-config.js +7 -1
  63. package/.medusa/server/src/api/admin/product-categories/route.js +5 -8
  64. package/.medusa/server/src/api/admin/product-categories/validators.d.ts +153 -93
  65. package/.medusa/server/src/api/admin/product-categories/validators.js +11 -1
  66. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.d.ts +0 -7
  67. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +2 -8
  68. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.d.ts +0 -7
  69. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +2 -8
  70. package/.medusa/server/src/api/admin/product-changes/validators.d.ts +8 -4
  71. package/.medusa/server/src/api/admin/product-changes/validators.js +6 -3
  72. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +6 -9
  73. package/.medusa/server/src/api/admin/products/[id]/confirm/route.d.ts +0 -12
  74. package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +2 -13
  75. package/.medusa/server/src/api/admin/products/[id]/preview/route.d.ts +0 -7
  76. package/.medusa/server/src/api/admin/products/[id]/preview/route.js +1 -8
  77. package/.medusa/server/src/api/admin/products/[id]/reject/route.d.ts +0 -8
  78. package/.medusa/server/src/api/admin/products/[id]/reject/route.js +2 -9
  79. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.d.ts +0 -9
  80. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +2 -10
  81. package/.medusa/server/src/api/admin/products/[id]/route.js +9 -3
  82. package/.medusa/server/src/api/admin/products/[id]/sellers/route.d.ts +3 -0
  83. package/.medusa/server/src/api/admin/products/[id]/sellers/route.js +13 -0
  84. package/.medusa/server/src/api/admin/products/middlewares.js +6 -42
  85. package/.medusa/server/src/api/admin/products/query-config.js +41 -16
  86. package/.medusa/server/src/api/admin/products/route.js +9 -1
  87. package/.medusa/server/src/api/admin/products/validators.d.ts +570 -1332
  88. package/.medusa/server/src/api/admin/products/validators.js +66 -96
  89. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.d.ts +3 -0
  90. package/.medusa/server/src/api/admin/returns/[id]/receive/confirm/route.js +29 -0
  91. package/.medusa/server/src/api/admin/sellers/[id]/address/route.js +4 -2
  92. package/.medusa/server/src/api/admin/sellers/[id]/approve/route.d.ts +2 -1
  93. package/.medusa/server/src/api/admin/sellers/[id]/approve/route.js +2 -1
  94. package/.medusa/server/src/api/admin/sellers/[id]/payment-details/route.js +4 -2
  95. package/.medusa/server/src/api/admin/sellers/[id]/professional-details/route.js +4 -2
  96. package/.medusa/server/src/api/admin/sellers/[id]/route.js +4 -2
  97. package/.medusa/server/src/api/admin/sellers/[id]/suspend/route.js +2 -1
  98. package/.medusa/server/src/api/admin/sellers/[id]/terminate/route.js +2 -1
  99. package/.medusa/server/src/api/admin/sellers/[id]/unsuspend/route.d.ts +2 -1
  100. package/.medusa/server/src/api/admin/sellers/[id]/unsuspend/route.js +2 -1
  101. package/.medusa/server/src/api/admin/sellers/[id]/unterminate/route.d.ts +2 -1
  102. package/.medusa/server/src/api/admin/sellers/[id]/unterminate/route.js +2 -1
  103. package/.medusa/server/src/api/admin/sellers/middlewares.js +4 -20
  104. package/.medusa/server/src/api/admin/sellers/route.js +4 -2
  105. package/.medusa/server/src/api/admin/sellers/validators.d.ts +89 -100
  106. package/.medusa/server/src/api/admin/sellers/validators.js +12 -7
  107. package/.medusa/server/src/api/admin/shipping-options/middlewares.d.ts +2 -0
  108. package/.medusa/server/src/api/admin/shipping-options/middlewares.js +46 -0
  109. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.d.ts +2 -0
  110. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.js +46 -0
  111. package/.medusa/server/src/api/admin/stock-locations/middlewares.d.ts +2 -0
  112. package/.medusa/server/src/api/admin/stock-locations/middlewares.js +46 -0
  113. package/.medusa/server/src/api/store/carts/[id]/complete/route.js +1 -5
  114. package/.medusa/server/src/api/store/carts/[id]/complete/validators.d.ts +1 -1
  115. package/.medusa/server/src/api/store/carts/[id]/line-items/route.js +13 -1
  116. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.d.ts +0 -3
  117. package/.medusa/server/src/api/store/carts/[id]/line-items/validators.js +1 -2
  118. package/.medusa/server/src/api/store/carts/[id]/shipping-methods/route.js +6 -2
  119. package/.medusa/server/src/api/store/middlewares.js +15 -11
  120. package/.medusa/server/src/api/store/offers/[id]/route.d.ts +3 -0
  121. package/.medusa/server/src/api/store/offers/[id]/route.js +28 -0
  122. package/.medusa/server/src/api/store/offers/helpers.d.ts +43 -0
  123. package/.medusa/server/src/api/store/offers/helpers.js +191 -0
  124. package/.medusa/server/src/api/store/offers/middlewares.d.ts +2 -0
  125. package/.medusa/server/src/api/store/offers/middlewares.js +64 -0
  126. package/.medusa/server/src/api/store/offers/query-config.d.ts +12 -0
  127. package/.medusa/server/src/api/store/offers/query-config.js +50 -0
  128. package/.medusa/server/src/api/store/offers/route.d.ts +3 -0
  129. package/.medusa/server/src/api/store/offers/route.js +30 -0
  130. package/.medusa/server/src/api/store/offers/validators.d.ts +158 -0
  131. package/.medusa/server/src/api/store/offers/validators.js +29 -0
  132. package/.medusa/server/src/api/store/order-groups/validators.d.ts +16 -17
  133. package/.medusa/server/src/api/store/product-attributes/validators.d.ts +50 -46
  134. package/.medusa/server/src/api/store/product-categories/validators.d.ts +59 -53
  135. package/.medusa/server/src/api/store/products/[id]/route.js +9 -5
  136. package/.medusa/server/src/api/store/products/helpers.d.ts +10 -0
  137. package/.medusa/server/src/api/store/products/helpers.js +20 -0
  138. package/.medusa/server/src/api/store/products/middlewares.js +37 -24
  139. package/.medusa/server/src/api/store/products/query-config.js +23 -7
  140. package/.medusa/server/src/api/store/products/route.js +9 -1
  141. package/.medusa/server/src/api/store/products/validators.d.ts +69 -65
  142. package/.medusa/server/src/api/store/search/middlewares.d.ts +2 -0
  143. package/.medusa/server/src/api/store/search/middlewares.js +73 -0
  144. package/.medusa/server/src/api/store/search/route.d.ts +8 -0
  145. package/.medusa/server/src/api/store/search/route.js +25 -0
  146. package/.medusa/server/src/api/store/search/validators.d.ts +27 -0
  147. package/.medusa/server/src/api/store/search/validators.js +17 -0
  148. package/.medusa/server/src/api/store/sellers/validators.d.ts +35 -34
  149. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.d.ts +0 -15
  150. package/.medusa/server/src/api/utils/filter-attributes-by-category-link.js +22 -26
  151. package/.medusa/server/src/api/utils/format-product-attributes.d.ts +5 -50
  152. package/.medusa/server/src/api/utils/format-product-attributes.js +90 -166
  153. package/.medusa/server/src/api/utils/index.d.ts +2 -0
  154. package/.medusa/server/src/api/utils/index.js +3 -1
  155. package/.medusa/server/src/api/utils/offers.d.ts +50 -0
  156. package/.medusa/server/src/api/utils/offers.js +286 -0
  157. package/.medusa/server/src/api/utils/order-commission-lines.d.ts +11 -0
  158. package/.medusa/server/src/api/utils/order-commission-lines.js +71 -0
  159. package/.medusa/server/src/api/utils/product-attribute-fields.d.ts +5 -0
  160. package/.medusa/server/src/api/utils/product-attribute-fields.js +35 -0
  161. package/.medusa/server/src/api/utils/sellers.d.ts +2 -0
  162. package/.medusa/server/src/api/utils/sellers.js +23 -0
  163. package/.medusa/server/src/api/vendor/campaigns/validators.d.ts +14 -15
  164. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.d.ts +0 -6
  165. package/.medusa/server/src/api/vendor/claims/[id]/outbound/items/route.js +1 -7
  166. package/.medusa/server/src/api/vendor/claims/[id]/request/route.js +1 -4
  167. package/.medusa/server/src/api/vendor/claims/validators.d.ts +32 -33
  168. package/.medusa/server/src/api/vendor/collections/query-config.js +7 -1
  169. package/.medusa/server/src/api/vendor/collections/validators.d.ts +22 -23
  170. package/.medusa/server/src/api/vendor/currencies/validators.d.ts +14 -15
  171. package/.medusa/server/src/api/vendor/customer-groups/[id]/customers/route.d.ts +4 -0
  172. package/.medusa/server/src/api/vendor/customer-groups/[id]/customers/route.js +20 -0
  173. package/.medusa/server/src/api/vendor/customer-groups/[id]/route.d.ts +6 -0
  174. package/.medusa/server/src/api/vendor/customer-groups/[id]/route.js +43 -0
  175. package/.medusa/server/src/api/vendor/customer-groups/helpers.d.ts +3 -0
  176. package/.medusa/server/src/api/vendor/customer-groups/helpers.js +38 -0
  177. package/.medusa/server/src/api/vendor/customer-groups/middlewares.d.ts +2 -0
  178. package/.medusa/server/src/api/vendor/customer-groups/middlewares.js +62 -0
  179. package/.medusa/server/src/api/vendor/customer-groups/query-config.d.ts +11 -0
  180. package/.medusa/server/src/api/vendor/customer-groups/query-config.js +22 -0
  181. package/.medusa/server/src/api/vendor/customer-groups/route.d.ts +5 -0
  182. package/.medusa/server/src/api/vendor/customer-groups/route.js +35 -0
  183. package/.medusa/server/src/api/vendor/customer-groups/validators.d.ts +156 -0
  184. package/.medusa/server/src/api/vendor/customer-groups/validators.js +35 -0
  185. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.d.ts +4 -0
  186. package/.medusa/server/src/api/vendor/customers/[id]/customer-groups/route.js +27 -0
  187. package/.medusa/server/src/api/vendor/customers/[id]/route.js +13 -1
  188. package/.medusa/server/src/api/vendor/customers/middlewares.js +9 -1
  189. package/.medusa/server/src/api/vendor/customers/validators.d.ts +47 -32
  190. package/.medusa/server/src/api/vendor/customers/validators.js +9 -2
  191. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.d.ts +0 -6
  192. package/.medusa/server/src/api/vendor/exchanges/[id]/outbound/items/route.js +1 -7
  193. package/.medusa/server/src/api/vendor/exchanges/[id]/request/route.js +1 -4
  194. package/.medusa/server/src/api/vendor/exchanges/validators.d.ts +29 -30
  195. package/.medusa/server/src/api/vendor/fulfillment-providers/validators.d.ts +24 -23
  196. package/.medusa/server/src/api/vendor/fulfillment-sets/validators.d.ts +18 -18
  197. package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +104 -110
  198. package/.medusa/server/src/api/vendor/members/me/route.js +3 -2
  199. package/.medusa/server/src/api/vendor/members/validators.d.ts +4 -2
  200. package/.medusa/server/src/api/vendor/members/validators.js +5 -3
  201. package/.medusa/server/src/api/vendor/middlewares.js +17 -17
  202. package/.medusa/server/src/api/vendor/offers/[id]/route.js +4 -2
  203. package/.medusa/server/src/api/vendor/offers/batch/route.js +3 -2
  204. package/.medusa/server/src/api/vendor/offers/query-config.js +2 -1
  205. package/.medusa/server/src/api/vendor/offers/route.js +4 -2
  206. package/.medusa/server/src/api/vendor/offers/validators.d.ts +68 -67
  207. package/.medusa/server/src/api/vendor/offers/validators.js +12 -12
  208. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.d.ts +0 -6
  209. package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.js +3 -9
  210. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.d.ts +0 -9
  211. package/.medusa/server/src/api/vendor/order-edits/[id]/items/[action_id]/route.js +1 -10
  212. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.d.ts +0 -6
  213. package/.medusa/server/src/api/vendor/order-edits/[id]/items/item/[item_id]/route.js +1 -7
  214. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.d.ts +0 -12
  215. package/.medusa/server/src/api/vendor/order-edits/[id]/items/route.js +1 -13
  216. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.d.ts +0 -7
  217. package/.medusa/server/src/api/vendor/order-edits/[id]/request/route.js +1 -8
  218. package/.medusa/server/src/api/vendor/order-edits/[id]/route.d.ts +0 -7
  219. package/.medusa/server/src/api/vendor/order-edits/[id]/route.js +1 -8
  220. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.d.ts +0 -9
  221. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/[action_id]/route.js +1 -10
  222. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.d.ts +0 -5
  223. package/.medusa/server/src/api/vendor/order-edits/[id]/shipping-method/route.js +1 -6
  224. package/.medusa/server/src/api/vendor/order-edits/middlewares.js +1 -13
  225. package/.medusa/server/src/api/vendor/order-edits/route.d.ts +0 -6
  226. package/.medusa/server/src/api/vendor/order-edits/route.js +1 -7
  227. package/.medusa/server/src/api/vendor/order-edits/validators.d.ts +12 -18
  228. package/.medusa/server/src/api/vendor/order-edits/validators.js +1 -1
  229. package/.medusa/server/src/api/vendor/orders/[id]/commission-lines/route.d.ts +7 -0
  230. package/.medusa/server/src/api/vendor/orders/[id]/commission-lines/route.js +18 -0
  231. package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route.d.ts +2 -1
  232. package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route.js +4 -1
  233. package/.medusa/server/src/api/vendor/orders/middlewares.js +2 -3
  234. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.d.ts +2 -13
  235. package/.medusa/server/src/api/vendor/orders/resolve-offer-items.js +11 -2
  236. package/.medusa/server/src/api/vendor/orders/validators.d.ts +35 -27
  237. package/.medusa/server/src/api/vendor/orders/validators.js +10 -9
  238. package/.medusa/server/src/api/vendor/payments/helpers.d.ts +0 -9
  239. package/.medusa/server/src/api/vendor/payments/helpers.js +1 -10
  240. package/.medusa/server/src/api/vendor/payments/validators.d.ts +38 -38
  241. package/.medusa/server/src/api/vendor/payout-accounts/validators.d.ts +11 -12
  242. package/.medusa/server/src/api/vendor/payouts/validators.d.ts +18 -19
  243. package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +38 -40
  244. package/.medusa/server/src/api/vendor/price-preferences/validators.d.ts +14 -15
  245. package/.medusa/server/src/api/vendor/product-attributes/query-config.js +4 -2
  246. package/.medusa/server/src/api/vendor/product-attributes/route.js +1 -3
  247. package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +92 -104
  248. package/.medusa/server/src/api/vendor/product-attributes/validators.js +1 -1
  249. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.js +4 -4
  250. package/.medusa/server/src/api/vendor/product-categories/query-config.js +7 -1
  251. package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +89 -83
  252. package/.medusa/server/src/api/vendor/product-tags/validators.d.ts +2 -2
  253. package/.medusa/server/src/api/vendor/product-types/validators.d.ts +14 -15
  254. package/.medusa/server/src/api/vendor/product-variants/middlewares.js +11 -19
  255. package/.medusa/server/src/api/vendor/product-variants/query-config.js +1 -3
  256. package/.medusa/server/src/api/vendor/product-variants/validators.d.ts +103 -97
  257. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.d.ts +2 -9
  258. package/.medusa/server/src/api/vendor/products/[id]/attributes/batch/route.js +3 -27
  259. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +2 -7
  260. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +2 -7
  261. package/.medusa/server/src/api/vendor/products/[id]/preview/route.d.ts +0 -9
  262. package/.medusa/server/src/api/vendor/products/[id]/preview/route.js +1 -10
  263. package/.medusa/server/src/api/vendor/products/[id]/route.d.ts +0 -14
  264. package/.medusa/server/src/api/vendor/products/[id]/route.js +12 -18
  265. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.d.ts +0 -8
  266. package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +3 -11
  267. package/.medusa/server/src/api/vendor/products/[id]/variants/route.d.ts +0 -7
  268. package/.medusa/server/src/api/vendor/products/[id]/variants/route.js +2 -9
  269. package/.medusa/server/src/api/vendor/products/helpers.d.ts +6 -5
  270. package/.medusa/server/src/api/vendor/products/helpers.js +54 -10
  271. package/.medusa/server/src/api/vendor/products/middlewares.js +14 -63
  272. package/.medusa/server/src/api/vendor/products/query-config.js +52 -15
  273. package/.medusa/server/src/api/vendor/products/route.d.ts +0 -9
  274. package/.medusa/server/src/api/vendor/products/route.js +14 -17
  275. package/.medusa/server/src/api/vendor/products/validators.d.ts +439 -840
  276. package/.medusa/server/src/api/vendor/products/validators.js +67 -104
  277. package/.medusa/server/src/api/vendor/promotions/validators.d.ts +47 -49
  278. package/.medusa/server/src/api/vendor/refund-reasons/validators.d.ts +18 -19
  279. package/.medusa/server/src/api/vendor/regions/validators.d.ts +20 -21
  280. package/.medusa/server/src/api/vendor/reservations/[id]/route.js +1 -1
  281. package/.medusa/server/src/api/vendor/reservations/helpers.js +1 -4
  282. package/.medusa/server/src/api/vendor/reservations/middlewares.js +1 -18
  283. package/.medusa/server/src/api/vendor/reservations/query-config.js +1 -4
  284. package/.medusa/server/src/api/vendor/reservations/route.js +1 -1
  285. package/.medusa/server/src/api/vendor/reservations/validators.d.ts +24 -25
  286. package/.medusa/server/src/api/vendor/reservations/validators.js +1 -1
  287. package/.medusa/server/src/api/vendor/return-reasons/validators.d.ts +18 -19
  288. package/.medusa/server/src/api/vendor/returns/validators.d.ts +25 -26
  289. package/.medusa/server/src/api/vendor/sales-channels/[id]/products/route.js +2 -1
  290. package/.medusa/server/src/api/vendor/sales-channels/helpers.d.ts +1 -0
  291. package/.medusa/server/src/api/vendor/sales-channels/helpers.js +25 -2
  292. package/.medusa/server/src/api/vendor/sales-channels/validators.d.ts +25 -24
  293. package/.medusa/server/src/api/vendor/sellers/[id]/address/route.js +4 -2
  294. package/.medusa/server/src/api/vendor/sellers/[id]/payment-details/route.js +4 -2
  295. package/.medusa/server/src/api/vendor/sellers/[id]/professional-details/route.js +4 -2
  296. package/.medusa/server/src/api/vendor/sellers/[id]/route.js +4 -2
  297. package/.medusa/server/src/api/vendor/sellers/me/route.js +10 -1
  298. package/.medusa/server/src/api/vendor/sellers/middlewares.js +1 -18
  299. package/.medusa/server/src/api/vendor/sellers/route.js +8 -3
  300. package/.medusa/server/src/api/vendor/sellers/validators.d.ts +25 -46
  301. package/.medusa/server/src/api/vendor/sellers/validators.js +2 -2
  302. package/.medusa/server/src/api/vendor/shipping-option-types/validators.d.ts +18 -19
  303. package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +97 -98
  304. package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +20 -21
  305. package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +18 -19
  306. package/.medusa/server/src/api/vendor/stores/validators.d.ts +14 -15
  307. package/.medusa/server/src/links/media-product-category-link.d.ts +20 -0
  308. package/.medusa/server/src/links/media-product-category-link.js +34 -0
  309. package/.medusa/server/src/links/media-product-collection-link.d.ts +18 -0
  310. package/.medusa/server/src/links/media-product-collection-link.js +32 -0
  311. package/.medusa/server/src/links/offer-product-link.js +15 -0
  312. package/.medusa/server/src/links/product-attribute-category-link.d.ts +0 -14
  313. package/.medusa/server/src/links/product-attribute-category-link.js +4 -21
  314. package/.medusa/server/src/links/product-attribute-option-mirror-link.d.ts +6 -0
  315. package/.medusa/server/src/links/product-attribute-option-mirror-link.js +24 -0
  316. package/.medusa/server/src/links/product-attribute-product-link.d.ts +0 -5
  317. package/.medusa/server/src/links/product-attribute-product-link.js +2 -7
  318. package/.medusa/server/src/links/product-attribute-value-option-value-mirror-link.d.ts +6 -0
  319. package/.medusa/server/src/links/product-attribute-value-option-value-mirror-link.js +24 -0
  320. package/.medusa/server/src/links/{product-variant-attribute-value-link.d.ts → product-attribute-value-pivot-link.d.ts} +3 -0
  321. package/.medusa/server/src/links/product-attribute-value-pivot-link.js +23 -0
  322. package/.medusa/server/src/links/seller-customer-group-link.js +15 -0
  323. package/.medusa/server/src/migration-scripts/drop-fulfillment-global-unique-indexes.js +6 -1
  324. package/.medusa/server/src/migration-scripts/rename-default-store.d.ts +2 -0
  325. package/.medusa/server/src/migration-scripts/rename-default-store.js +12 -0
  326. package/.medusa/server/src/modules/commission/index.d.ts +14 -0
  327. package/.medusa/server/src/modules/commission/index.js +3 -1
  328. package/.medusa/server/src/modules/commission/loaders/seed-default-commission-rate.d.ts +11 -0
  329. package/.medusa/server/src/modules/commission/loaders/seed-default-commission-rate.js +35 -0
  330. package/.medusa/server/src/modules/commission/migrations/Migration20260615120000.d.ts +5 -0
  331. package/.medusa/server/src/modules/commission/migrations/Migration20260615120000.js +46 -0
  332. package/.medusa/server/src/modules/commission/models/commission-line.d.ts +2 -1
  333. package/.medusa/server/src/modules/commission/models/commission-line.js +3 -2
  334. package/.medusa/server/src/modules/commission/models/commission-rate-value.d.ts +25 -0
  335. package/.medusa/server/src/modules/commission/models/commission-rate-value.js +17 -0
  336. package/.medusa/server/src/modules/commission/models/commission-rate.d.ts +9 -4
  337. package/.medusa/server/src/modules/commission/models/commission-rate.js +9 -6
  338. package/.medusa/server/src/modules/commission/models/commission-rule.d.ts +8 -3
  339. package/.medusa/server/src/modules/commission/models/index.d.ts +1 -0
  340. package/.medusa/server/src/modules/commission/models/index.js +4 -2
  341. package/.medusa/server/src/modules/commission/service.d.ts +170 -10
  342. package/.medusa/server/src/modules/commission/service.js +270 -114
  343. package/.medusa/server/src/modules/media/index.d.ts +21 -0
  344. package/.medusa/server/src/modules/media/index.js +12 -0
  345. package/.medusa/server/src/modules/media/migrations/Migration20260616000000.d.ts +5 -0
  346. package/.medusa/server/src/modules/media/migrations/Migration20260616000000.js +16 -0
  347. package/.medusa/server/src/modules/media/models/index.d.ts +1 -0
  348. package/.medusa/server/src/modules/media/models/index.js +9 -0
  349. package/.medusa/server/src/modules/media/models/media-image.d.ts +32 -0
  350. package/.medusa/server/src/modules/media/models/media-image.js +41 -0
  351. package/.medusa/server/src/modules/media/service.d.ts +17 -0
  352. package/.medusa/server/src/modules/media/service.js +10 -0
  353. package/.medusa/server/src/modules/offer/migrations/Migration20260622000000.d.ts +5 -0
  354. package/.medusa/server/src/modules/offer/migrations/Migration20260622000000.js +16 -0
  355. package/.medusa/server/src/modules/offer/models/offer.d.ts +2 -0
  356. package/.medusa/server/src/modules/offer/models/offer.js +8 -1
  357. package/.medusa/server/src/modules/offer/service.d.ts +10 -0
  358. package/.medusa/server/src/modules/offer/service.js +100 -1
  359. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000002.d.ts +14 -0
  360. package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000002.js +31 -0
  361. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.d.ts +2 -0
  362. package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.js +2 -1
  363. package/.medusa/server/src/modules/product-attribute/models/product-attribute.d.ts +2 -0
  364. package/.medusa/server/src/modules/product-attribute/models/product-attribute.js +2 -1
  365. package/.medusa/server/src/modules/product-attribute/service.d.ts +18 -3
  366. package/.medusa/server/src/modules/product-attribute/service.js +213 -1
  367. package/.medusa/server/src/modules/search/abstract-search-provider.d.ts +9 -0
  368. package/.medusa/server/src/modules/search/abstract-search-provider.js +20 -0
  369. package/.medusa/server/src/modules/search/index.d.ts +10 -0
  370. package/.medusa/server/src/modules/search/index.js +31 -0
  371. package/.medusa/server/src/modules/search/lib/build-docs.d.ts +84 -0
  372. package/.medusa/server/src/modules/search/lib/build-docs.js +207 -0
  373. package/.medusa/server/src/modules/search/lib/reindex.d.ts +7 -0
  374. package/.medusa/server/src/modules/search/lib/reindex.js +61 -0
  375. package/.medusa/server/src/modules/search/lib/sync.d.ts +9 -0
  376. package/.medusa/server/src/modules/search/lib/sync.js +73 -0
  377. package/.medusa/server/src/modules/search/loaders/providers.d.ts +5 -0
  378. package/.medusa/server/src/modules/search/loaders/providers.js +26 -0
  379. package/.medusa/server/src/modules/search/providers/index.d.ts +1 -0
  380. package/.medusa/server/src/modules/search/providers/index.js +6 -0
  381. package/.medusa/server/src/modules/search/providers/orama/index.d.ts +4 -0
  382. package/.medusa/server/src/modules/search/providers/orama/index.js +12 -0
  383. package/.medusa/server/src/modules/search/providers/orama/service.d.ts +19 -0
  384. package/.medusa/server/src/modules/search/providers/orama/service.js +148 -0
  385. package/.medusa/server/src/modules/search/providers/orama/types.d.ts +10 -0
  386. package/.medusa/server/src/modules/search/providers/orama/types.js +3 -0
  387. package/.medusa/server/src/modules/search/services/index.d.ts +2 -0
  388. package/.medusa/server/src/modules/search/services/index.js +24 -0
  389. package/.medusa/server/src/modules/search/services/search-module-service.d.ts +25 -0
  390. package/.medusa/server/src/modules/search/services/search-module-service.js +60 -0
  391. package/.medusa/server/src/modules/search/services/search-provider-service.d.ts +15 -0
  392. package/.medusa/server/src/modules/search/services/search-provider-service.js +30 -0
  393. package/.medusa/server/src/modules/seller/migrations/Migration20260616120000.d.ts +5 -0
  394. package/.medusa/server/src/modules/seller/migrations/Migration20260616120000.js +16 -0
  395. package/.medusa/server/src/modules/seller/models/address.d.ts +2 -2
  396. package/.medusa/server/src/modules/seller/models/member-invite.d.ts +2 -2
  397. package/.medusa/server/src/modules/seller/models/member.d.ts +2 -2
  398. package/.medusa/server/src/modules/seller/models/payment-details.d.ts +2 -2
  399. package/.medusa/server/src/modules/seller/models/payment-details.js +3 -3
  400. package/.medusa/server/src/modules/seller/models/professional-details.d.ts +2 -2
  401. package/.medusa/server/src/modules/seller/models/seller-member.d.ts +4 -4
  402. package/.medusa/server/src/modules/seller/models/seller.d.ts +2 -2
  403. package/.medusa/server/src/modules/seller/repositories/order-group.js +1 -11
  404. package/.medusa/server/src/modules/seller/service.d.ts +16 -16
  405. package/.medusa/server/src/modules/seller/service.js +1 -2
  406. package/.medusa/server/src/subscribers/order-edit-confirmed.d.ts +9 -2
  407. package/.medusa/server/src/subscribers/order-edit-confirmed.js +18 -6
  408. package/.medusa/server/src/subscribers/search-offer-changed.d.ts +6 -0
  409. package/.medusa/server/src/subscribers/search-offer-changed.js +34 -0
  410. package/.medusa/server/src/subscribers/search-product-changed.d.ts +5 -0
  411. package/.medusa/server/src/subscribers/search-product-changed.js +29 -0
  412. package/.medusa/server/src/subscribers/search-product-deleted.d.ts +5 -0
  413. package/.medusa/server/src/subscribers/search-product-deleted.js +23 -0
  414. package/.medusa/server/src/subscribers/search-reindex.d.ts +3 -0
  415. package/.medusa/server/src/subscribers/search-reindex.js +23 -0
  416. package/.medusa/server/src/subscribers/search-seller-changed.d.ts +5 -0
  417. package/.medusa/server/src/subscribers/search-seller-changed.js +44 -0
  418. package/.medusa/server/src/utils/dashboard/dashboard-base.js +6 -2
  419. package/.medusa/server/src/utils/disable-medusa-middlewares.js +7 -1
  420. package/.medusa/server/src/workflows/cart/hooks/validate.js +1 -12
  421. package/.medusa/server/src/workflows/cart/steps/prepare-adjustments-from-promotion-actions.js +3 -5
  422. package/.medusa/server/src/workflows/cart/utils/fields.js +1 -13
  423. package/.medusa/server/src/workflows/cart/utils/prepare-line-item-data.js +1 -3
  424. package/.medusa/server/src/workflows/cart/workflows/add-seller-shipping-method-to-cart.js +1 -2
  425. package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +1 -24
  426. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.d.ts +2 -2
  427. package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.js +1 -2
  428. package/.medusa/server/src/workflows/commission/steps/create-commission-rates.d.ts +1 -28
  429. package/.medusa/server/src/workflows/commission/steps/create-commission-rules.d.ts +13 -4
  430. package/.medusa/server/src/workflows/commission/steps/index.d.ts +1 -0
  431. package/.medusa/server/src/workflows/commission/steps/index.js +2 -1
  432. package/.medusa/server/src/workflows/commission/steps/update-commission-rates.d.ts +13 -4
  433. package/.medusa/server/src/workflows/commission/steps/update-commission-rules.d.ts +13 -4
  434. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.d.ts +2 -2
  435. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.js +1 -1
  436. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.d.ts +2 -0
  437. package/.medusa/server/src/workflows/commission/steps/validate-commission-rates-deletable.js +19 -0
  438. package/.medusa/server/src/workflows/commission/workflows/create-commission-rates.d.ts +1 -28
  439. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rates.d.ts +1 -2
  440. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rates.js +3 -1
  441. package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.js +2 -1
  442. package/.medusa/server/src/workflows/commission/workflows/update-commission-rates.d.ts +13 -4
  443. package/.medusa/server/src/workflows/customer-group/index.d.ts +2 -0
  444. package/.medusa/server/src/workflows/customer-group/index.js +19 -0
  445. package/.medusa/server/src/workflows/customer-group/steps/index.d.ts +1 -0
  446. package/.medusa/server/src/workflows/customer-group/steps/index.js +18 -0
  447. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.d.ts +6 -0
  448. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.js +38 -0
  449. package/.medusa/server/src/workflows/customer-group/workflows/create-seller-customer-groups.d.ts +7 -0
  450. package/.medusa/server/src/workflows/customer-group/workflows/create-seller-customer-groups.js +20 -0
  451. package/.medusa/server/src/workflows/customer-group/workflows/index.d.ts +1 -0
  452. package/.medusa/server/src/workflows/customer-group/workflows/index.js +18 -0
  453. package/.medusa/server/src/workflows/index.d.ts +2 -0
  454. package/.medusa/server/src/workflows/index.js +3 -1
  455. package/.medusa/server/src/workflows/media/index.d.ts +2 -0
  456. package/.medusa/server/src/workflows/media/index.js +19 -0
  457. package/.medusa/server/src/workflows/media/steps/create-images.d.ts +20 -0
  458. package/.medusa/server/src/workflows/media/steps/create-images.js +21 -0
  459. package/.medusa/server/src/workflows/media/steps/delete-images.d.ts +3 -0
  460. package/.medusa/server/src/workflows/media/steps/delete-images.js +21 -0
  461. package/.medusa/server/src/workflows/media/steps/index.d.ts +2 -0
  462. package/.medusa/server/src/workflows/media/steps/index.js +19 -0
  463. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.d.ts +8 -0
  464. package/.medusa/server/src/workflows/media/workflows/create-product-category-with-images.js +23 -0
  465. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.d.ts +8 -0
  466. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.js +23 -0
  467. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.d.ts +5 -0
  468. package/.medusa/server/src/workflows/media/workflows/delete-product-category-with-images.js +21 -0
  469. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.d.ts +5 -0
  470. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.js +21 -0
  471. package/.medusa/server/src/workflows/media/workflows/index.d.ts +8 -0
  472. package/.medusa/server/src/workflows/media/workflows/index.js +25 -0
  473. package/.medusa/server/src/workflows/media/workflows/set-category-images.d.ts +13 -0
  474. package/.medusa/server/src/workflows/media/workflows/set-category-images.js +71 -0
  475. package/.medusa/server/src/workflows/media/workflows/set-collection-images.d.ts +13 -0
  476. package/.medusa/server/src/workflows/media/workflows/set-collection-images.js +71 -0
  477. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.d.ts +9 -0
  478. package/.medusa/server/src/workflows/media/workflows/update-product-category-with-images.js +22 -0
  479. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.d.ts +9 -0
  480. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.js +22 -0
  481. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.d.ts +0 -12
  482. package/.medusa/server/src/workflows/offer/steps/add-offer-prices.js +1 -16
  483. package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +2 -0
  484. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.d.ts +0 -9
  485. package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.js +1 -10
  486. package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +2 -5
  487. package/.medusa/server/src/workflows/offer/steps/update-offers.js +1 -1
  488. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.d.ts +0 -11
  489. package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.js +1 -12
  490. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.d.ts +0 -10
  491. package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.js +1 -19
  492. package/.medusa/server/src/workflows/offer/workflows/create-offers.js +4 -16
  493. package/.medusa/server/src/workflows/offer/workflows/delete-offers.js +7 -2
  494. package/.medusa/server/src/workflows/offer/workflows/update-offers.d.ts +0 -11
  495. package/.medusa/server/src/workflows/offer/workflows/update-offers.js +2 -23
  496. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.d.ts +1 -2
  497. package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.js +1 -2
  498. package/.medusa/server/src/workflows/order/workflows/confirm-claim-request.js +1 -3
  499. package/.medusa/server/src/workflows/order/workflows/confirm-exchange-request.js +1 -8
  500. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.d.ts +7 -0
  501. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.js +165 -0
  502. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +2 -10
  503. package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.js +2 -3
  504. package/.medusa/server/src/workflows/order/workflows/index.d.ts +1 -0
  505. package/.medusa/server/src/workflows/order/workflows/index.js +2 -1
  506. package/.medusa/server/src/workflows/order-group/utils/aggregate-status.js +1 -7
  507. package/.medusa/server/src/workflows/order-group/workflows/get-order-groups-list.d.ts +1 -0
  508. package/.medusa/server/src/workflows/order-group/workflows/get-order-groups-list.js +11 -2
  509. package/.medusa/server/src/workflows/payout/workflows/create-payout.js +34 -21
  510. package/.medusa/server/src/workflows/product/events.d.ts +0 -6
  511. package/.medusa/server/src/workflows/product/events.js +1 -7
  512. package/.medusa/server/src/workflows/product/steps/index.d.ts +0 -2
  513. package/.medusa/server/src/workflows/product/steps/index.js +1 -3
  514. package/.medusa/server/src/workflows/product/steps/validate-products-status.d.ts +0 -8
  515. package/.medusa/server/src/workflows/product/steps/validate-products-status.js +1 -9
  516. package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.js +1 -3
  517. package/.medusa/server/src/workflows/product/workflows/assign-products-to-category.d.ts +12 -0
  518. package/.medusa/server/src/workflows/product/workflows/assign-products-to-category.js +23 -0
  519. package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +4 -20
  520. package/.medusa/server/src/workflows/product/workflows/confirm-products.js +2 -13
  521. package/.medusa/server/src/workflows/product/workflows/create-products.d.ts +4 -52
  522. package/.medusa/server/src/workflows/product/workflows/create-products.js +69 -158
  523. package/.medusa/server/src/workflows/product/workflows/index.d.ts +1 -1
  524. package/.medusa/server/src/workflows/product/workflows/index.js +2 -2
  525. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.d.ts +0 -7
  526. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.js +1 -1
  527. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.d.ts +0 -7
  528. package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.js +1 -1
  529. package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +4 -11
  530. package/.medusa/server/src/workflows/product/workflows/reject-product.js +2 -8
  531. package/.medusa/server/src/workflows/product/workflows/request-product-change.d.ts +4 -18
  532. package/.medusa/server/src/workflows/product/workflows/request-product-change.js +2 -15
  533. package/.medusa/server/src/workflows/product-attribute/events.d.ts +0 -9
  534. package/.medusa/server/src/workflows/product-attribute/events.js +1 -10
  535. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.d.ts +1 -31
  536. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.d.ts +1 -41
  537. package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.js +1 -1
  538. package/.medusa/server/src/workflows/product-attribute/steps/detach-product-option-values-from-product.d.ts +14 -0
  539. package/.medusa/server/src/workflows/product-attribute/steps/detach-product-option-values-from-product.js +40 -0
  540. package/.medusa/server/src/workflows/product-attribute/steps/index.d.ts +3 -4
  541. package/.medusa/server/src/workflows/product-attribute/steps/index.js +4 -5
  542. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.d.ts +6 -3
  543. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.js +17 -2
  544. package/.medusa/server/src/workflows/product-attribute/steps/update-product-attributes.d.ts +1 -31
  545. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-linked.d.ts +2 -0
  546. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-linked.js +28 -0
  547. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-required.d.ts +7 -0
  548. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attributes-not-required.js +16 -0
  549. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attributes-to-product.d.ts +9 -0
  550. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attributes-to-product.js +242 -0
  551. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.d.ts +15 -0
  552. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.js +28 -0
  553. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.js +44 -3
  554. package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.js +41 -17
  555. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.js +36 -15
  556. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.d.ts +0 -7
  557. package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.js +11 -8
  558. package/.medusa/server/src/workflows/product-attribute/workflows/index.d.ts +4 -6
  559. package/.medusa/server/src/workflows/product-attribute/workflows/index.js +5 -7
  560. package/.medusa/server/src/workflows/product-attribute/workflows/remove-product-attributes-from-product.d.ts +10 -0
  561. package/.medusa/server/src/workflows/product-attribute/workflows/remove-product-attributes-from-product.js +83 -0
  562. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.js +34 -1
  563. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.d.ts +11 -0
  564. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.js +285 -0
  565. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.js +15 -1
  566. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.d.ts +4 -11
  567. package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.js +19 -19
  568. package/.medusa/server/src/workflows/product-edit/events.d.ts +0 -7
  569. package/.medusa/server/src/workflows/product-edit/events.js +1 -8
  570. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.d.ts +16 -0
  571. package/.medusa/server/src/workflows/product-edit/steps/apply-variant-image-links.js +35 -0
  572. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.d.ts +0 -4
  573. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.js +1 -5
  574. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.d.ts +0 -6
  575. package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.js +1 -7
  576. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.d.ts +0 -5
  577. package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.js +1 -6
  578. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.d.ts +0 -6
  579. package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.js +1 -1
  580. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.d.ts +0 -5
  581. package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.js +1 -6
  582. package/.medusa/server/src/workflows/product-edit/steps/index.d.ts +1 -0
  583. package/.medusa/server/src/workflows/product-edit/steps/index.js +2 -1
  584. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.d.ts +0 -5
  585. package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.js +1 -6
  586. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +0 -6
  587. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +2 -8
  588. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.d.ts +5 -19
  589. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.js +11 -128
  590. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.d.ts +0 -31
  591. package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.js +43 -50
  592. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.d.ts +1 -9
  593. package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.js +3 -11
  594. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.d.ts +0 -11
  595. package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.js +1 -12
  596. package/.medusa/server/src/workflows/product-edit/workflows/index.d.ts +1 -1
  597. package/.medusa/server/src/workflows/product-edit/workflows/index.js +2 -2
  598. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.d.ts +0 -7
  599. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +10 -9
  600. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.d.ts +4 -46
  601. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.js +11 -162
  602. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.d.ts +16 -0
  603. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.js +139 -0
  604. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.d.ts +0 -10
  605. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +71 -17
  606. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.d.ts +0 -24
  607. package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.js +1 -15
  608. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.d.ts +1 -25
  609. package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.js +2 -15
  610. package/.medusa/server/src/workflows/promotion/steps/register-usage.d.ts +0 -3
  611. package/.medusa/server/src/workflows/promotion/steps/register-usage.js +1 -4
  612. package/.medusa/server/src/workflows/seller/steps/create-seller-member.d.ts +4 -4
  613. package/.medusa/server/src/workflows/seller/steps/update-member.d.ts +2 -2
  614. package/.medusa/server/src/workflows/seller/steps/update-seller-member.d.ts +4 -4
  615. package/.medusa/server/src/workflows/seller/workflows/accept-member-invite.js +1 -2
  616. package/.medusa/server/src/workflows/seller/workflows/add-seller-member.d.ts +4 -4
  617. package/.medusa/server/src/workflows/seller/workflows/approve-seller.d.ts +4 -4
  618. package/.medusa/server/src/workflows/seller/workflows/approve-seller.js +2 -1
  619. package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +1 -2
  620. package/.medusa/server/src/workflows/seller/workflows/suspend-seller.d.ts +4 -4
  621. package/.medusa/server/src/workflows/seller/workflows/suspend-seller.js +2 -1
  622. package/.medusa/server/src/workflows/seller/workflows/terminate-seller.d.ts +4 -4
  623. package/.medusa/server/src/workflows/seller/workflows/terminate-seller.js +2 -1
  624. package/.medusa/server/src/workflows/seller/workflows/unsuspend-seller.d.ts +4 -4
  625. package/.medusa/server/src/workflows/seller/workflows/unsuspend-seller.js +2 -1
  626. package/.medusa/server/src/workflows/seller/workflows/unterminate-seller.d.ts +4 -4
  627. package/.medusa/server/src/workflows/seller/workflows/unterminate-seller.js +2 -1
  628. package/.medusa/server/src/workflows/seller/workflows/update-member.d.ts +12 -101
  629. package/.medusa/server/src/workflows/seller/workflows/update-member.js +6 -2
  630. package/package.json +22 -21
  631. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.d.ts +0 -13
  632. package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.js +0 -90
  633. package/.medusa/server/src/api/admin/products/[id]/attributes/route.d.ts +0 -5
  634. package/.medusa/server/src/api/admin/products/[id]/attributes/route.js +0 -63
  635. package/.medusa/server/src/api/vendor/orders/apply-request-filter.d.ts +0 -2
  636. package/.medusa/server/src/api/vendor/orders/apply-request-filter.js +0 -99
  637. package/.medusa/server/src/api/vendor/payment-collections/[id]/mark-as-paid/route.d.ts +0 -3
  638. package/.medusa/server/src/api/vendor/payment-collections/[id]/mark-as-paid/route.js +0 -25
  639. package/.medusa/server/src/api/vendor/payment-collections/helpers.d.ts +0 -3
  640. package/.medusa/server/src/api/vendor/payment-collections/helpers.js +0 -30
  641. package/.medusa/server/src/api/vendor/payment-collections/middlewares.d.ts +0 -2
  642. package/.medusa/server/src/api/vendor/payment-collections/middlewares.js +0 -17
  643. package/.medusa/server/src/api/vendor/payment-collections/query-config.d.ts +0 -7
  644. package/.medusa/server/src/api/vendor/payment-collections/query-config.js +0 -26
  645. package/.medusa/server/src/api/vendor/payment-collections/validators.d.ts +0 -17
  646. package/.medusa/server/src/api/vendor/payment-collections/validators.js +0 -12
  647. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.d.ts +0 -22
  648. package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.js +0 -97
  649. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.d.ts +0 -15
  650. package/.medusa/server/src/api/vendor/products/[id]/attributes/route.js +0 -80
  651. package/.medusa/server/src/links/line-item-commission-line-link.js +0 -21
  652. package/.medusa/server/src/links/product-attribute-value-link.d.ts +0 -22
  653. package/.medusa/server/src/links/product-attribute-value-link.js +0 -46
  654. package/.medusa/server/src/links/product-variant-attribute-link.js +0 -21
  655. package/.medusa/server/src/links/product-variant-attribute-value-link.js +0 -21
  656. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.d.ts +0 -28
  657. package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.js +0 -72
  658. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.d.ts +0 -90
  659. package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.js +0 -185
  660. package/.medusa/server/src/workflows/product/workflows/update-products.d.ts +0 -39
  661. package/.medusa/server/src/workflows/product/workflows/update-products.js +0 -161
  662. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.d.ts +0 -43
  663. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.js +0 -51
  664. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.d.ts +0 -7
  665. package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.js +0 -59
  666. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.d.ts +0 -6
  667. package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.js +0 -20
  668. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.d.ts +0 -7
  669. package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.js +0 -20
  670. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.d.ts +0 -52
  671. package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.js +0 -120
  672. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.d.ts +0 -23
  673. package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.js +0 -252
  674. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.d.ts +0 -17
  675. package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.js +0 -62
  676. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.d.ts +0 -135
  677. package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.js +0 -43
  678. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.d.ts +0 -24
  679. package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.js +0 -27
  680. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute.d.ts +0 -23
  681. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute.js +0 -67
  682. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.d.ts +0 -25
  683. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.js +0 -148
  684. /package/.medusa/server/src/links/{line-item-commission-line-link.d.ts → offer-product-link.d.ts} +0 -0
  685. /package/.medusa/server/src/links/{product-variant-attribute-link.d.ts → seller-customer-group-link.d.ts} +0 -0
@@ -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,189 +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
- "is_required",
81
- "rank",
82
- "product_id",
83
- ],
84
- filters: { id: Array.from(attributeIds) },
85
- });
86
- const { data: allValues } = await query.graph({
87
- entity: "product_attribute_value",
88
- fields: ["id", "name", "rank", "attribute_id"],
89
- filters: { attribute_id: Array.from(attributeIds) },
90
- });
91
- const attrTemplateById = new Map();
92
- for (const attr of attributes) {
93
- attrTemplateById.set(attr.id, {
94
- id: attr.id,
95
- name: attr.name,
96
- handle: attr.handle ?? null,
97
- type: attr.type,
98
- is_variant_axis: !!attr.is_variant_axis,
99
- is_required: !!attr.is_required,
100
- rank: attr.rank,
101
- all_values: [],
102
- });
103
- }
104
- for (const v of allValues) {
105
- if (!v.attribute_id)
106
- continue;
107
- const tmpl = attrTemplateById.get(v.attribute_id);
108
- if (!tmpl)
109
- continue;
110
- tmpl.all_values.push({ id: v.id, name: v.name, rank: v.rank });
111
- }
112
- for (const tmpl of attrTemplateById.values()) {
113
- tmpl.all_values.sort((a, b) => (a.rank ?? 0) - (b.rank ?? 0));
114
- }
115
16
  for (const product of products) {
116
17
  if (!product)
117
18
  continue;
118
- const productValueIds = (product.attribute_values ?? [])
119
- .map((v) => v?.id)
120
- .filter((id) => typeof id === "string");
121
- const productScopedAttrIds = (product.scoped_attributes ?? [])
122
- .map((a) => a?.id)
123
- .filter((id) => typeof id === "string");
124
- const attrsForProduct = new Map();
125
- for (const aid of productScopedAttrIds) {
126
- const tmpl = attrTemplateById.get(aid);
127
- if (tmpl)
128
- attrsForProduct.set(aid, {
129
- ...tmpl,
130
- all_values: [...tmpl.all_values],
131
- values: [],
132
- });
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
+ });
133
34
  }
134
- for (const vid of productValueIds) {
135
- const v = selectedValueById.get(vid);
136
- 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)
137
39
  continue;
138
- let attr = attrsForProduct.get(v.attribute_id);
139
- if (!attr) {
140
- const tmpl = attrTemplateById.get(v.attribute_id);
141
- if (!tmpl)
142
- continue;
143
- attr = {
144
- ...tmpl,
145
- 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),
146
53
  values: [],
147
54
  };
148
- attrsForProduct.set(v.attribute_id, attr);
55
+ attrsById.set(attributeId, entry);
149
56
  }
150
- 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
+ });
151
62
  }
152
- for (const attr of attrsForProduct.values()) {
153
- 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);
154
66
  }
155
- 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));
156
68
  }
157
69
  }
158
70
  /**
159
- * Groups `product.attribute_values` (from a 2-hop graph fetch with
160
- * `attribute_values.attribute.*`) into one entry per attribute, each
161
- * carrying only the values selected on this product. Pass
162
- * `options.attributeId` to narrow the result to a single attribute for
163
- * 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.
164
75
  */
165
- function groupProductAttributeValues(attributeValues, options) {
166
- const byId = new Map();
167
- for (const v of attributeValues ?? []) {
168
- const attr = v.attribute;
169
- if (!attr?.id)
170
- continue;
171
- if (options?.attributeId && attr.id !== options.attributeId)
172
- continue;
173
- let grouped = byId.get(attr.id);
174
- if (!grouped) {
175
- grouped = {
176
- id: attr.id,
177
- name: attr.name,
178
- handle: attr.handle ?? null,
179
- type: attr.type,
180
- is_variant_axis: !!attr.is_variant_axis,
181
- values: [],
182
- };
183
- 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
+ }
184
110
  }
185
- grouped.values.push({ id: v.id, name: v.name });
186
111
  }
187
- return Array.from(byId.values());
188
112
  }
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXByb2R1Y3QtYXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdXRpbHMvZm9ybWF0LXByb2R1Y3QtYXR0cmlidXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtDQSwwREF3TEM7QUE4QkQsa0VBd0JDO0FBaFJELHFEQUFxRTtBQWVyRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0ksS0FBSyxVQUFVLHVCQUF1QixDQUMzQyxLQUFzQixFQUN0QixRQUFlO0lBRWYsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNO1FBQUUsT0FBTTtJQUU3QixnRUFBZ0U7SUFDaEUseUJBQXlCO0lBQ3pCLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUFFLE9BQU8sQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFBO0lBQzdELENBQUM7SUFFRCxtRUFBbUU7SUFDbkUscUVBQXFFO0lBQ3JFLDJCQUEyQjtJQUMzQixNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFBO0lBQ3hDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtJQUM1QyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLElBQUksRUFBRSxDQUU5QyxFQUFFLENBQUM7WUFDSCxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxRQUFRO2dCQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3pELENBQUM7UUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGlCQUFpQixJQUFJLEVBQUUsQ0FFL0MsRUFBRSxDQUFDO1lBQ0gsSUFBSSxPQUFPLENB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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 {};