@medusajs/medusa 1.2.2-dev.56 → 1.3.1-alpha.72

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 (627) hide show
  1. package/CHANGELOG.md +98 -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/batch-job/can-access-batch-job.d.ts +1 -0
  6. package/dist/api/{routes/admin/discounts/add-valid-product.js → middlewares/batch-job/can-access-batch-job.js} +31 -43
  7. package/dist/api/middlewares/batch-job/can-access-batch-job.js.map +1 -0
  8. package/dist/api/middlewares/batch-job/get-requested-batch-job.d.ts +1 -0
  9. package/dist/api/{routes/admin/products/get-variants.js → middlewares/batch-job/get-requested-batch-job.js} +28 -37
  10. package/dist/api/middlewares/batch-job/get-requested-batch-job.js.map +1 -0
  11. package/dist/api/middlewares/error-handler.js +1 -1
  12. package/dist/api/middlewares/index.d.ts +2 -0
  13. package/dist/api/middlewares/index.js +5 -0
  14. package/dist/api/middlewares/index.js.map +1 -1
  15. package/dist/api/routes/admin/auth/create-session.js +5 -5
  16. package/dist/api/routes/admin/auth/create-session.js.map +1 -1
  17. package/dist/api/routes/admin/batch/index.d.ts +13 -0
  18. package/dist/api/routes/admin/batch/index.js +37 -0
  19. package/dist/api/routes/admin/batch/index.js.map +1 -0
  20. package/dist/api/routes/admin/batch/list-batch-jobs.d.ts +47 -0
  21. package/dist/api/routes/admin/batch/list-batch-jobs.js +245 -0
  22. package/dist/api/routes/admin/batch/list-batch-jobs.js.map +1 -0
  23. package/dist/api/routes/admin/customer-groups/list-customer-groups.js +2 -2
  24. package/dist/api/routes/admin/customer-groups/list-customer-groups.js.map +1 -1
  25. package/dist/api/routes/admin/discounts/create-condition.d.ts +58 -0
  26. package/dist/api/routes/admin/discounts/create-condition.js +186 -0
  27. package/dist/api/routes/admin/discounts/create-condition.js.map +1 -0
  28. package/dist/api/routes/admin/discounts/create-discount.d.ts +14 -4
  29. package/dist/api/routes/admin/discounts/create-discount.js +72 -16
  30. package/dist/api/routes/admin/discounts/create-discount.js.map +1 -1
  31. package/dist/api/routes/admin/discounts/create-dynamic-code.d.ts +1 -0
  32. package/dist/api/routes/admin/discounts/create-dynamic-code.js +4 -1
  33. package/dist/api/routes/admin/discounts/create-dynamic-code.js.map +1 -1
  34. package/dist/api/routes/admin/discounts/delete-condition.d.ts +36 -0
  35. package/dist/api/routes/admin/discounts/delete-condition.js +151 -0
  36. package/dist/api/routes/admin/discounts/delete-condition.js.map +1 -0
  37. package/dist/api/routes/admin/discounts/delete-dynamic-code.js +3 -1
  38. package/dist/api/routes/admin/discounts/delete-dynamic-code.js.map +1 -1
  39. package/dist/api/routes/admin/discounts/get-condition.d.ts +31 -0
  40. package/dist/api/routes/{store/carts/update-payment-method.js → admin/discounts/get-condition.js} +48 -45
  41. package/dist/api/routes/admin/discounts/get-condition.js.map +1 -0
  42. package/dist/api/routes/admin/discounts/get-discount-by-code.d.ts +4 -0
  43. package/dist/api/routes/admin/discounts/get-discount-by-code.js +40 -6
  44. package/dist/api/routes/admin/discounts/get-discount-by-code.js.map +1 -1
  45. package/dist/api/routes/admin/discounts/get-discount.d.ts +7 -0
  46. package/dist/api/routes/admin/discounts/get-discount.js +43 -9
  47. package/dist/api/routes/admin/discounts/get-discount.js.map +1 -1
  48. package/dist/api/routes/admin/discounts/index.d.ts +11 -3
  49. package/dist/api/routes/admin/discounts/index.js +13 -7
  50. package/dist/api/routes/admin/discounts/index.js.map +1 -1
  51. package/dist/api/routes/admin/discounts/list-discounts.d.ts +2 -6
  52. package/dist/api/routes/admin/discounts/list-discounts.js +15 -28
  53. package/dist/api/routes/admin/discounts/list-discounts.js.map +1 -1
  54. package/dist/api/routes/admin/discounts/update-condition.d.ts +55 -0
  55. package/dist/api/routes/admin/discounts/update-condition.js +184 -0
  56. package/dist/api/routes/admin/discounts/update-condition.js.map +1 -0
  57. package/dist/api/routes/admin/discounts/update-discount.d.ts +18 -12
  58. package/dist/api/routes/admin/discounts/update-discount.js +79 -33
  59. package/dist/api/routes/admin/discounts/update-discount.js.map +1 -1
  60. package/dist/api/routes/admin/draft-orders/create-draft-order.d.ts +3 -3
  61. package/dist/api/routes/admin/draft-orders/create-draft-order.js.map +1 -1
  62. package/dist/api/routes/admin/draft-orders/create-line-item.d.ts +1 -1
  63. package/dist/api/routes/admin/draft-orders/create-line-item.js.map +1 -1
  64. package/dist/api/routes/admin/draft-orders/index.js +7 -1
  65. package/dist/api/routes/admin/draft-orders/index.js.map +1 -1
  66. package/dist/api/routes/admin/draft-orders/register-payment.js +0 -1
  67. package/dist/api/routes/admin/draft-orders/register-payment.js.map +1 -1
  68. package/dist/api/routes/admin/draft-orders/update-line-item.d.ts +1 -1
  69. package/dist/api/routes/admin/draft-orders/update-line-item.js.map +1 -1
  70. package/dist/api/routes/admin/index.js +2 -0
  71. package/dist/api/routes/admin/index.js.map +1 -1
  72. package/dist/api/routes/admin/notifications/index.js.map +1 -1
  73. package/dist/api/routes/admin/notifications/list-notifications.js.map +1 -1
  74. package/dist/api/routes/admin/notifications/resend-notification.js.map +1 -1
  75. package/dist/api/routes/admin/orders/add-shipping-method.d.ts +1 -1
  76. package/dist/api/routes/admin/orders/add-shipping-method.js.map +1 -1
  77. package/dist/api/routes/admin/orders/create-claim.js +6 -0
  78. package/dist/api/routes/admin/orders/create-claim.js.map +1 -1
  79. package/dist/api/routes/admin/orders/create-order.js.map +1 -1
  80. package/dist/api/routes/admin/orders/create-swap.js +7 -3
  81. package/dist/api/routes/admin/orders/create-swap.js.map +1 -1
  82. package/dist/api/routes/admin/orders/index.d.ts +1 -1
  83. package/dist/api/routes/admin/orders/index.js +1 -3
  84. package/dist/api/routes/admin/orders/index.js.map +1 -1
  85. package/dist/api/routes/admin/orders/list-orders.js.map +1 -1
  86. package/dist/api/routes/admin/orders/update-order.js.map +1 -1
  87. package/dist/api/routes/admin/price-lists/delete-product-prices.d.ts +32 -0
  88. package/dist/api/routes/admin/{discounts/remove-valid-product.js → price-lists/delete-product-prices.js} +48 -25
  89. package/dist/api/routes/admin/price-lists/delete-product-prices.js.map +1 -0
  90. package/dist/api/routes/admin/price-lists/delete-variant-prices.d.ts +32 -0
  91. package/dist/api/routes/admin/price-lists/delete-variant-prices.js +105 -0
  92. package/dist/api/routes/admin/price-lists/delete-variant-prices.js.map +1 -0
  93. package/dist/api/routes/admin/price-lists/index.d.ts +9 -0
  94. package/dist/api/routes/admin/price-lists/index.js +6 -1
  95. package/dist/api/routes/admin/price-lists/index.js.map +1 -1
  96. package/dist/api/routes/admin/price-lists/list-price-list-products.d.ts +74 -0
  97. package/dist/api/routes/admin/price-lists/list-price-list-products.js +287 -0
  98. package/dist/api/routes/admin/price-lists/list-price-list-products.js.map +1 -0
  99. package/dist/api/routes/admin/price-lists/list-price-lists.js.map +1 -1
  100. package/dist/api/routes/admin/price-lists/update-price-list.d.ts +4 -4
  101. package/dist/api/routes/admin/price-lists/update-price-list.js +2 -2
  102. package/dist/api/routes/admin/price-lists/update-price-list.js.map +1 -1
  103. package/dist/api/routes/admin/product-tags/list-product-tags.d.ts +2 -1
  104. package/dist/api/routes/admin/product-tags/list-product-tags.js +6 -3
  105. package/dist/api/routes/admin/product-tags/list-product-tags.js.map +1 -1
  106. package/dist/api/routes/admin/product-types/list-product-types.d.ts +2 -1
  107. package/dist/api/routes/admin/product-types/list-product-types.js +6 -3
  108. package/dist/api/routes/admin/product-types/list-product-types.js.map +1 -1
  109. package/dist/api/routes/admin/products/index.d.ts +2 -1
  110. package/dist/api/routes/admin/products/index.js +7 -2
  111. package/dist/api/routes/admin/products/index.js.map +1 -1
  112. package/dist/api/routes/admin/products/list-products.d.ts +2 -1
  113. package/dist/api/routes/admin/products/list-products.js +31 -65
  114. package/dist/api/routes/admin/products/list-products.js.map +1 -1
  115. package/dist/api/routes/admin/products/list-variants.d.ts +35 -0
  116. package/dist/api/routes/admin/products/list-variants.js +173 -0
  117. package/dist/api/routes/admin/products/list-variants.js.map +1 -0
  118. package/dist/api/routes/admin/products/update-variant.js +11 -7
  119. package/dist/api/routes/admin/products/update-variant.js.map +1 -1
  120. package/dist/api/routes/admin/regions/index.d.ts +1 -1
  121. package/dist/api/routes/admin/shipping-options/list-shipping-options.d.ts +2 -2
  122. package/dist/api/routes/admin/shipping-options/list-shipping-options.js +2 -2
  123. package/dist/api/routes/admin/shipping-options/list-shipping-options.js.map +1 -1
  124. package/dist/api/routes/admin/store/get-store.js.map +1 -1
  125. package/dist/api/routes/admin/swaps/index.js +3 -0
  126. package/dist/api/routes/admin/swaps/index.js.map +1 -1
  127. package/dist/api/routes/admin/tax-rates/list-tax-rates.js.map +1 -1
  128. package/dist/api/routes/admin/tax-rates/utils/get-query-config.d.ts +1 -1
  129. package/dist/api/routes/admin/tax-rates/utils/get-query-config.js +4 -2
  130. package/dist/api/routes/admin/tax-rates/utils/get-query-config.js.map +1 -1
  131. package/dist/api/routes/admin/uploads/index.d.ts +1 -1
  132. package/dist/api/routes/admin/users/update-user.d.ts +1 -1
  133. package/dist/api/routes/admin/users/update-user.js.map +1 -1
  134. package/dist/api/routes/store/auth/create-session.js +4 -5
  135. package/dist/api/routes/store/auth/create-session.js.map +1 -1
  136. package/dist/api/routes/store/carts/create-cart.js +8 -5
  137. package/dist/api/routes/store/carts/create-cart.js.map +1 -1
  138. package/dist/api/routes/store/carts/create-line-item.d.ts +1 -1
  139. package/dist/api/routes/store/carts/create-line-item.js +9 -6
  140. package/dist/api/routes/store/carts/create-line-item.js.map +1 -1
  141. package/dist/api/routes/store/carts/index.d.ts +0 -1
  142. package/dist/api/routes/store/carts/index.js +1 -3
  143. package/dist/api/routes/store/carts/index.js.map +1 -1
  144. package/dist/api/routes/store/carts/update-cart.js +8 -8
  145. package/dist/api/routes/store/carts/update-cart.js.map +1 -1
  146. package/dist/api/routes/store/customers/create-customer.js +3 -4
  147. package/dist/api/routes/store/customers/create-customer.js.map +1 -1
  148. package/dist/api/routes/store/orders/index.js +0 -2
  149. package/dist/api/routes/store/orders/index.js.map +1 -1
  150. package/dist/api/routes/store/products/get-product.js +17 -5
  151. package/dist/api/routes/store/products/get-product.js.map +1 -1
  152. package/dist/api/routes/store/products/index.d.ts +2 -2
  153. package/dist/api/routes/store/products/list-products.d.ts +2 -1
  154. package/dist/api/routes/store/products/list-products.js +21 -8
  155. package/dist/api/routes/store/products/list-products.js.map +1 -1
  156. package/dist/api/routes/store/products/search.d.ts +1 -1
  157. package/dist/api/routes/store/products/search.js.map +1 -1
  158. package/dist/api/routes/store/shipping-options/list-options.js.map +1 -1
  159. package/dist/api/routes/store/swaps/create-swap.js +7 -3
  160. package/dist/api/routes/store/swaps/create-swap.js.map +1 -1
  161. package/dist/api/routes/store/variants/get-variant.js +17 -5
  162. package/dist/api/routes/store/variants/get-variant.js.map +1 -1
  163. package/dist/api/routes/store/variants/list-variants.d.ts +2 -1
  164. package/dist/api/routes/store/variants/list-variants.js +38 -9
  165. package/dist/api/routes/store/variants/list-variants.js.map +1 -1
  166. package/dist/commands/develop.js +2 -2
  167. package/dist/commands/develop.js.map +1 -1
  168. package/dist/commands/start.js +6 -0
  169. package/dist/commands/start.js.map +1 -1
  170. package/dist/controllers/customers/index.d.ts +1 -1
  171. package/dist/controllers/customers/list-customers.d.ts +1 -1
  172. package/dist/controllers/customers/list-customers.js +34 -37
  173. package/dist/controllers/customers/list-customers.js.map +1 -1
  174. package/dist/controllers/products/admin-list-products.d.ts +16 -0
  175. package/dist/controllers/products/admin-list-products.js +103 -0
  176. package/dist/controllers/products/admin-list-products.js.map +1 -0
  177. package/dist/helpers/test-request.js +26 -17
  178. package/dist/helpers/test-request.js.map +1 -1
  179. package/dist/index.d.ts +4 -59
  180. package/dist/index.js +4 -62
  181. package/dist/index.js.map +1 -1
  182. package/dist/interfaces/index.d.ts +3 -0
  183. package/dist/interfaces/index.js +3 -0
  184. package/dist/interfaces/index.js.map +1 -1
  185. package/dist/interfaces/models/base-entity.d.ts +8 -0
  186. package/dist/interfaces/models/base-entity.js +36 -0
  187. package/dist/interfaces/models/base-entity.js.map +1 -0
  188. package/dist/interfaces/models/soft-deletable-entity.d.ts +4 -0
  189. package/dist/interfaces/models/soft-deletable-entity.js +43 -0
  190. package/dist/interfaces/models/soft-deletable-entity.js.map +1 -0
  191. package/dist/interfaces/price-selection-strategy.d.ts +50 -0
  192. package/dist/interfaces/price-selection-strategy.js +34 -0
  193. package/dist/interfaces/price-selection-strategy.js.map +1 -0
  194. package/dist/interfaces/tax-service.d.ts +6 -0
  195. package/dist/interfaces/tax-service.js +31 -0
  196. package/dist/interfaces/tax-service.js.map +1 -1
  197. package/dist/interfaces/transaction-base-service.d.ts +23 -0
  198. package/dist/interfaces/transaction-base-service.js +200 -0
  199. package/dist/interfaces/transaction-base-service.js.map +1 -0
  200. package/dist/loaders/api.d.ts +9 -5
  201. package/dist/loaders/api.js +2 -6
  202. package/dist/loaders/api.js.map +1 -1
  203. package/dist/loaders/config.d.ts +3 -0
  204. package/dist/loaders/config.js +47 -0
  205. package/dist/loaders/config.js.map +1 -0
  206. package/dist/loaders/database.d.ts +8 -4
  207. package/dist/loaders/database.js.map +1 -1
  208. package/dist/loaders/defaults.d.ts +4 -3
  209. package/dist/loaders/defaults.js +39 -31
  210. package/dist/loaders/defaults.js.map +1 -1
  211. package/dist/loaders/express.d.ts +7 -4
  212. package/dist/loaders/express.js +7 -5
  213. package/dist/loaders/express.js.map +1 -1
  214. package/dist/loaders/index.d.ts +13 -8
  215. package/dist/loaders/index.js +29 -54
  216. package/dist/loaders/index.js.map +1 -1
  217. package/dist/loaders/logger.d.ts +1 -0
  218. package/dist/loaders/logger.js.map +1 -1
  219. package/dist/loaders/models.d.ts +8 -3
  220. package/dist/loaders/models.js +19 -17
  221. package/dist/loaders/models.js.map +1 -1
  222. package/dist/loaders/passport.d.ts +7 -4
  223. package/dist/loaders/passport.js +23 -21
  224. package/dist/loaders/passport.js.map +1 -1
  225. package/dist/loaders/plugins.d.ts +38 -10
  226. package/dist/loaders/plugins.js +30 -26
  227. package/dist/loaders/plugins.js.map +1 -1
  228. package/dist/loaders/redis.d.ts +8 -5
  229. package/dist/loaders/redis.js +3 -3
  230. package/dist/loaders/redis.js.map +1 -1
  231. package/dist/loaders/repositories.d.ts +7 -3
  232. package/dist/loaders/repositories.js +1 -1
  233. package/dist/loaders/repositories.js.map +1 -1
  234. package/dist/loaders/search-index.d.ts +4 -3
  235. package/dist/loaders/search-index.js.map +1 -1
  236. package/dist/loaders/services.d.ts +10 -5
  237. package/dist/loaders/services.js.map +1 -1
  238. package/dist/loaders/strategies.d.ts +1 -1
  239. package/dist/loaders/subscribers.d.ts +7 -3
  240. package/dist/loaders/subscribers.js.map +1 -1
  241. package/dist/migrations/1646324713514-discount_conditions.d.ts +6 -0
  242. package/dist/migrations/1646324713514-discount_conditions.js +335 -0
  243. package/dist/migrations/1646324713514-discount_conditions.js.map +1 -0
  244. package/dist/migrations/1648600574750-add_line_item_adjustments.d.ts +6 -0
  245. package/dist/migrations/1648600574750-add_line_item_adjustments.js +101 -0
  246. package/dist/migrations/1648600574750-add_line_item_adjustments.js.map +1 -0
  247. package/dist/migrations/1648641130007-tax_line_constraints.d.ts +6 -0
  248. package/dist/migrations/1648641130007-tax_line_constraints.js +77 -0
  249. package/dist/migrations/1648641130007-tax_line_constraints.js.map +1 -0
  250. package/dist/migrations/1649775522087-add_batch_job_model.d.ts +6 -0
  251. package/dist/migrations/1649775522087-add_batch_job_model.js +77 -0
  252. package/dist/migrations/1649775522087-add_batch_job_model.js.map +1 -0
  253. package/dist/models/address.d.ts +3 -6
  254. package/dist/models/address.js +23 -24
  255. package/dist/models/address.js.map +1 -1
  256. package/dist/models/batch-job.d.ts +55 -0
  257. package/dist/models/batch-job.js +118 -0
  258. package/dist/models/batch-job.js.map +1 -0
  259. package/dist/models/cart.d.ts +5 -8
  260. package/dist/models/cart.js +35 -36
  261. package/dist/models/cart.js.map +1 -1
  262. package/dist/models/claim-image.d.ts +3 -6
  263. package/dist/models/claim-image.js +22 -23
  264. package/dist/models/claim-image.js.map +1 -1
  265. package/dist/models/claim-item.d.ts +3 -6
  266. package/dist/models/claim-item.js +25 -24
  267. package/dist/models/claim-item.js.map +1 -1
  268. package/dist/models/claim-order.d.ts +4 -4
  269. package/dist/models/claim-order.js +28 -13
  270. package/dist/models/claim-order.js.map +1 -1
  271. package/dist/models/claim-tag.d.ts +3 -6
  272. package/dist/models/claim-tag.js +22 -23
  273. package/dist/models/claim-tag.js.map +1 -1
  274. package/dist/models/country.d.ts +1 -1
  275. package/dist/models/country.js +1 -1
  276. package/dist/models/country.js.map +1 -1
  277. package/dist/models/custom-shipping-option.d.ts +3 -6
  278. package/dist/models/custom-shipping-option.js +23 -24
  279. package/dist/models/custom-shipping-option.js.map +1 -1
  280. package/dist/models/customer-group.d.ts +3 -6
  281. package/dist/models/customer-group.js +26 -26
  282. package/dist/models/customer-group.js.map +1 -1
  283. package/dist/models/customer.d.ts +3 -6
  284. package/dist/models/customer.js +23 -25
  285. package/dist/models/customer.js.map +1 -1
  286. package/dist/models/discount-condition-customer-group.d.ts +39 -0
  287. package/dist/models/discount-condition-customer-group.js +84 -0
  288. package/dist/models/discount-condition-customer-group.js.map +1 -0
  289. package/dist/models/discount-condition-product-collection.d.ts +39 -0
  290. package/dist/models/discount-condition-product-collection.js +84 -0
  291. package/dist/models/discount-condition-product-collection.js.map +1 -0
  292. package/dist/models/discount-condition-product-tag.d.ts +39 -0
  293. package/dist/models/discount-condition-product-tag.js +84 -0
  294. package/dist/models/discount-condition-product-tag.js.map +1 -0
  295. package/dist/models/discount-condition-product-type.d.ts +39 -0
  296. package/dist/models/discount-condition-product-type.js +84 -0
  297. package/dist/models/discount-condition-product-type.js.map +1 -0
  298. package/dist/models/discount-condition-product.d.ts +39 -0
  299. package/dist/models/discount-condition-product.js +84 -0
  300. package/dist/models/discount-condition-product.js.map +1 -0
  301. package/dist/models/discount-condition.d.ts +65 -0
  302. package/dist/models/discount-condition.js +209 -0
  303. package/dist/models/discount-condition.js.map +1 -0
  304. package/dist/models/discount-rule.d.ts +8 -11
  305. package/dist/models/discount-rule.js +28 -38
  306. package/dist/models/discount-rule.js.map +1 -1
  307. package/dist/models/discount.d.ts +7 -10
  308. package/dist/models/discount.js +30 -30
  309. package/dist/models/discount.js.map +1 -1
  310. package/dist/models/draft-order.d.ts +3 -5
  311. package/dist/models/draft-order.js +23 -20
  312. package/dist/models/draft-order.js.map +1 -1
  313. package/dist/models/fulfillment-item.js.map +1 -1
  314. package/dist/models/fulfillment-provider.js.map +1 -1
  315. package/dist/models/fulfillment.d.ts +5 -7
  316. package/dist/models/fulfillment.js +29 -21
  317. package/dist/models/fulfillment.js.map +1 -1
  318. package/dist/models/gift-card-transaction.js +2 -5
  319. package/dist/models/gift-card-transaction.js.map +1 -1
  320. package/dist/models/gift-card.d.ts +3 -6
  321. package/dist/models/gift-card.js +22 -23
  322. package/dist/models/gift-card.js.map +1 -1
  323. package/dist/models/idempotency-key.d.ts +2 -2
  324. package/dist/models/idempotency-key.js +2 -3
  325. package/dist/models/idempotency-key.js.map +1 -1
  326. package/dist/models/image.d.ts +3 -6
  327. package/dist/models/image.js +22 -23
  328. package/dist/models/image.js.map +1 -1
  329. package/dist/models/index.d.ts +67 -0
  330. package/dist/models/index.js +80 -0
  331. package/dist/models/index.js.map +1 -0
  332. package/dist/models/invite.d.ts +3 -6
  333. package/dist/models/invite.js +22 -24
  334. package/dist/models/invite.js.map +1 -1
  335. package/dist/models/line-item-adjustment.d.ts +13 -0
  336. package/dist/models/line-item-adjustment.js +76 -0
  337. package/dist/models/line-item-adjustment.js.map +1 -0
  338. package/dist/models/line-item-tax-line.js +4 -6
  339. package/dist/models/line-item-tax-line.js.map +1 -1
  340. package/dist/models/line-item.d.ts +5 -5
  341. package/dist/models/line-item.js +29 -19
  342. package/dist/models/line-item.js.map +1 -1
  343. package/dist/models/money-amount.d.ts +2 -5
  344. package/dist/models/money-amount.js +26 -26
  345. package/dist/models/money-amount.js.map +1 -1
  346. package/dist/models/note.d.ts +3 -6
  347. package/dist/models/note.js +22 -23
  348. package/dist/models/note.js.map +1 -1
  349. package/dist/models/notification.d.ts +3 -5
  350. package/dist/models/notification.js +22 -19
  351. package/dist/models/notification.js.map +1 -1
  352. package/dist/models/oauth.d.ts +1 -1
  353. package/dist/models/oauth.js +2 -5
  354. package/dist/models/oauth.js.map +1 -1
  355. package/dist/models/order.d.ts +3 -5
  356. package/dist/models/order.js +25 -21
  357. package/dist/models/order.js.map +1 -1
  358. package/dist/models/payment-provider.js.map +1 -1
  359. package/dist/models/payment-session.d.ts +3 -5
  360. package/dist/models/payment-session.js +22 -19
  361. package/dist/models/payment-session.js.map +1 -1
  362. package/dist/models/payment.d.ts +4 -6
  363. package/dist/models/payment.js +22 -19
  364. package/dist/models/payment.js.map +1 -1
  365. package/dist/models/price-list.d.ts +4 -7
  366. package/dist/models/price-list.js +30 -28
  367. package/dist/models/price-list.js.map +1 -1
  368. package/dist/models/product-collection.d.ts +4 -7
  369. package/dist/models/product-collection.js +25 -24
  370. package/dist/models/product-collection.js.map +1 -1
  371. package/dist/models/product-option-value.d.ts +3 -6
  372. package/dist/models/product-option-value.js +24 -26
  373. package/dist/models/product-option-value.js.map +1 -1
  374. package/dist/models/product-option.d.ts +3 -6
  375. package/dist/models/product-option.js +23 -24
  376. package/dist/models/product-option.js.map +1 -1
  377. package/dist/models/product-tag.d.ts +3 -6
  378. package/dist/models/product-tag.js +22 -23
  379. package/dist/models/product-tag.js.map +1 -1
  380. package/dist/models/product-tax-rate.d.ts +1 -1
  381. package/dist/models/product-tax-rate.js.map +1 -1
  382. package/dist/models/product-type-tax-rate.d.ts +1 -1
  383. package/dist/models/product-type-tax-rate.js.map +1 -1
  384. package/dist/models/product-type.d.ts +3 -6
  385. package/dist/models/product-type.js +22 -23
  386. package/dist/models/product-type.js.map +1 -1
  387. package/dist/models/product-variant.d.ts +3 -6
  388. package/dist/models/product-variant.js +30 -26
  389. package/dist/models/product-variant.js.map +1 -1
  390. package/dist/models/product.d.ts +3 -6
  391. package/dist/models/product.js +25 -22
  392. package/dist/models/product.js.map +1 -1
  393. package/dist/models/refund.d.ts +3 -5
  394. package/dist/models/refund.js +22 -17
  395. package/dist/models/refund.js.map +1 -1
  396. package/dist/models/region.d.ts +3 -6
  397. package/dist/models/region.js +23 -24
  398. package/dist/models/region.js.map +1 -1
  399. package/dist/models/return-item.d.ts +1 -1
  400. package/dist/models/return-item.js.map +1 -1
  401. package/dist/models/return-reason.d.ts +3 -6
  402. package/dist/models/return-reason.js +24 -25
  403. package/dist/models/return-reason.js.map +1 -1
  404. package/dist/models/return.d.ts +5 -7
  405. package/dist/models/return.js +29 -21
  406. package/dist/models/return.js.map +1 -1
  407. package/dist/models/shipping-method-tax-line.js +4 -6
  408. package/dist/models/shipping-method-tax-line.js.map +1 -1
  409. package/dist/models/shipping-method.d.ts +1 -1
  410. package/dist/models/shipping-method.js +2 -5
  411. package/dist/models/shipping-method.js.map +1 -1
  412. package/dist/models/shipping-option-requirement.js +2 -5
  413. package/dist/models/shipping-option-requirement.js.map +1 -1
  414. package/dist/models/shipping-option.d.ts +4 -7
  415. package/dist/models/shipping-option.js +25 -24
  416. package/dist/models/shipping-option.js.map +1 -1
  417. package/dist/models/shipping-profile.d.ts +3 -6
  418. package/dist/models/shipping-profile.js +22 -23
  419. package/dist/models/shipping-profile.js.map +1 -1
  420. package/dist/models/shipping-tax-rate.d.ts +1 -1
  421. package/dist/models/shipping-tax-rate.js.map +1 -1
  422. package/dist/models/staged-job.d.ts +1 -1
  423. package/dist/models/staged-job.js +2 -3
  424. package/dist/models/staged-job.js.map +1 -1
  425. package/dist/models/store.d.ts +3 -5
  426. package/dist/models/store.js +22 -17
  427. package/dist/models/store.js.map +1 -1
  428. package/dist/models/swap.d.ts +9 -12
  429. package/dist/models/swap.js +55 -52
  430. package/dist/models/swap.js.map +1 -1
  431. package/dist/models/tax-line.d.ts +3 -5
  432. package/dist/models/tax-line.js +20 -14
  433. package/dist/models/tax-line.js.map +1 -1
  434. package/dist/models/tax-rate.d.ts +3 -5
  435. package/dist/models/tax-rate.js +22 -19
  436. package/dist/models/tax-rate.js.map +1 -1
  437. package/dist/models/tracking-link.d.ts +3 -6
  438. package/dist/models/tracking-link.js +26 -27
  439. package/dist/models/tracking-link.js.map +1 -1
  440. package/dist/models/user.d.ts +3 -6
  441. package/dist/models/user.js +22 -23
  442. package/dist/models/user.js.map +1 -1
  443. package/dist/repositories/batch-job.d.ts +4 -0
  444. package/dist/repositories/batch-job.js +38 -0
  445. package/dist/repositories/batch-job.js.map +1 -0
  446. package/dist/repositories/cart.d.ts +2 -2
  447. package/dist/repositories/cart.js.map +1 -1
  448. package/dist/repositories/customer.d.ts +1 -1
  449. package/dist/repositories/customer.js +7 -9
  450. package/dist/repositories/customer.js.map +1 -1
  451. package/dist/repositories/discount-condition.d.ts +38 -0
  452. package/dist/repositories/discount-condition.js +398 -0
  453. package/dist/repositories/discount-condition.js.map +1 -0
  454. package/dist/repositories/line-item-adjustment.d.ts +4 -0
  455. package/dist/repositories/line-item-adjustment.js +38 -0
  456. package/dist/repositories/line-item-adjustment.js.map +1 -0
  457. package/dist/repositories/line-item-tax-line.d.ts +2 -0
  458. package/dist/repositories/line-item-tax-line.js +80 -0
  459. package/dist/repositories/line-item-tax-line.js.map +1 -1
  460. package/dist/repositories/line-item.js +1 -0
  461. package/dist/repositories/line-item.js.map +1 -1
  462. package/dist/repositories/money-amount.d.ts +2 -0
  463. package/dist/repositories/money-amount.js +77 -2
  464. package/dist/repositories/money-amount.js.map +1 -1
  465. package/dist/repositories/order.d.ts +1 -1
  466. package/dist/repositories/price-list.d.ts +8 -1
  467. package/dist/repositories/price-list.js +209 -0
  468. package/dist/repositories/price-list.js.map +1 -1
  469. package/dist/repositories/product.d.ts +2 -0
  470. package/dist/repositories/product.js +35 -17
  471. package/dist/repositories/product.js.map +1 -1
  472. package/dist/repositories/shipping-method-tax-line.d.ts +2 -0
  473. package/dist/repositories/shipping-method-tax-line.js +80 -0
  474. package/dist/repositories/shipping-method-tax-line.js.map +1 -1
  475. package/dist/scripts/discount-rule-migration.d.ts +4 -0
  476. package/dist/scripts/discount-rule-migration.js +189 -0
  477. package/dist/scripts/discount-rule-migration.js.map +1 -0
  478. package/dist/scripts/line-item-adjustment-migration.d.ts +4 -0
  479. package/dist/scripts/line-item-adjustment-migration.js +173 -0
  480. package/dist/scripts/line-item-adjustment-migration.js.map +1 -0
  481. package/dist/services/batch-job.d.ts +24 -0
  482. package/dist/services/batch-job.js +126 -0
  483. package/dist/services/batch-job.js.map +1 -0
  484. package/dist/services/cart.d.ts +66 -55
  485. package/dist/services/cart.js +1301 -1410
  486. package/dist/services/cart.js.map +1 -1
  487. package/dist/services/claim.js +62 -19
  488. package/dist/services/claim.js.map +1 -1
  489. package/dist/services/customer.d.ts +0 -7
  490. package/dist/services/customer.js +8 -35
  491. package/dist/services/customer.js.map +1 -1
  492. package/dist/services/discount-condition.d.ts +31 -0
  493. package/dist/services/discount-condition.js +232 -0
  494. package/dist/services/discount-condition.js.map +1 -0
  495. package/dist/services/discount.d.ts +50 -59
  496. package/dist/services/discount.js +272 -174
  497. package/dist/services/discount.js.map +1 -1
  498. package/dist/services/draft-order.js +1 -0
  499. package/dist/services/draft-order.js.map +1 -1
  500. package/dist/services/fulfillment-provider.js +23 -17
  501. package/dist/services/fulfillment-provider.js.map +1 -1
  502. package/dist/services/invite.d.ts +4 -2
  503. package/dist/services/invite.js +11 -9
  504. package/dist/services/invite.js.map +1 -1
  505. package/dist/services/line-item-adjustment.d.ts +87 -0
  506. package/dist/services/line-item-adjustment.js +434 -0
  507. package/dist/services/line-item-adjustment.js.map +1 -0
  508. package/dist/services/line-item.d.ts +48 -40
  509. package/dist/services/line-item.js +226 -193
  510. package/dist/services/line-item.js.map +1 -1
  511. package/dist/services/order.d.ts +0 -13
  512. package/dist/services/order.js +4 -30
  513. package/dist/services/order.js.map +1 -1
  514. package/dist/services/payment-provider.js +23 -17
  515. package/dist/services/payment-provider.js.map +1 -1
  516. package/dist/services/price-list.d.ts +35 -14
  517. package/dist/services/price-list.js +327 -56
  518. package/dist/services/price-list.js.map +1 -1
  519. package/dist/services/product-tag.d.ts +2 -2
  520. package/dist/services/product-tag.js +15 -2
  521. package/dist/services/product-tag.js.map +1 -1
  522. package/dist/services/product-type.d.ts +1 -1
  523. package/dist/services/product-type.js +14 -1
  524. package/dist/services/product-type.js.map +1 -1
  525. package/dist/services/product-variant.d.ts +26 -9
  526. package/dist/services/product-variant.js +223 -77
  527. package/dist/services/product-variant.js.map +1 -1
  528. package/dist/services/product.d.ts +24 -5
  529. package/dist/services/product.js +247 -52
  530. package/dist/services/product.js.map +1 -1
  531. package/dist/services/region.js +8 -4
  532. package/dist/services/region.js.map +1 -1
  533. package/dist/services/return.js +2 -1
  534. package/dist/services/return.js.map +1 -1
  535. package/dist/services/shipping-option.d.ts +2 -2
  536. package/dist/services/shipping-option.js +7 -4
  537. package/dist/services/shipping-option.js.map +1 -1
  538. package/dist/services/swap.d.ts +4 -1
  539. package/dist/services/swap.js +29 -16
  540. package/dist/services/swap.js.map +1 -1
  541. package/dist/services/system-tax.d.ts +2 -3
  542. package/dist/services/system-tax.js +2 -2
  543. package/dist/services/system-tax.js.map +1 -1
  544. package/dist/services/tax-provider.d.ts +2 -0
  545. package/dist/services/tax-provider.js +96 -7
  546. package/dist/services/tax-provider.js.map +1 -1
  547. package/dist/services/tax-rate.d.ts +3 -3
  548. package/dist/services/tax-rate.js +1 -1
  549. package/dist/services/tax-rate.js.map +1 -1
  550. package/dist/services/totals.d.ts +9 -8
  551. package/dist/services/totals.js +41 -88
  552. package/dist/services/totals.js.map +1 -1
  553. package/dist/strategies/cart-completion.js.map +1 -1
  554. package/dist/strategies/price-selection.d.ts +13 -0
  555. package/dist/strategies/price-selection.js +185 -0
  556. package/dist/strategies/price-selection.js.map +1 -0
  557. package/dist/subscribers/order.js +1 -7
  558. package/dist/subscribers/order.js.map +1 -1
  559. package/dist/types/batch-job.d.ts +15 -0
  560. package/dist/types/batch-job.js +63 -0
  561. package/dist/types/batch-job.js.map +1 -0
  562. package/dist/types/cart.d.ts +2 -2
  563. package/dist/types/common.d.ts +32 -13
  564. package/dist/types/common.js +1 -0
  565. package/dist/types/common.js.map +1 -1
  566. package/dist/types/discount.d.ts +68 -1
  567. package/dist/types/discount.js +129 -5
  568. package/dist/types/discount.js.map +1 -1
  569. package/dist/types/global.d.ts +43 -0
  570. package/dist/types/global.js +3 -0
  571. package/dist/types/global.js.map +1 -0
  572. package/dist/types/line-item-adjustment.d.ts +9 -0
  573. package/dist/types/line-item-adjustment.js +50 -0
  574. package/dist/types/line-item-adjustment.js.map +1 -0
  575. package/dist/types/note.d.ts +1 -1
  576. package/dist/types/price-list.d.ts +1 -0
  577. package/dist/types/price-list.js +5 -0
  578. package/dist/types/price-list.js.map +1 -1
  579. package/dist/types/price-selection.d.ts +5 -0
  580. package/dist/types/price-selection.js +35 -0
  581. package/dist/types/price-selection.js.map +1 -0
  582. package/dist/types/product-variant.d.ts +6 -0
  583. package/dist/types/product-variant.js.map +1 -1
  584. package/dist/types/product.d.ts +18 -0
  585. package/dist/types/product.js +104 -5
  586. package/dist/types/product.js.map +1 -1
  587. package/dist/types/tax-service.d.ts +2 -2
  588. package/dist/types/user.d.ts +2 -2
  589. package/dist/types/validators/exactly-one.d.ts +6 -0
  590. package/dist/types/validators/exactly-one.js +37 -0
  591. package/dist/types/validators/exactly-one.js.map +1 -0
  592. package/dist/utils/build-query.d.ts +8 -0
  593. package/dist/utils/build-query.js +114 -0
  594. package/dist/utils/build-query.js.map +1 -0
  595. package/dist/utils/date-helpers.d.ts +2 -0
  596. package/dist/utils/date-helpers.js +15 -0
  597. package/dist/utils/date-helpers.js.map +1 -0
  598. package/dist/utils/generate-entity-id.d.ts +6 -0
  599. package/dist/utils/generate-entity-id.js +19 -0
  600. package/dist/utils/generate-entity-id.js.map +1 -0
  601. package/dist/utils/get-query-config.d.ts +11 -0
  602. package/dist/utils/get-query-config.js +88 -0
  603. package/dist/utils/get-query-config.js.map +1 -0
  604. package/dist/utils/index.d.ts +4 -0
  605. package/dist/utils/index.js +17 -0
  606. package/dist/utils/index.js.map +1 -0
  607. package/dist/utils/set-metadata.d.ts +9 -0
  608. package/dist/utils/set-metadata.js +72 -0
  609. package/dist/utils/set-metadata.js.map +1 -0
  610. package/dist/utils/validate-id.d.ts +4 -0
  611. package/dist/utils/validate-id.js +47 -0
  612. package/dist/utils/validate-id.js.map +1 -0
  613. package/jest.config.js +6 -0
  614. package/package.json +10 -9
  615. package/tsconfig.spec.json +10 -0
  616. package/dist/api/routes/admin/discounts/add-valid-product.d.ts +0 -23
  617. package/dist/api/routes/admin/discounts/add-valid-product.js.map +0 -1
  618. package/dist/api/routes/admin/discounts/remove-valid-product.d.ts +0 -23
  619. package/dist/api/routes/admin/discounts/remove-valid-product.js.map +0 -1
  620. package/dist/api/routes/admin/products/get-variants.d.ts +0 -24
  621. package/dist/api/routes/admin/products/get-variants.js.map +0 -1
  622. package/dist/api/routes/store/carts/update-payment-method.d.ts +0 -38
  623. package/dist/api/routes/store/carts/update-payment-method.js.map +0 -1
  624. package/dist/config/index.d.ts +0 -14
  625. package/dist/config/index.js +0 -40
  626. package/dist/config/index.js.map +0 -1
  627. package/yarn-error.log +0 -6769
