@medusajs/medusa 1.3.2 → 1.3.3

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 (507) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/api/index.d.ts +15 -14
  3. package/dist/api/index.js +15 -14
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/middlewares/authenticate-customer.d.ts +2 -1
  6. package/dist/api/middlewares/authenticate-customer.js +1 -2
  7. package/dist/api/middlewares/authenticate-customer.js.map +1 -1
  8. package/dist/api/middlewares/authenticate.d.ts +2 -1
  9. package/dist/api/middlewares/authenticate.js.map +1 -1
  10. package/dist/api/middlewares/await-middleware.d.ts +3 -1
  11. package/dist/api/middlewares/await-middleware.js +2 -31
  12. package/dist/api/middlewares/await-middleware.js.map +1 -1
  13. package/dist/api/middlewares/error-handler.d.ts +3 -1
  14. package/dist/api/middlewares/error-handler.js.map +1 -1
  15. package/dist/api/middlewares/feature-flag-enabled.d.ts +2 -0
  16. package/dist/api/middlewares/feature-flag-enabled.js +57 -0
  17. package/dist/api/middlewares/feature-flag-enabled.js.map +1 -0
  18. package/dist/api/middlewares/index.d.ts +10 -10
  19. package/dist/api/middlewares/index.js +5 -1
  20. package/dist/api/middlewares/index.js.map +1 -1
  21. package/dist/api/middlewares/normalized-query.d.ts +6 -1
  22. package/dist/api/middlewares/normalized-query.js +5 -2
  23. package/dist/api/middlewares/normalized-query.js.map +1 -1
  24. package/dist/api/middlewares/transform-body.d.ts +4 -0
  25. package/dist/api/middlewares/transform-body.js +66 -0
  26. package/dist/api/middlewares/transform-body.js.map +1 -0
  27. package/dist/api/middlewares/transform-query.d.ts +6 -0
  28. package/dist/api/middlewares/transform-query.js +86 -0
  29. package/dist/api/middlewares/transform-query.js.map +1 -0
  30. package/dist/api/routes/admin/batch/cancel-batch-job.d.ts +22 -0
  31. package/dist/api/routes/admin/batch/cancel-batch-job.js +74 -0
  32. package/dist/api/routes/admin/batch/cancel-batch-job.js.map +1 -0
  33. package/dist/api/routes/admin/batch/confirm-batch-job.d.ts +22 -0
  34. package/dist/api/routes/admin/batch/confirm-batch-job.js +74 -0
  35. package/dist/api/routes/admin/batch/confirm-batch-job.js.map +1 -0
  36. package/dist/api/routes/admin/batch/create-batch-job.d.ts +30 -0
  37. package/dist/api/routes/admin/batch/create-batch-job.js +125 -0
  38. package/dist/api/routes/admin/batch/create-batch-job.js.map +1 -0
  39. package/dist/api/routes/admin/batch/get-batch-job.d.ts +22 -0
  40. package/dist/api/routes/admin/batch/get-batch-job.js +67 -0
  41. package/dist/api/routes/admin/batch/get-batch-job.js.map +1 -0
  42. package/dist/api/routes/admin/batch/index.d.ts +4 -0
  43. package/dist/api/routes/admin/batch/index.js +36 -7
  44. package/dist/api/routes/admin/batch/index.js.map +1 -1
  45. package/dist/api/routes/admin/batch/list-batch-jobs.d.ts +15 -7
  46. package/dist/api/routes/admin/batch/list-batch-jobs.js +61 -46
  47. package/dist/api/routes/admin/batch/list-batch-jobs.js.map +1 -1
  48. package/dist/api/routes/admin/collections/add-products.d.ts +2 -1
  49. package/dist/api/routes/admin/collections/add-products.js +4 -7
  50. package/dist/api/routes/admin/collections/add-products.js.map +1 -1
  51. package/dist/api/routes/admin/collections/create-collection.d.ts +2 -1
  52. package/dist/api/routes/admin/collections/create-collection.js +6 -8
  53. package/dist/api/routes/admin/collections/create-collection.js.map +1 -1
  54. package/dist/api/routes/admin/collections/delete-collection.d.ts +2 -1
  55. package/dist/api/routes/admin/collections/delete-collection.js.map +1 -1
  56. package/dist/api/routes/admin/collections/get-collection.d.ts +2 -1
  57. package/dist/api/routes/admin/collections/get-collection.js +4 -5
  58. package/dist/api/routes/admin/collections/get-collection.js.map +1 -1
  59. package/dist/api/routes/admin/collections/index.js +32 -12
  60. package/dist/api/routes/admin/collections/index.js.map +1 -1
  61. package/dist/api/routes/admin/collections/list-collections.d.ts +2 -1
  62. package/dist/api/routes/admin/collections/list-collections.js +9 -19
  63. package/dist/api/routes/admin/collections/list-collections.js.map +1 -1
  64. package/dist/api/routes/admin/collections/remove-products.d.ts +2 -1
  65. package/dist/api/routes/admin/collections/remove-products.js +5 -8
  66. package/dist/api/routes/admin/collections/remove-products.js.map +1 -1
  67. package/dist/api/routes/admin/collections/update-collection.d.ts +2 -1
  68. package/dist/api/routes/admin/collections/update-collection.js +5 -8
  69. package/dist/api/routes/admin/collections/update-collection.js.map +1 -1
  70. package/dist/api/routes/admin/customer-groups/add-customers-batch.d.ts +2 -1
  71. package/dist/api/routes/admin/customer-groups/add-customers-batch.js.map +1 -1
  72. package/dist/api/routes/admin/customer-groups/create-customer-group.d.ts +2 -1
  73. package/dist/api/routes/admin/customer-groups/create-customer-group.js.map +1 -1
  74. package/dist/api/routes/admin/customer-groups/delete-customer-group.d.ts +2 -1
  75. package/dist/api/routes/admin/customer-groups/delete-customer-group.js.map +1 -1
  76. package/dist/api/routes/admin/customer-groups/delete-customers-batch.d.ts +2 -1
  77. package/dist/api/routes/admin/customer-groups/delete-customers-batch.js.map +1 -1
  78. package/dist/api/routes/admin/customer-groups/get-customer-group-customers.d.ts +2 -1
  79. package/dist/api/routes/admin/customer-groups/get-customer-group-customers.js.map +1 -1
  80. package/dist/api/routes/admin/customer-groups/get-customer-group.d.ts +2 -1
  81. package/dist/api/routes/admin/customer-groups/get-customer-group.js +3 -17
  82. package/dist/api/routes/admin/customer-groups/get-customer-group.js.map +1 -1
  83. package/dist/api/routes/admin/customer-groups/index.js +29 -11
  84. package/dist/api/routes/admin/customer-groups/index.js.map +1 -1
  85. package/dist/api/routes/admin/customer-groups/list-customer-groups.d.ts +2 -1
  86. package/dist/api/routes/admin/customer-groups/list-customer-groups.js +10 -45
  87. package/dist/api/routes/admin/customer-groups/list-customer-groups.js.map +1 -1
  88. package/dist/api/routes/admin/customer-groups/update-customer-group.d.ts +2 -1
  89. package/dist/api/routes/admin/customer-groups/update-customer-group.js.map +1 -1
  90. package/dist/api/routes/admin/customers/create-customer.d.ts +1 -1
  91. package/dist/api/routes/admin/customers/create-customer.js.map +1 -1
  92. package/dist/api/routes/admin/customers/update-customer.d.ts +1 -1
  93. package/dist/api/routes/admin/customers/update-customer.js.map +1 -1
  94. package/dist/api/routes/admin/discounts/add-valid-product.d.ts +23 -0
  95. package/dist/api/routes/admin/discounts/add-valid-product.js +82 -0
  96. package/dist/api/routes/admin/discounts/add-valid-product.js.map +1 -0
  97. package/dist/api/routes/admin/discounts/remove-valid-product.d.ts +23 -0
  98. package/dist/api/routes/admin/discounts/remove-valid-product.js +82 -0
  99. package/dist/api/routes/admin/discounts/remove-valid-product.js.map +1 -0
  100. package/dist/api/routes/admin/draft-orders/index.d.ts +1 -1
  101. package/dist/api/routes/admin/draft-orders/index.js +1 -0
  102. package/dist/api/routes/admin/draft-orders/index.js.map +1 -1
  103. package/dist/api/routes/admin/draft-orders/list-draft-orders.js +7 -6
  104. package/dist/api/routes/admin/draft-orders/list-draft-orders.js.map +1 -1
  105. package/dist/api/routes/admin/gift-cards/create-gift-card.d.ts +2 -2
  106. package/dist/api/routes/admin/gift-cards/create-gift-card.js +0 -1
  107. package/dist/api/routes/admin/gift-cards/create-gift-card.js.map +1 -1
  108. package/dist/api/routes/admin/gift-cards/index.d.ts +1 -1
  109. package/dist/api/routes/admin/gift-cards/index.js +19 -5
  110. package/dist/api/routes/admin/gift-cards/index.js.map +1 -1
  111. package/dist/api/routes/admin/gift-cards/list-gift-cards.js +24 -18
  112. package/dist/api/routes/admin/gift-cards/list-gift-cards.js.map +1 -1
  113. package/dist/api/routes/admin/gift-cards/update-gift-card.d.ts +1 -1
  114. package/dist/api/routes/admin/gift-cards/update-gift-card.js.map +1 -1
  115. package/dist/api/routes/admin/orders/create-claim.d.ts +4 -14
  116. package/dist/api/routes/admin/orders/create-claim.js +3 -14
  117. package/dist/api/routes/admin/orders/create-claim.js.map +1 -1
  118. package/dist/api/routes/admin/orders/fulfill-claim.d.ts +1 -1
  119. package/dist/api/routes/admin/orders/fulfill-claim.js.map +1 -1
  120. package/dist/api/routes/admin/orders/update-claim.d.ts +1 -1
  121. package/dist/api/routes/admin/orders/update-claim.js.map +1 -1
  122. package/dist/api/routes/admin/price-lists/create-price-list.d.ts +2 -1
  123. package/dist/api/routes/admin/price-lists/create-price-list.js +4 -7
  124. package/dist/api/routes/admin/price-lists/create-price-list.js.map +1 -1
  125. package/dist/api/routes/admin/price-lists/index.js +26 -7
  126. package/dist/api/routes/admin/price-lists/index.js.map +1 -1
  127. package/dist/api/routes/admin/price-lists/list-price-list-products.d.ts +3 -7
  128. package/dist/api/routes/admin/price-lists/list-price-list-products.js +21 -59
  129. package/dist/api/routes/admin/price-lists/list-price-list-products.js.map +1 -1
  130. package/dist/api/routes/admin/price-lists/list-price-lists.d.ts +2 -1
  131. package/dist/api/routes/admin/price-lists/list-price-lists.js +8 -40
  132. package/dist/api/routes/admin/price-lists/list-price-lists.js.map +1 -1
  133. package/dist/api/routes/admin/products/add-option.js +26 -6
  134. package/dist/api/routes/admin/products/add-option.js.map +1 -1
  135. package/dist/api/routes/admin/products/create-product.d.ts +3 -3
  136. package/dist/api/routes/admin/products/create-product.js +13 -9
  137. package/dist/api/routes/admin/products/create-product.js.map +1 -1
  138. package/dist/api/routes/admin/products/delete-variant.js +26 -6
  139. package/dist/api/routes/admin/products/delete-variant.js.map +1 -1
  140. package/dist/api/routes/admin/products/get-product.js +24 -4
  141. package/dist/api/routes/admin/products/get-product.js.map +1 -1
  142. package/dist/api/routes/admin/products/get-variants.d.ts +24 -0
  143. package/dist/api/routes/admin/products/get-variants.js +76 -0
  144. package/dist/api/routes/admin/products/get-variants.js.map +1 -0
  145. package/dist/api/routes/admin/products/index.d.ts +3 -2
  146. package/dist/api/routes/admin/products/index.js +1 -4
  147. package/dist/api/routes/admin/products/index.js.map +1 -1
  148. package/dist/api/routes/admin/products/list-products.d.ts +1 -6
  149. package/dist/api/routes/admin/products/list-products.js +3 -9
  150. package/dist/api/routes/admin/products/list-products.js.map +1 -1
  151. package/dist/api/routes/admin/products/update-product.d.ts +3 -3
  152. package/dist/api/routes/admin/products/update-product.js +28 -7
  153. package/dist/api/routes/admin/products/update-product.js.map +1 -1
  154. package/dist/api/routes/admin/products/update-variant.js +27 -10
  155. package/dist/api/routes/admin/products/update-variant.js.map +1 -1
  156. package/dist/api/routes/admin/shipping-options/list-shipping-options.js +6 -2
  157. package/dist/api/routes/admin/shipping-options/list-shipping-options.js.map +1 -1
  158. package/dist/api/routes/admin/store/get-store.js +4 -2
  159. package/dist/api/routes/admin/store/get-store.js.map +1 -1
  160. package/dist/api/routes/admin/store/update-store.d.ts +1 -0
  161. package/dist/api/routes/admin/store/update-store.js +5 -0
  162. package/dist/api/routes/admin/store/update-store.js.map +1 -1
  163. package/dist/api/routes/admin/uploads/create-upload.d.ts +1 -1
  164. package/dist/api/routes/admin/uploads/create-upload.js +5 -5
  165. package/dist/api/routes/admin/uploads/create-upload.js.map +1 -1
  166. package/dist/api/routes/admin/uploads/delete-upload.d.ts +4 -1
  167. package/dist/api/routes/admin/uploads/delete-upload.js +29 -11
  168. package/dist/api/routes/admin/uploads/delete-upload.js.map +1 -1
  169. package/dist/api/routes/admin/uploads/get-download-url.d.ts +28 -0
  170. package/dist/api/routes/admin/uploads/get-download-url.js +99 -0
  171. package/dist/api/routes/admin/uploads/get-download-url.js.map +1 -0
  172. package/dist/api/routes/admin/uploads/index.d.ts +10 -3
  173. package/dist/api/routes/admin/uploads/index.js +19 -4
  174. package/dist/api/routes/admin/uploads/index.js.map +1 -1
  175. package/dist/api/routes/store/carts/add-shipping-method.js +6 -2
  176. package/dist/api/routes/store/carts/add-shipping-method.js.map +1 -1
  177. package/dist/api/routes/store/carts/calculate-taxes.js +9 -2
  178. package/dist/api/routes/store/carts/calculate-taxes.js.map +1 -1
  179. package/dist/api/routes/store/carts/create-cart.js +6 -2
  180. package/dist/api/routes/store/carts/create-cart.js.map +1 -1
  181. package/dist/api/routes/store/carts/create-line-item.js +6 -2
  182. package/dist/api/routes/store/carts/create-line-item.js.map +1 -1
  183. package/dist/api/routes/store/carts/create-payment-sessions.js +6 -2
  184. package/dist/api/routes/store/carts/create-payment-sessions.js.map +1 -1
  185. package/dist/api/routes/store/carts/decorate-line-items-with-totals.d.ts +5 -0
  186. package/dist/api/routes/store/carts/decorate-line-items-with-totals.js +71 -0
  187. package/dist/api/routes/store/carts/decorate-line-items-with-totals.js.map +1 -0
  188. package/dist/api/routes/store/carts/delete-discount.js +6 -2
  189. package/dist/api/routes/store/carts/delete-discount.js.map +1 -1
  190. package/dist/api/routes/store/carts/delete-line-item.js +6 -2
  191. package/dist/api/routes/store/carts/delete-line-item.js.map +1 -1
  192. package/dist/api/routes/store/carts/delete-payment-session.js +6 -2
  193. package/dist/api/routes/store/carts/delete-payment-session.js.map +1 -1
  194. package/dist/api/routes/store/carts/get-cart.js +6 -2
  195. package/dist/api/routes/store/carts/get-cart.js.map +1 -1
  196. package/dist/api/routes/store/carts/refresh-payment-session.js +6 -2
  197. package/dist/api/routes/store/carts/refresh-payment-session.js.map +1 -1
  198. package/dist/api/routes/store/carts/set-payment-session.js +6 -2
  199. package/dist/api/routes/store/carts/set-payment-session.js.map +1 -1
  200. package/dist/api/routes/store/carts/update-cart.js +6 -2
  201. package/dist/api/routes/store/carts/update-cart.js.map +1 -1
  202. package/dist/api/routes/store/carts/update-line-item.js +6 -2
  203. package/dist/api/routes/store/carts/update-line-item.js.map +1 -1
  204. package/dist/api/routes/store/carts/update-payment-method.d.ts +38 -0
  205. package/dist/api/routes/store/carts/update-payment-method.js +122 -0
  206. package/dist/api/routes/store/carts/update-payment-method.js.map +1 -0
  207. package/dist/api/routes/store/carts/update-payment-session.js +6 -2
  208. package/dist/api/routes/store/carts/update-payment-session.js.map +1 -1
  209. package/dist/api/routes/store/customers/get-payment-methods.js +6 -7
  210. package/dist/api/routes/store/customers/get-payment-methods.js.map +1 -1
  211. package/dist/api/routes/store/customers/index.d.ts +1 -1
  212. package/dist/api/routes/store/customers/index.js.map +1 -1
  213. package/dist/api/routes/store/customers/update-address.js +1 -1
  214. package/dist/api/routes/store/customers/update-address.js.map +1 -1
  215. package/dist/api/routes/store/customers/update-customer.d.ts +1 -1
  216. package/dist/api/routes/store/customers/update-customer.js.map +1 -1
  217. package/dist/api/routes/store/gift-cards/index.d.ts +1 -1
  218. package/dist/api/routes/store/gift-cards/index.js +6 -1
  219. package/dist/api/routes/store/gift-cards/index.js.map +1 -1
  220. package/dist/api/routes/store/products/get-product.js +51 -12
  221. package/dist/api/routes/store/products/get-product.js.map +1 -1
  222. package/dist/api/routes/store/products/list-products.js +30 -7
  223. package/dist/api/routes/store/products/list-products.js.map +1 -1
  224. package/dist/api/routes/store/shipping-options/list-options.js +6 -2
  225. package/dist/api/routes/store/shipping-options/list-options.js.map +1 -1
  226. package/dist/api/routes/store/shipping-options/list-shipping-options.js +8 -2
  227. package/dist/api/routes/store/shipping-options/list-shipping-options.js.map +1 -1
  228. package/dist/api/routes/store/variants/get-variant.js +51 -12
  229. package/dist/api/routes/store/variants/get-variant.js.map +1 -1
  230. package/dist/api/routes/store/variants/list-variants.js +29 -6
  231. package/dist/api/routes/store/variants/list-variants.js.map +1 -1
  232. package/dist/commands/migrate.js +29 -14
  233. package/dist/commands/migrate.js.map +1 -1
  234. package/dist/commands/seed.js +14 -10
  235. package/dist/commands/seed.js.map +1 -1
  236. package/dist/commands/start.js +1 -1
  237. package/dist/commands/utils/get-migrations.d.ts +2 -1
  238. package/dist/commands/utils/get-migrations.js +95 -36
  239. package/dist/commands/utils/get-migrations.js.map +1 -1
  240. package/dist/config/index.d.ts +14 -0
  241. package/dist/config/index.js +40 -0
  242. package/dist/config/index.js.map +1 -0
  243. package/dist/controllers/products/admin-list-products.js +16 -8
  244. package/dist/controllers/products/admin-list-products.js.map +1 -1
  245. package/dist/helpers/test-request.js +21 -15
  246. package/dist/helpers/test-request.js.map +1 -1
  247. package/dist/interfaces/abstract-parser.d.ts +25 -0
  248. package/dist/interfaces/abstract-parser.js +14 -0
  249. package/dist/interfaces/abstract-parser.js.map +1 -0
  250. package/dist/interfaces/base-service.d.ts +66 -0
  251. package/dist/interfaces/base-service.js +377 -0
  252. package/dist/interfaces/base-service.js.map +1 -0
  253. package/dist/interfaces/batch-job-strategy.d.ts +34 -0
  254. package/dist/interfaces/batch-job-strategy.js +182 -0
  255. package/dist/interfaces/batch-job-strategy.js.map +1 -0
  256. package/dist/interfaces/csv-parser.d.ts +46 -0
  257. package/dist/interfaces/csv-parser.js +15 -0
  258. package/dist/interfaces/csv-parser.js.map +1 -0
  259. package/dist/interfaces/file-service.d.ts +66 -0
  260. package/dist/interfaces/file-service.js +32 -0
  261. package/dist/interfaces/file-service.js.map +1 -0
  262. package/dist/interfaces/index.d.ts +2 -0
  263. package/dist/interfaces/index.js +2 -0
  264. package/dist/interfaces/index.js.map +1 -1
  265. package/dist/loaders/config.js +3 -2
  266. package/dist/loaders/config.js.map +1 -1
  267. package/dist/loaders/feature-flags/index.d.ts +6 -0
  268. package/dist/loaders/feature-flags/index.js +71 -0
  269. package/dist/loaders/feature-flags/index.js.map +1 -0
  270. package/dist/loaders/index.d.ts +1 -1
  271. package/dist/loaders/index.js +8 -5
  272. package/dist/loaders/index.js.map +1 -1
  273. package/dist/loaders/plugins.d.ts +4 -3
  274. package/dist/loaders/plugins.js +71 -34
  275. package/dist/loaders/plugins.js.map +1 -1
  276. package/dist/loaders/redis.d.ts +1 -1
  277. package/dist/loaders/redis.js.map +1 -1
  278. package/dist/loaders/search-index.js +1 -0
  279. package/dist/loaders/search-index.js.map +1 -1
  280. package/dist/loaders/strategies.d.ts +2 -2
  281. package/dist/loaders/strategies.js +21 -7
  282. package/dist/loaders/strategies.js.map +1 -1
  283. package/dist/migrations/1649775522087-add_batch_job_model.js +4 -4
  284. package/dist/migrations/1649775522087-add_batch_job_model.js.map +1 -1
  285. package/dist/models/batch-job.d.ts +45 -4
  286. package/dist/models/batch-job.js +94 -7
  287. package/dist/models/batch-job.js.map +1 -1
  288. package/dist/models/customer.d.ts +1 -1
  289. package/dist/models/customer.js +1 -1
  290. package/dist/models/customer.js.map +1 -1
  291. package/dist/models/draft-order.d.ts +1 -2
  292. package/dist/models/draft-order.js +2 -2
  293. package/dist/models/draft-order.js.map +1 -1
  294. package/dist/models/line-item.d.ts +9 -2
  295. package/dist/models/line-item.js +2 -2
  296. package/dist/models/line-item.js.map +1 -1
  297. package/dist/models/product.d.ts +17 -17
  298. package/dist/models/product.js +34 -34
  299. package/dist/models/product.js.map +1 -1
  300. package/dist/models/shipping-method.d.ts +1 -1
  301. package/dist/models/shipping-method.js +1 -1
  302. package/dist/models/shipping-method.js.map +1 -1
  303. package/dist/models/shipping-option.d.ts +1 -1
  304. package/dist/models/shipping-option.js +1 -1
  305. package/dist/models/shipping-option.js.map +1 -1
  306. package/dist/repositories/customer.d.ts +2 -1
  307. package/dist/repositories/customer.js +18 -7
  308. package/dist/repositories/customer.js.map +1 -1
  309. package/dist/repositories/gift-card.d.ts +5 -1
  310. package/dist/repositories/gift-card.js +124 -29
  311. package/dist/repositories/gift-card.js.map +1 -1
  312. package/dist/repositories/image.d.ts +1 -0
  313. package/dist/repositories/image.js +100 -0
  314. package/dist/repositories/image.js.map +1 -1
  315. package/dist/repositories/price-list.js.map +1 -1
  316. package/dist/repositories/product-tag.d.ts +6 -0
  317. package/dist/repositories/product-tag.js +113 -0
  318. package/dist/repositories/product-tag.js.map +1 -1
  319. package/dist/repositories/product-type.d.ts +5 -0
  320. package/dist/repositories/product-type.js +64 -0
  321. package/dist/repositories/product-type.js.map +1 -1
  322. package/dist/repositories/product-variant.js +4 -5
  323. package/dist/repositories/product-variant.js.map +1 -1
  324. package/dist/repositories/product.d.ts +14 -17
  325. package/dist/repositories/product.js +64 -2
  326. package/dist/repositories/product.js.map +1 -1
  327. package/dist/repositories/tax-rate.d.ts +1 -1
  328. package/dist/repositories/tax-rate.js +2 -9
  329. package/dist/repositories/tax-rate.js.map +1 -1
  330. package/dist/services/auth.d.ts +16 -7
  331. package/dist/services/auth.js +130 -93
  332. package/dist/services/auth.js.map +1 -1
  333. package/dist/services/batch-job.d.ts +30 -5
  334. package/dist/services/batch-job.js +437 -2
  335. package/dist/services/batch-job.js.map +1 -1
  336. package/dist/services/cart.js +34 -13
  337. package/dist/services/cart.js.map +1 -1
  338. package/dist/services/claim-item.d.ts +23 -27
  339. package/dist/services/claim-item.js +217 -247
  340. package/dist/services/claim-item.js.map +1 -1
  341. package/dist/services/claim.d.ts +89 -71
  342. package/dist/services/claim.js +911 -879
  343. package/dist/services/claim.js.map +1 -1
  344. package/dist/services/csv-parser.d.ts +17 -0
  345. package/dist/services/csv-parser.js +319 -0
  346. package/dist/services/csv-parser.js.map +1 -0
  347. package/dist/services/custom-shipping-option.d.ts +30 -32
  348. package/dist/services/custom-shipping-option.js +78 -74
  349. package/dist/services/custom-shipping-option.js.map +1 -1
  350. package/dist/services/customer.d.ts +48 -50
  351. package/dist/services/customer.js +465 -428
  352. package/dist/services/customer.js.map +1 -1
  353. package/dist/services/discount-condition.d.ts +13 -13
  354. package/dist/services/discount-condition.js +5 -16
  355. package/dist/services/discount-condition.js.map +1 -1
  356. package/dist/services/discount.d.ts +22 -16
  357. package/dist/services/discount.js +530 -484
  358. package/dist/services/discount.js.map +1 -1
  359. package/dist/services/draft-order.d.ts +69 -66
  360. package/dist/services/draft-order.js +375 -353
  361. package/dist/services/draft-order.js.map +1 -1
  362. package/dist/services/event-bus.d.ts +72 -56
  363. package/dist/services/event-bus.js +122 -99
  364. package/dist/services/event-bus.js.map +1 -1
  365. package/dist/services/file.d.ts +14 -0
  366. package/dist/services/file.js +43 -0
  367. package/dist/services/file.js.map +1 -0
  368. package/dist/services/fulfillment.d.ts +63 -64
  369. package/dist/services/fulfillment.js +200 -194
  370. package/dist/services/fulfillment.js.map +1 -1
  371. package/dist/services/gift-card.d.ts +54 -45
  372. package/dist/services/gift-card.js +239 -221
  373. package/dist/services/gift-card.js.map +1 -1
  374. package/dist/services/idempotency-key.d.ts +1 -5
  375. package/dist/services/idempotency-key.js +2 -5
  376. package/dist/services/idempotency-key.js.map +1 -1
  377. package/dist/services/index.d.ts +11 -9
  378. package/dist/services/index.js +23 -19
  379. package/dist/services/index.js.map +1 -1
  380. package/dist/services/line-item.d.ts +3 -2
  381. package/dist/services/line-item.js +9 -7
  382. package/dist/services/line-item.js.map +1 -1
  383. package/dist/services/price-list.d.ts +4 -1
  384. package/dist/services/price-list.js +7 -4
  385. package/dist/services/price-list.js.map +1 -1
  386. package/dist/services/pricing.d.ts +101 -0
  387. package/dist/services/pricing.js +588 -0
  388. package/dist/services/pricing.js.map +1 -0
  389. package/dist/services/product-variant.d.ts +0 -11
  390. package/dist/services/product-variant.js +28 -138
  391. package/dist/services/product-variant.js.map +1 -1
  392. package/dist/services/product.d.ts +107 -145
  393. package/dist/services/product.js +708 -1036
  394. package/dist/services/product.js.map +1 -1
  395. package/dist/services/region.js +4 -4
  396. package/dist/services/region.js.map +1 -1
  397. package/dist/services/shipping-option.d.ts +43 -108
  398. package/dist/services/shipping-option.js +305 -352
  399. package/dist/services/shipping-option.js.map +1 -1
  400. package/dist/services/shipping-profile.d.ts +2 -2
  401. package/dist/services/shipping-profile.js +1 -1
  402. package/dist/services/store.d.ts +36 -45
  403. package/dist/services/store.js +207 -217
  404. package/dist/services/store.js.map +1 -1
  405. package/dist/services/strategy-resolver.d.ts +13 -0
  406. package/dist/services/strategy-resolver.js +40 -0
  407. package/dist/services/strategy-resolver.js.map +1 -0
  408. package/dist/services/tax-provider.d.ts +7 -3
  409. package/dist/services/tax-provider.js +6 -6
  410. package/dist/services/tax-provider.js.map +1 -1
  411. package/dist/services/tax-rate.d.ts +1 -1
  412. package/dist/services/tax-rate.js +2 -2
  413. package/dist/services/tax-rate.js.map +1 -1
  414. package/dist/services/totals.js.map +1 -1
  415. package/dist/services/user.d.ts +8 -9
  416. package/dist/services/user.js +216 -168
  417. package/dist/services/user.js.map +1 -1
  418. package/dist/strategies/__fixtures__/order-export-data.d.ts +3 -0
  419. package/dist/strategies/__fixtures__/order-export-data.js +70 -0
  420. package/dist/strategies/__fixtures__/order-export-data.js.map +1 -0
  421. package/dist/strategies/__fixtures__/product-export-data.d.ts +319 -0
  422. package/dist/strategies/__fixtures__/product-export-data.js +401 -0
  423. package/dist/strategies/__fixtures__/product-export-data.js.map +1 -0
  424. package/dist/strategies/batch-jobs/order/export.d.ts +36 -0
  425. package/dist/strategies/batch-jobs/order/export.js +351 -0
  426. package/dist/strategies/batch-jobs/order/export.js.map +1 -0
  427. package/dist/strategies/batch-jobs/order/index.d.ts +29 -0
  428. package/dist/strategies/batch-jobs/order/index.js +115 -0
  429. package/dist/strategies/batch-jobs/order/index.js.map +1 -0
  430. package/dist/strategies/batch-jobs/product/export.d.ts +36 -0
  431. package/dist/strategies/batch-jobs/product/export.js +546 -0
  432. package/dist/strategies/batch-jobs/product/export.js.map +1 -0
  433. package/dist/strategies/batch-jobs/product/index.d.ts +45 -0
  434. package/dist/strategies/batch-jobs/product/index.js +272 -0
  435. package/dist/strategies/batch-jobs/product/index.js.map +1 -0
  436. package/dist/subscribers/batch-job.d.ts +17 -0
  437. package/dist/subscribers/batch-job.js +96 -0
  438. package/dist/subscribers/batch-job.js.map +1 -0
  439. package/dist/types/batch-job.d.ts +23 -2
  440. package/dist/types/batch-job.js +4 -1
  441. package/dist/types/batch-job.js.map +1 -1
  442. package/dist/types/claim.d.ts +67 -0
  443. package/dist/types/claim.js +3 -0
  444. package/dist/types/claim.js.map +1 -0
  445. package/dist/types/common.d.ts +27 -3
  446. package/dist/types/common.js.map +1 -1
  447. package/dist/types/customers.d.ts +24 -0
  448. package/dist/types/customers.js.map +1 -1
  449. package/dist/types/discount.d.ts +2 -1
  450. package/dist/types/discount.js.map +1 -1
  451. package/dist/types/feature-flags.d.ts +9 -0
  452. package/dist/types/feature-flags.js +3 -0
  453. package/dist/types/feature-flags.js.map +1 -0
  454. package/dist/types/fulfillment.d.ts +27 -0
  455. package/dist/types/fulfillment.js +3 -0
  456. package/dist/types/fulfillment.js.map +1 -0
  457. package/dist/types/gift-card.d.ts +21 -0
  458. package/dist/types/gift-card.js +3 -0
  459. package/dist/types/gift-card.js.map +1 -0
  460. package/dist/types/global.d.ts +12 -1
  461. package/dist/types/price-list.d.ts +9 -0
  462. package/dist/types/pricing.d.ts +30 -0
  463. package/dist/types/pricing.js +3 -0
  464. package/dist/types/pricing.js.map +1 -0
  465. package/dist/types/product-variant.d.ts +4 -3
  466. package/dist/types/product-variant.js.map +1 -1
  467. package/dist/types/product.d.ts +110 -8
  468. package/dist/types/product.js +8 -11
  469. package/dist/types/product.js.map +1 -1
  470. package/dist/types/shipping-options.d.ts +62 -0
  471. package/dist/types/shipping-options.js +3 -0
  472. package/dist/types/shipping-options.js.map +1 -0
  473. package/dist/types/store.d.ts +9 -0
  474. package/dist/types/store.js +3 -0
  475. package/dist/types/store.js.map +1 -0
  476. package/dist/utils/build-query.d.ts +7 -7
  477. package/dist/utils/build-query.js +9 -5
  478. package/dist/utils/build-query.js.map +1 -1
  479. package/dist/utils/countries.d.ts +3 -2
  480. package/dist/utils/countries.js.map +1 -1
  481. package/dist/utils/currencies.d.ts +10 -1899
  482. package/dist/utils/currencies.js.map +1 -1
  483. package/dist/utils/db-aware-column.js +2 -2
  484. package/dist/utils/db-aware-column.js.map +1 -1
  485. package/dist/utils/feature-flag-decorators.d.ts +4 -0
  486. package/dist/utils/feature-flag-decorators.js +52 -0
  487. package/dist/utils/feature-flag-decorators.js.map +1 -0
  488. package/dist/utils/flag-router.d.ts +7 -0
  489. package/dist/utils/flag-router.js +19 -0
  490. package/dist/utils/flag-router.js.map +1 -0
  491. package/dist/utils/format-registration-name.d.ts +4 -4
  492. package/dist/utils/format-registration-name.js +7 -10
  493. package/dist/utils/format-registration-name.js.map +1 -1
  494. package/dist/utils/get-query-config.d.ts +4 -6
  495. package/dist/utils/get-query-config.js +46 -1
  496. package/dist/utils/get-query-config.js.map +1 -1
  497. package/dist/utils/omit-relation-if-exists.d.ts +7 -0
  498. package/dist/utils/omit-relation-if-exists.js +16 -0
  499. package/dist/utils/omit-relation-if-exists.js.map +1 -0
  500. package/dist/utils/set-metadata.d.ts +6 -6
  501. package/dist/utils/set-metadata.js +5 -5
  502. package/dist/utils/set-metadata.js.map +1 -1
  503. package/dist/utils/sleep.d.ts +1 -0
  504. package/dist/utils/sleep.js +50 -0
  505. package/dist/utils/sleep.js.map +1 -0
  506. package/package.json +6 -4
  507. package/yarn-error.log +29038 -0
