@medusajs/medusa 1.2.2-dev.47 → 1.3.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 (440) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/api/index.d.ts +1 -0
  3. package/dist/api/index.js +1 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/middlewares/error-handler.js +1 -1
  6. package/dist/api/routes/admin/auth/create-session.js +5 -5
  7. package/dist/api/routes/admin/auth/create-session.js.map +1 -1
  8. package/dist/api/routes/admin/customer-groups/get-customer-group-customers.d.ts +20 -0
  9. package/dist/api/routes/admin/customer-groups/get-customer-group-customers.js +76 -0
  10. package/dist/api/routes/admin/customer-groups/get-customer-group-customers.js.map +1 -0
  11. package/dist/api/routes/admin/customer-groups/index.js +1 -0
  12. package/dist/api/routes/admin/customer-groups/index.js.map +1 -1
  13. package/dist/api/routes/admin/customer-groups/list-customer-groups.js +2 -2
  14. package/dist/api/routes/admin/customer-groups/list-customer-groups.js.map +1 -1
  15. package/dist/api/routes/admin/customers/index.js +1 -1
  16. package/dist/api/routes/admin/customers/index.js.map +1 -1
  17. package/dist/api/routes/admin/customers/list-customers.js +1 -0
  18. package/dist/api/routes/admin/customers/list-customers.js.map +1 -1
  19. package/dist/api/routes/admin/discounts/create-discount.d.ts +11 -2
  20. package/dist/api/routes/admin/discounts/create-discount.js +66 -12
  21. package/dist/api/routes/admin/discounts/create-discount.js.map +1 -1
  22. package/dist/api/routes/admin/discounts/create-dynamic-code.d.ts +1 -0
  23. package/dist/api/routes/admin/discounts/create-dynamic-code.js +4 -1
  24. package/dist/api/routes/admin/discounts/create-dynamic-code.js.map +1 -1
  25. package/dist/api/routes/admin/discounts/delete-dynamic-code.js +3 -1
  26. package/dist/api/routes/admin/discounts/delete-dynamic-code.js.map +1 -1
  27. package/dist/api/routes/admin/discounts/get-discount.d.ts +7 -0
  28. package/dist/api/routes/admin/discounts/get-discount.js +43 -9
  29. package/dist/api/routes/admin/discounts/get-discount.js.map +1 -1
  30. package/dist/api/routes/admin/discounts/index.d.ts +1 -3
  31. package/dist/api/routes/admin/discounts/index.js +1 -6
  32. package/dist/api/routes/admin/discounts/index.js.map +1 -1
  33. package/dist/api/routes/admin/discounts/list-discounts.d.ts +2 -6
  34. package/dist/api/routes/admin/discounts/list-discounts.js +15 -28
  35. package/dist/api/routes/admin/discounts/list-discounts.js.map +1 -1
  36. package/dist/api/routes/admin/discounts/update-discount.d.ts +12 -2
  37. package/dist/api/routes/admin/discounts/update-discount.js +70 -15
  38. package/dist/api/routes/admin/discounts/update-discount.js.map +1 -1
  39. package/dist/api/routes/admin/draft-orders/create-draft-order.d.ts +3 -3
  40. package/dist/api/routes/admin/draft-orders/create-draft-order.js.map +1 -1
  41. package/dist/api/routes/admin/draft-orders/create-line-item.d.ts +1 -1
  42. package/dist/api/routes/admin/draft-orders/create-line-item.js.map +1 -1
  43. package/dist/api/routes/admin/draft-orders/index.js +7 -1
  44. package/dist/api/routes/admin/draft-orders/index.js.map +1 -1
  45. package/dist/api/routes/admin/draft-orders/register-payment.js +0 -1
  46. package/dist/api/routes/admin/draft-orders/register-payment.js.map +1 -1
  47. package/dist/api/routes/admin/draft-orders/update-line-item.d.ts +1 -1
  48. package/dist/api/routes/admin/draft-orders/update-line-item.js.map +1 -1
  49. package/dist/api/routes/admin/index.js +21 -19
  50. package/dist/api/routes/admin/index.js.map +1 -1
  51. package/dist/api/routes/admin/notifications/index.js.map +1 -1
  52. package/dist/api/routes/admin/notifications/list-notifications.js.map +1 -1
  53. package/dist/api/routes/admin/notifications/resend-notification.js.map +1 -1
  54. package/dist/api/routes/admin/orders/add-shipping-method.d.ts +1 -1
  55. package/dist/api/routes/admin/orders/add-shipping-method.js.map +1 -1
  56. package/dist/api/routes/admin/orders/create-order.js.map +1 -1
  57. package/dist/api/routes/admin/orders/create-swap.js +7 -3
  58. package/dist/api/routes/admin/orders/create-swap.js.map +1 -1
  59. package/dist/api/routes/admin/orders/index.d.ts +1 -1
  60. package/dist/api/routes/admin/orders/index.js +1 -3
  61. package/dist/api/routes/admin/orders/index.js.map +1 -1
  62. package/dist/api/routes/admin/orders/list-orders.js.map +1 -1
  63. package/dist/api/routes/admin/orders/update-order.js.map +1 -1
  64. package/dist/api/routes/admin/price-lists/add-prices-batch.d.ts +70 -0
  65. package/dist/api/routes/admin/{orders/receive-swap.js → price-lists/add-prices-batch.js} +77 -78
  66. package/dist/api/routes/admin/price-lists/add-prices-batch.js.map +1 -0
  67. package/dist/api/routes/admin/price-lists/create-price-list.d.ts +87 -0
  68. package/dist/api/routes/admin/price-lists/create-price-list.js +193 -0
  69. package/dist/api/routes/admin/price-lists/create-price-list.js.map +1 -0
  70. package/dist/api/routes/admin/price-lists/delete-price-list.d.ts +28 -0
  71. package/dist/api/routes/admin/{discounts/remove-valid-product.js → price-lists/delete-price-list.js} +27 -25
  72. package/dist/api/routes/admin/price-lists/delete-price-list.js.map +1 -0
  73. package/dist/api/routes/admin/price-lists/delete-prices-batch.d.ts +43 -0
  74. package/dist/api/routes/{store/carts/update-payment-method.js → admin/price-lists/delete-prices-batch.js} +42 -46
  75. package/dist/api/routes/admin/price-lists/delete-prices-batch.js.map +1 -0
  76. package/dist/api/routes/admin/price-lists/get-price-list.d.ts +22 -0
  77. package/dist/api/routes/admin/{discounts/add-valid-product.js → price-lists/get-price-list.js} +20 -24
  78. package/dist/api/routes/admin/price-lists/get-price-list.js.map +1 -0
  79. package/dist/api/routes/admin/price-lists/index.d.ts +28 -0
  80. package/dist/api/routes/admin/price-lists/index.js +55 -0
  81. package/dist/api/routes/admin/price-lists/index.js.map +1 -0
  82. package/dist/api/routes/admin/price-lists/list-price-list-products.d.ts +74 -0
  83. package/dist/api/routes/admin/price-lists/list-price-list-products.js +246 -0
  84. package/dist/api/routes/admin/price-lists/list-price-list-products.js.map +1 -0
  85. package/dist/api/routes/admin/price-lists/list-price-lists.d.ts +38 -0
  86. package/dist/api/routes/admin/price-lists/list-price-lists.js +197 -0
  87. package/dist/api/routes/admin/price-lists/list-price-lists.js.map +1 -0
  88. package/dist/api/routes/admin/price-lists/update-price-list.d.ts +92 -0
  89. package/dist/api/routes/admin/price-lists/update-price-list.js +211 -0
  90. package/dist/api/routes/admin/price-lists/update-price-list.js.map +1 -0
  91. package/dist/api/routes/admin/products/create-product.d.ts +2 -7
  92. package/dist/api/routes/admin/products/create-product.js +2 -24
  93. package/dist/api/routes/admin/products/create-product.js.map +1 -1
  94. package/dist/api/routes/admin/products/create-variant.d.ts +7 -9
  95. package/dist/api/routes/admin/products/create-variant.js +7 -26
  96. package/dist/api/routes/admin/products/create-variant.js.map +1 -1
  97. package/dist/api/routes/admin/products/index.d.ts +1 -1
  98. package/dist/api/routes/admin/products/index.js +7 -1
  99. package/dist/api/routes/admin/products/index.js.map +1 -1
  100. package/dist/api/routes/admin/products/list-products.d.ts +2 -1
  101. package/dist/api/routes/admin/products/list-products.js +31 -65
  102. package/dist/api/routes/admin/products/list-products.js.map +1 -1
  103. package/dist/api/routes/admin/products/update-product.d.ts +2 -7
  104. package/dist/api/routes/admin/products/update-product.js +2 -24
  105. package/dist/api/routes/admin/products/update-product.js.map +1 -1
  106. package/dist/api/routes/admin/products/update-variant.d.ts +10 -9
  107. package/dist/api/routes/admin/products/update-variant.js +21 -33
  108. package/dist/api/routes/admin/products/update-variant.js.map +1 -1
  109. package/dist/api/routes/admin/regions/index.d.ts +1 -1
  110. package/dist/api/routes/admin/store/get-store.js.map +1 -1
  111. package/dist/api/routes/admin/swaps/index.js +3 -0
  112. package/dist/api/routes/admin/swaps/index.js.map +1 -1
  113. package/dist/api/routes/admin/tax-rates/list-tax-rates.js.map +1 -1
  114. package/dist/api/routes/admin/tax-rates/utils/get-query-config.d.ts +1 -1
  115. package/dist/api/routes/admin/tax-rates/utils/get-query-config.js +4 -2
  116. package/dist/api/routes/admin/tax-rates/utils/get-query-config.js.map +1 -1
  117. package/dist/api/routes/admin/uploads/index.d.ts +1 -1
  118. package/dist/api/routes/store/auth/create-session.js +4 -5
  119. package/dist/api/routes/store/auth/create-session.js.map +1 -1
  120. package/dist/api/routes/store/carts/create-cart.js +8 -5
  121. package/dist/api/routes/store/carts/create-cart.js.map +1 -1
  122. package/dist/api/routes/store/carts/create-line-item.d.ts +1 -1
  123. package/dist/api/routes/store/carts/create-line-item.js +9 -6
  124. package/dist/api/routes/store/carts/create-line-item.js.map +1 -1
  125. package/dist/api/routes/store/carts/index.d.ts +0 -1
  126. package/dist/api/routes/store/carts/index.js +1 -3
  127. package/dist/api/routes/store/carts/index.js.map +1 -1
  128. package/dist/api/routes/store/carts/update-cart.js +7 -7
  129. package/dist/api/routes/store/carts/update-cart.js.map +1 -1
  130. package/dist/api/routes/store/collections/list-collections.d.ts +3 -0
  131. package/dist/api/routes/store/collections/list-collections.js +33 -16
  132. package/dist/api/routes/store/collections/list-collections.js.map +1 -1
  133. package/dist/api/routes/store/customers/create-customer.js +3 -4
  134. package/dist/api/routes/store/customers/create-customer.js.map +1 -1
  135. package/dist/api/routes/store/orders/index.js +0 -2
  136. package/dist/api/routes/store/orders/index.js.map +1 -1
  137. package/dist/api/routes/store/products/get-product.js +17 -5
  138. package/dist/api/routes/store/products/get-product.js.map +1 -1
  139. package/dist/api/routes/store/products/index.d.ts +2 -2
  140. package/dist/api/routes/store/products/list-products.d.ts +5 -3
  141. package/dist/api/routes/store/products/list-products.js +60 -18
  142. package/dist/api/routes/store/products/list-products.js.map +1 -1
  143. package/dist/api/routes/store/products/search.d.ts +1 -1
  144. package/dist/api/routes/store/products/search.js.map +1 -1
  145. package/dist/api/routes/store/regions/list-regions.d.ts +3 -0
  146. package/dist/api/routes/store/regions/list-regions.js +22 -7
  147. package/dist/api/routes/store/regions/list-regions.js.map +1 -1
  148. package/dist/api/routes/store/shipping-options/list-options.js.map +1 -1
  149. package/dist/api/routes/store/swaps/create-swap.js +7 -3
  150. package/dist/api/routes/store/swaps/create-swap.js.map +1 -1
  151. package/dist/api/routes/store/variants/get-variant.js +17 -5
  152. package/dist/api/routes/store/variants/get-variant.js.map +1 -1
  153. package/dist/api/routes/store/variants/list-variants.d.ts +6 -1
  154. package/dist/api/routes/store/variants/list-variants.js +63 -10
  155. package/dist/api/routes/store/variants/list-variants.js.map +1 -1
  156. package/dist/commands/develop.js +1 -1
  157. package/dist/commands/develop.js.map +1 -1
  158. package/dist/controllers/customers/index.d.ts +1 -1
  159. package/dist/controllers/customers/list-customers.d.ts +1 -1
  160. package/dist/controllers/customers/list-customers.js +34 -37
  161. package/dist/controllers/customers/list-customers.js.map +1 -1
  162. package/dist/controllers/products/admin-list-products.d.ts +16 -0
  163. package/dist/controllers/products/admin-list-products.js +103 -0
  164. package/dist/controllers/products/admin-list-products.js.map +1 -0
  165. package/dist/helpers/test-request.js +15 -7
  166. package/dist/helpers/test-request.js.map +1 -1
  167. package/dist/index.d.ts +3 -58
  168. package/dist/index.js +3 -61
  169. package/dist/index.js.map +1 -1
  170. package/dist/interfaces/base-service.d.ts +66 -0
  171. package/dist/interfaces/base-service.js +378 -0
  172. package/dist/interfaces/base-service.js.map +1 -0
  173. package/dist/interfaces/index.d.ts +1 -0
  174. package/dist/interfaces/index.js +1 -0
  175. package/dist/interfaces/index.js.map +1 -1
  176. package/dist/interfaces/price-selection-strategy.d.ts +50 -0
  177. package/dist/interfaces/price-selection-strategy.js +34 -0
  178. package/dist/interfaces/price-selection-strategy.js.map +1 -0
  179. package/dist/interfaces/tax-service.d.ts +6 -0
  180. package/dist/interfaces/tax-service.js +31 -0
  181. package/dist/interfaces/tax-service.js.map +1 -1
  182. package/dist/loaders/api.d.ts +9 -5
  183. package/dist/loaders/api.js +2 -6
  184. package/dist/loaders/api.js.map +1 -1
  185. package/dist/loaders/config.d.ts +3 -0
  186. package/dist/loaders/config.js +47 -0
  187. package/dist/loaders/config.js.map +1 -0
  188. package/dist/loaders/database.d.ts +8 -4
  189. package/dist/loaders/database.js.map +1 -1
  190. package/dist/loaders/defaults.d.ts +4 -3
  191. package/dist/loaders/defaults.js +39 -31
  192. package/dist/loaders/defaults.js.map +1 -1
  193. package/dist/loaders/express.d.ts +7 -4
  194. package/dist/loaders/express.js +7 -5
  195. package/dist/loaders/express.js.map +1 -1
  196. package/dist/loaders/index.d.ts +13 -8
  197. package/dist/loaders/index.js +29 -54
  198. package/dist/loaders/index.js.map +1 -1
  199. package/dist/loaders/logger.d.ts +1 -0
  200. package/dist/loaders/logger.js.map +1 -1
  201. package/dist/loaders/models.d.ts +8 -3
  202. package/dist/loaders/models.js +19 -17
  203. package/dist/loaders/models.js.map +1 -1
  204. package/dist/loaders/passport.d.ts +7 -4
  205. package/dist/loaders/passport.js +23 -21
  206. package/dist/loaders/passport.js.map +1 -1
  207. package/dist/loaders/plugins.d.ts +18 -10
  208. package/dist/loaders/plugins.js +27 -24
  209. package/dist/loaders/plugins.js.map +1 -1
  210. package/dist/loaders/redis.d.ts +8 -5
  211. package/dist/loaders/redis.js +3 -3
  212. package/dist/loaders/redis.js.map +1 -1
  213. package/dist/loaders/repositories.d.ts +7 -3
  214. package/dist/loaders/repositories.js +1 -1
  215. package/dist/loaders/repositories.js.map +1 -1
  216. package/dist/loaders/search-index.d.ts +4 -3
  217. package/dist/loaders/search-index.js.map +1 -1
  218. package/dist/loaders/services.d.ts +10 -5
  219. package/dist/loaders/services.js.map +1 -1
  220. package/dist/loaders/strategies.d.ts +1 -1
  221. package/dist/loaders/subscribers.d.ts +7 -3
  222. package/dist/loaders/subscribers.js.map +1 -1
  223. package/dist/migrations/1646324713514-discount_conditions.d.ts +6 -0
  224. package/dist/migrations/1646324713514-discount_conditions.js +335 -0
  225. package/dist/migrations/1646324713514-discount_conditions.js.map +1 -0
  226. package/dist/migrations/1646915480108-update_money_amount_add_price_list.d.ts +6 -0
  227. package/dist/migrations/1646915480108-update_money_amount_add_price_list.js +143 -0
  228. package/dist/migrations/1646915480108-update_money_amount_add_price_list.js.map +1 -0
  229. package/dist/migrations/1648600574750-add_line_item_adjustments.d.ts +6 -0
  230. package/dist/migrations/1648600574750-add_line_item_adjustments.js +101 -0
  231. package/dist/migrations/1648600574750-add_line_item_adjustments.js.map +1 -0
  232. package/dist/migrations/1648641130007-tax_line_constraints.d.ts +6 -0
  233. package/dist/migrations/1648641130007-tax_line_constraints.js +77 -0
  234. package/dist/migrations/1648641130007-tax_line_constraints.js.map +1 -0
  235. package/dist/migrations/1649775522087-add_batch_job_model.d.ts +6 -0
  236. package/dist/migrations/1649775522087-add_batch_job_model.js +77 -0
  237. package/dist/migrations/1649775522087-add_batch_job_model.js.map +1 -0
  238. package/dist/models/batch-job.d.ts +58 -0
  239. package/dist/models/batch-job.js +119 -0
  240. package/dist/models/batch-job.js.map +1 -0
  241. package/dist/models/country.d.ts +1 -1
  242. package/dist/models/country.js +1 -1
  243. package/dist/models/country.js.map +1 -1
  244. package/dist/models/customer-group.d.ts +3 -1
  245. package/dist/models/customer-group.js +9 -13
  246. package/dist/models/customer-group.js.map +1 -1
  247. package/dist/models/discount-condition-customer-group.d.ts +39 -0
  248. package/dist/models/discount-condition-customer-group.js +84 -0
  249. package/dist/models/discount-condition-customer-group.js.map +1 -0
  250. package/dist/models/discount-condition-product-collection.d.ts +39 -0
  251. package/dist/models/discount-condition-product-collection.js +84 -0
  252. package/dist/models/discount-condition-product-collection.js.map +1 -0
  253. package/dist/models/discount-condition-product-tag.d.ts +39 -0
  254. package/dist/models/discount-condition-product-tag.js +84 -0
  255. package/dist/models/discount-condition-product-tag.js.map +1 -0
  256. package/dist/models/discount-condition-product-type.d.ts +39 -0
  257. package/dist/models/discount-condition-product-type.js +84 -0
  258. package/dist/models/discount-condition-product-type.js.map +1 -0
  259. package/dist/models/discount-condition-product.d.ts +39 -0
  260. package/dist/models/discount-condition-product.js +84 -0
  261. package/dist/models/discount-condition-product.js.map +1 -0
  262. package/dist/models/discount-condition.d.ts +68 -0
  263. package/dist/models/discount-condition.js +208 -0
  264. package/dist/models/discount-condition.js.map +1 -0
  265. package/dist/models/discount-rule.d.ts +5 -5
  266. package/dist/models/discount-rule.js +6 -17
  267. package/dist/models/discount-rule.js.map +1 -1
  268. package/dist/models/discount.js.map +1 -1
  269. package/dist/models/index.d.ts +66 -0
  270. package/dist/models/index.js +79 -0
  271. package/dist/models/index.js.map +1 -0
  272. package/dist/models/line-item-adjustment.d.ts +13 -0
  273. package/dist/models/line-item-adjustment.js +79 -0
  274. package/dist/models/line-item-adjustment.js.map +1 -0
  275. package/dist/models/line-item-tax-line.js +2 -1
  276. package/dist/models/line-item-tax-line.js.map +1 -1
  277. package/dist/models/line-item.d.ts +2 -0
  278. package/dist/models/line-item.js +5 -0
  279. package/dist/models/line-item.js.map +1 -1
  280. package/dist/models/money-amount.d.ts +10 -3
  281. package/dist/models/money-amount.js +25 -5
  282. package/dist/models/money-amount.js.map +1 -1
  283. package/dist/models/price-list.d.ts +57 -0
  284. package/dist/models/price-list.js +146 -0
  285. package/dist/models/price-list.js.map +1 -0
  286. package/dist/models/product-variant.js +9 -3
  287. package/dist/models/product-variant.js.map +1 -1
  288. package/dist/models/shipping-method-tax-line.js +2 -1
  289. package/dist/models/shipping-method-tax-line.js.map +1 -1
  290. package/dist/models/swap.d.ts +4 -4
  291. package/dist/models/swap.js +23 -23
  292. package/dist/models/swap.js.map +1 -1
  293. package/dist/repositories/cart.d.ts +2 -2
  294. package/dist/repositories/cart.js.map +1 -1
  295. package/dist/repositories/customer.d.ts +1 -0
  296. package/dist/repositories/customer.js +63 -0
  297. package/dist/repositories/customer.js.map +1 -1
  298. package/dist/repositories/discount-condition.d.ts +34 -0
  299. package/dist/repositories/discount-condition.js +384 -0
  300. package/dist/repositories/discount-condition.js.map +1 -0
  301. package/dist/repositories/line-item-adjustment.d.ts +4 -0
  302. package/dist/repositories/line-item-adjustment.js +38 -0
  303. package/dist/repositories/line-item-adjustment.js.map +1 -0
  304. package/dist/repositories/line-item-tax-line.d.ts +2 -0
  305. package/dist/repositories/line-item-tax-line.js +80 -0
  306. package/dist/repositories/line-item-tax-line.js.map +1 -1
  307. package/dist/repositories/line-item.js +1 -0
  308. package/dist/repositories/line-item.js.map +1 -1
  309. package/dist/repositories/money-amount.d.ts +7 -2
  310. package/dist/repositories/money-amount.js +149 -2
  311. package/dist/repositories/money-amount.js.map +1 -1
  312. package/dist/repositories/price-list.d.ts +4 -0
  313. package/dist/repositories/price-list.js +38 -0
  314. package/dist/repositories/price-list.js.map +1 -0
  315. package/dist/repositories/product.d.ts +3 -0
  316. package/dist/repositories/product.js +41 -19
  317. package/dist/repositories/product.js.map +1 -1
  318. package/dist/repositories/shipping-method-tax-line.d.ts +2 -0
  319. package/dist/repositories/shipping-method-tax-line.js +80 -0
  320. package/dist/repositories/shipping-method-tax-line.js.map +1 -1
  321. package/dist/scripts/discount-rule-migration.d.ts +4 -0
  322. package/dist/scripts/discount-rule-migration.js +177 -0
  323. package/dist/scripts/discount-rule-migration.js.map +1 -0
  324. package/dist/scripts/line-item-adjustment-migration.d.ts +4 -0
  325. package/dist/scripts/line-item-adjustment-migration.js +173 -0
  326. package/dist/scripts/line-item-adjustment-migration.js.map +1 -0
  327. package/dist/services/cart.d.ts +58 -47
  328. package/dist/services/cart.js +1306 -1391
  329. package/dist/services/cart.js.map +1 -1
  330. package/dist/services/customer.js +18 -18
  331. package/dist/services/customer.js.map +1 -1
  332. package/dist/services/discount.d.ts +50 -58
  333. package/dist/services/discount.js +365 -154
  334. package/dist/services/discount.js.map +1 -1
  335. package/dist/services/draft-order.js +1 -0
  336. package/dist/services/draft-order.js.map +1 -1
  337. package/dist/services/fulfillment-provider.js +23 -17
  338. package/dist/services/fulfillment-provider.js.map +1 -1
  339. package/dist/services/invite.d.ts +4 -2
  340. package/dist/services/invite.js +11 -9
  341. package/dist/services/invite.js.map +1 -1
  342. package/dist/services/line-item-adjustment.d.ts +87 -0
  343. package/dist/services/line-item-adjustment.js +436 -0
  344. package/dist/services/line-item-adjustment.js.map +1 -0
  345. package/dist/services/line-item.d.ts +48 -40
  346. package/dist/services/line-item.js +226 -193
  347. package/dist/services/line-item.js.map +1 -1
  348. package/dist/services/order.js +4 -4
  349. package/dist/services/order.js.map +1 -1
  350. package/dist/services/payment-provider.js +23 -17
  351. package/dist/services/payment-provider.js.map +1 -1
  352. package/dist/services/price-list.d.ts +86 -0
  353. package/dist/services/price-list.js +469 -0
  354. package/dist/services/price-list.js.map +1 -0
  355. package/dist/services/product-variant.d.ts +40 -16
  356. package/dist/services/product-variant.js +259 -109
  357. package/dist/services/product-variant.js.map +1 -1
  358. package/dist/services/product.d.ts +22 -4
  359. package/dist/services/product.js +239 -49
  360. package/dist/services/product.js.map +1 -1
  361. package/dist/services/region.js +8 -4
  362. package/dist/services/region.js.map +1 -1
  363. package/dist/services/return.js +0 -1
  364. package/dist/services/return.js.map +1 -1
  365. package/dist/services/shipping-option.d.ts +2 -2
  366. package/dist/services/shipping-option.js +7 -4
  367. package/dist/services/shipping-option.js.map +1 -1
  368. package/dist/services/swap.d.ts +4 -1
  369. package/dist/services/swap.js +29 -16
  370. package/dist/services/swap.js.map +1 -1
  371. package/dist/services/system-tax.d.ts +2 -3
  372. package/dist/services/system-tax.js +2 -2
  373. package/dist/services/system-tax.js.map +1 -1
  374. package/dist/services/tax-provider.d.ts +2 -0
  375. package/dist/services/tax-provider.js +96 -7
  376. package/dist/services/tax-provider.js.map +1 -1
  377. package/dist/services/tax-rate.d.ts +3 -3
  378. package/dist/services/tax-rate.js +1 -1
  379. package/dist/services/tax-rate.js.map +1 -1
  380. package/dist/services/totals.d.ts +9 -8
  381. package/dist/services/totals.js +41 -88
  382. package/dist/services/totals.js.map +1 -1
  383. package/dist/strategies/price-selection.d.ts +13 -0
  384. package/dist/strategies/price-selection.js +185 -0
  385. package/dist/strategies/price-selection.js.map +1 -0
  386. package/dist/subscribers/order.js +1 -7
  387. package/dist/subscribers/order.js.map +1 -1
  388. package/dist/types/batch-job.d.ts +6 -0
  389. package/dist/types/batch-job.js +11 -0
  390. package/dist/types/batch-job.js.map +1 -0
  391. package/dist/types/common.d.ts +1 -3
  392. package/dist/types/customers.d.ts +1 -0
  393. package/dist/types/customers.js +5 -0
  394. package/dist/types/customers.js.map +1 -1
  395. package/dist/types/discount.d.ts +69 -1
  396. package/dist/types/discount.js +129 -5
  397. package/dist/types/discount.js.map +1 -1
  398. package/dist/types/global.d.ts +34 -0
  399. package/dist/types/global.js +3 -0
  400. package/dist/types/global.js.map +1 -0
  401. package/dist/types/line-item-adjustment.d.ts +9 -0
  402. package/dist/types/line-item-adjustment.js +50 -0
  403. package/dist/types/line-item-adjustment.js.map +1 -0
  404. package/dist/types/price-list.d.ts +70 -0
  405. package/dist/types/price-list.js +152 -0
  406. package/dist/types/price-list.js.map +1 -0
  407. package/dist/types/price-selection.d.ts +5 -0
  408. package/dist/types/price-selection.js +35 -0
  409. package/dist/types/price-selection.js.map +1 -0
  410. package/dist/types/product-variant.d.ts +26 -3
  411. package/dist/types/product-variant.js +69 -5
  412. package/dist/types/product-variant.js.map +1 -1
  413. package/dist/types/product.d.ts +16 -0
  414. package/dist/types/product.js +86 -1
  415. package/dist/types/product.js.map +1 -1
  416. package/dist/types/validators/exactly-one.d.ts +6 -0
  417. package/dist/types/validators/exactly-one.js +37 -0
  418. package/dist/types/validators/exactly-one.js.map +1 -0
  419. package/dist/utils/date-helpers.d.ts +2 -0
  420. package/dist/utils/date-helpers.js +15 -0
  421. package/dist/utils/date-helpers.js.map +1 -0
  422. package/dist/utils/get-query-config.d.ts +11 -0
  423. package/dist/utils/get-query-config.js +88 -0
  424. package/dist/utils/get-query-config.js.map +1 -0
  425. package/package.json +7 -8
  426. package/dist/api/routes/admin/discounts/add-valid-product.d.ts +0 -23
  427. package/dist/api/routes/admin/discounts/add-valid-product.js.map +0 -1
  428. package/dist/api/routes/admin/discounts/remove-valid-product.d.ts +0 -23
  429. package/dist/api/routes/admin/discounts/remove-valid-product.js.map +0 -1
  430. package/dist/api/routes/admin/orders/receive-swap.d.ts +0 -46
  431. package/dist/api/routes/admin/orders/receive-swap.js.map +0 -1
  432. package/dist/api/routes/store/carts/update-payment-method.d.ts +0 -38
  433. package/dist/api/routes/store/carts/update-payment-method.js.map +0 -1
  434. package/dist/config/index.d.ts +0 -14
  435. package/dist/config/index.js +0 -40
  436. package/dist/config/index.js.map +0 -1
  437. package/dist/controllers/list-customers.d.ts +0 -0
  438. package/dist/controllers/list-customers.js +0 -1
  439. package/dist/controllers/list-customers.js.map +0 -1
  440. package/yarn-error.log +0 -6769
