@medusajs/medusa 1.2.2-dev.56 → 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 (368) 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/list-customer-groups.js +2 -2
  9. package/dist/api/routes/admin/customer-groups/list-customer-groups.js.map +1 -1
  10. package/dist/api/routes/admin/discounts/create-discount.d.ts +11 -2
  11. package/dist/api/routes/admin/discounts/create-discount.js +66 -12
  12. package/dist/api/routes/admin/discounts/create-discount.js.map +1 -1
  13. package/dist/api/routes/admin/discounts/create-dynamic-code.d.ts +1 -0
  14. package/dist/api/routes/admin/discounts/create-dynamic-code.js +4 -1
  15. package/dist/api/routes/admin/discounts/create-dynamic-code.js.map +1 -1
  16. package/dist/api/routes/admin/discounts/delete-dynamic-code.js +3 -1
  17. package/dist/api/routes/admin/discounts/delete-dynamic-code.js.map +1 -1
  18. package/dist/api/routes/admin/discounts/get-discount.d.ts +7 -0
  19. package/dist/api/routes/admin/discounts/get-discount.js +43 -9
  20. package/dist/api/routes/admin/discounts/get-discount.js.map +1 -1
  21. package/dist/api/routes/admin/discounts/index.d.ts +1 -3
  22. package/dist/api/routes/admin/discounts/index.js +1 -6
  23. package/dist/api/routes/admin/discounts/index.js.map +1 -1
  24. package/dist/api/routes/admin/discounts/list-discounts.d.ts +2 -6
  25. package/dist/api/routes/admin/discounts/list-discounts.js +15 -28
  26. package/dist/api/routes/admin/discounts/list-discounts.js.map +1 -1
  27. package/dist/api/routes/admin/discounts/update-discount.d.ts +12 -2
  28. package/dist/api/routes/admin/discounts/update-discount.js +70 -15
  29. package/dist/api/routes/admin/discounts/update-discount.js.map +1 -1
  30. package/dist/api/routes/admin/draft-orders/create-draft-order.d.ts +3 -3
  31. package/dist/api/routes/admin/draft-orders/create-draft-order.js.map +1 -1
  32. package/dist/api/routes/admin/draft-orders/create-line-item.d.ts +1 -1
  33. package/dist/api/routes/admin/draft-orders/create-line-item.js.map +1 -1
  34. package/dist/api/routes/admin/draft-orders/index.js +7 -1
  35. package/dist/api/routes/admin/draft-orders/index.js.map +1 -1
  36. package/dist/api/routes/admin/draft-orders/register-payment.js +0 -1
  37. package/dist/api/routes/admin/draft-orders/register-payment.js.map +1 -1
  38. package/dist/api/routes/admin/draft-orders/update-line-item.d.ts +1 -1
  39. package/dist/api/routes/admin/draft-orders/update-line-item.js.map +1 -1
  40. package/dist/api/routes/admin/notifications/index.js.map +1 -1
  41. package/dist/api/routes/admin/notifications/list-notifications.js.map +1 -1
  42. package/dist/api/routes/admin/notifications/resend-notification.js.map +1 -1
  43. package/dist/api/routes/admin/orders/add-shipping-method.d.ts +1 -1
  44. package/dist/api/routes/admin/orders/add-shipping-method.js.map +1 -1
  45. package/dist/api/routes/admin/orders/create-order.js.map +1 -1
  46. package/dist/api/routes/admin/orders/create-swap.js +7 -3
  47. package/dist/api/routes/admin/orders/create-swap.js.map +1 -1
  48. package/dist/api/routes/admin/orders/index.d.ts +1 -1
  49. package/dist/api/routes/admin/orders/index.js +1 -3
  50. package/dist/api/routes/admin/orders/index.js.map +1 -1
  51. package/dist/api/routes/admin/orders/list-orders.js.map +1 -1
  52. package/dist/api/routes/admin/orders/update-order.js.map +1 -1
  53. package/dist/api/routes/admin/price-lists/index.d.ts +7 -0
  54. package/dist/api/routes/admin/price-lists/index.js +3 -0
  55. package/dist/api/routes/admin/price-lists/index.js.map +1 -1
  56. package/dist/api/routes/admin/price-lists/list-price-list-products.d.ts +74 -0
  57. package/dist/api/routes/admin/price-lists/list-price-list-products.js +246 -0
  58. package/dist/api/routes/admin/price-lists/list-price-list-products.js.map +1 -0
  59. package/dist/api/routes/admin/price-lists/update-price-list.d.ts +2 -2
  60. package/dist/api/routes/admin/price-lists/update-price-list.js.map +1 -1
  61. package/dist/api/routes/admin/products/list-products.d.ts +2 -1
  62. package/dist/api/routes/admin/products/list-products.js +31 -65
  63. package/dist/api/routes/admin/products/list-products.js.map +1 -1
  64. package/dist/api/routes/admin/products/update-variant.js +11 -7
  65. package/dist/api/routes/admin/products/update-variant.js.map +1 -1
  66. package/dist/api/routes/admin/regions/index.d.ts +1 -1
  67. package/dist/api/routes/admin/store/get-store.js.map +1 -1
  68. package/dist/api/routes/admin/swaps/index.js +3 -0
  69. package/dist/api/routes/admin/swaps/index.js.map +1 -1
  70. package/dist/api/routes/admin/tax-rates/list-tax-rates.js.map +1 -1
  71. package/dist/api/routes/admin/tax-rates/utils/get-query-config.d.ts +1 -1
  72. package/dist/api/routes/admin/tax-rates/utils/get-query-config.js +4 -2
  73. package/dist/api/routes/admin/tax-rates/utils/get-query-config.js.map +1 -1
  74. package/dist/api/routes/admin/uploads/index.d.ts +1 -1
  75. package/dist/api/routes/store/auth/create-session.js +4 -5
  76. package/dist/api/routes/store/auth/create-session.js.map +1 -1
  77. package/dist/api/routes/store/carts/create-cart.js +8 -5
  78. package/dist/api/routes/store/carts/create-cart.js.map +1 -1
  79. package/dist/api/routes/store/carts/create-line-item.d.ts +1 -1
  80. package/dist/api/routes/store/carts/create-line-item.js +9 -6
  81. package/dist/api/routes/store/carts/create-line-item.js.map +1 -1
  82. package/dist/api/routes/store/carts/index.d.ts +0 -1
  83. package/dist/api/routes/store/carts/index.js +1 -3
  84. package/dist/api/routes/store/carts/index.js.map +1 -1
  85. package/dist/api/routes/store/carts/update-cart.js +7 -7
  86. package/dist/api/routes/store/carts/update-cart.js.map +1 -1
  87. package/dist/api/routes/store/customers/create-customer.js +3 -4
  88. package/dist/api/routes/store/customers/create-customer.js.map +1 -1
  89. package/dist/api/routes/store/orders/index.js +0 -2
  90. package/dist/api/routes/store/orders/index.js.map +1 -1
  91. package/dist/api/routes/store/products/get-product.js +17 -5
  92. package/dist/api/routes/store/products/get-product.js.map +1 -1
  93. package/dist/api/routes/store/products/index.d.ts +2 -2
  94. package/dist/api/routes/store/products/list-products.d.ts +2 -1
  95. package/dist/api/routes/store/products/list-products.js +21 -8
  96. package/dist/api/routes/store/products/list-products.js.map +1 -1
  97. package/dist/api/routes/store/products/search.d.ts +1 -1
  98. package/dist/api/routes/store/products/search.js.map +1 -1
  99. package/dist/api/routes/store/shipping-options/list-options.js.map +1 -1
  100. package/dist/api/routes/store/swaps/create-swap.js +7 -3
  101. package/dist/api/routes/store/swaps/create-swap.js.map +1 -1
  102. package/dist/api/routes/store/variants/get-variant.js +17 -5
  103. package/dist/api/routes/store/variants/get-variant.js.map +1 -1
  104. package/dist/api/routes/store/variants/list-variants.d.ts +2 -1
  105. package/dist/api/routes/store/variants/list-variants.js +38 -9
  106. package/dist/api/routes/store/variants/list-variants.js.map +1 -1
  107. package/dist/commands/develop.js +1 -1
  108. package/dist/commands/develop.js.map +1 -1
  109. package/dist/controllers/customers/index.d.ts +1 -1
  110. package/dist/controllers/customers/list-customers.d.ts +1 -1
  111. package/dist/controllers/customers/list-customers.js +34 -37
  112. package/dist/controllers/customers/list-customers.js.map +1 -1
  113. package/dist/controllers/products/admin-list-products.d.ts +16 -0
  114. package/dist/controllers/products/admin-list-products.js +103 -0
  115. package/dist/controllers/products/admin-list-products.js.map +1 -0
  116. package/dist/helpers/test-request.js +15 -7
  117. package/dist/helpers/test-request.js.map +1 -1
  118. package/dist/index.d.ts +3 -59
  119. package/dist/index.js +3 -62
  120. package/dist/index.js.map +1 -1
  121. package/dist/interfaces/base-service.d.ts +66 -0
  122. package/dist/interfaces/base-service.js +378 -0
  123. package/dist/interfaces/base-service.js.map +1 -0
  124. package/dist/interfaces/index.d.ts +1 -0
  125. package/dist/interfaces/index.js +1 -0
  126. package/dist/interfaces/index.js.map +1 -1
  127. package/dist/interfaces/price-selection-strategy.d.ts +50 -0
  128. package/dist/interfaces/price-selection-strategy.js +34 -0
  129. package/dist/interfaces/price-selection-strategy.js.map +1 -0
  130. package/dist/interfaces/tax-service.d.ts +6 -0
  131. package/dist/interfaces/tax-service.js +31 -0
  132. package/dist/interfaces/tax-service.js.map +1 -1
  133. package/dist/loaders/api.d.ts +9 -5
  134. package/dist/loaders/api.js +2 -6
  135. package/dist/loaders/api.js.map +1 -1
  136. package/dist/loaders/config.d.ts +3 -0
  137. package/dist/loaders/config.js +47 -0
  138. package/dist/loaders/config.js.map +1 -0
  139. package/dist/loaders/database.d.ts +8 -4
  140. package/dist/loaders/database.js.map +1 -1
  141. package/dist/loaders/defaults.d.ts +4 -3
  142. package/dist/loaders/defaults.js +39 -31
  143. package/dist/loaders/defaults.js.map +1 -1
  144. package/dist/loaders/express.d.ts +7 -4
  145. package/dist/loaders/express.js +7 -5
  146. package/dist/loaders/express.js.map +1 -1
  147. package/dist/loaders/index.d.ts +13 -8
  148. package/dist/loaders/index.js +29 -54
  149. package/dist/loaders/index.js.map +1 -1
  150. package/dist/loaders/logger.d.ts +1 -0
  151. package/dist/loaders/logger.js.map +1 -1
  152. package/dist/loaders/models.d.ts +8 -3
  153. package/dist/loaders/models.js +19 -17
  154. package/dist/loaders/models.js.map +1 -1
  155. package/dist/loaders/passport.d.ts +7 -4
  156. package/dist/loaders/passport.js +23 -21
  157. package/dist/loaders/passport.js.map +1 -1
  158. package/dist/loaders/plugins.d.ts +18 -10
  159. package/dist/loaders/plugins.js +27 -24
  160. package/dist/loaders/plugins.js.map +1 -1
  161. package/dist/loaders/redis.d.ts +8 -5
  162. package/dist/loaders/redis.js +3 -3
  163. package/dist/loaders/redis.js.map +1 -1
  164. package/dist/loaders/repositories.d.ts +7 -3
  165. package/dist/loaders/repositories.js +1 -1
  166. package/dist/loaders/repositories.js.map +1 -1
  167. package/dist/loaders/search-index.d.ts +4 -3
  168. package/dist/loaders/search-index.js.map +1 -1
  169. package/dist/loaders/services.d.ts +10 -5
  170. package/dist/loaders/services.js.map +1 -1
  171. package/dist/loaders/strategies.d.ts +1 -1
  172. package/dist/loaders/subscribers.d.ts +7 -3
  173. package/dist/loaders/subscribers.js.map +1 -1
  174. package/dist/migrations/1646324713514-discount_conditions.d.ts +6 -0
  175. package/dist/migrations/1646324713514-discount_conditions.js +335 -0
  176. package/dist/migrations/1646324713514-discount_conditions.js.map +1 -0
  177. package/dist/migrations/1648600574750-add_line_item_adjustments.d.ts +6 -0
  178. package/dist/migrations/1648600574750-add_line_item_adjustments.js +101 -0
  179. package/dist/migrations/1648600574750-add_line_item_adjustments.js.map +1 -0
  180. package/dist/migrations/1648641130007-tax_line_constraints.d.ts +6 -0
  181. package/dist/{api/routes/admin/discounts/remove-valid-product.js → migrations/1648641130007-tax_line_constraints.js} +39 -44
  182. package/dist/migrations/1648641130007-tax_line_constraints.js.map +1 -0
  183. package/dist/migrations/1649775522087-add_batch_job_model.d.ts +6 -0
  184. package/dist/{api/routes/admin/discounts/add-valid-product.js → migrations/1649775522087-add_batch_job_model.js} +39 -44
  185. package/dist/migrations/1649775522087-add_batch_job_model.js.map +1 -0
  186. package/dist/models/batch-job.d.ts +58 -0
  187. package/dist/models/batch-job.js +119 -0
  188. package/dist/models/batch-job.js.map +1 -0
  189. package/dist/models/country.d.ts +1 -1
  190. package/dist/models/country.js +1 -1
  191. package/dist/models/country.js.map +1 -1
  192. package/dist/models/customer-group.js +3 -1
  193. package/dist/models/customer-group.js.map +1 -1
  194. package/dist/models/discount-condition-customer-group.d.ts +39 -0
  195. package/dist/models/discount-condition-customer-group.js +84 -0
  196. package/dist/models/discount-condition-customer-group.js.map +1 -0
  197. package/dist/models/discount-condition-product-collection.d.ts +39 -0
  198. package/dist/models/discount-condition-product-collection.js +84 -0
  199. package/dist/models/discount-condition-product-collection.js.map +1 -0
  200. package/dist/models/discount-condition-product-tag.d.ts +39 -0
  201. package/dist/models/discount-condition-product-tag.js +84 -0
  202. package/dist/models/discount-condition-product-tag.js.map +1 -0
  203. package/dist/models/discount-condition-product-type.d.ts +39 -0
  204. package/dist/models/discount-condition-product-type.js +84 -0
  205. package/dist/models/discount-condition-product-type.js.map +1 -0
  206. package/dist/models/discount-condition-product.d.ts +39 -0
  207. package/dist/models/discount-condition-product.js +84 -0
  208. package/dist/models/discount-condition-product.js.map +1 -0
  209. package/dist/models/discount-condition.d.ts +68 -0
  210. package/dist/models/discount-condition.js +208 -0
  211. package/dist/models/discount-condition.js.map +1 -0
  212. package/dist/models/discount-rule.d.ts +5 -5
  213. package/dist/models/discount-rule.js +6 -17
  214. package/dist/models/discount-rule.js.map +1 -1
  215. package/dist/models/discount.js.map +1 -1
  216. package/dist/models/index.d.ts +66 -0
  217. package/dist/models/index.js +79 -0
  218. package/dist/models/index.js.map +1 -0
  219. package/dist/models/line-item-adjustment.d.ts +13 -0
  220. package/dist/models/line-item-adjustment.js +79 -0
  221. package/dist/models/line-item-adjustment.js.map +1 -0
  222. package/dist/models/line-item-tax-line.js +2 -1
  223. package/dist/models/line-item-tax-line.js.map +1 -1
  224. package/dist/models/line-item.d.ts +2 -0
  225. package/dist/models/line-item.js +5 -0
  226. package/dist/models/line-item.js.map +1 -1
  227. package/dist/models/money-amount.js +4 -1
  228. package/dist/models/money-amount.js.map +1 -1
  229. package/dist/models/price-list.js +6 -2
  230. package/dist/models/price-list.js.map +1 -1
  231. package/dist/models/product-variant.js +9 -3
  232. package/dist/models/product-variant.js.map +1 -1
  233. package/dist/models/shipping-method-tax-line.js +2 -1
  234. package/dist/models/shipping-method-tax-line.js.map +1 -1
  235. package/dist/models/swap.d.ts +4 -4
  236. package/dist/models/swap.js +23 -23
  237. package/dist/models/swap.js.map +1 -1
  238. package/dist/repositories/cart.d.ts +2 -2
  239. package/dist/repositories/cart.js.map +1 -1
  240. package/dist/repositories/customer.d.ts +1 -1
  241. package/dist/repositories/customer.js +7 -9
  242. package/dist/repositories/customer.js.map +1 -1
  243. package/dist/repositories/discount-condition.d.ts +34 -0
  244. package/dist/repositories/discount-condition.js +384 -0
  245. package/dist/repositories/discount-condition.js.map +1 -0
  246. package/dist/repositories/line-item-adjustment.d.ts +4 -0
  247. package/dist/repositories/line-item-adjustment.js +38 -0
  248. package/dist/repositories/line-item-adjustment.js.map +1 -0
  249. package/dist/repositories/line-item-tax-line.d.ts +2 -0
  250. package/dist/repositories/line-item-tax-line.js +80 -0
  251. package/dist/repositories/line-item-tax-line.js.map +1 -1
  252. package/dist/repositories/line-item.js +1 -0
  253. package/dist/repositories/line-item.js.map +1 -1
  254. package/dist/repositories/money-amount.d.ts +1 -0
  255. package/dist/repositories/money-amount.js +49 -2
  256. package/dist/repositories/money-amount.js.map +1 -1
  257. package/dist/repositories/product.d.ts +2 -0
  258. package/dist/repositories/product.js +35 -17
  259. package/dist/repositories/product.js.map +1 -1
  260. package/dist/repositories/shipping-method-tax-line.d.ts +2 -0
  261. package/dist/repositories/shipping-method-tax-line.js +80 -0
  262. package/dist/repositories/shipping-method-tax-line.js.map +1 -1
  263. package/dist/scripts/discount-rule-migration.d.ts +4 -0
  264. package/dist/scripts/discount-rule-migration.js +177 -0
  265. package/dist/scripts/discount-rule-migration.js.map +1 -0
  266. package/dist/scripts/line-item-adjustment-migration.d.ts +4 -0
  267. package/dist/scripts/line-item-adjustment-migration.js +173 -0
  268. package/dist/scripts/line-item-adjustment-migration.js.map +1 -0
  269. package/dist/services/cart.d.ts +58 -47
  270. package/dist/services/cart.js +1306 -1391
  271. package/dist/services/cart.js.map +1 -1
  272. package/dist/services/customer.js +4 -2
  273. package/dist/services/customer.js.map +1 -1
  274. package/dist/services/discount.d.ts +50 -58
  275. package/dist/services/discount.js +363 -152
  276. package/dist/services/discount.js.map +1 -1
  277. package/dist/services/draft-order.js +1 -0
  278. package/dist/services/draft-order.js.map +1 -1
  279. package/dist/services/fulfillment-provider.js +23 -17
  280. package/dist/services/fulfillment-provider.js.map +1 -1
  281. package/dist/services/invite.d.ts +4 -2
  282. package/dist/services/invite.js +11 -9
  283. package/dist/services/invite.js.map +1 -1
  284. package/dist/services/line-item-adjustment.d.ts +87 -0
  285. package/dist/services/line-item-adjustment.js +436 -0
  286. package/dist/services/line-item-adjustment.js.map +1 -0
  287. package/dist/services/line-item.d.ts +48 -40
  288. package/dist/services/line-item.js +226 -193
  289. package/dist/services/line-item.js.map +1 -1
  290. package/dist/services/order.js +4 -4
  291. package/dist/services/order.js.map +1 -1
  292. package/dist/services/payment-provider.js +23 -17
  293. package/dist/services/payment-provider.js.map +1 -1
  294. package/dist/services/product-variant.d.ts +26 -9
  295. package/dist/services/product-variant.js +222 -76
  296. package/dist/services/product-variant.js.map +1 -1
  297. package/dist/services/product.d.ts +22 -4
  298. package/dist/services/product.js +236 -48
  299. package/dist/services/product.js.map +1 -1
  300. package/dist/services/region.js +8 -4
  301. package/dist/services/region.js.map +1 -1
  302. package/dist/services/return.js +0 -1
  303. package/dist/services/return.js.map +1 -1
  304. package/dist/services/shipping-option.d.ts +2 -2
  305. package/dist/services/shipping-option.js +7 -4
  306. package/dist/services/shipping-option.js.map +1 -1
  307. package/dist/services/swap.d.ts +4 -1
  308. package/dist/services/swap.js +29 -16
  309. package/dist/services/swap.js.map +1 -1
  310. package/dist/services/system-tax.d.ts +2 -3
  311. package/dist/services/system-tax.js +2 -2
  312. package/dist/services/system-tax.js.map +1 -1
  313. package/dist/services/tax-provider.d.ts +2 -0
  314. package/dist/services/tax-provider.js +96 -7
  315. package/dist/services/tax-provider.js.map +1 -1
  316. package/dist/services/tax-rate.d.ts +3 -3
  317. package/dist/services/tax-rate.js +1 -1
  318. package/dist/services/tax-rate.js.map +1 -1
  319. package/dist/services/totals.d.ts +9 -8
  320. package/dist/services/totals.js +41 -88
  321. package/dist/services/totals.js.map +1 -1
  322. package/dist/strategies/price-selection.d.ts +13 -0
  323. package/dist/strategies/price-selection.js +185 -0
  324. package/dist/strategies/price-selection.js.map +1 -0
  325. package/dist/subscribers/order.js +1 -7
  326. package/dist/subscribers/order.js.map +1 -1
  327. package/dist/types/batch-job.d.ts +6 -0
  328. package/dist/types/batch-job.js +11 -0
  329. package/dist/types/batch-job.js.map +1 -0
  330. package/dist/types/common.d.ts +1 -3
  331. package/dist/types/discount.d.ts +69 -1
  332. package/dist/types/discount.js +129 -5
  333. package/dist/types/discount.js.map +1 -1
  334. package/dist/types/global.d.ts +34 -0
  335. package/dist/types/global.js +3 -0
  336. package/dist/types/global.js.map +1 -0
  337. package/dist/types/line-item-adjustment.d.ts +9 -0
  338. package/dist/types/line-item-adjustment.js +50 -0
  339. package/dist/types/line-item-adjustment.js.map +1 -0
  340. package/dist/types/price-selection.d.ts +5 -0
  341. package/dist/types/price-selection.js +35 -0
  342. package/dist/types/price-selection.js.map +1 -0
  343. package/dist/types/product-variant.d.ts +6 -0
  344. package/dist/types/product-variant.js.map +1 -1
  345. package/dist/types/product.d.ts +16 -0
  346. package/dist/types/product.js +86 -1
  347. package/dist/types/product.js.map +1 -1
  348. package/dist/types/validators/exactly-one.d.ts +6 -0
  349. package/dist/types/validators/exactly-one.js +37 -0
  350. package/dist/types/validators/exactly-one.js.map +1 -0
  351. package/dist/utils/date-helpers.d.ts +2 -0
  352. package/dist/utils/date-helpers.js +15 -0
  353. package/dist/utils/date-helpers.js.map +1 -0
  354. package/dist/utils/get-query-config.d.ts +11 -0
  355. package/dist/utils/get-query-config.js +88 -0
  356. package/dist/utils/get-query-config.js.map +1 -0
  357. package/package.json +7 -8
  358. package/dist/api/routes/admin/discounts/add-valid-product.d.ts +0 -23
  359. package/dist/api/routes/admin/discounts/add-valid-product.js.map +0 -1
  360. package/dist/api/routes/admin/discounts/remove-valid-product.d.ts +0 -23
  361. package/dist/api/routes/admin/discounts/remove-valid-product.js.map +0 -1
  362. package/dist/api/routes/store/carts/update-payment-method.d.ts +0 -38
  363. package/dist/api/routes/store/carts/update-payment-method.js +0 -122
  364. package/dist/api/routes/store/carts/update-payment-method.js.map +0 -1
  365. package/dist/config/index.d.ts +0 -14
  366. package/dist/config/index.js +0 -40
  367. package/dist/config/index.js.map +0 -1
  368. package/yarn-error.log +0 -6769