@@ -72,22 +72,6 @@ var __rest = (this && this.__rest) || function (s, e) {
72
72
  }
73
73
  return t;
74
74
  };
75
- var __read = (this && this.__read) || function (o, n) {
76
- var m = typeof Symbol === "function" && o[Symbol.iterator];
77
- if (!m) return o;
78
- var i = m.call(o), r, ar = [], e;
79
- try {
80
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
81
- }
82
- catch (error) { e = { error: error }; }
83
- finally {
84
- try {
85
- if (r && !r.done && (m = i["return"])) m.call(i);
86
- }
87
- finally { if (e) throw e.error; }
88
- }
89
- return ar;
90
- };
91
75
  var __values = (this && this.__values) || function(o) {
92
76
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
93
77
  if (m) return m.call(o);
@@ -100,9 +84,11 @@ var __values = (this && this.__values) || function(o) {
100
84
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
101
85
  };
102
86
  Object.defineProperty(exports, "__esModule", { value: true });
103
- var medusa_interfaces_1 = require("medusa-interfaces");
104
87
  var medusa_core_utils_1 = require("medusa-core-utils");
105
88
  var typeorm_1 = require("typeorm");
89
+ var models_1 = require("../models");
90
+ var interfaces_1 = require("../interfaces");
91
+ var utils_1 = require("../utils");
106
92
  /**
107
93
  * Handles draft orders
108
94
  * @implements {BaseService}
@@ -111,94 +97,92 @@ var DraftOrderService = /** @class */ (function (_super) {
111
97
  __extends(DraftOrderService, _super);
112
98
  function DraftOrderService(_a) {
113
99
  var manager = _a.manager, draftOrderRepository = _a.draftOrderRepository, paymentRepository = _a.paymentRepository, orderRepository = _a.orderRepository, eventBusService = _a.eventBusService, cartService = _a.cartService, lineItemService = _a.lineItemService, productVariantService = _a.productVariantService, shippingOptionService = _a.shippingOptionService;
114
- var _this = _super.call(this) || this;
115
- /** @private @const {EntityManager} */
100
+ var _this = _super.call(this, {
101
+ manager: manager,
102
+ draftOrderRepository: draftOrderRepository,
103
+ paymentRepository: paymentRepository,
104
+ orderRepository: orderRepository,
105
+ eventBusService: eventBusService,
106
+ cartService: cartService,
107
+ lineItemService: lineItemService,
108
+ productVariantService: productVariantService,
109
+ shippingOptionService: shippingOptionService,
110
+ }) || this;
116
111
  _this.manager_ = manager;
117
- /** @private @const {DraftOrderRepository} */
118
112
  _this.draftOrderRepository_ = draftOrderRepository;
119
- /** @private @const {PaymentRepository} */
120
113
  _this.paymentRepository_ = paymentRepository;
121
- /** @private @const {OrderRepository} */
122
114
  _this.orderRepository_ = orderRepository;
123
- /** @private @const {LineItemService} */
124
115
  _this.lineItemService_ = lineItemService;
125
- /** @private @const {CartService} */
126
116
  _this.cartService_ = cartService;
127
- /** @private @const {ProductVariantService} */
128
117
  _this.productVariantService_ = productVariantService;
129
- /** @private @const {ShippingOptionService} */
130
118
  _this.shippingOptionService_ = shippingOptionService;
131
- /** @private @const {EventBusService} */
132
119
  _this.eventBus_ = eventBusService;
133
120
  return _this;
134
121
  }
135
- DraftOrderService.prototype.withTransaction = function (transactionManager) {
136
- if (!transactionManager) {
137
- return this;
138
- }
139
- var cloned = new DraftOrderService({
140
- manager: transactionManager,
141
- draftOrderRepository: this.draftOrderRepository_,
142
- paymentRepository: this.paymentRepository_,
143
- orderRepository: this.orderRepository_,
144
- lineItemService: this.lineItemService_,
145
- cartService: this.cartService_,
146
- productVariantService: this.productVariantService_,
147
- shippingOptionService: this.shippingOptionService_,
148
- eventBusService: this.eventBus_,
149
- });
150
- cloned.transactionManager_ = transactionManager;
151
- return cloned;
152
- };
153
122
  /**
154
123
  * Retrieves a draft order with the given id.
155
- * @param {string} id - id of the draft order to retrieve
156
- * @param {object} config - query object for findOne
157
- * @return {Promise<DraftOrder>} the draft order
124
+ * @param id - id of the draft order to retrieve
125
+ * @param config - query object for findOne
126
+ * @return the draft order
158
127
  */
159
128
  DraftOrderService.prototype.retrieve = function (id, config) {
160
129
  if (config === void 0) { config = {}; }
161
130
  return __awaiter(this, void 0, void 0, function () {
162
- var draftOrderRepo, validatedId, query, draftOrder;
131
+ var _this = this;
163
132
  return __generator(this, function (_a) {
164
133
  switch (_a.label) {
165
- case 0:
166
- draftOrderRepo = this.manager_.getCustomRepository(this.draftOrderRepository_);
167
- validatedId = this.validateId_(id);
168
- query = this.buildQuery_({ id: validatedId }, config);
169
- return [4 /*yield*/, draftOrderRepo.findOne(query)];
170
- case 1:
171
- draftOrder = _a.sent();
172
- if (!draftOrder) {
173
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Draft order with ".concat(id, " was not found"));
174
- }
175
- return [2 /*return*/, draftOrder];
134
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
135
+ var draftOrderRepo, query, draftOrder;
136
+ return __generator(this, function (_a) {
137
+ switch (_a.label) {
138
+ case 0:
139
+ draftOrderRepo = transactionManager.getCustomRepository(this.draftOrderRepository_);
140
+ query = (0, utils_1.buildQuery)({ id: id }, config);
141
+ return [4 /*yield*/, draftOrderRepo.findOne(query)];
142
+ case 1:
143
+ draftOrder = _a.sent();
144
+ if (!draftOrder) {
145
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Draft order with ".concat(id, " was not found"));
146
+ }
147
+ return [2 /*return*/, draftOrder];
148
+ }
149
+ });
150
+ }); })];
151
+ case 1: return [2 /*return*/, _a.sent()];
176
152
  }
177
153
  });
178
154
  });
