@medusajs/medusa 1.2.2-dev.53 → 1.3.1-next.14

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 (450) 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-condition.d.ts +58 -0
  11. package/dist/api/routes/admin/discounts/create-condition.js +186 -0
  12. package/dist/api/routes/admin/discounts/create-condition.js.map +1 -0
  13. package/dist/api/routes/admin/discounts/create-discount.d.ts +11 -2
  14. package/dist/api/routes/admin/discounts/create-discount.js +65 -12
  15. package/dist/api/routes/admin/discounts/create-discount.js.map +1 -1
  16. package/dist/api/routes/admin/discounts/create-dynamic-code.d.ts +1 -0
  17. package/dist/api/routes/admin/discounts/create-dynamic-code.js +4 -1
  18. package/dist/api/routes/admin/discounts/create-dynamic-code.js.map +1 -1
  19. package/dist/api/routes/admin/discounts/delete-condition.d.ts +36 -0
  20. package/dist/api/routes/admin/discounts/delete-condition.js +151 -0
  21. package/dist/api/routes/admin/discounts/delete-condition.js.map +1 -0
  22. package/dist/api/routes/admin/discounts/delete-dynamic-code.js +3 -1
  23. package/dist/api/routes/admin/discounts/delete-dynamic-code.js.map +1 -1
  24. package/dist/api/routes/admin/discounts/get-discount.d.ts +7 -0
  25. package/dist/api/routes/admin/discounts/get-discount.js +43 -9
  26. package/dist/api/routes/admin/discounts/get-discount.js.map +1 -1
  27. package/dist/api/routes/admin/discounts/index.d.ts +4 -3
  28. package/dist/api/routes/admin/discounts/index.js +8 -6
  29. package/dist/api/routes/admin/discounts/index.js.map +1 -1
  30. package/dist/api/routes/admin/discounts/list-discounts.d.ts +2 -6
  31. package/dist/api/routes/admin/discounts/list-discounts.js +15 -28
  32. package/dist/api/routes/admin/discounts/list-discounts.js.map +1 -1
  33. package/dist/api/routes/admin/discounts/update-condition.d.ts +55 -0
  34. package/dist/api/routes/admin/discounts/update-condition.js +184 -0
  35. package/dist/api/routes/admin/discounts/update-condition.js.map +1 -0
  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/price-lists/add-prices-batch.js +158 -0
  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 +287 -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 +1 -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 +2 -2
  141. package/dist/api/routes/store/products/list-products.js +21 -14
  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 +2 -1
  154. package/dist/api/routes/store/variants/list-variants.js +38 -9
  155. package/dist/api/routes/store/variants/list-variants.js.map +1 -1
  156. package/dist/commands/develop.js +2 -2
  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/index.d.ts +1 -0
  171. package/dist/interfaces/index.js +1 -0
  172. package/dist/interfaces/index.js.map +1 -1
  173. package/dist/interfaces/price-selection-strategy.d.ts +50 -0
  174. package/dist/interfaces/price-selection-strategy.js +34 -0
  175. package/dist/interfaces/price-selection-strategy.js.map +1 -0
  176. package/dist/interfaces/tax-service.d.ts +6 -0
  177. package/dist/interfaces/tax-service.js +31 -0
  178. package/dist/interfaces/tax-service.js.map +1 -1
  179. package/dist/interfaces/transaction-base-service.d.ts +23 -0
  180. package/dist/interfaces/transaction-base-service.js +200 -0
  181. package/dist/interfaces/transaction-base-service.js.map +1 -0
  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 +38 -10
  208. package/dist/loaders/plugins.js +30 -26
  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 +211 -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 -1
  296. package/dist/repositories/customer.js +7 -9
  297. package/dist/repositories/customer.js.map +1 -1
  298. package/dist/repositories/discount-condition.d.ts +38 -0
  299. package/dist/repositories/discount-condition.js +397 -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 +8 -2
  310. package/dist/repositories/money-amount.js +171 -2
  311. package/dist/repositories/money-amount.js.map +1 -1
  312. package/dist/repositories/order.d.ts +1 -1
  313. package/dist/repositories/price-list.d.ts +11 -0
  314. package/dist/repositories/price-list.js +247 -0
  315. package/dist/repositories/price-list.js.map +1 -0
  316. package/dist/repositories/product.d.ts +2 -0
  317. package/dist/repositories/product.js +35 -17
  318. package/dist/repositories/product.js.map +1 -1
  319. package/dist/repositories/shipping-method-tax-line.d.ts +2 -0
  320. package/dist/repositories/shipping-method-tax-line.js +80 -0
  321. package/dist/repositories/shipping-method-tax-line.js.map +1 -1
  322. package/dist/scripts/discount-rule-migration.d.ts +4 -0
  323. package/dist/scripts/discount-rule-migration.js +177 -0
  324. package/dist/scripts/discount-rule-migration.js.map +1 -0
  325. package/dist/scripts/line-item-adjustment-migration.d.ts +4 -0
  326. package/dist/scripts/line-item-adjustment-migration.js +173 -0
  327. package/dist/scripts/line-item-adjustment-migration.js.map +1 -0
  328. package/dist/services/cart.d.ts +64 -53
  329. package/dist/services/cart.js +1297 -1410
  330. package/dist/services/cart.js.map +1 -1
  331. package/dist/services/customer.js +4 -2
  332. package/dist/services/customer.js.map +1 -1
  333. package/dist/services/discount-condition.d.ts +31 -0
  334. package/dist/services/discount-condition.js +223 -0
  335. package/dist/services/discount-condition.js.map +1 -0
  336. package/dist/services/discount.d.ts +46 -58
  337. package/dist/services/discount.js +249 -140
  338. package/dist/services/discount.js.map +1 -1
  339. package/dist/services/draft-order.js +1 -0
  340. package/dist/services/draft-order.js.map +1 -1
  341. package/dist/services/fulfillment-provider.js +23 -17
  342. package/dist/services/fulfillment-provider.js.map +1 -1
  343. package/dist/services/invite.d.ts +4 -2
  344. package/dist/services/invite.js +11 -9
  345. package/dist/services/invite.js.map +1 -1
  346. package/dist/services/line-item-adjustment.d.ts +87 -0
  347. package/dist/services/line-item-adjustment.js +436 -0
  348. package/dist/services/line-item-adjustment.js.map +1 -0
  349. package/dist/services/line-item.d.ts +48 -40
  350. package/dist/services/line-item.js +226 -193
  351. package/dist/services/line-item.js.map +1 -1
  352. package/dist/services/order.js +4 -4
  353. package/dist/services/order.js.map +1 -1
  354. package/dist/services/payment-provider.js +23 -17
  355. package/dist/services/payment-provider.js.map +1 -1
  356. package/dist/services/price-list.d.ts +100 -0
  357. package/dist/services/price-list.js +626 -0
  358. package/dist/services/price-list.js.map +1 -0
  359. package/dist/services/product-variant.d.ts +40 -16
  360. package/dist/services/product-variant.js +259 -109
  361. package/dist/services/product-variant.js.map +1 -1
  362. package/dist/services/product.d.ts +22 -4
  363. package/dist/services/product.js +238 -50
  364. package/dist/services/product.js.map +1 -1
  365. package/dist/services/region.js +8 -4
  366. package/dist/services/region.js.map +1 -1
  367. package/dist/services/return.js +0 -1
  368. package/dist/services/return.js.map +1 -1
  369. package/dist/services/shipping-option.d.ts +2 -2
  370. package/dist/services/shipping-option.js +7 -4
  371. package/dist/services/shipping-option.js.map +1 -1
  372. package/dist/services/swap.d.ts +4 -1
  373. package/dist/services/swap.js +29 -16
  374. package/dist/services/swap.js.map +1 -1
  375. package/dist/services/system-tax.d.ts +2 -3
  376. package/dist/services/system-tax.js +2 -2
  377. package/dist/services/system-tax.js.map +1 -1
  378. package/dist/services/tax-provider.d.ts +2 -0
  379. package/dist/services/tax-provider.js +96 -7
  380. package/dist/services/tax-provider.js.map +1 -1
  381. package/dist/services/tax-rate.d.ts +3 -3
  382. package/dist/services/tax-rate.js +1 -1
  383. package/dist/services/tax-rate.js.map +1 -1
  384. package/dist/services/totals.d.ts +9 -8
  385. package/dist/services/totals.js +41 -88
  386. package/dist/services/totals.js.map +1 -1
  387. package/dist/strategies/price-selection.d.ts +13 -0
  388. package/dist/strategies/price-selection.js +185 -0
  389. package/dist/strategies/price-selection.js.map +1 -0
  390. package/dist/subscribers/order.js +1 -7
  391. package/dist/subscribers/order.js.map +1 -1
  392. package/dist/types/batch-job.d.ts +6 -0
  393. package/dist/types/batch-job.js +11 -0
  394. package/dist/types/batch-job.js.map +1 -0
  395. package/dist/types/cart.d.ts +1 -1
  396. package/dist/types/common.d.ts +20 -2
  397. package/dist/types/common.js.map +1 -1
  398. package/dist/types/discount.d.ts +70 -1
  399. package/dist/types/discount.js +129 -5
  400. package/dist/types/discount.js.map +1 -1
  401. package/dist/types/global.d.ts +34 -0
  402. package/dist/types/global.js +3 -0
  403. package/dist/types/global.js.map +1 -0
  404. package/dist/types/line-item-adjustment.d.ts +9 -0
  405. package/dist/types/line-item-adjustment.js +50 -0
  406. package/dist/types/line-item-adjustment.js.map +1 -0
  407. package/dist/types/price-list.d.ts +71 -0
  408. package/dist/types/price-list.js +157 -0
  409. package/dist/types/price-list.js.map +1 -0
  410. package/dist/types/price-selection.d.ts +5 -0
  411. package/dist/types/price-selection.js +35 -0
  412. package/dist/types/price-selection.js.map +1 -0
  413. package/dist/types/product-variant.d.ts +24 -1
  414. package/dist/types/product-variant.js +65 -1
  415. package/dist/types/product-variant.js.map +1 -1
  416. package/dist/types/product.d.ts +16 -0
  417. package/dist/types/product.js +86 -1
  418. package/dist/types/product.js.map +1 -1
  419. package/dist/types/validators/exactly-one.d.ts +6 -0
  420. package/dist/types/validators/exactly-one.js +37 -0
  421. package/dist/types/validators/exactly-one.js.map +1 -0
  422. package/dist/utils/build-query.d.ts +8 -0
  423. package/dist/utils/build-query.js +114 -0
  424. package/dist/utils/build-query.js.map +1 -0
  425. package/dist/utils/date-helpers.d.ts +2 -0
  426. package/dist/utils/date-helpers.js +15 -0
  427. package/dist/utils/date-helpers.js.map +1 -0
  428. package/dist/utils/get-query-config.d.ts +11 -0
  429. package/dist/utils/get-query-config.js +88 -0
  430. package/dist/utils/get-query-config.js.map +1 -0
  431. package/dist/utils/index.d.ts +3 -0
  432. package/dist/utils/index.js +16 -0
  433. package/dist/utils/index.js.map +1 -0
  434. package/dist/utils/set-metadata.d.ts +9 -0
  435. package/dist/utils/set-metadata.js +72 -0
  436. package/dist/utils/set-metadata.js.map +1 -0
  437. package/dist/utils/validate-id.d.ts +4 -0
  438. package/dist/utils/validate-id.js +47 -0
  439. package/dist/utils/validate-id.js.map +1 -0
  440. package/package.json +7 -8
  441. package/dist/api/routes/admin/discounts/add-valid-product.d.ts +0 -23
  442. package/dist/api/routes/admin/discounts/add-valid-product.js.map +0 -1
  443. package/dist/api/routes/admin/discounts/remove-valid-product.d.ts +0 -23
  444. package/dist/api/routes/admin/discounts/remove-valid-product.js.map +0 -1
  445. package/dist/api/routes/store/carts/update-payment-method.d.ts +0 -38
  446. package/dist/api/routes/store/carts/update-payment-method.js.map +0 -1
  447. package/dist/config/index.d.ts +0 -14
  448. package/dist/config/index.js +0 -40
  449. package/dist/config/index.js.map +0 -1
  450. package/yarn-error.log +0 -6769