@@ -72,17 +72,6 @@ var __rest = (this && this.__rest) || function (s, e) {
72
72
  }
73
73
  return t;
74
74
  };
75
- var __values = (this && this.__values) || function(o) {
76
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
77
- if (m) return m.call(o);
78
- if (o && typeof o.length === "number") return {
79
- next: function () {
80
- if (o && i >= o.length) o = void 0;
81
- return { value: o && o[i++], done: !o };
82
- }
83
- };
84
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
85
- };
86
75
  var __read = (this && this.__read) || function (o, n) {
87
76
  var m = typeof Symbol === "function" && o[Symbol.iterator];
88
77
  if (!m) return o;
@@ -99,6 +88,26 @@ var __read = (this && this.__read) || function (o, n) {
99
88
  }
100
89
  return ar;
101
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
+ };
100
+ var __values = (this && this.__values) || function(o) {
101
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
102
+ if (m) return m.call(o);
103
+ if (o && typeof o.length === "number") return {
104
+ next: function () {
105
+ if (o && i >= o.length) o = void 0;
106
+ return { value: o && o[i++], done: !o };
107
+ }
108
+ };
109
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
110
+ };
102
111
  Object.defineProperty(exports, "__esModule", { value: true });
103
112
  var medusa_core_utils_1 = require("medusa-core-utils");