179
155
  };
180
156
  /**
181
157
  * Retrieves a draft order based on its associated cart id
182
- * @param {string} cartId - cart id that the draft orders's cart has
183
- * @param {object} config - query object for findOne
184
- * @return {Promise<DraftOrder>} the draft order
158
+ * @param cartId - cart id that the draft orders's cart has
159
+ * @param config - query object for findOne
160
+ * @return the draft order
185
161
  */
186
162
  DraftOrderService.prototype.retrieveByCartId = function (cartId, config) {
187
163
  if (config === void 0) { config = {}; }
188
164
  return __awaiter(this, void 0, void 0, function () {
189
- var draftOrderRepo, query, draftOrder;
165
+ var _this = this;
190
166
  return __generator(this, function (_a) {
191
167
  switch (_a.label) {
192
- case 0:
193
- draftOrderRepo = this.manager_.getCustomRepository(this.draftOrderRepository_);
194
- query = this.buildQuery_({ cart_id: cartId }, config);
195
- return [4 /*yield*/, draftOrderRepo.findOne(query)];
196
- case 1:
197
- draftOrder = _a.sent();
198
- if (!draftOrder) {
199
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Draft order was not found");
200
- }
201
- return [2 /*return*/, draftOrder];
168
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
169
+ var draftOrderRepo, query, draftOrder;
170
+ return __generator(this, function (_a) {
171
+ switch (_a.label) {
172
+ case 0:
173
+ draftOrderRepo = transactionManager.getCustomRepository(this.draftOrderRepository_);
174
+ query = (0, utils_1.buildQuery)({ cart_id: cartId }, config);
175
+ return [4 /*yield*/, draftOrderRepo.findOne(query)];
176
+ case 1:
177
+ draftOrder = _a.sent();
178
+ if (!draftOrder) {
179
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Draft order was not found");
180
+ }
181
+ return [2 /*return*/, draftOrder];
182
+ }
183
+ });
184
+ }); })];
185
+ case 1: return [2 /*return*/, _a.sent()];
202
186
  }