@@ -57,7 +57,6 @@ var jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
57
57
  var medusa_test_utils_1 = require("medusa-test-utils");
58
58
  require("reflect-metadata");
59
59
  var supertest_1 = __importDefault(require("supertest"));
60
- var config_1 = __importDefault(require("../config"));
61
60
  var api_1 = __importDefault(require("../loaders/api"));
62
61
  var passport_1 = __importDefault(require("../loaders/passport"));
63
62
  var services_1 = __importDefault(require("../loaders/services"));
@@ -72,8 +71,17 @@ var clientSessionOpts = {
72
71
  secret: "test",
73
72
  };
74
73
  exports.clientSessionOpts = clientSessionOpts;
74
+ var config = {
75
+ projectConfig: {
76
+ jwt_secret: 'supersecret',
77
+ cookie_secret: 'superSecret',
78
+ admin_cors: '',
79
+ store_cors: ''
80
+ }
81
+ };
75
82
  var testApp = (0, express_1.default)();
76
83
  var container = (0, awilix_1.createContainer)();
84
+ container.register('configModule', (0, awilix_1.asValue)(config));
77
85
  container.register({
78
86
  logger: (0, awilix_1.asValue)({
79
87
  error: function () { },
@@ -89,14 +97,14 @@ testApp.use(function (req, res, next) {
89
97
  }
90
98
  next();
91
99
  });
92
- (0, services_1.default)({ container: container });
93
- (0, strategies_1.default)({ container: container });
94
- (0, passport_1.default)({ app: testApp, container: container });
100
+ (0, services_1.default)({ container: container, configModule: config });
101
+ (0, strategies_1.default)({ container: container, configModule: config });
102
+ (0, passport_1.default)({ app: testApp, container: container, configModule: config });
95
103
  testApp.use(function (req, res, next) {
96
104
  req.scope = container.createScope();
97
105
  next();
98
106
  });
99
- (0, api_1.default)({ container: container, rootDirectory: ".", app: testApp });
107
+ (0, api_1.default)({ container: container, app: testApp, configModule: config });
100
108
  var supertestRequest = (0, supertest_1.default)(testApp);
101
109
  function request(method, url, opts) {
102
110
  if (opts === void 0) { opts = {}; }
@@ -111,7 +119,7 @@ function request(method, url, opts) {
111
119
  headers.Cookie = headers.Cookie || "";
112
120
  if (opts.adminSession) {
113
121
  if (opts.adminSession.jwt) {
114
- opts.adminSession.jwt = jsonwebtoken_1.default.sign(opts.adminSession.jwt, config_1.default.jwtSecret, {
122
+ opts.adminSession.jwt = jsonwebtoken_1.default.sign(opts.adminSession.jwt, config.projectConfig.jwt_secret, {
115
123
  expiresIn: "30m",
116
124
  });
117
125
  }
@@ -119,7 +127,7 @@ function request(method, url, opts) {
119
127
  }
120
128
  if (opts.clientSession) {
121
129
  if (opts.clientSession.jwt) {
122
- opts.clientSession.jwt = jsonwebtoken_1.default.sign(opts.clientSession.jwt, config_1.default.jwtSecret, {
130
+ opts.clientSession.jwt = jsonwebtoken_1.default.sign(opts.clientSession.jwt, config.projectConfig.jwt_secret, {
123
131
  expiresIn: "30d",
124
132
  });
125
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-request.js","sourceRoot":"","sources":["../../src/helpers/test-request.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-request.js","sourceRoot":"","sources":["../../src/helpers/test-request.js"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,60 +1,5 @@
1
1
  export * from "./api";
2
2
  export * from "./interfaces";
3
- export * from "./models/shipping-tax-rate";
4
- export * from "./models/product-tax-rate";
5
- export * from "./models/product-type-tax-rate";
6
- export * from "./models/tax-rate";
7
- export * from "./models/shipping-method-tax-line";
8
- export * from "./models/line-item-tax-line";
9
- export * from "./models/address";
10
- export * from "./models/cart";
11
- export * from "./models/claim-image";
12
- export * from "./models/claim-item";
13
- export * from "./models/claim-order";
14
- export * from "./models/claim-tag";
15
- export * from "./models/country";
16
- export * from "./models/currency";
17
- export * from "./models/custom-shipping-option";
18
- export * from "./models/customer";
19
- export * from "./models/customer-group";
20
- export * from "./models/discount";
21
- export * from "./models/discount-rule";
22
- export * from "./models/draft-order";
23
- export * from "./models/fulfillment";
24
- export * from "./models/fulfillment-item";
25
- export * from "./models/fulfillment-provider";
26
- export * from "./models/gift-card";
27
- export * from "./models/gift-card-transaction";
28
- export * from "./models/idempotency-key";
29
- export * from "./models/image";
30
- export * from "./models/invite";
31
- export * from "./models/line-item";
32
- export * from "./models/money-amount";
33
- export * from "./models/note";
34
- export * from "./models/notification";
35
- export * from "./models/oauth";
36
- export * from "./models/order";
37
- export * from "./models/payment";
38
- export * from "./models/payment-provider";
39
- export * from "./models/payment-session";
40
- export * from "./models/product";
41
- export * from "./models/product-collection";
42
- export * from "./models/product-option";
43
- export * from "./models/product-option-value";
44
- export * from "./models/product-tag";
45
- export * from "./models/product-type";
46
- export * from "./models/product-variant";
47
- export * from "./models/refund";
48
- export * from "./models/region";
49
- export * from "./models/return";
50
- export * from "./models/return-item";
51
- export * from "./models/return-reason";
52
- export * from "./models/shipping-method";
53
- export * from "./models/shipping-option";
54
- export * from "./models/shipping-option-requirement";
55
- export * from "./models/shipping-profile";
56
- export * from "./models/staged-job";
57
- export * from "./models/store";
58
- export * from "./models/swap";
59
- export * from "./models/user";
60
- export * from "./models/tax-provider";
3
+ export * from "./types/price-list";
4
+ export * from "./models";
5
+ export * from "./services";
package/dist/index.js CHANGED
@@ -10,67 +10,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- // API payloads
14
13
  __exportStar(require("./api"), exports);
15
- // Interfaces
16
14
  __exportStar(require("./interfaces"), exports);
17
- // Models
18
- __exportStar(require("./models/shipping-tax-rate"), exports);
19
- __exportStar(require("./models/product-tax-rate"), exports);
20
- __exportStar(require("./models/product-type-tax-rate"), exports);
21
- __exportStar(require("./models/tax-rate"), exports);
22
- __exportStar(require("./models/shipping-method-tax-line"), exports);
23
- __exportStar(require("./models/line-item-tax-line"), exports);
24
- __exportStar(require("./models/address"), exports);
25
- __exportStar(require("./models/cart"), exports);
26
- __exportStar(require("./models/claim-image"), exports);
27
- __exportStar(require("./models/claim-item"), exports);
28
- __exportStar(require("./models/claim-order"), exports);
29
- __exportStar(require("./models/claim-tag"), exports);
30
- __exportStar(require("./models/country"), exports);
31
- __exportStar(require("./models/currency"), exports);
32
- __exportStar(require("./models/custom-shipping-option"), exports);
33
- __exportStar(require("./models/customer"), exports);
34
- __exportStar(require("./models/customer-group"), exports);
35
- __exportStar(require("./models/discount"), exports);
36
- __exportStar(require("./models/discount-rule"), exports);
37
- __exportStar(require("./models/draft-order"), exports);
38
- __exportStar(require("./models/fulfillment"), exports);
39
- __exportStar(require("./models/fulfillment-item"), exports);
40
- __exportStar(require("./models/fulfillment-provider"), exports);
41
- __exportStar(require("./models/gift-card"), exports);
42
- __exportStar(require("./models/gift-card-transaction"), exports);
43
- __exportStar(require("./models/idempotency-key"), exports);
44
- __exportStar(require("./models/image"), exports);
45
- __exportStar(require("./models/invite"), exports);
46
- __exportStar(require("./models/line-item"), exports);
47
- __exportStar(require("./models/money-amount"), exports);
48
- __exportStar(require("./models/note"), exports);
49
- __exportStar(require("./models/notification"), exports);
50
- __exportStar(require("./models/oauth"), exports);
51
- __exportStar(require("./models/order"), exports);
52
- __exportStar(require("./models/payment"), exports);
53
- __exportStar(require("./models/payment-provider"), exports);
54
- __exportStar(require("./models/payment-session"), exports);
55
- __exportStar(require("./models/product"), exports);
56
- __exportStar(require("./models/product-collection"), exports);
57
- __exportStar(require("./models/product-option"), exports);
58
- __exportStar(require("./models/product-option-value"), exports);
59
- __exportStar(require("./models/product-tag"), exports);
60
- __exportStar(require("./models/product-type"), exports);
61
- __exportStar(require("./models/product-variant"), exports);
62
- __exportStar(require("./models/refund"), exports);
63
- __exportStar(require("./models/region"), exports);
64
- __exportStar(require("./models/return"), exports);
65
- __exportStar(require("./models/return-item"), exports);
66
- __exportStar(require("./models/return-reason"), exports);
67
- __exportStar(require("./models/shipping-method"), exports);
68
- __exportStar(require("./models/shipping-option"), exports);
69
- __exportStar(require("./models/shipping-option-requirement"), exports);
70
- __exportStar(require("./models/shipping-profile"), exports);
71
- __exportStar(require("./models/staged-job"), exports);
72
- __exportStar(require("./models/store"), exports);
73
- __exportStar(require("./models/swap"), exports);
74
- __exportStar(require("./models/user"), exports);
75
- __exportStar(require("./models/tax-provider"), exports);
15
+ __exportStar(require("./types/price-list"), exports);
16
+ __exportStar(require("./models"), exports);
17
+ __exportStar(require("./services"), exports);
76
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,eAAe;AACf,wCAAqB;AAErB,aAAa;AACb,+CAA4B;AAE5B,SAAS;AACT,6DAA0C;AAC1C,4DAAyC;AACzC,iEAA8C;AAC9C,oDAAiC;AACjC,oEAAiD;AACjD,8DAA2C;AAC3C,mDAAgC;AAChC,gDAA6B;AAC7B,uDAAoC;AACpC,sDAAmC;AACnC,uDAAoC;AACpC,qDAAkC;AAClC,mDAAgC;AAChC,oDAAiC;AACjC,kEAA+C;AAC/C,oDAAiC;AACjC,0DAAuC;AACvC,oDAAiC;AACjC,yDAAsC;AACtC,uDAAoC;AACpC,uDAAoC;AACpC,4DAAyC;AACzC,gEAA6C;AAC7C,qDAAkC;AAClC,iEAA8C;AAC9C,2DAAwC;AACxC,iDAA8B;AAC9B,kDAA+B;AAC/B,qDAAkC;AAClC,wDAAqC;AACrC,gDAA6B;AAC7B,wDAAqC;AACrC,iDAA8B;AAC9B,iDAA8B;AAC9B,mDAAgC;AAChC,4DAAyC;AACzC,2DAAwC;AACxC,mDAAgC;AAChC,8DAA2C;AAC3C,0DAAuC;AACvC,gEAA6C;AAC7C,uDAAoC;AACpC,wDAAqC;AACrC,2DAAwC;AACxC,kDAA+B;AAC/B,kDAA+B;AAC/B,kDAA+B;AAC/B,uDAAoC;AACpC,yDAAsC;AACtC,2DAAwC;AACxC,2DAAwC;AACxC,uEAAoD;AACpD,4DAAyC;AACzC,sDAAmC;AACnC,iDAA8B;AAC9B,gDAA6B;AAC7B,gDAA6B;AAC7B,wDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAqB;AACrB,+CAA4B;AAC5B,qDAAkC;AAClC,2CAAwB;AACxB,6CAA0B"}
@@ -1,3 +1,4 @@
1
1
  export * from "./tax-calculation-strategy";
2
2
  export * from "./cart-completion-strategy";
3
3
  export * from "./tax-service";
4
+ export * from "./transaction-base-service";
@@ -13,4 +13,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./tax-calculation-strategy"), exports);
14
14
  __exportStar(require("./cart-completion-strategy"), exports);
15
15
  __exportStar(require("./tax-service"), exports);
16
+ __exportStar(require("./transaction-base-service"), exports);
16
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAA0C;AAC1C,6DAA0C;AAC1C,gDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAA0C;AAC1C,6DAA0C;AAC1C,gDAA6B;AAC7B,6DAA0C"}
@@ -0,0 +1,50 @@
1
+ import { EntityManager } from "typeorm";
2
+ import { MoneyAmount } from "..";
3
+ import { PriceListType } from "../types/price-list";
4
+ export interface IPriceSelectionStrategy {
5
+ /**
6
+ * Instantiate a new price selection strategy with the active transaction in
7
+ * order to ensure reads are accurate.
8
+ * @param manager EntityManager with the queryrunner of the active transaction
9
+ * @returns a new price selection strategy
10
+ */
11
+ withTransaction(manager: EntityManager): IPriceSelectionStrategy;
12
+ /**
13
+ * Calculate the original and discount price for a given variant in a set of
14
+ * circumstances described in the context.
15
+ * @param variant The variant id of the variant for which to retrieve prices
16
+ * @param context Details relevant to determine the correct pricing of the variant
17
+ * @return pricing details in an object containing the calculated lowest price,
18
+ * the default price an all valid prices for the given variant
19
+ */
20
+ calculateVariantPrice(variant_id: string, context: PriceSelectionContext): Promise<PriceSelectionResult>;
21
+ }
22
+ export declare abstract class AbstractPriceSelectionStrategy implements IPriceSelectionStrategy {
23
+ abstract withTransaction(manager: EntityManager): IPriceSelectionStrategy;
24
+ abstract calculateVariantPrice(variant_id: string, context: PriceSelectionContext): Promise<PriceSelectionResult>;
25
+ }
26
+ export declare function isPriceSelectionStrategy(object: any): object is IPriceSelectionStrategy;
27
+ export declare type PriceSelectionContext = {
28
+ cart_id?: string;
29
+ customer_id?: string;
30
+ quantity?: number;
31
+ region_id?: string;
32
+ currency_code?: string;
33
+ include_discount_prices?: boolean;
34
+ };
35
+ declare enum DefaultPriceType {
36
+ DEFAULT = "default"
37
+ }
38
+ export declare type PriceType = DefaultPriceType | PriceListType;
39
+ export declare const PriceType: {
40
+ SALE: PriceListType.SALE;
41
+ OVERRIDE: PriceListType.OVERRIDE;
42
+ DEFAULT: DefaultPriceType.DEFAULT;
43
+ };
44
+ export declare type PriceSelectionResult = {
45
+ originalPrice: number | null;
46
+ calculatedPrice: number | null;
47
+ calculatedPriceType?: PriceType;
48
+ prices: MoneyAmount[];
49
+ };
50
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.PriceType = exports.isPriceSelectionStrategy = exports.AbstractPriceSelectionStrategy = void 0;
15
+ var price_list_1 = require("../types/price-list");
16
+ var AbstractPriceSelectionStrategy = /** @class */ (function () {
17
+ function AbstractPriceSelectionStrategy() {
18
+ }
19
+ return AbstractPriceSelectionStrategy;
20
+ }());
21
+ exports.AbstractPriceSelectionStrategy = AbstractPriceSelectionStrategy;
22
+ function isPriceSelectionStrategy(
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
+ object) {
25
+ return (typeof object.calculateVariantPrice === "function" &&
26
+ typeof object.withTransaction === "function");
27
+ }
28
+ exports.isPriceSelectionStrategy = isPriceSelectionStrategy;
29
+ var DefaultPriceType;
30
+ (function (DefaultPriceType) {
31
+ DefaultPriceType["DEFAULT"] = "default";
32
+ })(DefaultPriceType || (DefaultPriceType = {}));
33
+ exports.PriceType = __assign(__assign({}, DefaultPriceType), price_list_1.PriceListType);
34
+ //# sourceMappingURL=price-selection-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price-selection-strategy.js","sourceRoot":"","sources":["../../src/interfaces/price-selection-strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,kDAAmD;AAyBnD;IAAA;IAWA,CAAC;IAAD,qCAAC;AAAD,CAAC,AAXD,IAWC;AAXqB,wEAA8B;AAapD,SAAgB,wBAAwB;AACtC,8DAA8D;AAC9D,MAAW;IAEX,OAAO,CACL,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;QAClD,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU,CAC7C,CAAA;AACH,CAAC;AARD,4DAQC;AAWD,IAAK,gBAEJ;AAFD,WAAK,gBAAgB;IACnB,uCAAmB,CAAA;AACrB,CAAC,EAFI,gBAAgB,KAAhB,gBAAgB,QAEpB;AAIY,QAAA,SAAS,yBAAQ,gBAAgB,GAAK,0BAAa,EAAE"}
@@ -1,3 +1,4 @@
1
+ import { BaseService } from "medusa-interfaces";
1
2
  import { LineItem } from "../models/line-item";
2
3
  import { Region } from "../models/region";
3
4
  import { Address } from "../models/address";
@@ -49,3 +50,8 @@ export interface ITaxService {
49
50
  */
50
51
  getTaxLines(itemLines: ItemTaxCalculationLine[], shippingLines: ShippingTaxCalculationLine[], context: TaxCalculationContext): Promise<ProviderTaxLine[]>;
51
52
  }
53
+ export declare abstract class AbstractTaxService extends BaseService implements ITaxService {
54
+ protected static identifier: string;
55
+ getIdentifier(): string;
56
+ abstract getTaxLines(itemLines: ItemTaxCalculationLine[], shippingLines: ShippingTaxCalculationLine[], context: TaxCalculationContext): Promise<ProviderTaxLine[]>;
57
+ }
@@ -1,3 +1,34 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.AbstractTaxService = void 0;
19
+ var medusa_interfaces_1 = require("medusa-interfaces");
20
+ var AbstractTaxService = /** @class */ (function (_super) {
21
+ __extends(AbstractTaxService, _super);
22
+ function AbstractTaxService() {
23
+ return _super !== null && _super.apply(this, arguments) || this;
24
+ }
25
+ AbstractTaxService.prototype.getIdentifier = function () {
26
+ if (!this.constructor.identifier) {
27
+ throw new Error('Missing static property "identifier".');
28
+ }
29
+ return this.constructor.identifier;
30
+ };
31
+ return AbstractTaxService;
32
+ }(medusa_interfaces_1.BaseService));
33
+ exports.AbstractTaxService = AbstractTaxService;
3
34
  //# sourceMappingURL=tax-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tax-service.js","sourceRoot":"","sources":["../../src/interfaces/tax-service.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"tax-service.js","sourceRoot":"","sources":["../../src/interfaces/tax-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uDAA+C;AA8D/C;IACU,sCAAW;IADrB;;IAkBA,CAAC;IAZQ,0CAAa,GAApB;QACE,IAAI,CAA6B,IAAI,CAAC,WAAY,CAAC,UAAU,EAAE;YAC7D,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;SACzD;QACD,OAAmC,IAAI,CAAC,WAAY,CAAC,UAAU,CAAA;IACjE,CAAC;IAOH,yBAAC;AAAD,CAAC,AAlBD,CACU,+BAAW,GAiBpB;AAlBqB,gDAAkB"}
@@ -0,0 +1,23 @@
1
+ import { EntityManager } from "typeorm";
2
+ import { IsolationLevel } from "typeorm/driver/types/IsolationLevel";
3
+ export declare abstract class TransactionBaseService<TChild extends TransactionBaseService<TChild, TContainer>, TContainer = unknown> {
4
+ protected readonly container: TContainer;
5
+ protected readonly configModule?: Record<string, unknown> | undefined;
6
+ protected abstract manager_: EntityManager;
7
+ protected abstract transactionManager_: EntityManager | undefined;
8
+ protected constructor(container: TContainer, configModule?: Record<string, unknown> | undefined);
9
+ withTransaction(transactionManager?: EntityManager): this | TChild;
10
+ protected shouldRetryTransaction_(err: {
11
+ code: string;
12
+ } | Record<string, unknown>): boolean;
13
+ /**
14
+ * Wraps some work within a transactional block. If the service already has
15
+ * a transaction manager attached this will be reused, otherwise a new
16
+ * transaction manager is created.
17
+ * @param work - the transactional work to be done
18
+ * @param isolationOrErrorHandler - the isolation level to be used for the work.
19
+ * @param maybeErrorHandlerOrDontFail Potential error handler
20
+ * @return the result of the transactional work
21
+ */
22
+ protected atomicPhase_<TResult, TError>(work: (transactionManager: EntityManager) => Promise<TResult | never>, isolationOrErrorHandler?: IsolationLevel | ((error: TError) => Promise<never | TResult | void>), maybeErrorHandlerOrDontFail?: (error: TError) => Promise<never | TResult | void>): Promise<never | TResult>;
23
+ }
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.TransactionBaseService = void 0;
51
+ var TransactionBaseService = /** @class */ (function () {
52
+ function TransactionBaseService(container, configModule) {
53
+ this.container = container;
54
+ this.configModule = configModule;
55
+ }
56
+ TransactionBaseService.prototype.withTransaction = function (transactionManager) {
57
+ if (!transactionManager) {
58
+ return this;
59
+ }
60
+ var cloned = new this.constructor(__assign(__assign({}, this.container), { manager: transactionManager }), this.configModule);
61
+ cloned.transactionManager_ = transactionManager;
62
+ return cloned;
63
+ };
64
+ TransactionBaseService.prototype.shouldRetryTransaction_ = function (err) {
65
+ var _a, _b;
66
+ if (!((_a = err) === null || _a === void 0 ? void 0 : _a.code)) {
67
+ return false;
68
+ }
69
+ var code = (_b = err) === null || _b === void 0 ? void 0 : _b.code;
70
+ return code === "40001" || code === "40P01";
71
+ };
72
+ /**
73
+ * Wraps some work within a transactional block. If the service already has
74
+ * a transaction manager attached this will be reused, otherwise a new
75
+ * transaction manager is created.
76
+ * @param work - the transactional work to be done
77
+ * @param isolationOrErrorHandler - the isolation level to be used for the work.
78
+ * @param maybeErrorHandlerOrDontFail Potential error handler
79
+ * @return the result of the transactional work
80
+ */
81
+ TransactionBaseService.prototype.atomicPhase_ = function (work, isolationOrErrorHandler, maybeErrorHandlerOrDontFail) {
82
+ return __awaiter(this, void 0, void 0, function () {
83
+ var errorHandler, isolation, dontFail, doWork, temp_1, doWork_1, result, error_1, error_2, result;
84
+ var _this = this;
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0:
88
+ errorHandler = maybeErrorHandlerOrDontFail;
89
+ isolation = isolationOrErrorHandler;
90
+ dontFail = false;
91
+ if (typeof isolationOrErrorHandler === "function") {
92
+ isolation = null;
93
+ errorHandler = isolationOrErrorHandler;
94
+ dontFail = !!maybeErrorHandlerOrDontFail;
95
+ }
96
+ if (!this.transactionManager_) return [3 /*break*/, 2];
97
+ doWork = function (m) { return __awaiter(_this, void 0, void 0, function () {
98
+ var error_3, queryRunner;
99
+ return __generator(this, function (_a) {
100
+ switch (_a.label) {
101
+ case 0:
102
+ this.manager_ = m;
103
+ this.transactionManager_ = m;
104
+ _a.label = 1;
105
+ case 1:
106
+ _a.trys.push([1, 3, , 8]);
107
+ return [4 /*yield*/, work(m)];
108
+ case 2: return [2 /*return*/, _a.sent()];
109
+ case 3:
110
+ error_3 = _a.sent();
111
+ if (!errorHandler) return [3 /*break*/, 7];
112
+ queryRunner = this.transactionManager_.queryRunner;
113
+ if (!(queryRunner && queryRunner.isTransactionActive)) return [3 /*break*/, 5];
114
+ return [4 /*yield*/, queryRunner.rollbackTransaction()];
115
+ case 4:
116
+ _a.sent();
117
+ _a.label = 5;
118
+ case 5: return [4 /*yield*/, errorHandler(error_3)];
119
+ case 6:
120
+ _a.sent();
121
+ _a.label = 7;
122
+ case 7: throw error_3;
123
+ case 8: return [2 /*return*/];
124
+ }
125
+ });
126
+ }); };
127
+ return [4 /*yield*/, doWork(this.transactionManager_)];
128
+ case 1: return [2 /*return*/, _a.sent()];
129
+ case 2:
130
+ temp_1 = this.manager_;
131
+ doWork_1 = function (m) { return __awaiter(_this, void 0, void 0, function () {
132
+ var result, error_4;
133
+ return __generator(this, function (_a) {
134
+ switch (_a.label) {
135
+ case 0:
136
+ this.manager_ = m;
137
+ this.transactionManager_ = m;
138
+ _a.label = 1;
139
+ case 1:
140
+ _a.trys.push([1, 3, , 4]);
141
+ return [4 /*yield*/, work(m)];
142
+ case 2:
143
+ result = _a.sent();
144
+ this.manager_ = temp_1;
145
+ this.transactionManager_ = undefined;
146
+ return [2 /*return*/, result];
147
+ case 3:
148
+ error_4 = _a.sent();
149
+ this.manager_ = temp_1;
150
+ this.transactionManager_ = undefined;
151
+ throw error_4;
152
+ case 4: return [2 /*return*/];
153
+ }
154
+ });
155
+ }); };
156
+ if (!(isolation && this.manager_)) return [3 /*break*/, 10];
157
+ result = void 0;
158
+ _a.label = 3;
159
+ case 3:
160
+ _a.trys.push([3, 5, , 10]);
161
+ return [4 /*yield*/, this.manager_.transaction(isolation, function (m) { return doWork_1(m); })];
162
+ case 4:
163
+ result = _a.sent();
164
+ return [2 /*return*/, result];
165
+ case 5:
166
+ error_1 = _a.sent();
167
+ if (!this.shouldRetryTransaction_(error_1)) return [3 /*break*/, 6];
168
+ return [2 /*return*/, this.manager_.transaction(isolation, function (m) { return doWork_1(m); })];
169
+ case 6:
170
+ if (!errorHandler) return [3 /*break*/, 8];
171
+ return [4 /*yield*/, errorHandler(error_1)];
172
+ case 7:
173
+ _a.sent();
174
+ _a.label = 8;
175
+ case 8: throw error_1;
176
+ case 9: return [3 /*break*/, 10];
177
+ case 10:
178
+ _a.trys.push([10, 12, , 15]);
179
+ return [4 /*yield*/, this.manager_.transaction(function (m) { return doWork_1(m); })];
180
+ case 11: return [2 /*return*/, _a.sent()];
181
+ case 12:
182
+ error_2 = _a.sent();
183
+ if (!errorHandler) return [3 /*break*/, 14];
184
+ return [4 /*yield*/, errorHandler(error_2)];
185
+ case 13:
186
+ result = _a.sent();
187
+ if (dontFail) {
188
+ return [2 /*return*/, result];
189
+ }
190
+ _a.label = 14;
191
+ case 14: throw error_2;
192
+ case 15: return [2 /*return*/];
193
+ }
194
+ });
195
+ });
196
+ };
197
+ return TransactionBaseService;
198
+ }());
199
+ exports.TransactionBaseService = TransactionBaseService;
200
+ //# sourceMappingURL=transaction-base-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-base-service.js","sourceRoot":"","sources":["../../src/interfaces/transaction-base-service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
- declare function _default({ app, rootDirectory, container }: {
2
- app: any;
3
- rootDirectory: any;
4
- container: any;
5
- }): Promise<any>;
1
+ import { Express } from 'express';
2
+ import { AwilixContainer } from "awilix";
3
+ import { ConfigModule } from "../types/global";
4
+ declare type Options = {
5
+ app: Express;
6
+ container: AwilixContainer;
7
+ configModule: ConfigModule;
8
+ };
9
+ declare const _default: ({ app, container, configModule }: Options) => Promise<Express>;
6
10
  export default _default;