104
113
  var medusa_interfaces_1 = require("medusa-interfaces");
@@ -110,7 +119,7 @@ var typeorm_1 = require("typeorm");
110
119
  var ProductVariantService = /** @class */ (function (_super) {
111
120
  __extends(ProductVariantService, _super);
112
121
  function ProductVariantService(_a) {
113
- var manager = _a.manager, productVariantRepository = _a.productVariantRepository, productRepository = _a.productRepository, eventBusService = _a.eventBusService, regionService = _a.regionService, moneyAmountRepository = _a.moneyAmountRepository, productOptionValueRepository = _a.productOptionValueRepository;
122
+ var manager = _a.manager, productVariantRepository = _a.productVariantRepository, productRepository = _a.productRepository, eventBusService = _a.eventBusService, regionService = _a.regionService, moneyAmountRepository = _a.moneyAmountRepository, productOptionValueRepository = _a.productOptionValueRepository, cartRepository = _a.cartRepository, priceSelectionStrategy = _a.priceSelectionStrategy;
114
123
  var _this = _super.call(this) || this;
115
124
  /** @private @const {EntityManager} */
116
125
  _this.manager_ = manager;
@@ -124,6 +133,8 @@ var ProductVariantService = /** @class */ (function (_super) {
124
133
  _this.regionService_ = regionService;
125
134
  _this.moneyAmountRepository_ = moneyAmountRepository;
126
135
  _this.productOptionValueRepository_ = productOptionValueRepository;
136
+ _this.cartRepository_ = cartRepository;
137
+ _this.priceSelectionStrategy_ = priceSelectionStrategy;
127
138
  return _this;
128
139
  }
129
140
  ProductVariantService.prototype.withTransaction = function (transactionManager) {
@@ -138,6 +149,8 @@ var ProductVariantService = /** @class */ (function (_super) {
138
149
  regionService: this.regionService_,
139
150
  moneyAmountRepository: this.moneyAmountRepository_,
140
151
  productOptionValueRepository: this.productOptionValueRepository_,
152
+ cartRepository: this.cartRepository_,
153
+ priceSelectionStrategy: this.priceSelectionStrategy_,
141
154
  });
142
155
  cloned.transactionManager_ = transactionManager;
143
156
  return cloned;
@@ -149,22 +162,38 @@ var ProductVariantService = /** @class */ (function (_super) {
149
162
  * @return {Promise<Product>} the product document.
150
163
  */
151
164
  ProductVariantService.prototype.retrieve = function (variantId, config) {
152
- if (config === void 0) { config = {}; }
165
+ var _a, _b;
166
+ if (config === void 0) { config = {
167
+ include_discount_prices: false,
168
+ }; }
153
169
  return __awaiter(this, void 0, void 0, function () {
154
- var variantRepo, validatedId, query, variant;
155
- return __generator(this, function (_a) {
156
- switch (_a.label) {
170
+ var variantRepo, validatedId, priceIndex, query, variant, _c;
171
+ return __generator(this, function (_d) {
172
+ switch (_d.label) {
157
173
  case 0:
158
174
  variantRepo = this.manager_.getCustomRepository(this.productVariantRepository_);
159
175
  validatedId = this.validateId_(variantId);
176
+ priceIndex = (_b = (_a = config.relations) === null || _a === void 0 ? void 0 : _a.indexOf("prices")) !== null && _b !== void 0 ? _b : -1;
177
+ if (priceIndex >= 0 && config.relations) {
178
+ config.relations = __spreadArray([], __read(config.relations), false);
179
+ config.relations.splice(priceIndex, 1);
180
+ }
160
181
  query = this.buildQuery_({ id: validatedId }, config);
161
182
  return [4 /*yield*/, variantRepo.findOne(query)];
162
183
  case 1:
163
- variant = _a.sent();
184
+ variant = _d.sent();
164
185
  if (!variant) {
165
186
  throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Variant with id: ".concat(variantId, " was not found"));
166
187
  }
167
- return [2 /*return*/, variant];
188
+ if (!(priceIndex >= 0)) return [3 /*break*/, 3];
189
+ return [4 /*yield*/, this.setAdditionalPrices(variant, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
190
+ case 2:
191
+ _c = (_d.sent());
192
+ return [3 /*break*/, 4];
193
+ case 3:
194
+ _c = variant;
195
+ _d.label = 4;
196
+ case 4: return [2 /*return*/, _c];
168
197
  }
169
198
  });
170
199
  });
@@ -176,21 +205,37 @@ var ProductVariantService = /** @class */ (function (_super) {
176
205
  * @return {Promise<Product>} the product document.
177
206
  */
178
207
  ProductVariantService.prototype.retrieveBySKU = function (sku, config) {
179
- if (config === void 0) { config = {}; }
208
+ var _a, _b;
209
+ if (config === void 0) { config = {
210
+ include_discount_prices: false,
211
+ }; }
180
212
  return __awaiter(this, void 0, void 0, function () {
181
- var variantRepo, query, variant;
182
- return __generator(this, function (_a) {
183
- switch (_a.label) {
213
+ var variantRepo, priceIndex, query, variant, _c;
214
+ return __generator(this, function (_d) {
215
+ switch (_d.label) {
184
216
  case 0:
185
217
  variantRepo = this.manager_.getCustomRepository(this.productVariantRepository_);
218
+ priceIndex = (_b = (_a = config.relations) === null || _a === void 0 ? void 0 : _a.indexOf("prices")) !== null && _b !== void 0 ? _b : -1;
219
+ if (priceIndex >= 0 && config.relations) {
220
+ config.relations = __spreadArray([], __read(config.relations), false);
221
+ config.relations.splice(priceIndex, 1);
222
+ }
186
223
  query = this.buildQuery_({ sku: sku }, config);
187
224
  return [4 /*yield*/, variantRepo.findOne(query)];
188
225
  case 1:
189
- variant = _a.sent();
226
+ variant = _d.sent();
190
227
  if (!variant) {
191
228
  throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Variant with sku: ".concat(sku, " was not found"));
192
229
  }
193
- return [2 /*return*/, variant];
230
+ if (!(priceIndex >= 0)) return [3 /*break*/, 3];
231
+ return [4 /*yield*/, this.setAdditionalPrices(variant, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
232
+ case 2:
233
+ _c = (_d.sent());
234
+ return [3 /*break*/, 4];
235
+ case 3:
236
+ _c = variant;
237
+ _d.label = 4;
238
+ case 4: return [2 /*return*/, _c];
194
239
  }
195
240
  });
196
241
  });
@@ -311,6 +356,7 @@ var ProductVariantService = /** @class */ (function (_super) {
311
356
  * The function will throw, if price updates are attempted.
312
357
  * @param {string | ProductVariant} variantOrVariantId - variant or id of a variant.
313
358
  * @param {object} update - an object with the update values.
359
+ * @param {object} config - an object with the config values for returning the variant.
314
360
  * @return {Promise} resolves to the update result.
315
361
  */
316
362
  ProductVariantService.prototype.update = function (variantOrVariantId, update) {
@@ -318,7 +364,7 @@ var ProductVariantService = /** @class */ (function (_super) {
318
364
  var _this = this;
319
365
  return __generator(this, function (_a) {
320
366
  return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
321
- var variantRepo, variant, prices, options, metadata, inventory_quantity, rest, options_1, options_1_1, option, e_2_1, _a, _b, _c, key, value, result;
367
+ var variantRepo, variant, variantRes, prices, options, metadata, inventory_quantity, rest, options_1, options_1_1, option, e_2_1, _a, _b, _c, key, value, result;
322
368
  var e_2, _d, e_3, _e;
323
369
  return __generator(this, function (_f) {
324
370
  switch (_f.label) {
@@ -326,9 +372,17 @@ var ProductVariantService = /** @class */ (function (_super) {
326
372
  variantRepo = manager.getCustomRepository(this.productVariantRepository_);
327
373
  variant = variantOrVariantId;
328
374
  if (!(typeof variant === "string")) return [3 /*break*/, 2];
329
- return [4 /*yield*/, this.retrieve(variantOrVariantId)];
375
+ return [4 /*yield*/, variantRepo.findOne({
376
+ where: { id: variantOrVariantId },
377
+ })];
330
378
  case 1:
331
- variant = _f.sent();
379
+ variantRes = _f.sent();
380
+ if (typeof variant === "undefined") {
381
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Variant with id ".concat(variantOrVariantId, " was not found"));
382
+ }
383
+ else {
384
+ variant = variantRes;
385
+ }
332
386
  return [3 /*break*/, 3];
333
387
  case 2:
334
388
  if (!variant.id) {
@@ -371,7 +425,7 @@ var ProductVariantService = /** @class */ (function (_super) {
371
425
  finally { if (e_2) throw e_2.error; }
372
426
  return [7 /*endfinally*/];
373
427
  case 13:
374
- if (metadata) {
428
+ if (typeof metadata === "object") {
375
429
  variant.metadata = this.setMetadata_(variant, metadata);
376
430
  }
377
431
  if (typeof inventory_quantity === "number") {
@@ -479,47 +533,34 @@ var ProductVariantService = /** @class */ (function (_super) {
479
533
  * exists the function will try to use a currency price. If no default
480
534
  * currency price exists the function will throw an error.
481
535
  * @param {string} variantId - the id of the variant to get price from
482
- * @param {string} regionId - the id of the region to get price for
536
+ * @param {GetRegionPriceContext} context - context for getting region price
483
537
  * @return {number} the price specific to the region
484
538
  */
485
- ProductVariantService.prototype.getRegionPrice = function (variantId, regionId) {
539
+ ProductVariantService.prototype.getRegionPrice = function (variantId, context) {
486
540
  return __awaiter(this, void 0, void 0, function () {
487
541
  var _this = this;
488
542
  return __generator(this, function (_a) {
489
543
  return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
490
- var moneyAmountRepo, region, moneyAmount;
544
+ var region, prices;
491
545
  return __generator(this, function (_a) {
492
546
  switch (_a.label) {
493
- case 0:
494
- moneyAmountRepo = manager.getCustomRepository(this.moneyAmountRepository_);
495
- return [4 /*yield*/, this.regionService_
496
- .withTransaction(manager)
497
- .retrieve(regionId)
498
- // Find region price based on region id
499
- ];
547
+ case 0: return [4 /*yield*/, this.regionService_
548
+ .withTransaction(manager)
549
+ .retrieve(context.regionId)];
500
550
  case 1:
501
551
  region = _a.sent();
502
- return [4 /*yield*/, moneyAmountRepo.findOne({
503
- where: { region_id: regionId, variant_id: variantId },
504
- })
505
- // If no price could be find based on region id, we try to fetch
506
- // based on the region currency code
507
- ];
508
- case 2:
509
- moneyAmount = _a.sent();
510
- if (!!moneyAmount) return [3 /*break*/, 4];
511
- return [4 /*yield*/, moneyAmountRepo.findOne({
512
- where: { variant_id: variantId, currency_code: region.currency_code },
552
+ return [4 /*yield*/, this.priceSelectionStrategy_
553
+ .withTransaction(manager)
554
+ .calculateVariantPrice(variantId, {
555
+ region_id: context.regionId,
556
+ currency_code: region.currency_code,
557
+ quantity: context.quantity,
558
+ customer_id: context.customer_id,
559
+ include_discount_prices: !!context.include_discount_prices,
513
560
  })];
514
- case 3:
515
- moneyAmount = _a.sent();
516
- _a.label = 4;
517
- case 4:
518
- // Still, if no price is found, we throw
519
- if (!moneyAmount) {
520
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "A price for region: ".concat(region.name, " could not be found"));
521
- }
522
- return [2 /*return*/, moneyAmount.amount];
561
+ case 2:
562
+ prices = _a.sent();
563
+ return [2 /*return*/, prices.calculatedPrice];
523
564
  }
524
565
  });
525
566
  }); })];
@@ -704,26 +745,48 @@ var ProductVariantService = /** @class */ (function (_super) {
704
745
  * @return {Promise} the result of the find operation
705
746
  */
706
747
  ProductVariantService.prototype.listAndCount = function (selector, config) {
707
- var _a;
708
- if (config === void 0) { config = { relations: [], skip: 0, take: 20 }; }
748
+ var _a, _b, _c;
749
+ if (config === void 0) { config = {
750
+ relations: [],
751
+ skip: 0,
752
+ take: 20,
753
+ include_discount_prices: false,
754
+ }; }
709
755
  return __awaiter(this, void 0, void 0, function () {
710
- var variantRepo, _b, q, query, relations, qb, _c, raw, count, variants;
711
- return __generator(this, function (_d) {
712
- switch (_d.label) {
756
+ var variantRepo, priceIndex, _d, q, query, relations, qb, _e, raw, count_1, variants_1, res, _f, variants, count, res;
757
+ return __generator(this, function (_g) {
758
+ switch (_g.label) {
713
759
  case 0:
714
760
  variantRepo = this.manager_.getCustomRepository(this.productVariantRepository_);
715
- _b = this.prepareListQuery_(selector, config), q = _b.q, query = _b.query, relations = _b.relations;
716
- if (!q) return [3 /*break*/, 3];
761
+ priceIndex = (_b = (_a = config.relations) === null || _a === void 0 ? void 0 : _a.indexOf("prices")) !== null && _b !== void 0 ? _b : -1;
762
+ if (priceIndex >= 0 && config.relations) {
763
+ config.relations = __spreadArray([], __read(config.relations), false);
764
+ config.relations.splice(priceIndex, 1);
765
+ }
766
+ _d = this.prepareListQuery_(selector, config), q = _d.q, query = _d.query, relations = _d.relations;
767
+ if (!q) return [3 /*break*/, 5];
717
768
  qb = this.getFreeTextQueryBuilder_(variantRepo, query, q);
718
769
  return [4 /*yield*/, qb.getManyAndCount()];
719
770
  case 1:
720
- _c = __read.apply(void 0, [_d.sent(), 2]), raw = _c[0], count = _c[1];
721
- return [4 /*yield*/, variantRepo.findWithRelations(relations, raw.map(function (i) { return i.id; }), (_a = query.withDeleted) !== null && _a !== void 0 ? _a : false)];
771
+ _e = __read.apply(void 0, [_g.sent(), 2]), raw = _e[0], count_1 = _e[1];
772
+ return [4 /*yield*/, variantRepo.findWithRelations(relations, raw.map(function (i) { return i.id; }), (_c = query.withDeleted) !== null && _c !== void 0 ? _c : false)];
722
773
  case 2:
723
- variants = _d.sent();
724
- return [2 /*return*/, [variants, count]];
725
- case 3: return [4 /*yield*/, variantRepo.findWithRelationsAndCount(relations, query)];
726
- case 4: return [2 /*return*/, _d.sent()];
774
+ variants_1 = _g.sent();
775
+ if (!(priceIndex >= 0)) return [3 /*break*/, 4];
776
+ return [4 /*yield*/, this.setAdditionalPrices(variants_1, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
777
+ case 3:
778
+ res = _g.sent();
779
+ return [2 /*return*/, [res, count_1]];
780
+ case 4: return [2 /*return*/, [variants_1, count_1]];
781
+ case 5: return [4 /*yield*/, variantRepo.findWithRelationsAndCount(relations, query)];
782
+ case 6:
783
+ _f = __read.apply(void 0, [_g.sent(), 2]), variants = _f[0], count = _f[1];
784
+ if (!(priceIndex >= 0)) return [3 /*break*/, 8];
785
+ return [4 /*yield*/, this.setAdditionalPrices(variants, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
786
+ case 7:
787
+ res = _g.sent();
788
+ return [2 /*return*/, [res, count]];
789
+ case 8: return [2 /*return*/, [variants, count]];
727
790
  }
728
791
  });
729
792
  });
@@ -734,13 +797,23 @@ var ProductVariantService = /** @class */ (function (_super) {
734
797
  * @return {Promise} the result of the find operation
735
798
  */
736
799
  ProductVariantService.prototype.list = function (selector, config) {
737
- if (config === void 0) { config = { relations: [], skip: 0, take: 20 }; }
800
+ var _a, _b;
801
+ if (config === void 0) { config = {
802
+ relations: [],
803
+ skip: 0,
804
+ take: 20,
805
+ }; }
738
806
  return __awaiter(this, void 0, void 0, function () {
739
- var productVariantRepo, q, query, where_1;
740
- return __generator(this, function (_a) {
741
- switch (_a.label) {
807
+ var productVariantRepo, priceIndex, q, query, where_1, variants, _c;
808
+ return __generator(this, function (_d) {
809
+ switch (_d.label) {
742
810
  case 0:
743
811
  productVariantRepo = this.manager_.getCustomRepository(this.productVariantRepository_);
812
+ priceIndex = (_b = (_a = config.relations) === null || _a === void 0 ? void 0 : _a.indexOf("prices")) !== null && _b !== void 0 ? _b : -1;
813
+ if (priceIndex >= 0 && config.relations) {
814
+ config.relations = __spreadArray([], __read(config.relations), false);
815
+ config.relations.splice(priceIndex, 1);
816
+ }
744
817
  if ("q" in selector) {
745
818
  q = selector.q;
746
819
  delete selector.q;
@@ -765,7 +838,17 @@ var ProductVariantService = /** @class */ (function (_super) {
765
838
  };
766
839
  }
767
840
  return [4 /*yield*/, productVariantRepo.find(query)];
768
- case 1: return [2 /*return*/, _a.sent()];
841
+ case 1:
842
+ variants = _d.sent();
843
+ if (!(priceIndex >= 0)) return [3 /*break*/, 3];
844
+ return [4 /*yield*/, this.setAdditionalPrices(variants, config.currency_code, config.region_id, config.cart_id, config.customer_id, config.include_discount_prices)];
845
+ case 2:
846
+ _c = (_d.sent());
847
+ return [3 /*break*/, 4];
848
+ case 3:
849
+ _c = variants;
850
+ _d.label = 4;
851
+ case 4: return [2 /*return*/, _c];
769
852
  }
770
853
  });
771
854
  });
@@ -906,6 +989,69 @@ var ProductVariantService = /** @class */ (function (_super) {
906
989
  }
907
990
  return qb;
908
991
  };
992
+ /**
993
+ * Set additional prices on a list of variants.
994
+ * @param {ProductVariant | ProductVariant[] } variant variant on which to set additional prices
995
+ * @param {string} currency_code currency code to fetch prices for
996
+ * @param {string} region_id region to fetch prices for
997
+ * @param {string} cart_id string of cart to use as a basis for getting currency and region
998
+ * @param {string} customer_id id of potentially logged in customer, used to get prices valid for their customer groups
999
+ * @param {boolean} include_discount_prices should result include discount pricing
1000
+ * @return {Promise<ProductVariant | ProductVariant[]>} A list of variants with variants decorated with "additional_prices"
1001
+ */
1002
+ ProductVariantService.prototype.setAdditionalPrices = function (variant, currency_code, region_id, cart_id, customer_id, include_discount_prices) {
1003
+ if (include_discount_prices === void 0) { include_discount_prices = false; }
1004
+ return __awaiter(this, void 0, void 0, function () {
1005
+ var _this = this;
1006
+ return __generator(this, function (_a) {
1007
+ return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
1008
+ var cartRepo, regionId, currencyCode, cart, variantArray, priceSelectionStrategy, variantsWithPrices;
1009
+ var _this = this;
1010
+ return __generator(this, function (_a) {
1011
+ switch (_a.label) {
1012
+ case 0:
1013
+ cartRepo = manager.getCustomRepository(this.cartRepository_);
1014
+ regionId = region_id;
1015
+ currencyCode = currency_code;
1016
+ if (!cart_id) return [3 /*break*/, 2];
1017
+ return [4 /*yield*/, cartRepo.findOne({
1018
+ where: { id: cart_id },
1019
+ relations: ["region"],
1020
+ })];
1021
+ case 1:
1022
+ cart = _a.sent();
1023
+ regionId = cart.region.id;
1024
+ currencyCode = cart.region.currency_code;
1025
+ _a.label = 2;
1026
+ case 2:
1027
+ variantArray = Array.isArray(variant) ? variant : [variant];
1028
+ priceSelectionStrategy = this.priceSelectionStrategy_.withTransaction(manager);
1029
+ return [4 /*yield*/, Promise.all(variantArray.map(function (v) { return __awaiter(_this, void 0, void 0, function () {
1030
+ var prices;
1031
+ return __generator(this, function (_a) {
1032
+ switch (_a.label) {
1033
+ case 0: return [4 /*yield*/, priceSelectionStrategy.calculateVariantPrice(v.id, {
1034
+ region_id: regionId,
1035
+ currency_code: currencyCode,
1036
+ cart_id: cart_id,
1037
+ customer_id: customer_id,
1038
+ include_discount_prices: include_discount_prices,
1039
+ })];
1040
+ case 1:
1041
+ prices = _a.sent();
1042
+ return [2 /*return*/, __assign(__assign({}, v), { prices: prices.prices, original_price: prices.originalPrice, calculated_price: prices.calculatedPrice, calculated_price_type: prices.calculatedPriceType })];
1043
+ }
1044
+ });
1045
+ }); }))];
1046
+ case 3:
1047
+ variantsWithPrices = _a.sent();
1048
+ return [2 /*return*/, Array.isArray(variant) ? variantsWithPrices : variantsWithPrices[0]];
1049
+ }
1050
+ });
1051
+ }); })];
1052
+ });
1053
+ });
1054
+ };
909
1055
  ProductVariantService.Events = {
910
1056
  UPDATED: "product-variant.updated",
911
1057
  CREATED: "product-variant.created",
@@ -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
  }