203
187
  });
204
188
  });
@@ -206,336 +190,374 @@ var DraftOrderService = /** @class */ (function (_super) {
206
190
  /**
207
191
  * Deletes draft order idempotently.
208
192
  * @param {string} draftOrderId - id of draft order to delete
209
- * @return {Promise} empty promise
193
+ * @return {Promise<DraftOrder | undefined>} empty promise
210
194
  */
211
195
  DraftOrderService.prototype.delete = function (draftOrderId) {
212
196
  return __awaiter(this, void 0, void 0, function () {
213
197
  var _this = this;
214
198
  return __generator(this, function (_a) {
215
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
216
- var draftOrderRepo, draftOrder;
217
- return __generator(this, function (_a) {
218
- switch (_a.label) {
219
- case 0:
220
- draftOrderRepo = manager.getCustomRepository(this.draftOrderRepository_);
221
- return [4 /*yield*/, draftOrderRepo.findOne({
222
- where: { id: draftOrderId },
223
- })];
224
- case 1:
225
- draftOrder = _a.sent();
226
- if (!draftOrder) {
227
- return [2 /*return*/, Promise.resolve()];
228
- }
229
- return [4 /*yield*/, draftOrderRepo.remove(draftOrder)];
230
- case 2:
231
- _a.sent();
232
- return [2 /*return*/, Promise.resolve()];
233
- }
234
- });
235
- }); })];
199
+ switch (_a.label) {
200
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
201
+ var draftOrderRepo, draftOrder;
202
+ return __generator(this, function (_a) {
203
+ switch (_a.label) {
204
+ case 0:
205
+ draftOrderRepo = transactionManager.getCustomRepository(this.draftOrderRepository_);
206
+ return [4 /*yield*/, draftOrderRepo.findOne({
207
+ where: { id: draftOrderId },
208
+ })];
209
+ case 1:
210
+ draftOrder = _a.sent();
211
+ if (!draftOrder) {
212
+ return [2 /*return*/];
213
+ }
214
+ return [4 /*yield*/, draftOrderRepo.remove(draftOrder)];
215
+ case 2: return [2 /*return*/, _a.sent()];
216
+ }
217
+ });
218
+ }); })];
219
+ case 1: return [2 /*return*/, _a.sent()];
220
+ }
236
221
  });
