@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
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var dotenv_1 = __importDefault(require("dotenv"));
43
+ var typeorm_1 = require("typeorm");
44
+ var logger_1 = __importDefault(require("../loaders/logger"));
45
+ var discount_condition_1 = require("../models/discount-condition");
46
+ var discount_condition_product_1 = require("../models/discount-condition-product");
47
+ var discount_rule_1 = require("../models/discount-rule");
48
+ var discount_condition_2 = require("../repositories/discount-condition");
49
+ dotenv_1.default.config();
50
+ var typeormConfig = {
51
+ type: process.env.TYPEORM_CONNECTION,
52
+ url: process.env.TYPEORM_URL,
53
+ username: process.env.TYPEORM_USERNAME,
54
+ password: process.env.TYPEORM_PASSWORD,
55
+ database: process.env.TYPEORM_DATABASE,
56
+ migrations: [process.env.TYPEORM_MIGRATIONS],
57
+ entities: [process.env.TYPEORM_ENTITIES],
58
+ logging: true,
59
+ };
60
+ var migrate = function (_a) {
61
+ var typeormConfig = _a.typeormConfig;
62
+ return __awaiter(this, void 0, void 0, function () {
63
+ var connection, BATCH_SIZE, noDanglingProductsValidation;
64
+ var _this = this;
65
+ return __generator(this, function (_b) {
66
+ switch (_b.label) {
67
+ case 0: return [4 /*yield*/, (0, typeorm_1.createConnection)(typeormConfig)];
68
+ case 1:
69
+ connection = _b.sent();
70
+ BATCH_SIZE = 1000;
71
+ return [4 /*yield*/, connection.transaction(function (manager) { return __awaiter(_this, void 0, void 0, function () {
72
+ var discountRuleCount, offset, _loop_1, discountRuleProductCount, getConditionProductsResult;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0: return [4 /*yield*/, manager
76
+ .createQueryBuilder()
77
+ .from(discount_rule_1.DiscountRule, "dr")
78
+ .getCount()];
79
+ case 1:
80
+ discountRuleCount = _a.sent();
81
+ offset = 0;
82
+ _loop_1 = function () {
83
+ var discountRules, discountConditionRepo;
84
+ return __generator(this, function (_b) {
85
+ switch (_b.label) {
86
+ case 0: return [4 /*yield*/, manager
87
+ .createQueryBuilder()
88
+ .from(discount_rule_1.DiscountRule, "dr")
89
+ .select("dr.id")
90
+ .innerJoin("discount_rule_products", "drp", "dr.id = drp.discount_rule_id")
91
+ .distinct(true)
92
+ .limit(BATCH_SIZE)
93
+ .offset(offset)
94
+ .getRawMany()];
95
+ case 1:
96
+ discountRules = _b.sent();
97
+ discountConditionRepo = manager
98
+ .getCustomRepository(discount_condition_2.DiscountConditionRepository);
99
+ return [4 /*yield*/, manager
100
+ .createQueryBuilder()
101
+ .insert()
102
+ .into(discount_condition_1.DiscountCondition)
103
+ .values(discountRules.map(function (dr) { return discountConditionRepo.create({
104
+ type: discount_condition_1.DiscountConditionType.PRODUCTS,
105
+ operator: discount_condition_1.DiscountConditionOperator.IN,
106
+ discount_rule_id: dr.dr_id,
107
+ }); }))
108
+ .orIgnore()
109
+ .execute()];
110
+ case 2:
111
+ _b.sent();
112
+ offset += BATCH_SIZE;
113
+ return [2 /*return*/];
114
+ }
115
+ });
116
+ };
117
+ _a.label = 2;
118
+ case 2:
119
+ if (!(offset < discountRuleCount)) return [3 /*break*/, 4];
120
+ return [5 /*yield**/, _loop_1()];
121
+ case 3:
122
+ _a.sent();
123
+ return [3 /*break*/, 2];
124
+ case 4: return [4 /*yield*/, manager.query("SELECT COUNT(*) FROM discount_rule_products")];
125
+ case 5:
126
+ discountRuleProductCount = _a.sent();
127
+ offset = 0;
128
+ _a.label = 6;
129
+ case 6:
130
+ if (!(offset < parseInt(discountRuleProductCount[0].count))) return [3 /*break*/, 9];
131
+ return [4 /*yield*/, manager
132
+ .createQueryBuilder()
133
+ .from(discount_rule_1.DiscountRule, "dr")
134
+ .innerJoin("discount_rule_products", "drp", "dr.id = drp.discount_rule_id")
135
+ .innerJoin("discount_condition", "dc", "dr.id = dc.discount_rule_id")
136
+ .select("dc.id as cond_id, drp.product_id")
137
+ .limit(BATCH_SIZE)
138
+ .offset(offset)
139
+ .getRawMany()];
140
+ case 7:
141
+ getConditionProductsResult = _a.sent();
142
+ return [4 /*yield*/, manager
143
+ .createQueryBuilder()
144
+ .insert()
145
+ .into(discount_condition_product_1.DiscountConditionProduct)
146
+ .values(getConditionProductsResult.map(function (dr) { return ({
147
+ condition_id: dr.cond_id,
148
+ product_id: dr.product_id,
149
+ }); }))
150
+ .orIgnore()
151
+ .execute()];
152
+ case 8:
153
+ _a.sent();
154
+ offset += BATCH_SIZE;
155
+ return [3 /*break*/, 6];
156
+ case 9: return [2 /*return*/];
157
+ }
158
+ });
159
+ }); })
160
+ // Validate results
161
+ ];
162
+ case 2:
163
+ _b.sent();
164
+ return [4 /*yield*/, connection.manager
165
+ .query("SELECT drp.discount_rule_id, drp.product_id, dcp.product_id FROM \"discount_rule_products\" drp\n LEFT JOIN discount_condition dc ON dc.discount_rule_id = drp.discount_rule_id\n LEFT JOIN discount_condition_product dcp ON dcp.condition_id = dc.id AND dcp.product_id = drp.product_id\n WHERE dcp.product_id IS NULL")];
166
+ case 3:
167
+ noDanglingProductsValidation = _b.sent();
168
+ if (noDanglingProductsValidation &&
169
+ (noDanglingProductsValidation === null || noDanglingProductsValidation === void 0 ? void 0 : noDanglingProductsValidation.length) === 0) {
170
+ logger_1.default.info("Discount entities have been successfully migrated");
171
+ process.exit();
172
+ }
173
+ else {
174
+ logger_1.default.error("Discount entities could not be migrated");
175
+ process.exit(1);
176
+ }
177
+ return [2 /*return*/];
178
+ }
179
+ });
180
+ });
181
+ };
182
+ migrate({ typeormConfig: typeormConfig })
183
+ .then(function () {
184
+ logger_1.default.info("Database migration completed successfully");
185
+ process.exit();
186
+ })
187
+ .catch(function (err) { return console.log(err); });
188
+ exports.default = migrate;
189
+ //# sourceMappingURL=discount-rule-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discount-rule-migration.js","sourceRoot":"","sources":["../../src/scripts/discount-rule-migration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA2B;AAC3B,mCAA0C;AAE1C,6DAAsC;AACtC,mEAIqC;AACrC,mFAA+E;AAC/E,yDAAsD;AACtD,yEAAgF;AAChF,gBAAM,CAAC,MAAM,EAAE,CAAA;AAEf,IAAM,aAAa,GAAG;IACpB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;IACpC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;IAC5B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;IACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;IACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;IACtC,UAAU,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,kBAA4B,CAAC;IACtD,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACxC,OAAO,EAAE,IAAI;CACd,CAAA;AAED,IAAM,OAAO,GAAG,UAAgB,EAAiB;QAAf,aAAa,mBAAA;;;;;;wBAC1B,qBAAM,IAAA,0BAAgB,EAAC,aAAa,CAAC,EAAA;;oBAAlD,UAAU,GAAG,SAAqC;oBAElD,UAAU,GAAG,IAAI,CAAA;oBAEvB,qBAAM,UAAU,CAAC,WAAW,CAAC,UAAO,OAAO;;;;4CACf,qBAAM,OAAO;6CACpC,kBAAkB,EAAE;6CACpB,IAAI,CAAC,4BAAY,EAAE,IAAI,CAAC;6CACxB,QAAQ,EAAE,EAAA;;wCAHP,iBAAiB,GAAG,SAGb;wCAET,MAAM,GAAG,CAAC,CAAA;;;;;4DAEU,qBAAM,OAAO;6DAChC,kBAAkB,EAAE;6DACpB,IAAI,CAAC,4BAAY,EAAE,IAAI,CAAC;6DACxB,MAAM,CAAC,OAAO,CAAC;6DACf,SAAS,CACR,wBAAwB,EACxB,KAAK,EACL,8BAA8B,CAC/B;6DACA,QAAQ,CAAC,IAAI,CAAC;6DACd,KAAK,CAAC,UAAU,CAAC;6DACjB,MAAM,CAAC,MAAM,CAAC;6DACd,UAAU,EAAE,EAAA;;wDAZT,aAAa,GAAG,SAYP;wDAET,qBAAqB,GAAG,OAAO;6DAClC,mBAAmB,CAAC,gDAA2B,CAAC,CAAA;wDACnD,qBAAM,OAAO;iEACV,kBAAkB,EAAE;iEACpB,MAAM,EAAE;iEACR,IAAI,CAAC,sCAAiB,CAAC;iEACvB,MAAM,CACL,aAAa,CAAC,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,qBAAqB,CAAC,MAAM,CAAC;gEACrD,IAAI,EAAE,0CAAqB,CAAC,QAAQ;gEACpC,QAAQ,EAAE,8CAAyB,CAAC,EAAE;gEACtC,gBAAgB,EAAE,EAAE,CAAC,KAAK;6DAC3B,CAA8C,EAJrB,CAIqB,CAAC,CACjD;iEACA,QAAQ,EAAE;iEACV,OAAO,EAAE,EAAA;;wDAZZ,SAYY,CAAA;wDACZ,MAAM,IAAI,UAAU,CAAA;;;;;;;6CA9Bf,CAAA,MAAM,GAAG,iBAAiB,CAAA;;;;;4CAiCA,qBAAM,OAAO,CAAC,KAAK,CAClD,6CAA6C,CAC9C,EAAA;;wCAFK,wBAAwB,GAAG,SAEhC;wCAED,MAAM,GAAG,CAAC,CAAA;;;6CACH,CAAA,MAAM,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;wCACtB,qBAAM,OAAO;iDAC7C,kBAAkB,EAAE;iDACpB,IAAI,CAAC,4BAAY,EAAE,IAAI,CAAC;iDACxB,SAAS,CACR,wBAAwB,EACxB,KAAK,EACL,8BAA8B,CAC/B;iDACA,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,6BAA6B,CAAC;iDACpE,MAAM,CAAC,kCAAkC,CAAC;iDAC1C,KAAK,CAAC,UAAU,CAAC;iDACjB,MAAM,CAAC,MAAM,CAAC;iDACd,UAAU,EAAE,EAAA;;wCAZT,0BAA0B,GAAG,SAYpB;wCAEf,qBAAM,OAAO;iDACV,kBAAkB,EAAE;iDACpB,MAAM,EAAE;iDACR,IAAI,CAAC,qDAAwB,CAAC;iDAC9B,MAAM,CACL,0BAA0B,CAAC,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,CAAC;gDACtC,YAAY,EAAE,EAAE,CAAC,OAAO;gDACxB,UAAU,EAAE,EAAE,CAAC,UAAU;6CAC1B,CAAC,EAHqC,CAGrC,CAAC,CACJ;iDACA,QAAQ,EAAE;iDACV,OAAO,EAAE,EAAA;;wCAXZ,SAWY,CAAA;wCAEZ,MAAM,IAAI,UAAU,CAAA;;;;;6BAEvB,CAAC;wBAEF,mBAAmB;sBAFjB;;oBA3EF,SA2EE,CAAA;oBAGmC,qBAAM,UAAU,CAAC,OAAO;6BAC1D,KAAK,CAAC,8TAGoB,CAAC,EAAA;;oBAJxB,4BAA4B,GAAG,SAIP;oBAE9B,IACE,4BAA4B;wBAC5B,CAAA,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,MAAM,MAAK,CAAC,EAC1C;wBACA,gBAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;wBAChE,OAAO,CAAC,IAAI,EAAE,CAAA;qBACf;yBAAM;wBACL,gBAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;wBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;qBAChB;;;;;CACF,CAAA;AAED,OAAO,CAAC,EAAE,aAAa,eAAA,EAAE,CAAC;KACvB,IAAI,CAAC;IACJ,gBAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;IACxD,OAAO,CAAC,IAAI,EAAE,CAAA;AAChB,CAAC,CAAC;KACD,KAAK,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAA;AAEnC,kBAAe,OAAO,CAAA"}
@@ -0,0 +1,4 @@
1
+ declare const migrate: ({ typeormConfig }: {
2
+ typeormConfig: any;
3
+ }) => Promise<void>;
4
+ export default migrate;
@@ -0,0 +1,173 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ var dotenv_1 = __importDefault(require("dotenv"));
54
+ var typeorm_1 = require("typeorm");
55
+ var logger_1 = __importDefault(require("../loaders/logger"));
56
+ var line_item_1 = require("../models/line-item");
57
+ var line_item_adjustment_1 = require("../models/line-item-adjustment");
58
+ dotenv_1.default.config();
59
+ var typeormConfig = {
60
+ type: process.env.TYPEORM_CONNECTION,
61
+ url: process.env.TYPEORM_URL,
62
+ username: process.env.TYPEORM_USERNAME,
63
+ password: process.env.TYPEORM_PASSWORD,
64
+ database: process.env.TYPEORM_DATABASE,
65
+ migrations: [process.env.TYPEORM_MIGRATIONS],
66
+ entities: [process.env.TYPEORM_ENTITIES],
67
+ logging: true,
68
+ };
69
+ var migrate = function (_a) {
70
+ var typeormConfig = _a.typeormConfig;
71
+ return __awaiter(this, void 0, void 0, function () {
72
+ var connection, BATCH_SIZE;
73
+ var _this = this;
74
+ return __generator(this, function (_b) {
75
+ switch (_b.label) {
76
+ case 0: return [4 /*yield*/, (0, typeorm_1.createConnection)(typeormConfig)];
77
+ case 1:
78
+ connection = _b.sent();
79
+ BATCH_SIZE = 1000;
80
+ return [4 /*yield*/, connection.transaction(function (manager) { return __awaiter(_this, void 0, void 0, function () {
81
+ var getDiscountableLineItems, getLineItemAllocations, totalAdjustments, offset, lineItemAdjustments;
82
+ return __generator(this, function (_a) {
83
+ switch (_a.label) {
84
+ case 0:
85
+ getDiscountableLineItems = function (qb) {
86
+ return qb
87
+ .from(line_item_1.LineItem, "li")
88
+ .select([
89
+ "li.order_id as order_id",
90
+ "SUM(li.quantity * li.unit_price)::bigint AS discountable_subtotal",
91
+ ])
92
+ .where("li.allow_discounts = true")
93
+ .groupBy("li.order_id");
94
+ };
95
+ getLineItemAllocations = function (qb) {
96
+ return qb
97
+ .from(line_item_1.LineItem, "li")
98
+ .select([
99
+ "disc.id AS discount_id",
100
+ "dr.allocation",
101
+ "dr.type",
102
+ "dr.value",
103
+ "li.*",
104
+ "li.order_id",
105
+ "ods.discountable_subtotal",
106
+ "li.quantity * li.unit_price AS li_subtotal",
107
+ "COALESCE(ROUND(CASE\n WHEN dr.type = 'percentage' THEN li.quantity*li.unit_price * (dr.value::float / 100)\n WHEN dr.type = 'fixed' THEN li.quantity*li.unit_price * (LEAST(COALESCE(dr.value, 0), ods.discountable_subtotal)::float / ods.discountable_subtotal)\n ELSE 0\n END), 0) AS discount_total",
108
+ ])
109
+ .leftJoin("order", "o", "o.id = li.order_id")
110
+ .leftJoin("order_discounts", "od", "o.id = od.order_id")
111
+ .leftJoin("discount", "disc", "od.discount_id = disc.id")
112
+ .leftJoin("discount_rule", "dr", "dr.id = disc.rule_id")
113
+ .leftJoinAndSelect(getDiscountableLineItems, "ods", "ods.order_id = li.order_id")
114
+ .where("dr.type != :type", { type: "free_shipping" });
115
+ };
116
+ return [4 /*yield*/, manager
117
+ .createQueryBuilder()
118
+ .from(getLineItemAllocations, "lia")
119
+ .select("COUNT(*)")
120
+ .getRawOne()
121
+ .then(function (result) { return parseInt(result.count, 10); })];
122
+ case 1:
123
+ totalAdjustments = _a.sent();
124
+ offset = 0;
125
+ _a.label = 2;
126
+ case 2:
127
+ if (!(offset < totalAdjustments)) return [3 /*break*/, 5];
128
+ return [4 /*yield*/, manager
129
+ .createQueryBuilder()
130
+ .from(getLineItemAllocations, "lia")
131
+ .select([
132
+ "lia.id AS item_id",
133
+ "lia.discount_id",
134
+ "lia.discount_total AS amount",
135
+ "'discount' AS description",
136
+ ])
137
+ .limit(BATCH_SIZE)
138
+ .offset(offset)
139
+ .getRawMany()];
140
+ case 3:
141
+ lineItemAdjustments = _a.sent();
142
+ return [4 /*yield*/, manager
143
+ .createQueryBuilder()
144
+ .insert()
145
+ .into(line_item_adjustment_1.LineItemAdjustment)
146
+ .values(lineItemAdjustments.map(function (lia) {
147
+ return Object.assign(new line_item_adjustment_1.LineItemAdjustment(), __assign({}, lia));
148
+ }))
149
+ .orIgnore()
150
+ .execute()];
151
+ case 4:
152
+ _a.sent();
153
+ offset += BATCH_SIZE;
154
+ return [3 /*break*/, 2];
155
+ case 5: return [2 /*return*/];
156
+ }
157
+ });
158
+ }); })];
159
+ case 2:
160
+ _b.sent();
161
+ return [2 /*return*/];
162
+ }
163
+ });
164
+ });
165
+ };
166
+ migrate({ typeormConfig: typeormConfig })
167
+ .then(function () {
168
+ logger_1.default.info("Database migration completed successfully");
169
+ process.exit();
170
+ })
171
+ .catch(function (err) { return console.log(err); });
172
+ exports.default = migrate;
173
+ //# sourceMappingURL=line-item-adjustment-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-item-adjustment-migration.js","sourceRoot":"","sources":["../../src/scripts/line-item-adjustment-migration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { EntityManager } from "typeorm";
2
+ import { BatchJob } from "../models";
3
+ import { BatchJobRepository } from "../repositories/batch-job";
4
+ import { FilterableBatchJobProps } from "../types/batch-job";
5
+ import { FindConfig } from "../types/common";
6
+ import { TransactionBaseService } from "../interfaces";
7
+ declare type InjectedDependencies = {
8
+ manager: EntityManager;
9
+ batchJobRepository: typeof BatchJobRepository;
10
+ };
11
+ declare class BatchJobService extends TransactionBaseService<BatchJobService> {
12
+ protected manager_: EntityManager;
13
+ protected transactionManager_: EntityManager | undefined;
14
+ protected readonly batchJobRepository_: typeof BatchJobRepository;
15
+ static readonly Events: {
16
+ CREATED: string;
17
+ UPDATED: string;
18
+ CANCELED: string;
19
+ };
20
+ constructor({ manager, batchJobRepository }: InjectedDependencies);
21
+ retrieve(batchJobId: string, config?: FindConfig<BatchJob>): Promise<BatchJob | never>;
22
+ listAndCount(selector?: FilterableBatchJobProps, config?: FindConfig<BatchJob>): Promise<[BatchJob[], number]>;
23
+ }
24
+ export default BatchJobService;
@@ -0,0 +1,126 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ var interfaces_1 = require("../interfaces");
55
+ var utils_1 = require("../utils");
56
+ var medusa_core_utils_1 = require("medusa-core-utils");
57
+ var BatchJobService = /** @class */ (function (_super) {
58
+ __extends(BatchJobService, _super);
59
+ function BatchJobService(_a) {
60
+ var manager = _a.manager, batchJobRepository = _a.batchJobRepository;
61
+ var _this = _super.call(this, { manager: manager, batchJobRepository: batchJobRepository }) || this;
62
+ _this.manager_ = manager;
63
+ _this.batchJobRepository_ = batchJobRepository;
64
+ return _this;
65
+ }
66
+ BatchJobService.prototype.retrieve = function (batchJobId, config) {
67
+ if (config === void 0) { config = {}; }
68
+ return __awaiter(this, void 0, void 0, function () {
69
+ var _this = this;
70
+ return __generator(this, function (_a) {
71
+ switch (_a.label) {
72
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
73
+ var batchJobRepo, query, batchJob;
74
+ return __generator(this, function (_a) {
75
+ switch (_a.label) {
76
+ case 0:
77
+ batchJobRepo = transactionManager.getCustomRepository(this.batchJobRepository_);
78
+ query = (0, utils_1.buildQuery)({ id: batchJobId }, config);
79
+ return [4 /*yield*/, batchJobRepo.findOne(query)];
80
+ case 1:
81
+ batchJob = _a.sent();
82
+ if (!batchJob) {
83
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Batch job with id ".concat(batchJobId, " was not found"));
84
+ }
85
+ return [2 /*return*/, batchJob];
86
+ }
87
+ });
88
+ }); })];
89
+ case 1: return [2 /*return*/, _a.sent()];
90
+ }
91
+ });
92
+ });
93
+ };
94
+ BatchJobService.prototype.listAndCount = function (selector, config) {
95
+ if (selector === void 0) { selector = {}; }
96
+ if (config === void 0) { config = { skip: 0, take: 20 }; }
97
+ return __awaiter(this, void 0, void 0, function () {
98
+ var _this = this;
99
+ return __generator(this, function (_a) {
100
+ switch (_a.label) {
101
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
102
+ var batchJobRepo, query;
103
+ return __generator(this, function (_a) {
104
+ switch (_a.label) {
105
+ case 0:
106
+ batchJobRepo = manager.getCustomRepository(this.batchJobRepository_);
107
+ query = (0, utils_1.buildQuery)(selector, config);
108
+ return [4 /*yield*/, batchJobRepo.findAndCount(query)];
109
+ case 1: return [2 /*return*/, _a.sent()];
110
+ }
111
+ });
112
+ }); })];
113
+ case 1: return [2 /*return*/, _a.sent()];
114
+ }
115
+ });
116
+ });
117
+ };
118
+ BatchJobService.Events = {
119
+ CREATED: "batch.created",
120
+ UPDATED: "batch.updated",
121
+ CANCELED: "batch.canceled",
122
+ };
123
+ return BatchJobService;
124
+ }(interfaces_1.TransactionBaseService));
125
+ exports.default = BatchJobService;
126
+ //# sourceMappingURL=batch-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-job.js","sourceRoot":"","sources":["../../src/services/batch-job.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,4CAAsD;AACtD,kCAAiD;AACjD,uDAA+C;AAO/C;IAA8B,mCAAuC;IAWnE,yBAAY,EAAqD;YAAnD,OAAO,aAAA,EAAE,kBAAkB,wBAAA;QAAzC,YACE,kBAAM,EAAE,OAAO,SAAA,EAAE,kBAAkB,oBAAA,EAAE,CAAC,SAIvC;QAFC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,KAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAA;;IAC/C,CAAC;IAEK,kCAAQ,GAAd,UACE,UAAkB,EAClB,MAAiC;QAAjC,uBAAA,EAAA,WAAiC;;;;;4BAE1B,qBAAM,IAAI,CAAC,YAAY,CAC5B,UAAO,kBAAiC;;;;;wCAChC,YAAY,GAAG,kBAAkB,CAAC,mBAAmB,CACzD,IAAI,CAAC,mBAAmB,CACzB,CAAA;wCAEK,KAAK,GAAG,IAAA,kBAAU,EAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,CAAA;wCAC7C,qBAAM,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAA;;wCAA5C,QAAQ,GAAG,SAAiC;wCAElD,IAAI,CAAC,QAAQ,EAAE;4CACb,MAAM,IAAI,+BAAW,CACnB,+BAAW,CAAC,KAAK,CAAC,SAAS,EAC3B,4BAAqB,UAAU,mBAAgB,CAChD,CAAA;yCACF;wCAED,sBAAO,QAAQ,EAAA;;;6BAChB,CACF,EAAA;4BAlBD,sBAAO,SAkBN,EAAA;;;;KACF;IAEK,sCAAY,GAAlB,UACE,QAAsC,EACtC,MAAoD;QADpD,yBAAA,EAAA,aAAsC;QACtC,uBAAA,EAAA,WAAiC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;;;;;4BAE7C,qBAAM,IAAI,CAAC,YAAY,CAC5B,UAAO,OAAsB;;;;;wCACrB,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAC9C,IAAI,CAAC,mBAAmB,CACzB,CAAA;wCAEK,KAAK,GAAG,IAAA,kBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;wCACnC,qBAAM,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,EAAA;4CAA7C,sBAAO,SAAsC,EAAA;;;6BAC9C,CACF,EAAA;4BATD,sBAAO,SASN,EAAA;;;;KACF;IApDe,sBAAM,GAAG;QACvB,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,gBAAgB;KAC3B,CAAA;IAiDH,sBAAC;CAAA,AA1DD,CAA8B,mCAAsB,GA0DnD;AAED,kBAAe,eAAe,CAAA"}