@@ -1 +1 @@
1
- {"version":3,"file":"product-variant.js","sourceRoot":"","sources":["../../src/services/product-variant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-variant.js","sourceRoot":"","sources":["../../src/services/product-variant.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ declare class ProductService extends ProductService_base {
12
12
  CREATED: string;
13
13
  DELETED: string;
14
14
  };
15
- constructor({ manager, productRepository, productVariantRepository, productOptionRepository, eventBusService, productVariantService, productCollectionService, productTypeRepository, productTagRepository, imageRepository, searchService, }: {
15
+ constructor({ manager, productRepository, productVariantRepository, productOptionRepository, eventBusService, productVariantService, productCollectionService, productTypeRepository, productTagRepository, imageRepository, searchService, cartRepository, priceSelectionStrategy, }: {
16
16
  manager: any;
17
17
  productRepository: any;
18
18
  productVariantRepository: any;
@@ -24,6 +24,8 @@ declare class ProductService extends ProductService_base {
24
24
  productTagRepository: any;
25
25
  imageRepository: any;
26
26
  searchService: any;
27
+ cartRepository: any;
28
+ priceSelectionStrategy: any;
27
29
  });
28
30
  /** @private @const {EntityManager} */
29
31
  private manager_;
@@ -47,6 +49,10 @@ declare class ProductService extends ProductService_base {
47
49
  private imageRepository_;
48
50
  /** @private @const {SearchService} */
49
51
  private searchService_;
52
+ /** @private @const {CartRepository} */
53
+ private cartRepository_;
54
+ /** @private @const {IPriceSelectionStrategy} */
55
+ private priceSelectionStrategy_;
50
56
  withTransaction(transactionManager: any): ProductService;
51
57
  /**
52
58
  * Lists products based on the provided parameters.
@@ -64,11 +70,11 @@ declare class ProductService extends ProductService_base {
64
70
  * by
65
71
  * @param {object} config - object that defines the scope for what should be
66
72
  * returned
67
- * @return {[Promise<Product[]>, number]} an array containing the products as
73
+ * @return {Promise<[Product[], number]>} an array containing the products as
68
74
  * the first element and the total count of products that matches the query
69
75
  * as the second element.
70
76
  */
71
- listAndCount(selector?: object, config?: object): [Promise<Product[]>, number];
77
+ listAndCount(selector?: object, config?: object): Promise<[Product[], number]>;
72
78
  /**
73
79
  * Return the total number of documents in database
74
80
  * @param {object} selector - the selector to choose products by
@@ -176,9 +182,10 @@ declare class ProductService extends ProductService_base {
176
182
  * @param {string} productId - the productId to decorate.
177
183
  * @param {string[]} fields - the fields to include.
178
184
  * @param {string[]} expandFields - fields to expand.
185
+ * @param {object} config - retrieve config for price calculation.
179
186
  * @return {Product} return the decorated product.
180
187
  */
181
- decorate(productId: string, fields?: string[], expandFields?: string[]): Product;
188
+ decorate(productId: string, fields?: string[], expandFields?: string[], config?: object): Product;
182
189
  /**
183
190
  * Creates a query object to be used for list queries.
184
191
  * @param {object} selector - the selector to create the query from
@@ -195,4 +202,15 @@ declare class ProductService extends ProductService_base {
195
202
  * @return {QueryBuilder<Product>} a query builder that can fetch products
196
203
  */
197
204
  getFreeTextQueryBuilder_(productRepo: ProductRepository, query: FindOptions<Product>, q: string): QueryBuilder<Product>;
205
+ /**
206
+ * Set additional prices on a list of products.
207
+ * @param {Product[] | Product} products list of products on which to set additional prices
208
+ * @param {string} currency_code currency code to fetch prices for
209
+ * @param {string} region_id region to fetch prices for
210
+ * @param {string} cart_id string of cart to use as a basis for getting currency and region
211
+ * @param {string} customer_id id of potentially logged in customer, used to get prices valid for their customer groups
212
+ * @param {boolean} include_discount_prices indication wether or not to include sales prices in result
213
+ * @return {Promise<Product[]>} A list of products with variants decorated with "additional_prices"
214
+ */
215
+ setAdditionalPrices(products: Product[] | Product, currency_code: string, region_id: string, cart_id: string, customer_id: string, include_discount_prices?: boolean): Promise<Product[]>;
198
216
  }
@@ -88,6 +88,15 @@ var __read = (this && this.__read) || function (o, n) {
88
88
  }
89
89
  return ar;
90
90
  };
91
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
92
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
93
+ if (ar || !(i in from)) {
94
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
95
+ ar[i] = from[i];
96
+ }
97
+ }
98
+ return to.concat(ar || Array.prototype.slice.call(from));
99
+ };
91
100
  var __values = (this && this.__values) || function(o) {
92
101
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
93
102
  if (m) return m.call(o);
@@ -111,7 +120,7 @@ var exception_formatter_1 = require("../utils/exception-formatter");
111
120
  var ProductService = /** @class */ (function (_super) {
112
121
  __extends(ProductService, _super);
113
122
  function ProductService(_a) {
114
- var manager = _a.manager, productRepository = _a.productRepository, productVariantRepository = _a.productVariantRepository, productOptionRepository = _a.productOptionRepository, eventBusService = _a.eventBusService, productVariantService = _a.productVariantService, productCollectionService = _a.productCollectionService, productTypeRepository = _a.productTypeRepository, productTagRepository = _a.productTagRepository, imageRepository = _a.imageRepository, searchService = _a.searchService;
123
+ var manager = _a.manager, productRepository = _a.productRepository, productVariantRepository = _a.productVariantRepository, productOptionRepository = _a.productOptionRepository, eventBusService = _a.eventBusService, productVariantService = _a.productVariantService, productCollectionService = _a.productCollectionService, productTypeRepository = _a.productTypeRepository, productTagRepository = _a.productTagRepository, imageRepository = _a.imageRepository, searchService = _a.searchService, cartRepository = _a.cartRepository, priceSelectionStrategy = _a.priceSelectionStrategy;
115
124
  var _this = _super.call(this) || this;
116
125
  /** @private @const {EntityManager} */
117
126
  _this.manager_ = manager;
@@ -135,6 +144,10 @@ var ProductService = /** @class */ (function (_super) {
135
144
  _this.imageRepository_ = imageRepository;
136
145
  /** @private @const {SearchService} */
137
146
  _this.searchService_ = searchService;
147
+ /** @private @const {CartRepository} */
148
+ _this.cartRepository_ = cartRepository;
149
+ /** @private @const {IPriceSelectionStrategy} */
150
+ _this.priceSelectionStrategy_ = priceSelectionStrategy;
138
151
  return _this;
139
152
  }
140
153
  ProductService.prototype.withTransaction = function (transactionManager) {
@@ -152,6 +165,8 @@ var ProductService = /** @class */ (function (_super) {
152
165
  productTagRepository: this.productTagRepository_,
153
166
  productTypeRepository: this.productTypeRepository_,
154
167
  imageRepository: this.imageRepository_,
168
+ cartRepository: this.cartRepository_,
169
+ priceSelectionStrategy: this.priceSelectionStrategy_,
155
170
  });
156
171
  cloned.transactionManager_ = transactionManager;
157
172
  return cloned;
@@ -165,23 +180,43 @@ var ProductService = /** @class */ (function (_super) {
165
180
  * @return {Promise<Product[]>} the result of the find operation
166
181
  */
167
182
  ProductService.prototype.list = function (selector, config) {
168
- var _a;
183
+ var _a, _b, _c;
169
184
  if (selector === void 0) { selector = {}; }
170
- if (config === void 0) { config = { relations: [], skip: 0, take: 20 }; }
185
+ if (config === void 0) { config = {
186
+ relations: [],
187
+ skip: 0,
188
+ take: 20,
189
+ include_discount_prices: false,
190
+ }; }
171
191
  return __awaiter(this, void 0, void 0, function () {
172
- var productRepo, _b, q, query, relations, qb, raw;
173
- return __generator(this, function (_c) {
174
- switch (_c.label) {
192
+ var productRepo, priceIndex, _d, q, query, relations, qb, raw, products, _e;
193
+ return __generator(this, function (_f) {
194
+ switch (_f.label) {
175
195
  case 0:
176
196
  productRepo = this.manager_.getCustomRepository(this.productRepository_);
177
- _b = this.prepareListQuery_(selector, config), q = _b.q, query = _b.query, relations = _b.relations;
197
+ priceIndex = (_b = (_a = config.relations) === null || _a === void 0 ? void 0 : _a.indexOf("variants.prices")) !== null && _b !== void 0 ? _b : -1;
198
+ if (priceIndex >= 0 && config.relations) {
199
+ config.relations = __spreadArray([], __read(config.relations), false);
200
+ config.relations.splice(priceIndex, 1);
201
+ }
202
+ _d = this.prepareListQuery_(selector, config), q = _d.q, query = _d.query, relations = _d.relations;
178
203
  if (!q) return [3 /*break*/, 2];
179
204
  qb = this.getFreeTextQueryBuilder_(productRepo, query, q);
180
205
  return [4 /*yield*/, qb.getMany()];
181
206
  case 1:
182
- raw = _c.sent();
183
- return [2 /*return*/, productRepo.findWithRelations(relations, raw.map(function (i) { return i.id; }), (_a = query.withDeleted) !== null && _a !== void 0 ? _a : false)];
184
- case 2: return [2 /*return*/, productRepo.findWithRelations(relations, query)];
207
+ raw = _f.sent();
208
+ return [2 /*return*/, productRepo.findWithRelations(relations, raw.map(function (i) { return i.id; }), (_c = query.withDeleted) !== null && _c !== void 0 ? _c : false)];
209
+ case 2:
210
+ products = productRepo.findWithRelations(relations, query);
211
+ if (!(priceIndex > -1)) return [3 /*break*/, 4];
212
+ return [4 /*yield*/, this.setAdditionalPrices(products, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
213
+ case 3:
214
+ _e = _f.sent();
215
+ return [3 /*break*/, 5];
216
+ case 4:
217
+ _e = products;
218
+ _f.label = 5;
219
+ case 5: return [2 /*return*/, _e];
185
220
  }
186
221
  });
187
222
  });
@@ -193,32 +228,49 @@ var ProductService = /** @class */ (function (_super) {
193
228
  * by
194
229
  * @param {object} config - object that defines the scope for what should be
195
230
  * returned
196
- * @return {[Promise<Product[]>, number]} an array containing the products as
231
+ * @return {Promise<[Product[], number]>} an array containing the products as
197
232
  * the first element and the total count of products that matches the query
198
233
  * as the second element.
199
234
  */
200
235
  ProductService.prototype.listAndCount = function (selector, config) {
201
- var _a;
236
+ var _a, _b, _c;
202
237
  if (selector === void 0) { selector = {}; }
203
- if (config === void 0) { config = { relations: [], skip: 0, take: 20 }; }
238
+ if (config === void 0) { config = {
239
+ relations: [],
240
+ skip: 0,
241
+ take: 20,
242
+ include_discount_prices: false,
243
+ }; }
204
244
  return __awaiter(this, void 0, void 0, function () {
205
- var productRepo, _b, q, query, relations, qb, _c, raw, count, products;
206
- return __generator(this, function (_d) {
207
- switch (_d.label) {
245
+ var productRepo, priceIndex, _d, q, query, relations, qb, _e, raw, count_1, products_1, _f, products, count, productsWithAdditionalPrices;
246
+ return __generator(this, function (_g) {
247
+ switch (_g.label) {
208
248
  case 0:
209
249
  productRepo = this.manager_.getCustomRepository(this.productRepository_);
210
- _b = this.prepareListQuery_(selector, config), q = _b.q, query = _b.query, relations = _b.relations;
250
+ priceIndex = (_b = (_a = config.relations) === null || _a === void 0 ? void 0 : _a.indexOf("variants.prices")) !== null && _b !== void 0 ? _b : -1;
251
+ if (priceIndex >= 0 && config.relations) {
252
+ config.relations = __spreadArray([], __read(config.relations), false);
253
+ config.relations.splice(priceIndex, 1);
254
+ }
255
+ _d = this.prepareListQuery_(selector, config), q = _d.q, query = _d.query, relations = _d.relations;
211
256
  if (!q) return [3 /*break*/, 3];
212
257
  qb = this.getFreeTextQueryBuilder_(productRepo, query, q);
213
258
  return [4 /*yield*/, qb.getManyAndCount()];
214
259
  case 1:
215
- _c = __read.apply(void 0, [_d.sent(), 2]), raw = _c[0], count = _c[1];
216
- return [4 /*yield*/, productRepo.findWithRelations(relations, raw.map(function (i) { return i.id; }), (_a = query.withDeleted) !== null && _a !== void 0 ? _a : false)];
260
+ _e = __read.apply(void 0, [_g.sent(), 2]), raw = _e[0], count_1 = _e[1];
261
+ return [4 /*yield*/, productRepo.findWithRelations(relations, raw.map(function (i) { return i.id; }), (_c = query.withDeleted) !== null && _c !== void 0 ? _c : false)];
217
262
  case 2:
218
- products = _d.sent();
219
- return [2 /*return*/, [products, count]];
263
+ products_1 = _g.sent();
264
+ return [2 /*return*/, [products_1, count_1]];
220
265
  case 3: return [4 /*yield*/, productRepo.findWithRelationsAndCount(relations, query)];
221
- case 4: return [2 /*return*/, _d.sent()];
266
+ case 4:
267
+ _f = __read.apply(void 0, [_g.sent(), 2]), products = _f[0], count = _f[1];
268
+ if (!(priceIndex > -1)) return [3 /*break*/, 6];
269
+ return [4 /*yield*/, this.setAdditionalPrices(products, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
270
+ case 5:
271
+ productsWithAdditionalPrices = _g.sent();
272
+ return [2 /*return*/, [productsWithAdditionalPrices, count]];
273
+ case 6: return [2 /*return*/, [products, count]];
222
274
  }
223
275
  });
224
276
  });
@@ -243,14 +295,20 @@ var ProductService = /** @class */ (function (_super) {
243
295
  * @return {Promise<Product>} the result of the find one operation.
244
296
  */
245
297
  ProductService.prototype.retrieve = function (productId, config) {
246
- if (config === void 0) { config = {}; }
298
+ var _a, _b;
299
+ if (config === void 0) { config = { include_discount_prices: false }; }
247
300
  return __awaiter(this, void 0, void 0, function () {
248
- var productRepo, validatedId, query, rels, product;
249
- return __generator(this, function (_a) {
250
- switch (_a.label) {
301
+ var productRepo, validatedId, priceIndex, query, rels, product, _c;
302
+ return __generator(this, function (_d) {
303
+ switch (_d.label) {
251
304
  case 0:
252
305
  productRepo = this.manager_.getCustomRepository(this.productRepository_);
253
306
  validatedId = this.validateId_(productId);
307
+ priceIndex = (_b = (_a = config.relations) === null || _a === void 0 ? void 0 : _a.indexOf("variants.prices")) !== null && _b !== void 0 ? _b : -1;
308
+ if (priceIndex >= 0 && config.relations) {
309
+ config.relations = __spreadArray([], __read(config.relations), false);
310
+ config.relations.splice(priceIndex, 1);
311
+ }
254
312
  query = { where: { id: validatedId } };
255
313
  if (config.relations && config.relations.length > 0) {
256
314
  query.relations = config.relations;
@@ -262,11 +320,19 @@ var ProductService = /** @class */ (function (_super) {
262
320
  delete query.relations;
263
321
  return [4 /*yield*/, productRepo.findOneWithRelations(rels, query)];
264
322
  case 1:
265
- product = _a.sent();
323
+ product = _d.sent();
266
324
  if (!product) {
267
325
  throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Product with id: ".concat(productId, " was not found"));
268
326
  }
269
- return [2 /*return*/, product];
327
+ if (!(priceIndex > -1)) return [3 /*break*/, 3];
328
+ return [4 /*yield*/, this.setAdditionalPrices(product, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
329
+ case 2:
330
+ _c = _d.sent();
331
+ return [3 /*break*/, 4];
332
+ case 3:
333
+ _c = product;
334
+ _d.label = 4;
335
+ case 4: return [2 /*return*/, _c];
270
336
  }
271
337
  });
272
338
  });
@@ -279,13 +345,19 @@ var ProductService = /** @class */ (function (_super) {
279
345
  * @return {Promise<Product>} the result of the find one operation.
280
346
  */
281
347
  ProductService.prototype.retrieveByHandle = function (productHandle, config) {
348
+ var _a, _b;
282
349
  if (config === void 0) { config = {}; }
283
350
  return __awaiter(this, void 0, void 0, function () {
284
- var productRepo, query, rels, product;
285
- return __generator(this, function (_a) {
286
- switch (_a.label) {
351
+ var productRepo, priceIndex, query, rels, product, _c;
352
+ return __generator(this, function (_d) {
353
+ switch (_d.label) {
287
354
  case 0:
288
355
  productRepo = this.manager_.getCustomRepository(this.productRepository_);
356
+ priceIndex = (_b = (_a = config.relations) === null || _a === void 0 ? void 0 : _a.indexOf("variants.prices")) !== null && _b !== void 0 ? _b : -1;
357
+ if (priceIndex >= 0 && config.relations) {
358
+ config.relations = __spreadArray([], __read(config.relations), false);
359
+ config.relations.splice(priceIndex, 1);
360
+ }
289
361
  query = { where: { handle: productHandle } };
290
362
  if (config.relations && config.relations.length > 0) {
291
363
  query.relations = config.relations;
@@ -297,11 +369,19 @@ var ProductService = /** @class */ (function (_super) {
297
369
  delete query.relations;
298
370
  return [4 /*yield*/, productRepo.findOneWithRelations(rels, query)];
299
371
  case 1:
300
- product = _a.sent();
372
+ product = _d.sent();
301
373
  if (!product) {
302
374
  throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Product with handle: ".concat(productHandle, " was not found"));
303
375
  }
304
- return [2 /*return*/, product];
376
+ if (!(priceIndex > -1)) return [3 /*break*/, 3];
377
+ return [4 /*yield*/, this.setAdditionalPrices(product, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
378
+ case 2:
379
+ _c = _d.sent();
380
+ return [3 /*break*/, 4];
381
+ case 3:
382
+ _c = product;
383
+ _d.label = 4;
384
+ case 4: return [2 /*return*/, _c];
305
385
  }
306
386
  });
307
387
  });
@@ -314,13 +394,19 @@ var ProductService = /** @class */ (function (_super) {
314
394
  * @return {Promise<Product>} the result of the find one operation.
315
395
  */
316
396
  ProductService.prototype.retrieveByExternalId = function (externalId, config) {
397
+ var _a, _b;
317
398
  if (config === void 0) { config = {}; }
318
399
  return __awaiter(this, void 0, void 0, function () {
319
- var productRepo, query, rels, product;
320
- return __generator(this, function (_a) {
321
- switch (_a.label) {
400
+ var productRepo, priceIndex, query, rels, product, _c;
401
+ return __generator(this, function (_d) {
402
+ switch (_d.label) {
322
403
  case 0:
323
404
  productRepo = this.manager_.getCustomRepository(this.productRepository_);
405
+ priceIndex = (_b = (_a = config.relations) === null || _a === void 0 ? void 0 : _a.indexOf("variants.prices")) !== null && _b !== void 0 ? _b : -1;
406
+ if (priceIndex >= 0 && config.relations) {
407
+ config.relations = __spreadArray([], __read(config.relations), false);
408
+ config.relations.splice(priceIndex, 1);
409
+ }
324
410
  query = { where: { external_id: externalId } };
325
411
  if (config.relations && config.relations.length > 0) {
326
412
  query.relations = config.relations;
@@ -332,11 +418,19 @@ var ProductService = /** @class */ (function (_super) {
332
418
  delete query.relations;
333
419
  return [4 /*yield*/, productRepo.findOneWithRelations(rels, query)];
334
420
  case 1:
335
- product = _a.sent();
421
+ product = _d.sent();
336
422
  if (!product) {
337
423
  throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Product with exteral_id: ".concat(externalId, " was not found"));
338
424
  }
339
- return [2 /*return*/, product];
425
+ if (!(priceIndex > -1)) return [3 /*break*/, 3];
426
+ return [4 /*yield*/, this.setAdditionalPrices(product, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
427
+ case 2:
428
+ _c = _d.sent();
429
+ return [3 /*break*/, 4];
430
+ case 3:
431
+ _c = product;
432
+ _d.label = 4;
433
+ case 4: return [2 /*return*/, _c];
340
434
  }
341
435
  });
342
436
  });
@@ -404,7 +498,9 @@ var ProductService = /** @class */ (function (_super) {
404
498
  if (existing) {
405
499
  return [2 /*return*/, existing.id];
406
500
  }
407
- created = productTypeRepository.create(type);
501
+ created = productTypeRepository.create({
502
+ value: type.value,
503
+ });
408
504
  return [4 /*yield*/, productTypeRepository.save(created)];
409
505
  case 2:
410
506
  result = _a.sent();
@@ -1103,28 +1199,41 @@ var ProductService = /** @class */ (function (_super) {
1103
1199
  * @param {string} productId - the productId to decorate.
1104
1200
  * @param {string[]} fields - the fields to include.
1105
1201
  * @param {string[]} expandFields - fields to expand.
1202
+ * @param {object} config - retrieve config for price calculation.
1106
1203
  * @return {Product} return the decorated product.
1107
1204
  */
1108
- ProductService.prototype.decorate = function (productId, fields, expandFields) {
1205
+ ProductService.prototype.decorate = function (productId, fields, expandFields, config) {
1206
+ var _a;
1109
1207
  if (fields === void 0) { fields = []; }
1110
1208
  if (expandFields === void 0) { expandFields = []; }
1209
+ if (config === void 0) { config = {}; }
1111
1210
  return __awaiter(this, void 0, void 0, function () {
1112
- var requiredFields, product;
1113
- return __generator(this, function (_a) {
1114
- switch (_a.label) {
1211
+ var requiredFields, priceIndex, product, _b;
1212
+ return __generator(this, function (_c) {
1213
+ switch (_c.label) {
1115
1214
  case 0:
1116
1215
  requiredFields = ["id", "metadata"];
1216
+ priceIndex = (_a = expandFields.indexOf("variants.prices")) !== null && _a !== void 0 ? _a : -1;
1217
+ if (priceIndex >= 0 && expandFields.length) {
1218
+ expandFields = __spreadArray([], __read(expandFields), false);
1219
+ expandFields.splice(priceIndex, 1);
1220
+ }
1117
1221
  fields = fields.concat(requiredFields);
1118
1222
  return [4 /*yield*/, this.retrieve(productId, {
1119
1223
  select: fields,
1120
1224
  relations: expandFields,
1121
- })
1122
- // const final = await this.runDecorators_(decorated)
1123
- ];
1225
+ })];
1124
1226
  case 1:
1125
- product = _a.sent();
1126
- // const final = await this.runDecorators_(decorated)
1127
- return [2 /*return*/, product];
1227
+ product = _c.sent();
1228
+ if (!(priceIndex > -1)) return [3 /*break*/, 3];
1229
+ return [4 /*yield*/, this.setAdditionalPrices(product, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
1230
+ case 2:
1231
+ _b = _c.sent();
1232
+ return [3 /*break*/, 4];
1233
+ case 3:
1234
+ _b = product;
1235
+ _c.label = 4;
1236
+ case 4: return [2 /*return*/, _b];
1128
1237
  }
1129
1238
  });
1130
1239
  });
@@ -1188,6 +1297,87 @@ var ProductService = /** @class */ (function (_super) {
1188
1297
  }
1189
1298
  return qb;
1190
1299
  };
1300
+ /**
1301
+ * Set additional prices on a list of products.
1302
+ * @param {Product[] | Product} products list of products on which to set additional prices
1303
+ * @param {string} currency_code currency code to fetch prices for
1304
+ * @param {string} region_id region to fetch prices for
1305
+ * @param {string} cart_id string of cart to use as a basis for getting currency and region
1306
+ * @param {string} customer_id id of potentially logged in customer, used to get prices valid for their customer groups
1307
+ * @param {boolean} include_discount_prices indication wether or not to include sales prices in result
1308
+ * @return {Promise<Product[]>} A list of products with variants decorated with "additional_prices"
1309
+ */
1310
+ ProductService.prototype.setAdditionalPrices = function (products, currency_code, region_id, cart_id, customer_id, include_discount_prices) {
1311
+ if (include_discount_prices === void 0) { include_discount_prices = false; }
1312
+ return __awaiter(this, void 0, void 0, function () {
1313
+ var _this = this;
1314
+ return __generator(this, function (_a) {
1315
+ return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
1316
+ var cartRepo, regionId, currencyCode, cart, productArray, priceSelectionStrategy, productsWithPrices;
1317
+ var _this = this;
1318
+ return __generator(this, function (_a) {
1319
+ switch (_a.label) {
1320
+ case 0:
1321
+ cartRepo = this.manager_.getCustomRepository(this.cartRepository_);
1322
+ regionId = region_id;
1323
+ currencyCode = currency_code;
1324
+ if (!cart_id) return [3 /*break*/, 2];
1325
+ return [4 /*yield*/, cartRepo.findOne({
1326
+ where: { id: cart_id },
1327
+ relations: ["region"],
1328
+ })];
1329
+ case 1:
1330
+ cart = _a.sent();
1331
+ regionId = cart.region.id;
1332
+ currencyCode = cart.region.currency_code;
1333
+ _a.label = 2;
1334
+ case 2:
1335
+ productArray = Array.isArray(products) ? products : [products];
1336
+ priceSelectionStrategy = this.priceSelectionStrategy_.withTransaction(manager);
1337
+ return [4 /*yield*/, Promise.all(productArray.map(function (p) { return __awaiter(_this, void 0, void 0, function () {
1338
+ var _a;
1339
+ var _this = this;
1340
+ var _b;
1341
+ return __generator(this, function (_c) {
1342
+ switch (_c.label) {
1343
+ case 0:
1344
+ if (!((_b = p.variants) === null || _b === void 0 ? void 0 : _b.length)) return [3 /*break*/, 2];
1345
+ _a = p;
1346
+ return [4 /*yield*/, Promise.all(p.variants.map(function (v) { return __awaiter(_this, void 0, void 0, function () {
1347
+ var prices;
1348
+ return __generator(this, function (_a) {
1349
+ switch (_a.label) {
1350
+ case 0: return [4 /*yield*/, priceSelectionStrategy.calculateVariantPrice(v.id, {
1351
+ region_id: regionId,
1352
+ currency_code: currencyCode,
1353
+ cart_id: cart_id,
1354
+ customer_id: customer_id,
1355
+ include_discount_prices: include_discount_prices,
1356
+ })];
1357
+ case 1:
1358
+ prices = _a.sent();
1359
+ return [2 /*return*/, __assign(__assign({}, v), { prices: prices.prices, original_price: prices.originalPrice, calculated_price: prices.calculatedPrice, calculated_price_type: prices.calculatedPriceType })];
1360
+ }
1361
+ });
1362
+ }); }))];
1363
+ case 1:
1364
+ _a.variants = _c.sent();
1365
+ _c.label = 2;
1366
+ case 2: return [2 /*return*/, p];
1367
+ }
1368
+ });
1369
+ }); }))];
1370
+ case 3:
1371
+ productsWithPrices = _a.sent();
1372
+ return [2 /*return*/, Array.isArray(products)
1373
+ ? productsWithPrices
1374
+ : productsWithPrices[0]];
1375
+ }
1376
+ });
1377
+ }); })];
1378
+ });
1379
+ });
1380
+ };
1191
1381
  ProductService.IndexName = "products";
1192
1382
  ProductService.Events = {
1193
1383
  UPDATED: "product.updated",