237
222
  });
238
223
  };
239
224
  /**
240
225
  * Lists draft orders alongside the count
241
- * @param {object} selector - query selector to filter draft orders
242
- * @param {object} config - query config
243
- * @return {Promise<DraftOrder[]>} draft orders
226
+ * @param selector - query selector to filter draft orders
227
+ * @param config - query config
228
+ * @return draft orders
244
229
  */
245
230
  DraftOrderService.prototype.listAndCount = function (selector, config) {
246
- if (config === void 0) { config = { skip: 0, take: 50, order: { created_at: "DESC" } }; }
231
+ if (config === void 0) { config = {
232
+ skip: 0,
233
+ take: 50,
234
+ order: { created_at: "DESC" },
235
+ }; }
247
236
  return __awaiter(this, void 0, void 0, function () {
248
- var draftOrderRepository, q, query, where_1, _a, draftOrders, count;
249
- return __generator(this, function (_b) {
250
- switch (_b.label) {
251
- case 0:
252
- draftOrderRepository = this.manager_.getCustomRepository(this.draftOrderRepository_);
253
- if ("q" in selector) {
254
- q = selector.q;
255
- delete selector.q;
256
- }
257
- query = this.buildQuery_(selector, config);
258
- if (q) {
259
- where_1 = query.where;
260
- delete where_1.display_id;
261
- query.join = {
262
- alias: "draft_order",
263
- innerJoin: {
264
- cart: "draft_order.cart",
265
- },
266
- };
267
- query.where = function (qb) {
268
- qb.where(where_1);
269
- qb.andWhere(new typeorm_1.Brackets(function (qb) {
270
- qb.where("cart.email ILIKE :q", {
271
- q: "%".concat(q, "%"),
272
- }).orWhere("draft_order.display_id::varchar(255) ILIKE :dId", {
273
- dId: "".concat(q),
274
- });
275
- }));
276
- };
277
- }
278
- return [4 /*yield*/, draftOrderRepository.findAndCount(query)];
279
- case 1:
280
- _a = __read.apply(void 0, [_b.sent(), 2]), draftOrders = _a[0], count = _a[1];
281
- return [2 /*return*/, [draftOrders, count]];
237
+ var _this = this;
238
+ return __generator(this, function (_a) {
239
+ switch (_a.label) {
240
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
241
+ var draftOrderRepository, q, restSelector, query, where_1;
242
+ return __generator(this, function (_a) {
243
+ switch (_a.label) {
244
+ case 0:
245
+ draftOrderRepository = transactionManager.getCustomRepository(this.draftOrderRepository_);
246
+ q = selector.q, restSelector = __rest(selector, ["q"]);
247
+ query = (0, utils_1.buildQuery)(restSelector, config);
248
+ if (q) {
249
+ where_1 = query.where;
250
+ where_1 === null || where_1 === void 0 ? true : delete where_1.display_id;
251
+ query.join = {
252
+ alias: "draft_order",
253
+ innerJoin: {
254
+ cart: "draft_order.cart",
255
+ },
256
+ };
257
+ query.where = function (qb) {
258
+ qb.where(where_1);
259
+ qb.andWhere(new typeorm_1.Brackets(function (qb) {
260
+ qb.where("cart.email ILIKE :q", {
261
+ q: "%".concat(q, "%"),
262
+ }).orWhere("draft_order.display_id::TEXT ILIKE :displayId", {
263
+ displayId: "".concat(q),
264
+ });
265
+ }));
266
+ };
267
+ }
268
+ return [4 /*yield*/, draftOrderRepository.findAndCount(query)];
269
+ case 1: return [2 /*return*/, _a.sent()];
270
+ }
271
+ });
272
+ }); })];
273
+ case 1: return [2 /*return*/, _a.sent()];
282
274
  }
283
275
  });
284
276
  });