package/dist/index.d.ts CHANGED
@@ -1,61 +1,6 @@
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/price-list";
41
- export * from "./models/product";
42
- export * from "./models/product-collection";
43
- export * from "./models/product-option";
44
- export * from "./models/product-option-value";
45
- export * from "./models/product-tag";
46
- export * from "./models/product-type";
47
- export * from "./models/product-variant";
48
- export * from "./models/refund";
49
- export * from "./models/region";
50
- export * from "./models/return";
51
- export * from "./models/return-item";
52
- export * from "./models/return-reason";
53
- export * from "./models/shipping-method";
54
- export * from "./models/shipping-option";
55
- export * from "./models/shipping-option-requirement";
56
- export * from "./models/shipping-profile";
57
- export * from "./models/staged-job";
58
- export * from "./models/store";
59
- export * from "./models/swap";
60
- export * from "./models/user";
61
- export * from "./models/tax-provider";
3
+ export * from "./types/price-list";
4
+ export * from "./types/batch-job";
5
+ export * from "./models";
6
+ export * from "./services";
package/dist/index.js CHANGED
@@ -10,68 +10,10 @@ 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/price-list"), exports);
56
- __exportStar(require("./models/product"), exports);
57
- __exportStar(require("./models/product-collection"), exports);
58
- __exportStar(require("./models/product-option"), exports);
59
- __exportStar(require("./models/product-option-value"), exports);
60
- __exportStar(require("./models/product-tag"), exports);
61
- __exportStar(require("./models/product-type"), exports);
62
- __exportStar(require("./models/product-variant"), exports);
63
- __exportStar(require("./models/refund"), exports);
64
- __exportStar(require("./models/region"), exports);
65
- __exportStar(require("./models/return"), exports);
66
- __exportStar(require("./models/return-item"), exports);
67
- __exportStar(require("./models/return-reason"), exports);
68
- __exportStar(require("./models/shipping-method"), exports);
69
- __exportStar(require("./models/shipping-option"), exports);
70
- __exportStar(require("./models/shipping-option-requirement"), exports);
71
- __exportStar(require("./models/shipping-profile"), exports);
72
- __exportStar(require("./models/staged-job"), exports);
73
- __exportStar(require("./models/store"), exports);
74
- __exportStar(require("./models/swap"), exports);
75
- __exportStar(require("./models/user"), exports);
76
- __exportStar(require("./models/tax-provider"), exports);
15
+ __exportStar(require("./types/price-list"), exports);
16
+ __exportStar(require("./types/batch-job"), exports);
17
+ __exportStar(require("./models"), exports);
18
+ __exportStar(require("./services"), exports);
77
19
  //# 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,sDAAmC;AACnC,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,oDAAiC;AACjC,2CAAwB;AACxB,6CAA0B"}