285
277
  };
286
278
  /**
287
279
  * Lists draft orders
288
- * @param {Object} selector - query object for find
289
- * @param {Object} config - configurable attributes for find
290
- * @return {Promise<DraftOrder>} list of draft orders
280
+ * @param selector - query object for find
281
+ * @param config - configurable attributes for find
282
+ * @return list of draft orders
291
283
  */
292
284
  DraftOrderService.prototype.list = function (selector, config) {
293
- if (config === void 0) { config = { skip: 0, take: 50, order: { created_at: "DESC" } }; }
285
+ if (config === void 0) { config = {
286
+ skip: 0,
287
+ take: 50,
288
+ order: { created_at: "DESC" },
289
+ }; }
294
290
  return __awaiter(this, void 0, void 0, function () {
295
- var draftOrderRepo, query;
291
+ var _this = this;
296
292
  return __generator(this, function (_a) {
297
- draftOrderRepo = this.manager_.getCustomRepository(this.draftOrderRepository_);
298
- query = this.buildQuery_(selector, config);
299
- return [2 /*return*/, draftOrderRepo.find(query)];
293
+ switch (_a.label) {
294
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
295
+ var draftOrderRepo, query;
296
+ return __generator(this, function (_a) {
297
+ switch (_a.label) {
298
+ case 0:
299
+ draftOrderRepo = transactionManager.getCustomRepository(this.draftOrderRepository_);
300
+ query = (0, utils_1.buildQuery)(selector, config);
301
+ return [4 /*yield*/, draftOrderRepo.find(query)];
302
+ case 1: return [2 /*return*/, _a.sent()];
303
+ }
304
+ });
305
+ }); })];
306
+ case 1: return [2 /*return*/, _a.sent()];
307
+ }
300
308
  });
301
309
  });
302
310
  };
303
311
  /**
304
312
  * Creates a draft order.
305
- * @param {object} data - data to create draft order from
306
- * @return {Promise<DraftOrder>} the created draft order
313
+ * @param data - data to create draft order from
314
+ * @return the created draft order
307
315
  */
308
316
  DraftOrderService.prototype.create = function (data) {
309
317
  return __awaiter(this, void 0, void 0, function () {
310
318
  var _this = this;
311
319
  return __generator(this, function (_a) {
312
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
313
- var draftOrderRepo, shipping_methods, discounts, no_notification_order, items, rest, discounts_1, discounts_1_1, code, e_1_1, createdCart, draftOrder, result, items_1, items_1_1, item, line, price, e_2_1, shipping_methods_1, shipping_methods_1_1, method, e_3_1;
314
- var e_1, _a, e_2, _b, e_3, _c;
315
- return __generator(this, function (_d) {
316
- switch (_d.label) {
317
- case 0:
318
- draftOrderRepo = manager.getCustomRepository(this.draftOrderRepository_);
319
- if (!data.region_id) {
320
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "region_id is required to create a draft order");
321
- }
322
- if (!data.items || !data.items.length) {
323
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Items are required to create a draft order");
324
- }
325
- shipping_methods = data.shipping_methods, discounts = data.discounts, no_notification_order = data.no_notification_order, items = data.items, rest = __rest(data, ["shipping_methods", "discounts", "no_notification_order", "items"]);
326
- if (!discounts) return [3 /*break*/, 8];
327
- _d.label = 1;
328
- case 1:
329
- _d.trys.push([1, 6, 7, 8]);
330
- discounts_1 = __values(discounts), discounts_1_1 = discounts_1.next();
331
- _d.label = 2;
332
- case 2:
333
- if (!!discounts_1_1.done) return [3 /*break*/, 5];
334
- code = discounts_1_1.value.code;
335
- rest.discounts = [];
336
- return [4 /*yield*/, this.cartService_
337
- .withTransaction(manager)
338
- .applyDiscount(rest, code)];
339
- case 3:
340
- _d.sent();
341
- _d.label = 4;
342
- case 4:
343
- discounts_1_1 = discounts_1.next();
344
- return [3 /*break*/, 2];
345
- case 5: return [3 /*break*/, 8];
346
- case 6:
347
- e_1_1 = _d.sent();
348
- e_1 = { error: e_1_1 };
349
- return [3 /*break*/, 8];
350
- case 7:
351
- try {
352
- if (discounts_1_1 && !discounts_1_1.done && (_a = discounts_1.return)) _a.call(discounts_1);
353
- }
354
- finally { if (e_1) throw e_1.error; }
355
- return [7 /*endfinally*/];
356
- case 8: return [4 /*yield*/, this.cartService_
357
- .withTransaction(manager)
358
- .create(__assign({ type: "draft_order" }, rest))];
359
- case 9:
360
- createdCart = _d.sent();
361
- draftOrder = draftOrderRepo.create({
362
- cart_id: createdCart.id,
363
- no_notification_order: no_notification_order,
364
- });
365
- return [4 /*yield*/, draftOrderRepo.save(draftOrder)];
366
- case 10:
367
- result = _d.sent();
368
- return [4 /*yield*/, this.eventBus_
369
- .withTransaction(manager)
370
- .emit(DraftOrderService.Events.CREATED, {
371
- id: result.id,
372
- })];
373
- case 11:
374
- _d.sent();
375
- _d.label = 12;
376
- case 12:
377
- _d.trys.push([12, 20, 21, 22]);
378
- items_1 = __values(items), items_1_1 = items_1.next();
379
- _d.label = 13;
380
- case 13:
381
- if (!!items_1_1.done) return [3 /*break*/, 19];
382
- item = items_1_1.value;
383
- if (!item.variant_id) return [3 /*break*/, 16];
384
- return [4 /*yield*/, this.lineItemService_
385
- .withTransaction(manager)
386
- .generate(item.variant_id, data.region_id, item.quantity, {
387
- metadata: (item === null || item === void 0 ? void 0 : item.metadata) || {},
388
- unit_price: item.unit_price,
389
- cart: createdCart,
390
- })];
391
- case 14:
392
- line = _d.sent();
393
- return [4 /*yield*/, this.lineItemService_.withTransaction(manager).create(__assign({ cart_id: createdCart.id }, line))];
394
- case 15:
395
- _d.sent();
396
- return [3 /*break*/, 18];
397
- case 16:
398
- price = void 0;
399
- if (typeof item.unit_price === "undefined" || item.unit_price < 0) {
400
- price = 0;
401
- }
402
- else {
403
- price = item.unit_price;
404
- }
405
- // custom line items can be added to a draft order
406
- return [4 /*yield*/, this.lineItemService_.withTransaction(manager).create({
320
+ switch (_a.label) {
321
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
322
+ var draftOrderRepo, shipping_methods, no_notification_order, items, rawCart, discounts, discounts_1, discounts_1_1, code, e_1_1, createdCart, draftOrder, result, items_1, items_1_1, item, line, price, e_2_1, shipping_methods_1, shipping_methods_1_1, method, e_3_1;
323
+ var e_1, _a, e_2, _b, e_3, _c;
324
+ return __generator(this, function (_d) {
325
+ switch (_d.label) {
326
+ case 0:
327
+ draftOrderRepo = transactionManager.getCustomRepository(this.draftOrderRepository_);
328
+ if (!data.region_id) {
329
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "region_id is required to create a draft order");
330
+ }
331
+ if (!data.items || !data.items.length) {
332
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Items are required to create a draft order");
333
+ }
334
+ shipping_methods = data.shipping_methods, no_notification_order = data.no_notification_order, items = data.items, rawCart = __rest(data, ["shipping_methods", "no_notification_order", "items"]);
335
+ if (!rawCart.discounts) return [3 /*break*/, 8];
336
+ discounts = rawCart.discounts;
337
+ rawCart.discounts = [];
338
+ _d.label = 1;
339
+ case 1:
340
+ _d.trys.push([1, 6, 7, 8]);
341
+ discounts_1 = __values(discounts), discounts_1_1 = discounts_1.next();
342
+ _d.label = 2;
343
+ case 2:
344
+ if (!!discounts_1_1.done) return [3 /*break*/, 5];
345
+ code = discounts_1_1.value.code;
346
+ return [4 /*yield*/, this.cartService_
347
+ .withTransaction(transactionManager)
348
+ .applyDiscount(rawCart, code)];
349
+ case 3:
350
+ _d.sent();
351
+ _d.label = 4;
352
+ case 4:
353
+ discounts_1_1 = discounts_1.next();
354
+ return [3 /*break*/, 2];
355
+ case 5: return [3 /*break*/, 8];
356
+ case 6:
357
+ e_1_1 = _d.sent();
358
+ e_1 = { error: e_1_1 };
359
+ return [3 /*break*/, 8];
360
+ case 7:
361
+ try {
362
+ if (discounts_1_1 && !discounts_1_1.done && (_a = discounts_1.return)) _a.call(discounts_1);
363
+ }
364
+ finally { if (e_1) throw e_1.error; }
365
+ return [7 /*endfinally*/];
366
+ case 8: return [4 /*yield*/, this.cartService_
367
+ .withTransaction(transactionManager)
368
+ .create(__assign({ type: models_1.CartType.DRAFT_ORDER }, rawCart))];
369
+ case 9:
370
+ createdCart = _d.sent();
371
+ draftOrder = draftOrderRepo.create({
407
372
  cart_id: createdCart.id,
408
- has_shipping: true,
409
- title: item.title || "Custom item",
410
- allow_discounts: false,
411
- unit_price: price,
412
- quantity: item.quantity,
413
- })];
414
- case 17:
415
- // custom line items can be added to a draft order
416
- _d.sent();
417
- _d.label = 18;
418
- case 18:
419
- items_1_1 = items_1.next();
420
- return [3 /*break*/, 13];
421
- case 19: return [3 /*break*/, 22];
422
- case 20:
423
- e_2_1 = _d.sent();
424
- e_2 = { error: e_2_1 };
425
- return [3 /*break*/, 22];
426
- case 21:
427
- try {
428
- if (items_1_1 && !items_1_1.done && (_b = items_1.return)) _b.call(items_1);
429
- }
430
- finally { if (e_2) throw e_2.error; }
431
- return [7 /*endfinally*/];
432
- case 22:
433
- _d.trys.push([22, 27, 28, 29]);
434
- shipping_methods_1 = __values(shipping_methods), shipping_methods_1_1 = shipping_methods_1.next();
435
- _d.label = 23;
436
- case 23:
437
- if (!!shipping_methods_1_1.done) return [3 /*break*/, 26];
438
- method = shipping_methods_1_1.value;
439
- return [4 /*yield*/, this.cartService_
440
- .withTransaction(manager)
441
- .addShippingMethod(createdCart.id, method.option_id, method.data)];
442
- case 24:
443
- _d.sent();
444
- _d.label = 25;
445
- case 25:
446
- shipping_methods_1_1 = shipping_methods_1.next();
447
- return [3 /*break*/, 23];
448
- case 26: return [3 /*break*/, 29];
449
- case 27:
450
- e_3_1 = _d.sent();
451
- e_3 = { error: e_3_1 };
452
- return [3 /*break*/, 29];
453
- case 28:
454
- try {
455
- if (shipping_methods_1_1 && !shipping_methods_1_1.done && (_c = shipping_methods_1.return)) _c.call(shipping_methods_1);
456
- }
457
- finally { if (e_3) throw e_3.error; }
458
- return [7 /*endfinally*/];
459
- case 29: return [2 /*return*/, result];
460
- }
461
- });
462
- }); })];
373
+ no_notification_order: no_notification_order,
374
+ });
375
+ return [4 /*yield*/, draftOrderRepo.save(draftOrder)];
376
+ case 10:
377
+ result = _d.sent();
378
+ return [4 /*yield*/, this.eventBus_
379
+ .withTransaction(transactionManager)
380
+ .emit(DraftOrderService.Events.CREATED, {
381
+ id: result.id,
382
+ })];
383
+ case 11:
384
+ _d.sent();
385
+ _d.label = 12;
386
+ case 12:
387
+ _d.trys.push([12, 20, 21, 22]);
388
+ items_1 = __values(items), items_1_1 = items_1.next();
389
+ _d.label = 13;
390
+ case 13:
391
+ if (!!items_1_1.done) return [3 /*break*/, 19];
392
+ item = items_1_1.value;
393
+ if (!item.variant_id) return [3 /*break*/, 16];
394
+ return [4 /*yield*/, this.lineItemService_
395
+ .withTransaction(transactionManager)
396
+ .generate(item.variant_id, data.region_id, item.quantity, {
397
+ metadata: (item === null || item === void 0 ? void 0 : item.metadata) || {},
398
+ unit_price: item.unit_price,
399
+ cart: createdCart,
400
+ })];
401
+ case 14:
402
+ line = _d.sent();
403
+ return [4 /*yield*/, this.lineItemService_
404
+ .withTransaction(transactionManager)
405
+ .create(__assign(__assign({}, line), { cart_id: createdCart.id }))];
406
+ case 15:
407
+ _d.sent();
408
+ return [3 /*break*/, 18];
409
+ case 16:
410
+ price = void 0;
411
+ if (typeof item.unit_price === "undefined" || item.unit_price < 0) {
412
+ price = 0;
413
+ }
414
+ else {
415
+ price = item.unit_price;
416
+ }
417
+ // custom line items can be added to a draft order
418
+ return [4 /*yield*/, this.lineItemService_
419
+ .withTransaction(transactionManager)
420
+ .create({
421
+ cart_id: createdCart.id,
422
+ has_shipping: true,
423
+ title: item.title || "Custom item",
424
+ allow_discounts: false,
425
+ unit_price: price,
426
+ quantity: item.quantity,
427
+ })];
428
+ case 17:
429
+ // custom line items can be added to a draft order
430
+ _d.sent();
431
+ _d.label = 18;
432
+ case 18:
433
+ items_1_1 = items_1.next();
434
+ return [3 /*break*/, 13];
435
+ case 19: return [3 /*break*/, 22];
436
+ case 20:
437
+ e_2_1 = _d.sent();
438
+ e_2 = { error: e_2_1 };
439
+ return [3 /*break*/, 22];
440
+ case 21:
441
+ try {
442
+ if (items_1_1 && !items_1_1.done && (_b = items_1.return)) _b.call(items_1);
443
+ }
444
+ finally { if (e_2) throw e_2.error; }
445
+ return [7 /*endfinally*/];
446
+ case 22:
447
+ _d.trys.push([22, 27, 28, 29]);
448
+ shipping_methods_1 = __values(shipping_methods), shipping_methods_1_1 = shipping_methods_1.next();
449
+ _d.label = 23;
450
+ case 23:
451
+ if (!!shipping_methods_1_1.done) return [3 /*break*/, 26];
452
+ method = shipping_methods_1_1.value;
453
+ return [4 /*yield*/, this.cartService_
454
+ .withTransaction(transactionManager)
455
+ .addShippingMethod(createdCart.id, method.option_id, method.data)];
456
+ case 24:
457
+ _d.sent();
458
+ _d.label = 25;
459
+ case 25:
460
+ shipping_methods_1_1 = shipping_methods_1.next();
461
+ return [3 /*break*/, 23];
462
+ case 26: return [3 /*break*/, 29];
463
+ case 27:
464
+ e_3_1 = _d.sent();
465
+ e_3 = { error: e_3_1 };
466
+ return [3 /*break*/, 29];
467
+ case 28:
468
+ try {
469
+ if (shipping_methods_1_1 && !shipping_methods_1_1.done && (_c = shipping_methods_1.return)) _c.call(shipping_methods_1);
470
+ }
471
+ finally { if (e_3) throw e_3.error; }
472
+ return [7 /*endfinally*/];
473
+ case 29: return [2 /*return*/, result];
474
+ }
475
+ });
476
+ }); })];
477
+ case 1: return [2 /*return*/, _a.sent()];
478
+ }
463
479
  });