@@ -1,3 +1,6 @@
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";
5
+ export * from "./models/base-entity";
6
+ export * from "./models/soft-deletable-entity";
@@ -13,4 +13,7 @@ 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);
17
+ __exportStar(require("./models/base-entity"), exports);
18
+ __exportStar(require("./models/soft-deletable-entity"), exports);
16
19
  //# 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;AAC1C,uDAAoC;AACpC,iEAA8C"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Base abstract entity for all entities
3
+ */
4
+ export declare abstract class BaseEntity {
5
+ id: string;
6
+ created_at: Date;
7
+ updated_at: Date;
8
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BaseEntity = void 0;
13
+ var typeorm_1 = require("typeorm");
14
+ var db_aware_column_1 = require("../../utils/db-aware-column");
15
+ /**
16
+ * Base abstract entity for all entities
17
+ */
18
+ var BaseEntity = /** @class */ (function () {
19
+ function BaseEntity() {
20
+ }
21
+ __decorate([
22
+ (0, typeorm_1.PrimaryColumn)(),
23
+ __metadata("design:type", String)
24
+ ], BaseEntity.prototype, "id", void 0);
25
+ __decorate([
26
+ (0, typeorm_1.CreateDateColumn)({ type: (0, db_aware_column_1.resolveDbType)("timestamptz") }),
27
+ __metadata("design:type", Date)
28
+ ], BaseEntity.prototype, "created_at", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.UpdateDateColumn)({ type: (0, db_aware_column_1.resolveDbType)("timestamptz") }),
31
+ __metadata("design:type", Date)
32
+ ], BaseEntity.prototype, "updated_at", void 0);
33
+ return BaseEntity;
34
+ }());
35
+ exports.BaseEntity = BaseEntity;
36
+ //# sourceMappingURL=base-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-entity.js","sourceRoot":"","sources":["../../../src/interfaces/models/base-entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAIgB;AAChB,+DAA2D;AAE3D;;GAEG;AACH;IAAA;IASA,CAAC;IAPC;QADC,IAAA,uBAAa,GAAE;;0CACN;IAGV;QADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,IAAA,+BAAa,EAAC,aAAa,CAAC,EAAE,CAAC;kCAC7C,IAAI;kDAAA;IAGhB;QADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,IAAA,+BAAa,EAAC,aAAa,CAAC,EAAE,CAAC;kCAC7C,IAAI;kDAAA;IAClB,iBAAC;CAAA,AATD,IASC;AATqB,gCAAU"}
@@ -0,0 +1,4 @@
1
+ import { BaseEntity } from "./base-entity";
2
+ export declare abstract class SoftDeletableEntity extends BaseEntity {
3
+ deleted_at: Date | null;
4
+ }
@@ -0,0 +1,43 @@
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
+ })();
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.SoftDeletableEntity = void 0;
28
+ var base_entity_1 = require("./base-entity");
29
+ var typeorm_1 = require("typeorm");
30
+ var db_aware_column_1 = require("../../utils/db-aware-column");
31
+ var SoftDeletableEntity = /** @class */ (function (_super) {
32
+ __extends(SoftDeletableEntity, _super);
33
+ function SoftDeletableEntity() {
34
+ return _super !== null && _super.apply(this, arguments) || this;
35
+ }
36
+ __decorate([
37
+ (0, typeorm_1.DeleteDateColumn)({ type: (0, db_aware_column_1.resolveDbType)("timestamptz") }),
38
+ __metadata("design:type", Object)
39
+ ], SoftDeletableEntity.prototype, "deleted_at", void 0);
40
+ return SoftDeletableEntity;
41
+ }(base_entity_1.BaseEntity));
42
+ exports.SoftDeletableEntity = SoftDeletableEntity;
43
+ //# sourceMappingURL=soft-deletable-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soft-deletable-entity.js","sourceRoot":"","sources":["../../../src/interfaces/models/soft-deletable-entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA0C;AAC1C,mCAA0C;AAC1C,+DAA2D;AAE3D;IAAkD,uCAAU;IAA5D;;IAGA,CAAC;IADC;QADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,IAAA,+BAAa,EAAC,aAAa,CAAC,EAAE,CAAC;;2DAClC;IACzB,0BAAC;CAAA,AAHD,CAAkD,wBAAU,GAG3D;AAHqB,kDAAmB"}
@@ -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