464
480
  });
465
481
  };
466
482
  /**
467
483
  * Registers a draft order as completed, when an order has been completed.
468
- * @param {string} doId - id of draft order to complete
469
- * @param {string} orderId - id of order completed from draft order cart
470
- * @return {Promise} the created order
484
+ * @param draftOrderId - id of draft order to complete
485
+ * @param orderId - id of order completed from draft order cart
486
+ * @return the created order
471
487
  */
472
- DraftOrderService.prototype.registerCartCompletion = function (doId, orderId) {
488
+ DraftOrderService.prototype.registerCartCompletion = function (draftOrderId, orderId) {
473
489
  return __awaiter(this, void 0, void 0, function () {
474
490
  var _this = this;
475
491
  return __generator(this, function (_a) {
476
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
477
- var draftOrderRepo, draftOrder;
478
- return __generator(this, function (_a) {
479
- switch (_a.label) {
480
- case 0:
481
- draftOrderRepo = manager.getCustomRepository(this.draftOrderRepository_);
482
- return [4 /*yield*/, this.retrieve(doId)];
483
- case 1:
484
- draftOrder = _a.sent();
485
- draftOrder.status = "completed";
486
- draftOrder.completed_at = new Date();
487
- draftOrder.order_id = orderId;
488
- return [4 /*yield*/, draftOrderRepo.save(draftOrder)];
489
- case 2:
490
- _a.sent();
491
- return [2 /*return*/];
492
- }
493
- });
494
- }); })];
492
+ switch (_a.label) {
493
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
494
+ var draftOrderRepo;
495
+ return __generator(this, function (_a) {
496
+ switch (_a.label) {
497
+ case 0:
498
+ draftOrderRepo = transactionManager.getCustomRepository(this.draftOrderRepository_);
499
+ return [4 /*yield*/, draftOrderRepo.update({
500
+ id: draftOrderId,
501
+ }, {
502
+ status: models_1.DraftOrderStatus.COMPLETED,
503
+ completed_at: new Date(),
504
+ order_id: orderId,
505
+ })];
506
+ case 1: return [2 /*return*/, _a.sent()];
507
+ }
508
+ });
509
+ }); })];
510
+ case 1: return [2 /*return*/, _a.sent()];
511
+ }
495
512
  });
496
513
  });
497
514
  };
498
515
  /**
499
516
  * Updates a draft order with the given data
500
- * @param {String} doId - id of the draft order
501
- * @param {DraftOrder} data - values to update the order with
502
- * @return {Promise<DraftOrder>} the updated draft order
517
+ * @param id - id of the draft order
518
+ * @param data - values to update the order with
519
+ * @return the updated draft order
503
520
  */
504
- DraftOrderService.prototype.update = function (doId, data) {
521
+ DraftOrderService.prototype.update = function (id, data) {
505
522
  return __awaiter(this, void 0, void 0, function () {
506
523
  var _this = this;
507
524
  return __generator(this, function (_a) {
508
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
509
- var doRepo, draftOrder, touched;
510
- return __generator(this, function (_a) {
511
- switch (_a.label) {
512
- case 0:
513
- doRepo = manager.getCustomRepository(this.draftOrderRepository_);
514
- return [4 /*yield*/, this.retrieve(doId)];
515
- case 1:
516
- draftOrder = _a.sent();
517
- touched = false;
518
- if (draftOrder.status === "completed") {
519
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Can't update a draft order which is complete");
520
- }
521
- if (data.no_notification_order !== undefined) {
522
- touched = true;
523
- draftOrder.no_notification_order = data.no_notification_order;
524
- }
525
- if (!touched) return [3 /*break*/, 3];
526
- doRepo.save(draftOrder);
527
- return [4 /*yield*/, this.eventBus_
528
- .withTransaction(manager)
529
- .emit(DraftOrderService.Events.UPDATED, {
530
- id: draftOrder.id,
531
- })];
532
- case 2:
533
- _a.sent();
534
- _a.label = 3;
535
- case 3: return [2 /*return*/, draftOrder];
536
- }
537
- });
538
- }); })];
525
+ switch (_a.label) {
526
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
527
+ var draftOrderRepo, draftOrder, touched;
528
+ return __generator(this, function (_a) {
529
+ switch (_a.label) {
530
+ case 0:
531
+ draftOrderRepo = transactionManager.getCustomRepository(this.draftOrderRepository_);
532
+ return [4 /*yield*/, this.retrieve(id)];
533
+ case 1:
534
+ draftOrder = _a.sent();
535
+ if (draftOrder.status === models_1.DraftOrderStatus.COMPLETED) {
536
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Can't update a draft order which is complete");
537
+ }
538
+ touched = false;
539
+ if (data.no_notification_order !== undefined) {
540
+ touched = true;
541
+ draftOrder.no_notification_order = data.no_notification_order;
542
+ }
543
+ if (!touched) return [3 /*break*/, 4];
544
+ return [4 /*yield*/, draftOrderRepo.save(draftOrder)];
545
+ case 2:
546
+ _a.sent();
547
+ return [4 /*yield*/, this.eventBus_
548
+ .withTransaction(transactionManager)
549
+ .emit(DraftOrderService.Events.UPDATED, {
550
+ id: draftOrder.id,
551
+ })];
552
+ case 3:
553
+ _a.sent();
554
+ _a.label = 4;
555
+ case 4: return [2 /*return*/, draftOrder];
556
+ }
557
+ });
558
+ }); })];
559
+ case 1: return [2 /*return*/, _a.sent()];
560
+ }
539
561
  });
540
562
  });
541
563
  };
@@ -544,6 +566,6 @@ var DraftOrderService = /** @class */ (function (_super) {
544
566
  UPDATED: "draft_order.updated",
545
567
  };
546
568
  return DraftOrderService;
547
- }(medusa_interfaces_1.BaseService));
569
+ }(interfaces_1.TransactionBaseService));
548
570
  exports.default = DraftOrderService;
549
571
  //# sourceMappingURL=draft-order.js.map