@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
@@ -84,18 +84,23 @@ var __values = (this && this.__values) || function(o) {
84
84
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
85
85
  };
86
86
  Object.defineProperty(exports, "__esModule", { value: true });
87
+ var models_1 = require("../models");
87
88
  var medusa_core_utils_1 = require("medusa-core-utils");
88
- var medusa_interfaces_1 = require("medusa-interfaces");
89
+ var interfaces_1 = require("../interfaces");
90
+ var utils_1 = require("../utils");
89
91
  var ClaimService = /** @class */ (function (_super) {
90
92
  __extends(ClaimService, _super);
91
93
  function ClaimService(_a) {
92
- var manager = _a.manager, addressRepository = _a.addressRepository, claimItemService = _a.claimItemService, claimRepository = _a.claimRepository, eventBusService = _a.eventBusService, fulfillmentProviderService = _a.fulfillmentProviderService, fulfillmentService = _a.fulfillmentService, inventoryService = _a.inventoryService, lineItemService = _a.lineItemService, paymentProviderService = _a.paymentProviderService, regionService = _a.regionService, returnService = _a.returnService, shippingOptionService = _a.shippingOptionService, taxProviderService = _a.taxProviderService, totalsService = _a.totalsService;
93
- var _this = _super.call(this) || this;
94
- /** @private @constant {EntityManager} */
94
+ var manager = _a.manager, addressRepository = _a.addressRepository, claimRepository = _a.claimRepository, shippingMethodRepository = _a.shippingMethodRepository, lineItemRepository = _a.lineItemRepository, claimItemService = _a.claimItemService, eventBusService = _a.eventBusService, fulfillmentProviderService = _a.fulfillmentProviderService, fulfillmentService = _a.fulfillmentService, inventoryService = _a.inventoryService, lineItemService = _a.lineItemService, paymentProviderService = _a.paymentProviderService, regionService = _a.regionService, returnService = _a.returnService, shippingOptionService = _a.shippingOptionService, taxProviderService = _a.taxProviderService, totalsService = _a.totalsService;
95
+ var _this =
96
+ // eslint-disable-next-line prefer-rest-params
97
+ _super.call(this, arguments[0]) || this;
95
98
  _this.manager_ = manager;
96
- _this.addressRepo_ = addressRepository;
97
- _this.claimItemService_ = claimItemService;
99
+ _this.addressRepository_ = addressRepository;
98
100
  _this.claimRepository_ = claimRepository;
101
+ _this.shippingMethodRepository_ = shippingMethodRepository;
102
+ _this.lineItemRepository_ = lineItemRepository;
103
+ _this.claimItemService_ = claimItemService;
99
104
  _this.eventBus_ = eventBusService;
100
105
  _this.fulfillmentProviderService_ = fulfillmentProviderService;
101
106
  _this.fulfillmentService_ = fulfillmentService;
@@ -109,684 +114,696 @@ var ClaimService = /** @class */ (function (_super) {
109
114
  _this.totalsService_ = totalsService;
110
115
  return _this;
111
116
  }
112
- ClaimService.prototype.withTransaction = function (manager) {
113
- if (!manager) {
114
- return this;
115
- }
116
- var cloned = new ClaimService({
117
- manager: manager,
118
- addressRepository: this.addressRepo_,
119
- claimItemService: this.claimItemService_,
120
- claimRepository: this.claimRepository_,
121
- eventBusService: this.eventBus_,
122
- fulfillmentProviderService: this.fulfillmentProviderService_,
123
- fulfillmentService: this.fulfillmentService_,
124
- inventoryService: this.inventoryService_,
125
- lineItemService: this.lineItemService_,
126
- paymentProviderService: this.paymentProviderService_,
127
- regionService: this.regionService_,
128
- returnService: this.returnService_,
129
- shippingOptionService: this.shippingOptionService_,
130
- totalsService: this.totalsService_,
131
- taxProviderService: this.taxProviderService_,
132
- });
133
- cloned.transactionManager_ = manager;
134
- return cloned;
135
- };
136
117
  ClaimService.prototype.update = function (id, data) {
137
- var _this = this;
138
- return this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
139
- var claimRepo, claim, claim_items, shipping_methods, metadata, no_notification, _a, _b, m, e_1_1, shipping_methods_1, shipping_methods_1_1, method, e_2_1, claim_items_1, claim_items_1_1, i, e_3_1;
140
- var e_1, _c, e_2, _d, e_3, _e;
141
- return __generator(this, function (_f) {
142
- switch (_f.label) {
143
- case 0:
144
- claimRepo = manager.getCustomRepository(this.claimRepository_);
145
- return [4 /*yield*/, this.retrieve(id, { relations: ["shipping_methods"] })];
146
- case 1:
147
- claim = _f.sent();
148
- if (claim.canceled_at) {
149
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Canceled claim cannot be updated");
150
- }
151
- claim_items = data.claim_items, shipping_methods = data.shipping_methods, metadata = data.metadata, no_notification = data.no_notification;
152
- if (!metadata) return [3 /*break*/, 3];
153
- claim.metadata = this.setMetadata_(claim, metadata);
154
- return [4 /*yield*/, claimRepo.save(claim)];
155
- case 2:
156
- _f.sent();
157
- _f.label = 3;
158
- case 3:
159
- if (!shipping_methods) return [3 /*break*/, 20];
160
- _f.label = 4;
161
- case 4:
162
- _f.trys.push([4, 9, 10, 11]);
163
- _a = __values(claim.shipping_methods), _b = _a.next();
164
- _f.label = 5;
165
- case 5:
166
- if (!!_b.done) return [3 /*break*/, 8];
167
- m = _b.value;
168
- return [4 /*yield*/, this.shippingOptionService_
169
- .withTransaction(manager)
170
- .updateShippingMethod(m.id, {
171
- claim_order_id: null,
172
- })];
173
- case 6:
174
- _f.sent();
175
- _f.label = 7;
176
- case 7:
177
- _b = _a.next();
178
- return [3 /*break*/, 5];
179
- case 8: return [3 /*break*/, 11];
180
- case 9:
181
- e_1_1 = _f.sent();
182
- e_1 = { error: e_1_1 };
183
- return [3 /*break*/, 11];
184
- case 10:
185
- try {
186
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
187
- }
188
- finally { if (e_1) throw e_1.error; }
189
- return [7 /*endfinally*/];
190
- case 11:
191
- _f.trys.push([11, 18, 19, 20]);
192
- shipping_methods_1 = __values(shipping_methods), shipping_methods_1_1 = shipping_methods_1.next();
193
- _f.label = 12;
194
- case 12:
195
- if (!!shipping_methods_1_1.done) return [3 /*break*/, 17];
196
- method = shipping_methods_1_1.value;
197
- if (!method.id) return [3 /*break*/, 14];
198
- return [4 /*yield*/, this.shippingOptionService_
199
- .withTransaction(manager)
200
- .updateShippingMethod(method.id, {
201
- claim_order_id: claim.id,
202
- })];
203
- case 13:
204
- _f.sent();
205
- return [3 /*break*/, 16];
206
- case 14: return [4 /*yield*/, this.shippingOptionService_
207
- .withTransaction(manager)
208
- .createShippingMethod(method.option_id, method.data, {
209
- claim_order_id: claim.id,
210
- price: method.price,
211
- })];
212
- case 15:
213
- _f.sent();
214
- _f.label = 16;
215
- case 16:
216
- shipping_methods_1_1 = shipping_methods_1.next();
217
- return [3 /*break*/, 12];
218
- case 17: return [3 /*break*/, 20];
219
- case 18:
220
- e_2_1 = _f.sent();
221
- e_2 = { error: e_2_1 };
222
- return [3 /*break*/, 20];
223
- case 19:
224
- try {
225
- if (shipping_methods_1_1 && !shipping_methods_1_1.done && (_d = shipping_methods_1.return)) _d.call(shipping_methods_1);
226
- }
227
- finally { if (e_2) throw e_2.error; }
228
- return [7 /*endfinally*/];
229
- case 20:
230
- if (!(no_notification !== undefined)) return [3 /*break*/, 22];
231
- claim.no_notification = no_notification;
232
- return [4 /*yield*/, claimRepo.save(claim)];
233
- case 21:
234
- _f.sent();
235
- _f.label = 22;
236
- case 22:
237
- if (!claim_items) return [3 /*break*/, 30];
238
- _f.label = 23;
239
- case 23:
240
- _f.trys.push([23, 28, 29, 30]);
241
- claim_items_1 = __values(claim_items), claim_items_1_1 = claim_items_1.next();
242
- _f.label = 24;
243
- case 24:
244
- if (!!claim_items_1_1.done) return [3 /*break*/, 27];
245
- i = claim_items_1_1.value;
246
- if (!i.id) return [3 /*break*/, 26];
247
- return [4 /*yield*/, this.claimItemService_
248
- .withTransaction(manager)
249
- .update(i.id, i)];
250
- case 25:
251
- _f.sent();
252
- _f.label = 26;
253
- case 26:
254
- claim_items_1_1 = claim_items_1.next();
255
- return [3 /*break*/, 24];
256
- case 27: return [3 /*break*/, 30];
257
- case 28:
258
- e_3_1 = _f.sent();
259
- e_3 = { error: e_3_1 };
260
- return [3 /*break*/, 30];
261
- case 29:
262
- try {
263
- if (claim_items_1_1 && !claim_items_1_1.done && (_e = claim_items_1.return)) _e.call(claim_items_1);
264
- }
265
- finally { if (e_3) throw e_3.error; }
266
- return [7 /*endfinally*/];
267
- case 30: return [4 /*yield*/, this.eventBus_
268
- .withTransaction(manager)
269
- .emit(ClaimService.Events.UPDATED, {
270
- id: claim.id,
271
- no_notification: claim.no_notification,
272
- })];
273
- case 31:
274
- _f.sent();
275
- return [2 /*return*/, claim];
118
+ return __awaiter(this, void 0, void 0, function () {
119
+ var _this = this;
120
+ return __generator(this, function (_a) {
121
+ switch (_a.label) {
122
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
123
+ var claimRepo, claim, claim_items, shipping_methods, metadata, no_notification, _a, _b, m, e_1_1, shipping_methods_1, shipping_methods_1_1, method, e_2_1, claim_items_1, claim_items_1_1, i, e_3_1;
124
+ var e_1, _c, e_2, _d, e_3, _e;
125
+ return __generator(this, function (_f) {
126
+ switch (_f.label) {
127
+ case 0:
128
+ claimRepo = transactionManager.getCustomRepository(this.claimRepository_);
129
+ return [4 /*yield*/, this.retrieve(id, {
130
+ relations: ["shipping_methods"],
131
+ })];
132
+ case 1:
133
+ claim = _f.sent();
134
+ if (claim.canceled_at) {
135
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Canceled claim cannot be updated");
136
+ }
137
+ claim_items = data.claim_items, shipping_methods = data.shipping_methods, metadata = data.metadata, no_notification = data.no_notification;
138
+ if (!metadata) return [3 /*break*/, 3];
139
+ claim.metadata = (0, utils_1.setMetadata)(claim, metadata);
140
+ return [4 /*yield*/, claimRepo.save(claim)];
141
+ case 2:
142
+ _f.sent();
143
+ _f.label = 3;
144
+ case 3:
145
+ if (!shipping_methods) return [3 /*break*/, 20];
146
+ _f.label = 4;
147
+ case 4:
148
+ _f.trys.push([4, 9, 10, 11]);
149
+ _a = __values(claim.shipping_methods), _b = _a.next();
150
+ _f.label = 5;
151
+ case 5:
152
+ if (!!_b.done) return [3 /*break*/, 8];
153
+ m = _b.value;
154
+ return [4 /*yield*/, this.shippingOptionService_
155
+ .withTransaction(transactionManager)
156
+ .updateShippingMethod(m.id, {
157
+ claim_order_id: null,
158
+ })];
159
+ case 6:
160
+ _f.sent();
161
+ _f.label = 7;
162
+ case 7:
163
+ _b = _a.next();
164
+ return [3 /*break*/, 5];
165
+ case 8: return [3 /*break*/, 11];
166
+ case 9:
167
+ e_1_1 = _f.sent();
168
+ e_1 = { error: e_1_1 };
169
+ return [3 /*break*/, 11];
170
+ case 10:
171
+ try {
172
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
173
+ }
174
+ finally { if (e_1) throw e_1.error; }
175
+ return [7 /*endfinally*/];
176
+ case 11:
177
+ _f.trys.push([11, 18, 19, 20]);
178
+ shipping_methods_1 = __values(shipping_methods), shipping_methods_1_1 = shipping_methods_1.next();
179
+ _f.label = 12;
180
+ case 12:
181
+ if (!!shipping_methods_1_1.done) return [3 /*break*/, 17];
182
+ method = shipping_methods_1_1.value;
183
+ if (!method.id) return [3 /*break*/, 14];
184
+ return [4 /*yield*/, this.shippingOptionService_
185
+ .withTransaction(transactionManager)
186
+ .updateShippingMethod(method.id, {
187
+ claim_order_id: claim.id,
188
+ })];
189
+ case 13:
190
+ _f.sent();
191
+ return [3 /*break*/, 16];
192
+ case 14: return [4 /*yield*/, this.shippingOptionService_
193
+ .withTransaction(transactionManager)
194
+ .createShippingMethod(method.option_id, method.data, {
195
+ claim_order_id: claim.id,
196
+ price: method.price,
197
+ })];
198
+ case 15:
199
+ _f.sent();
200
+ _f.label = 16;
201
+ case 16:
202
+ shipping_methods_1_1 = shipping_methods_1.next();
203
+ return [3 /*break*/, 12];
204
+ case 17: return [3 /*break*/, 20];
205
+ case 18:
206
+ e_2_1 = _f.sent();
207
+ e_2 = { error: e_2_1 };
208
+ return [3 /*break*/, 20];
209
+ case 19:
210
+ try {
211
+ if (shipping_methods_1_1 && !shipping_methods_1_1.done && (_d = shipping_methods_1.return)) _d.call(shipping_methods_1);
212
+ }
213
+ finally { if (e_2) throw e_2.error; }
214
+ return [7 /*endfinally*/];
215
+ case 20:
216
+ if (!(no_notification !== undefined)) return [3 /*break*/, 22];
217
+ claim.no_notification = no_notification;
218
+ return [4 /*yield*/, claimRepo.save(claim)];
219
+ case 21:
220
+ _f.sent();
221
+ _f.label = 22;
222
+ case 22:
223
+ if (!claim_items) return [3 /*break*/, 30];
224
+ _f.label = 23;
225
+ case 23:
226
+ _f.trys.push([23, 28, 29, 30]);
227
+ claim_items_1 = __values(claim_items), claim_items_1_1 = claim_items_1.next();
228
+ _f.label = 24;
229
+ case 24:
230
+ if (!!claim_items_1_1.done) return [3 /*break*/, 27];
231
+ i = claim_items_1_1.value;
232
+ if (!i.id) return [3 /*break*/, 26];
233
+ return [4 /*yield*/, this.claimItemService_
234
+ .withTransaction(transactionManager)
235
+ .update(i.id, i)];
236
+ case 25:
237
+ _f.sent();
238
+ _f.label = 26;
239
+ case 26:
240
+ claim_items_1_1 = claim_items_1.next();
241
+ return [3 /*break*/, 24];
242
+ case 27: return [3 /*break*/, 30];
243
+ case 28:
244
+ e_3_1 = _f.sent();
245
+ e_3 = { error: e_3_1 };
246
+ return [3 /*break*/, 30];
247
+ case 29:
248
+ try {
249
+ if (claim_items_1_1 && !claim_items_1_1.done && (_e = claim_items_1.return)) _e.call(claim_items_1);
250
+ }
251
+ finally { if (e_3) throw e_3.error; }
252
+ return [7 /*endfinally*/];
253
+ case 30: return [4 /*yield*/, this.eventBus_
254
+ .withTransaction(transactionManager)
255
+ .emit(ClaimService.Events.UPDATED, {
256
+ id: claim.id,
257
+ no_notification: claim.no_notification,
258
+ })];
259
+ case 31:
260
+ _f.sent();
261
+ return [2 /*return*/, claim];
262
+ }
263
+ });
264
+ }); })];
265
+ case 1: return [2 /*return*/, _a.sent()];
276
266
  }
277
267
  });
278
- }); });
268
+ });
279
269
  };
280
270
  /**
281
271
  * Creates a Claim on an Order. Claims consists of items that are claimed and
282
272
  * optionally items to be sent as replacement for the claimed items. The
283
273
  * shipping address that the new items will be shipped to
284
- * @param {Object} data - the object containing all data required to create a claim
285
- * @return {Object} created claim
274
+ * @param data - the object containing all data required to create a claim
275
+ * @return created claim
286
276
  */
287
277
  ClaimService.prototype.create = function (data) {
288
- var _this = this;
289
- return this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
290
- var claimRepo, type, claim_items, order, return_shipping, additional_items, shipping_methods, refund_amount, shipping_address, shipping_address_id, no_notification, rest, claim_items_2, claim_items_2_1, item, line, e_4_1, addressId, addressRepo, created_1, saved, toRefund, lines, newItems, additional_items_1, additional_items_1_1, item, e_5_1, newItems_1, newItems_1_1, newItem, e_6_1, evaluatedNoNotification, created, result, calcContext, lineItems, shipping_methods_2, shipping_methods_2_1, method, e_7_1, claim_items_3, claim_items_3_1, ci, e_8_1;
291
- var e_4, _a, e_5, _b, e_6, _c, e_7, _d, e_8, _e;
278
+ return __awaiter(this, void 0, void 0, function () {
292
279
  var _this = this;
293
- var _f, _g, _h;
294
- return __generator(this, function (_j) {
295
- switch (_j.label) {
296
- case 0:
297
- claimRepo = manager.getCustomRepository(this.claimRepository_);
298
- type = data.type, claim_items = data.claim_items, order = data.order, return_shipping = data.return_shipping, additional_items = data.additional_items, shipping_methods = data.shipping_methods, refund_amount = data.refund_amount, shipping_address = data.shipping_address, shipping_address_id = data.shipping_address_id, no_notification = data.no_notification, rest = __rest(data, ["type", "claim_items", "order", "return_shipping", "additional_items", "shipping_methods", "refund_amount", "shipping_address", "shipping_address_id", "no_notification"]);
299
- _j.label = 1;
300
- case 1:
301
- _j.trys.push([1, 6, 7, 8]);
302
- claim_items_2 = __values(claim_items), claim_items_2_1 = claim_items_2.next();
303
- _j.label = 2;
304
- case 2:
305
- if (!!claim_items_2_1.done) return [3 /*break*/, 5];
306
- item = claim_items_2_1.value;
307
- return [4 /*yield*/, this.lineItemService_.retrieve(item.item_id, {
308
- relations: ["order", "swap", "claim_order", "tax_lines"],
309
- })];
310
- case 3:
311
- line = _j.sent();
312
- if (((_f = line.order) === null || _f === void 0 ? void 0 : _f.canceled_at) ||
313
- ((_g = line.swap) === null || _g === void 0 ? void 0 : _g.canceled_at) ||
314
- ((_h = line.claim_order) === null || _h === void 0 ? void 0 : _h.canceled_at)) {
315
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Cannot create a claim on a canceled item.");
316
- }
317
- _j.label = 4;
318
- case 4:
319
- claim_items_2_1 = claim_items_2.next();
320
- return [3 /*break*/, 2];
321
- case 5: return [3 /*break*/, 8];
322
- case 6:
323
- e_4_1 = _j.sent();
324
- e_4 = { error: e_4_1 };
325
- return [3 /*break*/, 8];
326
- case 7:
327
- try {
328
- if (claim_items_2_1 && !claim_items_2_1.done && (_a = claim_items_2.return)) _a.call(claim_items_2);
329
- }
330
- finally { if (e_4) throw e_4.error; }
331
- return [7 /*endfinally*/];
332
- case 8:
333
- addressId = shipping_address_id || order.shipping_address_id;
334
- if (!shipping_address) return [3 /*break*/, 10];
335
- addressRepo = manager.getCustomRepository(this.addressRepo_);
336
- created_1 = addressRepo.create(shipping_address);
337
- return [4 /*yield*/, addressRepo.save(created_1)];
338
- case 9:
339
- saved = _j.sent();
340
- addressId = saved.id;
341
- _j.label = 10;
342
- case 10:
343
- if (type !== "refund" && type !== "replace") {
344
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Claim type must be one of \"refund\" or \"replace\".");
345
- }
346
- if (type === "replace" && !(additional_items === null || additional_items === void 0 ? void 0 : additional_items.length)) {
347
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Claims with type \"replace\" must have at least one additional item.");
348
- }
349
- if (!(claim_items === null || claim_items === void 0 ? void 0 : claim_items.length)) {
350
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Claims must have at least one claim item.");
351
- }
352
- if (refund_amount && type !== "refund") {
353
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Claim has type \"".concat(type, "\" but must be type \"refund\" to have a refund_amount."));
354
- }
355
- toRefund = refund_amount;
356
- if (!(type === "refund" && typeof refund_amount === "undefined")) return [3 /*break*/, 12];
357
- lines = claim_items.map(function (ci) {
358
- var e_9, _a, e_10, _b;
359
- var _c, _d;
360
- var allOrderItems = order.items;
361
- if ((_c = order.swaps) === null || _c === void 0 ? void 0 : _c.length) {
362
- try {
363
- for (var _e = __values(order.swaps), _f = _e.next(); !_f.done; _f = _e.next()) {
364
- var swap = _f.value;
365
- swap.additional_items.forEach(function (it) {
366
- if (it.shipped_quantity ||
367
- it.shipped_quantity === it.fulfilled_quantity) {
368
- allOrderItems.push(it);
280
+ return __generator(this, function (_a) {
281
+ switch (_a.label) {
282
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
283
+ var claimRepo, type, claim_items, order, return_shipping, additional_items, shipping_methods, refund_amount, shipping_address, shipping_address_id, no_notification, rest, claim_items_2, claim_items_2_1, item, line, e_4_1, addressId, addressRepo, created_1, saved, toRefund, lines, newItems, additional_items_1, additional_items_1_1, item, e_5_1, newItems_1, newItems_1_1, newItem, e_6_1, evaluatedNoNotification, created, result, calcContext, lineItems, shipping_methods_2, shipping_methods_2_1, method, e_7_1, claim_items_3, claim_items_3_1, ci, e_8_1;
284
+ var e_4, _a, e_5, _b, e_6, _c, e_7, _d, e_8, _e;
285
+ var _this = this;
286
+ var _f, _g, _h;
287
+ return __generator(this, function (_j) {
288
+ switch (_j.label) {
289
+ case 0:
290
+ claimRepo = transactionManager.getCustomRepository(this.claimRepository_);
291
+ type = data.type, claim_items = data.claim_items, order = data.order, return_shipping = data.return_shipping, additional_items = data.additional_items, shipping_methods = data.shipping_methods, refund_amount = data.refund_amount, shipping_address = data.shipping_address, shipping_address_id = data.shipping_address_id, no_notification = data.no_notification, rest = __rest(data, ["type", "claim_items", "order", "return_shipping", "additional_items", "shipping_methods", "refund_amount", "shipping_address", "shipping_address_id", "no_notification"]);
292
+ _j.label = 1;
293
+ case 1:
294
+ _j.trys.push([1, 6, 7, 8]);
295
+ claim_items_2 = __values(claim_items), claim_items_2_1 = claim_items_2.next();
296
+ _j.label = 2;
297
+ case 2:
298
+ if (!!claim_items_2_1.done) return [3 /*break*/, 5];
299
+ item = claim_items_2_1.value;
300
+ return [4 /*yield*/, this.lineItemService_
301
+ .withTransaction(transactionManager)
302
+ .retrieve(item.item_id, {
303
+ relations: ["order", "swap", "claim_order", "tax_lines"],
304
+ })];
305
+ case 3:
306
+ line = _j.sent();
307
+ if (((_f = line.order) === null || _f === void 0 ? void 0 : _f.canceled_at) ||
308
+ ((_g = line.swap) === null || _g === void 0 ? void 0 : _g.canceled_at) ||
309
+ ((_h = line.claim_order) === null || _h === void 0 ? void 0 : _h.canceled_at)) {
310
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Cannot create a claim on a canceled item.");
311
+ }
312
+ _j.label = 4;
313
+ case 4:
314
+ claim_items_2_1 = claim_items_2.next();
315
+ return [3 /*break*/, 2];
316
+ case 5: return [3 /*break*/, 8];
317
+ case 6:
318
+ e_4_1 = _j.sent();
319
+ e_4 = { error: e_4_1 };
320
+ return [3 /*break*/, 8];
321
+ case 7:
322
+ try {
323
+ if (claim_items_2_1 && !claim_items_2_1.done && (_a = claim_items_2.return)) _a.call(claim_items_2);
324
+ }
325
+ finally { if (e_4) throw e_4.error; }
326
+ return [7 /*endfinally*/];
327
+ case 8:
328
+ addressId = shipping_address_id || order.shipping_address_id;
329
+ if (!shipping_address) return [3 /*break*/, 10];
330
+ addressRepo = transactionManager.getCustomRepository(this.addressRepository_);
331
+ created_1 = addressRepo.create(shipping_address);
332
+ return [4 /*yield*/, addressRepo.save(created_1)];
333
+ case 9:
334
+ saved = _j.sent();
335
+ addressId = saved.id;
336
+ _j.label = 10;
337
+ case 10:
338
+ if (type !== models_1.ClaimType.REFUND && type !== models_1.ClaimType.REPLACE) {
339
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Claim type must be one of \"refund\" or \"replace\".");
340
+ }
341
+ if (type === models_1.ClaimType.REPLACE && !(additional_items === null || additional_items === void 0 ? void 0 : additional_items.length)) {
342
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Claims with type \"replace\" must have at least one additional item.");
343
+ }
344
+ if (!(claim_items === null || claim_items === void 0 ? void 0 : claim_items.length)) {
345
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Claims must have at least one claim item.");
346
+ }
347
+ if (refund_amount && type !== models_1.ClaimType.REFUND) {
348
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Claim has type \"".concat(type, "\" but must be type \"refund\" to have a refund_amount."));
349
+ }
350
+ toRefund = refund_amount;
351
+ if (!(type === models_1.ClaimType.REFUND && typeof refund_amount === "undefined")) return [3 /*break*/, 12];
352
+ lines = claim_items.map(function (ci) {
353
+ var e_9, _a, e_10, _b;
354
+ var _c, _d;
355
+ var allOrderItems = order.items;
356
+ if ((_c = order.swaps) === null || _c === void 0 ? void 0 : _c.length) {
357
+ try {
358
+ for (var _e = __values(order.swaps), _f = _e.next(); !_f.done; _f = _e.next()) {
359
+ var swap = _f.value;
360
+ swap.additional_items.forEach(function (it) {
361
+ if (it.shipped_quantity ||
362
+ it.shipped_quantity === it.fulfilled_quantity) {
363
+ allOrderItems.push(it);
364
+ }
365
+ });
366
+ }
367
+ }
368
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
369
+ finally {
370
+ try {
371
+ if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
372
+ }
373
+ finally { if (e_9) throw e_9.error; }
374
+ }
369
375
  }
370
- });
371
- }
372
- }
373
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
374
- finally {
375
- try {
376
- if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
377
- }
378
- finally { if (e_9) throw e_9.error; }
379
- }
380
- }
381
- if ((_d = order.claims) === null || _d === void 0 ? void 0 : _d.length) {
382
- try {
383
- for (var _g = __values(order.claims), _h = _g.next(); !_h.done; _h = _g.next()) {
384
- var claim = _h.value;
385
- claim.additional_items.forEach(function (it) {
386
- if (it.shipped_quantity ||
387
- it.shipped_quantity === it.fulfilled_quantity) {
388
- allOrderItems.push(it);
376
+ if ((_d = order.claims) === null || _d === void 0 ? void 0 : _d.length) {
377
+ try {
378
+ for (var _g = __values(order.claims), _h = _g.next(); !_h.done; _h = _g.next()) {
379
+ var claim = _h.value;
380
+ claim.additional_items.forEach(function (it) {
381
+ if (it.shipped_quantity ||
382
+ it.shipped_quantity === it.fulfilled_quantity) {
383
+ allOrderItems.push(it);
384
+ }
385
+ });
386
+ }
387
+ }
388
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
389
+ finally {
390
+ try {
391
+ if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
392
+ }
393
+ finally { if (e_10) throw e_10.error; }
394
+ }
389
395
  }
396
+ var orderItem = allOrderItems.find(function (oi) { return oi.id === ci.item_id; });
397
+ return __assign(__assign({}, orderItem), { quantity: ci.quantity });
390
398
  });
391
- }
392
- }
393
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
394
- finally {
395
- try {
396
- if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
397
- }
398
- finally { if (e_10) throw e_10.error; }
399
+ return [4 /*yield*/, this.totalsService_.getRefundTotal(order, lines)];
400
+ case 11:
401
+ toRefund = _j.sent();
402
+ _j.label = 12;
403
+ case 12:
404
+ newItems = [];
405
+ if (!(typeof additional_items !== "undefined")) return [3 /*break*/, 29];
406
+ _j.label = 13;
407
+ case 13:
408
+ _j.trys.push([13, 18, 19, 20]);
409
+ additional_items_1 = __values(additional_items), additional_items_1_1 = additional_items_1.next();
410
+ _j.label = 14;
411
+ case 14:
412
+ if (!!additional_items_1_1.done) return [3 /*break*/, 17];
413
+ item = additional_items_1_1.value;
414
+ return [4 /*yield*/, this.inventoryService_
415
+ .withTransaction(transactionManager)
416
+ .confirmInventory(item.variant_id, item.quantity)];
417
+ case 15:
418
+ _j.sent();
419
+ _j.label = 16;
420
+ case 16:
421
+ additional_items_1_1 = additional_items_1.next();
422
+ return [3 /*break*/, 14];
423
+ case 17: return [3 /*break*/, 20];
424
+ case 18:
425
+ e_5_1 = _j.sent();
426
+ e_5 = { error: e_5_1 };
427
+ return [3 /*break*/, 20];
428
+ case 19:
429
+ try {
430
+ if (additional_items_1_1 && !additional_items_1_1.done && (_b = additional_items_1.return)) _b.call(additional_items_1);
431
+ }
432
+ finally { if (e_5) throw e_5.error; }
433
+ return [7 /*endfinally*/];
434
+ case 20: return [4 /*yield*/, Promise.all(additional_items.map(function (i) {
435
+ return _this.lineItemService_
436
+ .withTransaction(transactionManager)
437
+ .generate(i.variant_id, order.region_id, i.quantity);
438
+ }))];
439
+ case 21:
440
+ newItems = _j.sent();
441
+ _j.label = 22;
442
+ case 22:
443
+ _j.trys.push([22, 27, 28, 29]);
444
+ newItems_1 = __values(newItems), newItems_1_1 = newItems_1.next();
445
+ _j.label = 23;
446
+ case 23:
447
+ if (!!newItems_1_1.done) return [3 /*break*/, 26];
448
+ newItem = newItems_1_1.value;
449
+ return [4 /*yield*/, this.inventoryService_
450
+ .withTransaction(transactionManager)
451
+ .adjustInventory(newItem.variant_id, -newItem.quantity)];
452
+ case 24:
453
+ _j.sent();
454
+ _j.label = 25;
455
+ case 25:
456
+ newItems_1_1 = newItems_1.next();
457
+ return [3 /*break*/, 23];
458
+ case 26: return [3 /*break*/, 29];
459
+ case 27:
460
+ e_6_1 = _j.sent();
461
+ e_6 = { error: e_6_1 };
462
+ return [3 /*break*/, 29];
463
+ case 28:
464
+ try {
465
+ if (newItems_1_1 && !newItems_1_1.done && (_c = newItems_1.return)) _c.call(newItems_1);
466
+ }
467
+ finally { if (e_6) throw e_6.error; }
468
+ return [7 /*endfinally*/];
469
+ case 29:
470
+ evaluatedNoNotification = no_notification !== undefined
471
+ ? no_notification
472
+ : order.no_notification;
473
+ created = claimRepo.create(__assign({ shipping_address_id: addressId, payment_status: type === models_1.ClaimType.REFUND ? "not_refunded" : "na", refund_amount: toRefund, type: type, additional_items: newItems, order_id: order.id, no_notification: evaluatedNoNotification }, rest));
474
+ return [4 /*yield*/, claimRepo.save(created)];
475
+ case 30:
476
+ result = _j.sent();
477
+ if (!(result.additional_items && result.additional_items.length)) return [3 /*break*/, 33];
478
+ calcContext = this.totalsService_.getCalculationContext(order);
479
+ return [4 /*yield*/, this.lineItemService_
480
+ .withTransaction(transactionManager)
481
+ .list({
482
+ id: result.additional_items.map(function (i) { return i.id; }),
483
+ })];
484
+ case 31:
485
+ lineItems = _j.sent();
486
+ return [4 /*yield*/, this.taxProviderService_
487
+ .withTransaction(transactionManager)
488
+ .createTaxLines(lineItems, calcContext)];
489
+ case 32:
490
+ _j.sent();
491
+ _j.label = 33;
492
+ case 33:
493
+ if (!shipping_methods) return [3 /*break*/, 43];
494
+ _j.label = 34;
495
+ case 34:
496
+ _j.trys.push([34, 41, 42, 43]);
497
+ shipping_methods_2 = __values(shipping_methods), shipping_methods_2_1 = shipping_methods_2.next();
498
+ _j.label = 35;
499
+ case 35:
500
+ if (!!shipping_methods_2_1.done) return [3 /*break*/, 40];
501
+ method = shipping_methods_2_1.value;
502
+ if (!method.id) return [3 /*break*/, 37];
503
+ return [4 /*yield*/, this.shippingOptionService_
504
+ .withTransaction(transactionManager)
505
+ .updateShippingMethod(method.id, {
506
+ claim_order_id: result.id,
507
+ })];
508
+ case 36:
509
+ _j.sent();
510
+ return [3 /*break*/, 39];
511
+ case 37: return [4 /*yield*/, this.shippingOptionService_
512
+ .withTransaction(transactionManager)
513
+ .createShippingMethod(method.option_id, method.data, {
514
+ claim_order_id: result.id,
515
+ price: method.price,
516
+ })];
517
+ case 38:
518
+ _j.sent();
519
+ _j.label = 39;
520
+ case 39:
521
+ shipping_methods_2_1 = shipping_methods_2.next();
522
+ return [3 /*break*/, 35];
523
+ case 40: return [3 /*break*/, 43];
524
+ case 41:
525
+ e_7_1 = _j.sent();
526
+ e_7 = { error: e_7_1 };
527
+ return [3 /*break*/, 43];
528
+ case 42:
529
+ try {
530
+ if (shipping_methods_2_1 && !shipping_methods_2_1.done && (_d = shipping_methods_2.return)) _d.call(shipping_methods_2);
531
+ }
532
+ finally { if (e_7) throw e_7.error; }
533
+ return [7 /*endfinally*/];
534
+ case 43:
535
+ _j.trys.push([43, 48, 49, 50]);
536
+ claim_items_3 = __values(claim_items), claim_items_3_1 = claim_items_3.next();
537
+ _j.label = 44;
538
+ case 44:
539
+ if (!!claim_items_3_1.done) return [3 /*break*/, 47];
540
+ ci = claim_items_3_1.value;
541
+ return [4 /*yield*/, this.claimItemService_
542
+ .withTransaction(transactionManager)
543
+ .create(__assign(__assign({}, ci), { claim_order_id: result.id }))];
544
+ case 45:
545
+ _j.sent();
546
+ _j.label = 46;
547
+ case 46:
548
+ claim_items_3_1 = claim_items_3.next();
549
+ return [3 /*break*/, 44];
550
+ case 47: return [3 /*break*/, 50];
551
+ case 48:
552
+ e_8_1 = _j.sent();
553
+ e_8 = { error: e_8_1 };
554
+ return [3 /*break*/, 50];
555
+ case 49:
556
+ try {
557
+ if (claim_items_3_1 && !claim_items_3_1.done && (_e = claim_items_3.return)) _e.call(claim_items_3);
558
+ }
559
+ finally { if (e_8) throw e_8.error; }
560
+ return [7 /*endfinally*/];
561
+ case 50:
562
+ if (!return_shipping) return [3 /*break*/, 52];
563
+ return [4 /*yield*/, this.returnService_.withTransaction(transactionManager).create({
564
+ order_id: order.id,
565
+ claim_order_id: result.id,
566
+ items: claim_items.map(function (ci) { return ({
567
+ item_id: ci.item_id,
568
+ quantity: ci.quantity,
569
+ metadata: ci.metadata,
570
+ }); }),
571
+ shipping_method: return_shipping,
572
+ no_notification: evaluatedNoNotification,
573
+ })];
574
+ case 51:
575
+ _j.sent();
576
+ _j.label = 52;
577
+ case 52: return [4 /*yield*/, this.eventBus_
578
+ .withTransaction(transactionManager)
579
+ .emit(ClaimService.Events.CREATED, {
580
+ id: result.id,
581
+ no_notification: result.no_notification,
582
+ })];
583
+ case 53:
584
+ _j.sent();
585
+ return [2 /*return*/, result];
399
586
  }
400
- }
401
- var orderItem = allOrderItems.find(function (oi) { return oi.id === ci.item_id; });
402
- return __assign(__assign({}, orderItem), { quantity: ci.quantity });
403
- });
404
- return [4 /*yield*/, this.totalsService_.getRefundTotal(order, lines)];
405
- case 11:
406
- toRefund = _j.sent();
407
- _j.label = 12;
408
- case 12:
409
- newItems = [];
410
- if (!(typeof additional_items !== "undefined")) return [3 /*break*/, 29];
411
- _j.label = 13;
412
- case 13:
413
- _j.trys.push([13, 18, 19, 20]);
414
- additional_items_1 = __values(additional_items), additional_items_1_1 = additional_items_1.next();
415
- _j.label = 14;
416
- case 14:
417
- if (!!additional_items_1_1.done) return [3 /*break*/, 17];
418
- item = additional_items_1_1.value;
419
- return [4 /*yield*/, this.inventoryService_
420
- .withTransaction(manager)
421
- .confirmInventory(item.variant_id, item.quantity)];
422
- case 15:
423
- _j.sent();
424
- _j.label = 16;
425
- case 16:
426
- additional_items_1_1 = additional_items_1.next();
427
- return [3 /*break*/, 14];
428
- case 17: return [3 /*break*/, 20];
429
- case 18:
430
- e_5_1 = _j.sent();
431
- e_5 = { error: e_5_1 };
432
- return [3 /*break*/, 20];
433
- case 19:
434
- try {
435
- if (additional_items_1_1 && !additional_items_1_1.done && (_b = additional_items_1.return)) _b.call(additional_items_1);
436
- }
437
- finally { if (e_5) throw e_5.error; }
438
- return [7 /*endfinally*/];
439
- case 20: return [4 /*yield*/, Promise.all(additional_items.map(function (i) {
440
- return _this.lineItemService_
441
- .withTransaction(manager)
442
- .generate(i.variant_id, order.region_id, i.quantity);
443
- }))];
444
- case 21:
445
- newItems = _j.sent();
446
- _j.label = 22;
447
- case 22:
448
- _j.trys.push([22, 27, 28, 29]);
449
- newItems_1 = __values(newItems), newItems_1_1 = newItems_1.next();
450
- _j.label = 23;
451
- case 23:
452
- if (!!newItems_1_1.done) return [3 /*break*/, 26];
453
- newItem = newItems_1_1.value;
454
- return [4 /*yield*/, this.inventoryService_
455
- .withTransaction(manager)
456
- .adjustInventory(newItem.variant_id, -newItem.quantity)];
457
- case 24:
458
- _j.sent();
459
- _j.label = 25;
460
- case 25:
461
- newItems_1_1 = newItems_1.next();
462
- return [3 /*break*/, 23];
463
- case 26: return [3 /*break*/, 29];
464
- case 27:
465
- e_6_1 = _j.sent();
466
- e_6 = { error: e_6_1 };
467
- return [3 /*break*/, 29];
468
- case 28:
469
- try {
470
- if (newItems_1_1 && !newItems_1_1.done && (_c = newItems_1.return)) _c.call(newItems_1);
471
- }
472
- finally { if (e_6) throw e_6.error; }
473
- return [7 /*endfinally*/];
474
- case 29:
475
- evaluatedNoNotification = no_notification !== undefined ? no_notification : order.no_notification;
476
- created = claimRepo.create(__assign(__assign({ shipping_address_id: addressId, payment_status: type === "refund" ? "not_refunded" : "na" }, rest), { refund_amount: toRefund, type: type, additional_items: newItems, order_id: order.id, no_notification: evaluatedNoNotification }));
477
- return [4 /*yield*/, claimRepo.save(created)];
478
- case 30:
479
- result = _j.sent();
480
- if (!(result.additional_items && result.additional_items.length)) return [3 /*break*/, 33];
481
- calcContext = this.totalsService_.getCalculationContext(order);
482
- return [4 /*yield*/, this.lineItemService_
483
- .withTransaction(manager)
484
- .list({
485
- id: result.additional_items.map(function (i) { return i.id; }),
486
- })];
487
- case 31:
488
- lineItems = _j.sent();
489
- return [4 /*yield*/, this.taxProviderService_
490
- .withTransaction(manager)
491
- .createTaxLines(lineItems, calcContext)];
492
- case 32:
493
- _j.sent();
494
- _j.label = 33;
495
- case 33:
496
- if (!shipping_methods) return [3 /*break*/, 43];
497
- _j.label = 34;
498
- case 34:
499
- _j.trys.push([34, 41, 42, 43]);
500
- shipping_methods_2 = __values(shipping_methods), shipping_methods_2_1 = shipping_methods_2.next();
501
- _j.label = 35;
502
- case 35:
503
- if (!!shipping_methods_2_1.done) return [3 /*break*/, 40];
504
- method = shipping_methods_2_1.value;
505
- if (!method.id) return [3 /*break*/, 37];
506
- return [4 /*yield*/, this.shippingOptionService_
507
- .withTransaction(manager)
508
- .updateShippingMethod(method.id, {
509
- claim_order_id: result.id,
510
- })];
511
- case 36:
512
- _j.sent();
513
- return [3 /*break*/, 39];
514
- case 37: return [4 /*yield*/, this.shippingOptionService_
515
- .withTransaction(manager)
516
- .createShippingMethod(method.option_id, method.data, {
517
- claim_order_id: result.id,
518
- price: method.price,
519
- })];
520
- case 38:
521
- _j.sent();
522
- _j.label = 39;
523
- case 39:
524
- shipping_methods_2_1 = shipping_methods_2.next();
525
- return [3 /*break*/, 35];
526
- case 40: return [3 /*break*/, 43];
527
- case 41:
528
- e_7_1 = _j.sent();
529
- e_7 = { error: e_7_1 };
530
- return [3 /*break*/, 43];
531
- case 42:
532
- try {
533
- if (shipping_methods_2_1 && !shipping_methods_2_1.done && (_d = shipping_methods_2.return)) _d.call(shipping_methods_2);
534
- }
535
- finally { if (e_7) throw e_7.error; }
536
- return [7 /*endfinally*/];
537
- case 43:
538
- _j.trys.push([43, 48, 49, 50]);
539
- claim_items_3 = __values(claim_items), claim_items_3_1 = claim_items_3.next();
540
- _j.label = 44;
541
- case 44:
542
- if (!!claim_items_3_1.done) return [3 /*break*/, 47];
543
- ci = claim_items_3_1.value;
544
- return [4 /*yield*/, this.claimItemService_.withTransaction(manager).create(__assign(__assign({}, ci), { claim_order_id: result.id }))];
545
- case 45:
546
- _j.sent();
547
- _j.label = 46;
548
- case 46:
549
- claim_items_3_1 = claim_items_3.next();
550
- return [3 /*break*/, 44];
551
- case 47: return [3 /*break*/, 50];
552
- case 48:
553
- e_8_1 = _j.sent();
554
- e_8 = { error: e_8_1 };
555
- return [3 /*break*/, 50];
556
- case 49:
557
- try {
558
- if (claim_items_3_1 && !claim_items_3_1.done && (_e = claim_items_3.return)) _e.call(claim_items_3);
559
- }
560
- finally { if (e_8) throw e_8.error; }
561
- return [7 /*endfinally*/];
562
- case 50:
563
- if (!return_shipping) return [3 /*break*/, 52];
564
- return [4 /*yield*/, this.returnService_.withTransaction(manager).create({
565
- order_id: order.id,
566
- claim_order_id: result.id,
567
- items: claim_items.map(function (ci) { return ({
568
- item_id: ci.item_id,
569
- quantity: ci.quantity,
570
- metadata: ci.metadata,
571
- }); }),
572
- shipping_method: return_shipping,
573
- no_notification: evaluatedNoNotification,
574
- })];
575
- case 51:
576
- _j.sent();
577
- _j.label = 52;
578
- case 52: return [4 /*yield*/, this.eventBus_
579
- .withTransaction(manager)
580
- .emit(ClaimService.Events.CREATED, {
581
- id: result.id,
582
- no_notification: result.no_notification,
583
- })];
584
- case 53:
585
- _j.sent();
586
- return [2 /*return*/, result];
587
+ });
588
+ }); })];
589
+ case 1: return [2 /*return*/, _a.sent()];
587
590
  }
588
591
  });
589
- }); });
592
+ });
590
593
  };
591
594
  /**
592
- * @param {string} id - the object containing all data required to create a claim
593
- * @param {Object} config - config object
594
- * @param {Object | undefined} config.metadata - config metadata
595
- * @param {boolean|undefined} config.no_notification - config no notification
596
- * @return {Claim} created claim
595
+ * @param id - the object containing all data required to create a claim
596
+ * @param config - config object
597
+ * @param config.metadata - config metadata
598
+ * @param config.no_notification - config no notification
599
+ * @return created claim
597
600
  */
598
601
  ClaimService.prototype.createFulfillment = function (id, config) {
599
- var _this = this;
600
602
  if (config === void 0) { config = {
601
603
  metadata: {},
602
- no_notification: undefined,
603
604
  }; }
604
- var metadata = config.metadata, no_notification = config.no_notification;
605
- return this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
606
- var claim, order, evaluatedNoNotification, fulfillments, successfullyFulfilled, fulfillments_1, fulfillments_1_1, f, _loop_1, this_1, _a, _b, item, e_11_1, claimRepo, result, fulfillments_2, fulfillments_2_1, fulfillment, e_12_1;
607
- var e_13, _c, e_11, _d, e_12, _e;
608
- var _f;
609
- return __generator(this, function (_g) {
610
- switch (_g.label) {
611
- case 0: return [4 /*yield*/, this.retrieve(id, {
612
- relations: [
613
- "additional_items",
614
- "additional_items.tax_lines",
615
- "shipping_methods",
616
- "shipping_methods.tax_lines",
617
- "shipping_address",
618
- "order",
619
- "order.billing_address",
620
- "order.discounts",
621
- "order.discounts.rule",
622
- "order.payments",
623
- ],
624
- })];
625
- case 1:
626
- claim = _g.sent();
627
- if (claim.canceled_at) {
628
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Canceled claim cannot be fulfilled");
629
- }
630
- order = claim.order;
631
- if (claim.fulfillment_status !== "not_fulfilled" &&
632
- claim.fulfillment_status !== "canceled") {
633
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "The claim has already been fulfilled.");
634
- }
635
- if (claim.type !== "replace") {
636
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Claims with the type \"".concat(claim.type, "\" can not be fulfilled."));
637
- }
638
- if (!((_f = claim.shipping_methods) === null || _f === void 0 ? void 0 : _f.length)) {
639
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Cannot fulfill a claim without a shipping method.");
640
- }
641
- evaluatedNoNotification = no_notification !== undefined ? no_notification : claim.no_notification;
642
- return [4 /*yield*/, this.fulfillmentService_
643
- .withTransaction(manager)
644
- .createFulfillment(__assign(__assign({}, claim), { email: order.email, payments: order.payments, discounts: order.discounts, currency_code: order.currency_code, tax_rate: order.tax_rate, region_id: order.region_id, display_id: order.display_id, billing_address: order.billing_address, items: claim.additional_items, shipping_methods: claim.shipping_methods, is_claim: true, no_notification: evaluatedNoNotification }), claim.additional_items.map(function (i) { return ({
645
- item_id: i.id,
646
- quantity: i.quantity,
647
- }); }), { claim_order_id: id, metadata: metadata })];
648
- case 2:
649
- fulfillments = _g.sent();
650
- successfullyFulfilled = [];
651
- try {
652
- for (fulfillments_1 = __values(fulfillments), fulfillments_1_1 = fulfillments_1.next(); !fulfillments_1_1.done; fulfillments_1_1 = fulfillments_1.next()) {
653
- f = fulfillments_1_1.value;
654
- successfullyFulfilled = successfullyFulfilled.concat(f.items);
655
- }
656
- }
657
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
658
- finally {
659
- try {
660
- if (fulfillments_1_1 && !fulfillments_1_1.done && (_c = fulfillments_1.return)) _c.call(fulfillments_1);
661
- }
662
- finally { if (e_13) throw e_13.error; }
663
- }
664
- claim.fulfillment_status = "fulfilled";
665
- _loop_1 = function (item) {
666
- var fulfillmentItem, fulfilledQuantity;
667
- return __generator(this, function (_h) {
668
- switch (_h.label) {
669
- case 0:
670
- fulfillmentItem = successfullyFulfilled.find(function (f) { return item.id === f.item_id; });
671
- if (!fulfillmentItem) return [3 /*break*/, 2];
672
- fulfilledQuantity = (item.fulfilled_quantity || 0) + fulfillmentItem.quantity;
673
- // Update the fulfilled quantity
674
- return [4 /*yield*/, this_1.lineItemService_.withTransaction(manager).update(item.id, {
675
- fulfilled_quantity: fulfilledQuantity,
605
+ return __awaiter(this, void 0, void 0, function () {
606
+ var metadata, no_notification;
607
+ var _this = this;
608
+ return __generator(this, function (_a) {
609
+ switch (_a.label) {
610
+ case 0:
611
+ metadata = config.metadata, no_notification = config.no_notification;
612
+ return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
613
+ var claim, order, evaluatedNoNotification, fulfillments, successfullyFulfilledItems, fulfillments_1, fulfillments_1_1, fulfillment, _loop_1, this_1, _a, _b, item, e_11_1, claimRepo, claimOrder, fulfillments_2, fulfillments_2_1, fulfillment, e_12_1;
614
+ var e_13, _c, e_11, _d, e_12, _e;
615
+ var _f;
616
+ return __generator(this, function (_g) {
617
+ switch (_g.label) {
618
+ case 0: return [4 /*yield*/, this.retrieve(id, {
619
+ relations: [
620
+ "additional_items",
621
+ "additional_items.tax_lines",
622
+ "shipping_methods",
623
+ "shipping_methods.tax_lines",
624
+ "shipping_address",
625
+ "order",
626
+ "order.billing_address",
627
+ "order.discounts",
628
+ "order.discounts.rule",
629
+ "order.payments",
630
+ ],
676
631
  })];
677
- case 1:
678
- // Update the fulfilled quantity
679
- _h.sent();
680
- if (item.quantity !== fulfilledQuantity) {
681
- claim.fulfillment_status = "requires_action";
682
- }
683
- return [3 /*break*/, 3];
684
- case 2:
685
- if (item.quantity !== item.fulfilled_quantity) {
686
- claim.fulfillment_status = "requires_action";
687
- }
688
- _h.label = 3;
689
- case 3: return [2 /*return*/];
690
- }
691
- });
692
- };
693
- this_1 = this;
694
- _g.label = 3;
695
- case 3:
696
- _g.trys.push([3, 8, 9, 10]);
697
- _a = __values(claim.additional_items), _b = _a.next();
698
- _g.label = 4;
699
- case 4:
700
- if (!!_b.done) return [3 /*break*/, 7];
701
- item = _b.value;
702
- return [5 /*yield**/, _loop_1(item)];
703
- case 5:
704
- _g.sent();
705
- _g.label = 6;
706
- case 6:
707
- _b = _a.next();
708
- return [3 /*break*/, 4];
709
- case 7: return [3 /*break*/, 10];
710
- case 8:
711
- e_11_1 = _g.sent();
712
- e_11 = { error: e_11_1 };
713
- return [3 /*break*/, 10];
714
- case 9:
715
- try {
716
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
717
- }
718
- finally { if (e_11) throw e_11.error; }
719
- return [7 /*endfinally*/];
720
- case 10:
721
- claimRepo = manager.getCustomRepository(this.claimRepository_);
722
- return [4 /*yield*/, claimRepo.save(claim)];
723
- case 11:
724
- result = _g.sent();
725
- _g.label = 12;
726
- case 12:
727
- _g.trys.push([12, 17, 18, 19]);
728
- fulfillments_2 = __values(fulfillments), fulfillments_2_1 = fulfillments_2.next();
729
- _g.label = 13;
730
- case 13:
731
- if (!!fulfillments_2_1.done) return [3 /*break*/, 16];
732
- fulfillment = fulfillments_2_1.value;
733
- return [4 /*yield*/, this.eventBus_
734
- .withTransaction(manager)
735
- .emit(ClaimService.Events.FULFILLMENT_CREATED, {
736
- id: id,
737
- fulfillment_id: fulfillment.id,
738
- no_notification: claim.no_notification,
739
- })];
740
- case 14:
741
- _g.sent();
742
- _g.label = 15;
743
- case 15:
744
- fulfillments_2_1 = fulfillments_2.next();
745
- return [3 /*break*/, 13];
746
- case 16: return [3 /*break*/, 19];
747
- case 17:
748
- e_12_1 = _g.sent();
749
- e_12 = { error: e_12_1 };
750
- return [3 /*break*/, 19];
751
- case 18:
752
- try {
753
- if (fulfillments_2_1 && !fulfillments_2_1.done && (_e = fulfillments_2.return)) _e.call(fulfillments_2);
754
- }
755
- finally { if (e_12) throw e_12.error; }
756
- return [7 /*endfinally*/];
757
- case 19: return [2 /*return*/, result];
632
+ case 1:
633
+ claim = _g.sent();
634
+ if (claim.canceled_at) {
635
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Canceled claim cannot be fulfilled");
636
+ }
637
+ order = claim.order;
638
+ if (claim.fulfillment_status !== "not_fulfilled" &&
639
+ claim.fulfillment_status !== "canceled") {
640
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "The claim has already been fulfilled.");
641
+ }
642
+ if (claim.type !== "replace") {
643
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Claims with the type \"".concat(claim.type, "\" can not be fulfilled."));
644
+ }
645
+ if (!((_f = claim.shipping_methods) === null || _f === void 0 ? void 0 : _f.length)) {
646
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Cannot fulfill a claim without a shipping method.");
647
+ }
648
+ evaluatedNoNotification = no_notification !== undefined
649
+ ? no_notification
650
+ : claim.no_notification;
651
+ return [4 /*yield*/, this.fulfillmentService_
652
+ .withTransaction(transactionManager)
653
+ .createFulfillment(__assign(__assign({}, claim), { email: order.email, payments: order.payments, discounts: order.discounts, currency_code: order.currency_code, tax_rate: order.tax_rate, region_id: order.region_id, display_id: order.display_id, billing_address: order.billing_address, items: claim.additional_items, shipping_methods: claim.shipping_methods, is_claim: true, no_notification: evaluatedNoNotification }), claim.additional_items.map(function (i) { return ({
654
+ item_id: i.id,
655
+ quantity: i.quantity,
656
+ }); }), { claim_order_id: id, metadata: metadata })];
657
+ case 2:
658
+ fulfillments = _g.sent();
659
+ successfullyFulfilledItems = [];
660
+ try {
661
+ for (fulfillments_1 = __values(fulfillments), fulfillments_1_1 = fulfillments_1.next(); !fulfillments_1_1.done; fulfillments_1_1 = fulfillments_1.next()) {
662
+ fulfillment = fulfillments_1_1.value;
663
+ successfullyFulfilledItems = successfullyFulfilledItems.concat(fulfillment.items);
664
+ }
665
+ }
666
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
667
+ finally {
668
+ try {
669
+ if (fulfillments_1_1 && !fulfillments_1_1.done && (_c = fulfillments_1.return)) _c.call(fulfillments_1);
670
+ }
671
+ finally { if (e_13) throw e_13.error; }
672
+ }
673
+ claim.fulfillment_status = models_1.ClaimFulfillmentStatus.FULFILLED;
674
+ _loop_1 = function (item) {
675
+ var fulfillmentItem, fulfilledQuantity;
676
+ return __generator(this, function (_h) {
677
+ switch (_h.label) {
678
+ case 0:
679
+ fulfillmentItem = successfullyFulfilledItems.find(function (successfullyFulfilledItem) {
680
+ return successfullyFulfilledItem.item_id === item.id;
681
+ });
682
+ if (!fulfillmentItem) return [3 /*break*/, 2];
683
+ fulfilledQuantity = (item.fulfilled_quantity || 0) + fulfillmentItem.quantity;
684
+ // Update the fulfilled quantity
685
+ return [4 /*yield*/, this_1.lineItemService_
686
+ .withTransaction(transactionManager)
687
+ .update(item.id, {
688
+ fulfilled_quantity: fulfilledQuantity,
689
+ })];
690
+ case 1:
691
+ // Update the fulfilled quantity
692
+ _h.sent();
693
+ if (item.quantity !== fulfilledQuantity) {
694
+ claim.fulfillment_status = models_1.ClaimFulfillmentStatus.REQUIRES_ACTION;
695
+ }
696
+ return [3 /*break*/, 3];
697
+ case 2:
698
+ if (item.quantity !== item.fulfilled_quantity) {
699
+ claim.fulfillment_status = models_1.ClaimFulfillmentStatus.REQUIRES_ACTION;
700
+ }
701
+ _h.label = 3;
702
+ case 3: return [2 /*return*/];
703
+ }
704
+ });
705
+ };
706
+ this_1 = this;
707
+ _g.label = 3;
708
+ case 3:
709
+ _g.trys.push([3, 8, 9, 10]);
710
+ _a = __values(claim.additional_items), _b = _a.next();
711
+ _g.label = 4;
712
+ case 4:
713
+ if (!!_b.done) return [3 /*break*/, 7];
714
+ item = _b.value;
715
+ return [5 /*yield**/, _loop_1(item)];
716
+ case 5:
717
+ _g.sent();
718
+ _g.label = 6;
719
+ case 6:
720
+ _b = _a.next();
721
+ return [3 /*break*/, 4];
722
+ case 7: return [3 /*break*/, 10];
723
+ case 8:
724
+ e_11_1 = _g.sent();
725
+ e_11 = { error: e_11_1 };
726
+ return [3 /*break*/, 10];
727
+ case 9:
728
+ try {
729
+ if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
730
+ }
731
+ finally { if (e_11) throw e_11.error; }
732
+ return [7 /*endfinally*/];
733
+ case 10:
734
+ claimRepo = transactionManager.getCustomRepository(this.claimRepository_);
735
+ return [4 /*yield*/, claimRepo.save(claim)];
736
+ case 11:
737
+ claimOrder = _g.sent();
738
+ _g.label = 12;
739
+ case 12:
740
+ _g.trys.push([12, 17, 18, 19]);
741
+ fulfillments_2 = __values(fulfillments), fulfillments_2_1 = fulfillments_2.next();
742
+ _g.label = 13;
743
+ case 13:
744
+ if (!!fulfillments_2_1.done) return [3 /*break*/, 16];
745
+ fulfillment = fulfillments_2_1.value;
746
+ return [4 /*yield*/, this.eventBus_
747
+ .withTransaction(transactionManager)
748
+ .emit(ClaimService.Events.FULFILLMENT_CREATED, {
749
+ id: id,
750
+ fulfillment_id: fulfillment.id,
751
+ no_notification: claim.no_notification,
752
+ })];
753
+ case 14:
754
+ _g.sent();
755
+ _g.label = 15;
756
+ case 15:
757
+ fulfillments_2_1 = fulfillments_2.next();
758
+ return [3 /*break*/, 13];
759
+ case 16: return [3 /*break*/, 19];
760
+ case 17:
761
+ e_12_1 = _g.sent();
762
+ e_12 = { error: e_12_1 };
763
+ return [3 /*break*/, 19];
764
+ case 18:
765
+ try {
766
+ if (fulfillments_2_1 && !fulfillments_2_1.done && (_e = fulfillments_2.return)) _e.call(fulfillments_2);
767
+ }
768
+ finally { if (e_12) throw e_12.error; }
769
+ return [7 /*endfinally*/];
770
+ case 19: return [2 /*return*/, claimOrder];
771
+ }
772
+ });
773
+ }); })];
774
+ case 1: return [2 /*return*/, _a.sent()];
758
775
  }
759
776
  });
760
- }); });
777
+ });
761
778
  };
762
779
  ClaimService.prototype.cancelFulfillment = function (fulfillmentId) {
763
780
  return __awaiter(this, void 0, void 0, function () {
764
781
  var _this = this;
765
782
  return __generator(this, function (_a) {
766
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
767
- var canceled, claim, claimRepo, updated;
768
- return __generator(this, function (_a) {
769
- switch (_a.label) {
770
- case 0: return [4 /*yield*/, this.fulfillmentService_
771
- .withTransaction(manager)
772
- .cancelFulfillment(fulfillmentId)];
773
- case 1:
774
- canceled = _a.sent();
775
- if (!canceled.claim_order_id) {
776
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Fufillment not related to a claim");
777
- }
778
- return [4 /*yield*/, this.retrieve(canceled.claim_order_id)];
779
- case 2:
780
- claim = _a.sent();
781
- claim.fulfillment_status = "canceled";
782
- claimRepo = manager.getCustomRepository(this.claimRepository_);
783
- return [4 /*yield*/, claimRepo.save(claim)];
784
- case 3:
785
- updated = _a.sent();
786
- return [2 /*return*/, updated];
787
- }
788
- });
789
- }); })];
783
+ switch (_a.label) {
784
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
785
+ var canceled, claim, claimRepo;
786
+ return __generator(this, function (_a) {
787
+ switch (_a.label) {
788
+ case 0: return [4 /*yield*/, this.fulfillmentService_
789
+ .withTransaction(transactionManager)
790
+ .cancelFulfillment(fulfillmentId)];
791
+ case 1:
792
+ canceled = _a.sent();
793
+ if (!canceled.claim_order_id) {
794
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Fufillment not related to a claim");
795
+ }
796
+ return [4 /*yield*/, this.retrieve(canceled.claim_order_id)];
797
+ case 2:
798
+ claim = _a.sent();
799
+ claim.fulfillment_status = models_1.ClaimFulfillmentStatus.CANCELED;
800
+ claimRepo = transactionManager.getCustomRepository(this.claimRepository_);
801
+ return [2 /*return*/, claimRepo.save(claim)];
802
+ }
803
+ });
804
+ }); })];
805
+ case 1: return [2 /*return*/, _a.sent()];
806
+ }
790
807
  });
791
808
  });
792
809
  };
@@ -794,50 +811,54 @@ var ClaimService = /** @class */ (function (_super) {
794
811
  return __awaiter(this, void 0, void 0, function () {
795
812
  var _this = this;
796
813
  return __generator(this, function (_a) {
797
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
798
- var claim, claimRepo, result;
799
- return __generator(this, function (_a) {
800
- switch (_a.label) {
801
- case 0: return [4 /*yield*/, this.retrieve(id, {
802
- relations: ["order", "order.payments"],
803
- })];
804
- case 1:
805
- claim = _a.sent();
806
- if (claim.canceled_at) {
807
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Canceled claim cannot be processed");
808
- }
809
- if (claim.type !== "refund") {
810
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Claim must have type \"refund\" to create a refund.");
811
- }
812
- if (!claim.refund_amount) return [3 /*break*/, 3];
813
- return [4 /*yield*/, this.paymentProviderService_
814
- .withTransaction(manager)
815
- .refundPayment(claim.order.payments, claim.refund_amount, "claim")];
816
- case 2:
817
- _a.sent();
818
- _a.label = 3;
819
- case 3:
820
- claim.payment_status = "refunded";
821
- claimRepo = manager.getCustomRepository(this.claimRepository_);
822
- return [4 /*yield*/, claimRepo.save(claim)];
823
- case 4:
824
- result = _a.sent();
825
- return [4 /*yield*/, this.eventBus_
826
- .withTransaction(manager)
827
- .emit(ClaimService.Events.REFUND_PROCESSED, {
828
- id: id,
829
- no_notification: result.no_notification,
814
+ switch (_a.label) {
815
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
816
+ var claim, claimRepo, claimOrder;
817
+ return __generator(this, function (_a) {
818
+ switch (_a.label) {
819
+ case 0: return [4 /*yield*/, this.retrieve(id, {
820
+ relations: ["order", "order.payments"],
830
821
  })];
831
- case 5:
832
- _a.sent();
833
- return [2 /*return*/, result];
834
- }
835
- });
836
- }); })];
822
+ case 1:
823
+ claim = _a.sent();
824
+ if (claim.canceled_at) {
825
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Canceled claim cannot be processed");
826
+ }
827
+ if (claim.type !== "refund") {
828
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Claim must have type \"refund\" to create a refund.");
829
+ }
830
+ if (!claim.refund_amount) return [3 /*break*/, 3];
831
+ return [4 /*yield*/, this.paymentProviderService_
832
+ .withTransaction(transactionManager)
833
+ .refundPayment(claim.order.payments, claim.refund_amount, "claim")];
834
+ case 2:
835
+ _a.sent();
836
+ _a.label = 3;
837
+ case 3:
838
+ claim.payment_status = models_1.ClaimPaymentStatus.REFUNDED;
839
+ claimRepo = transactionManager.getCustomRepository(this.claimRepository_);
840
+ return [4 /*yield*/, claimRepo.save(claim)];
841
+ case 4:
842
+ claimOrder = _a.sent();
843
+ return [4 /*yield*/, this.eventBus_
844
+ .withTransaction(transactionManager)
845
+ .emit(ClaimService.Events.REFUND_PROCESSED, {
846
+ id: id,
847
+ no_notification: claimOrder.no_notification,
848
+ })];
849
+ case 5:
850
+ _a.sent();
851
+ return [2 /*return*/, claimOrder];
852
+ }
853
+ });
854
+ }); })];
855
+ case 1: return [2 /*return*/, _a.sent()];
856
+ }
837
857
  });
838
858
  });
839
859
  };
840
860
  ClaimService.prototype.createShipment = function (id, fulfillmentId, trackingLinks, config) {
861
+ if (trackingLinks === void 0) { trackingLinks = []; }
841
862
  if (config === void 0) { config = {
842
863
  metadata: {},
843
864
  no_notification: undefined,
@@ -846,101 +867,110 @@ var ClaimService = /** @class */ (function (_super) {
846
867
  var metadata, no_notification;
847
868
  var _this = this;
848
869
  return __generator(this, function (_a) {
849
- metadata = config.metadata, no_notification = config.no_notification;
850
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
851
- var claim, evaluatedNoNotification, shipment, _loop_2, this_2, _a, _b, i, e_14_1, claimRepo, result;
852
- var e_14, _c;
853
- return __generator(this, function (_d) {
854
- switch (_d.label) {
855
- case 0: return [4 /*yield*/, this.retrieve(id, {
856
- relations: ["additional_items"],
857
- })];
858
- case 1:
859
- claim = _d.sent();
860
- if (claim.canceled_at) {
861
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Canceled claim cannot be fulfilled as shipped");
862
- }
863
- evaluatedNoNotification = no_notification !== undefined ? no_notification : claim.no_notification;
864
- return [4 /*yield*/, this.fulfillmentService_
865
- .withTransaction(manager)
866
- .createShipment(fulfillmentId, trackingLinks, {
867
- metadata: metadata,
868
- no_notification: evaluatedNoNotification,
869
- })];
870
- case 2:
871
- shipment = _d.sent();
872
- claim.fulfillment_status = "shipped";
873
- _loop_2 = function (i) {
874
- var shipped, shippedQty;
875
- return __generator(this, function (_e) {
876
- switch (_e.label) {
877
- case 0:
878
- shipped = shipment.items.find(function (si) { return si.item_id === i.id; });
879
- if (!shipped) return [3 /*break*/, 2];
880
- shippedQty = (i.shipped_quantity || 0) + shipped.quantity;
881
- return [4 /*yield*/, this_2.lineItemService_.withTransaction(manager).update(i.id, {
882
- shipped_quantity: shippedQty,
883
- })];
884
- case 1:
885
- _e.sent();
886
- if (shippedQty !== i.quantity) {
887
- claim.fulfillment_status = "partially_shipped";
888
- }
889
- return [3 /*break*/, 3];
890
- case 2:
891
- if (i.shipped_quantity !== i.quantity) {
892
- claim.fulfillment_status = "partially_shipped";
870
+ switch (_a.label) {
871
+ case 0:
872
+ metadata = config.metadata, no_notification = config.no_notification;
873
+ return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
874
+ var claim, evaluatedNoNotification, shipment, _loop_2, this_2, _a, _b, additionalItem, e_14_1, claimRepo, claimOrder;
875
+ var e_14, _c;
876
+ return __generator(this, function (_d) {
877
+ switch (_d.label) {
878
+ case 0: return [4 /*yield*/, this.retrieve(id, {
879
+ relations: ["additional_items"],
880
+ })];
881
+ case 1:
882
+ claim = _d.sent();
883
+ if (claim.canceled_at) {
884
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Canceled claim cannot be fulfilled as shipped");
885
+ }
886
+ evaluatedNoNotification = no_notification !== undefined
887
+ ? no_notification
888
+ : claim.no_notification;
889
+ return [4 /*yield*/, this.fulfillmentService_
890
+ .withTransaction(transactionManager)
891
+ .createShipment(fulfillmentId, trackingLinks, {
892
+ metadata: metadata,
893
+ no_notification: evaluatedNoNotification,
894
+ })];
895
+ case 2:
896
+ shipment = _d.sent();
897
+ claim.fulfillment_status = models_1.ClaimFulfillmentStatus.SHIPPED;
898
+ _loop_2 = function (additionalItem) {
899
+ var shipped, shippedQty;
900
+ return __generator(this, function (_e) {
901
+ switch (_e.label) {
902
+ case 0:
903
+ shipped = shipment.items.find(function (si) { return si.item_id === additionalItem.id; });
904
+ if (!shipped) return [3 /*break*/, 2];
905
+ shippedQty = (additionalItem.shipped_quantity || 0) + shipped.quantity;
906
+ return [4 /*yield*/, this_2.lineItemService_
907
+ .withTransaction(transactionManager)
908
+ .update(additionalItem.id, {
909
+ shipped_quantity: shippedQty,
910
+ })];
911
+ case 1:
912
+ _e.sent();
913
+ if (shippedQty !== additionalItem.quantity) {
914
+ claim.fulfillment_status =
915
+ models_1.ClaimFulfillmentStatus.PARTIALLY_SHIPPED;
916
+ }
917
+ return [3 /*break*/, 3];
918
+ case 2:
919
+ if (additionalItem.shipped_quantity !== additionalItem.quantity) {
920
+ claim.fulfillment_status = models_1.ClaimFulfillmentStatus.PARTIALLY_SHIPPED;
921
+ }
922
+ _e.label = 3;
923
+ case 3: return [2 /*return*/];
893
924
  }
894
- _e.label = 3;
895
- case 3: return [2 /*return*/];
925
+ });
926
+ };
927
+ this_2 = this;
928
+ _d.label = 3;
929
+ case 3:
930
+ _d.trys.push([3, 8, 9, 10]);
931
+ _a = __values(claim.additional_items), _b = _a.next();
932
+ _d.label = 4;
933
+ case 4:
934
+ if (!!_b.done) return [3 /*break*/, 7];
935
+ additionalItem = _b.value;
936
+ return [5 /*yield**/, _loop_2(additionalItem)];
937
+ case 5:
938
+ _d.sent();
939
+ _d.label = 6;
940
+ case 6:
941
+ _b = _a.next();
942
+ return [3 /*break*/, 4];
943
+ case 7: return [3 /*break*/, 10];
944
+ case 8:
945
+ e_14_1 = _d.sent();
946
+ e_14 = { error: e_14_1 };
947
+ return [3 /*break*/, 10];
948
+ case 9:
949
+ try {
950
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
896
951
  }
897
- });
898
- };
899
- this_2 = this;
900
- _d.label = 3;
901
- case 3:
902
- _d.trys.push([3, 8, 9, 10]);
903
- _a = __values(claim.additional_items), _b = _a.next();
904
- _d.label = 4;
905
- case 4:
906
- if (!!_b.done) return [3 /*break*/, 7];
907
- i = _b.value;
908
- return [5 /*yield**/, _loop_2(i)];
909
- case 5:
910
- _d.sent();
911
- _d.label = 6;
912
- case 6:
913
- _b = _a.next();
914
- return [3 /*break*/, 4];
915
- case 7: return [3 /*break*/, 10];
916
- case 8:
917
- e_14_1 = _d.sent();
918
- e_14 = { error: e_14_1 };
919
- return [3 /*break*/, 10];
920
- case 9:
921
- try {
922
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
952
+ finally { if (e_14) throw e_14.error; }
953
+ return [7 /*endfinally*/];
954
+ case 10:
955
+ claimRepo = transactionManager.getCustomRepository(this.claimRepository_);
956
+ return [4 /*yield*/, claimRepo.save(claim)];
957
+ case 11:
958
+ claimOrder = _d.sent();
959
+ return [4 /*yield*/, this.eventBus_
960
+ .withTransaction(transactionManager)
961
+ .emit(ClaimService.Events.SHIPMENT_CREATED, {
962
+ id: id,
963
+ fulfillment_id: shipment.id,
964
+ no_notification: evaluatedNoNotification,
965
+ })];
966
+ case 12:
967
+ _d.sent();
968
+ return [2 /*return*/, claimOrder];
923
969
  }
924
- finally { if (e_14) throw e_14.error; }
925
- return [7 /*endfinally*/];
926
- case 10:
927
- claimRepo = manager.getCustomRepository(this.claimRepository_);
928
- return [4 /*yield*/, claimRepo.save(claim)];
929
- case 11:
930
- result = _d.sent();
931
- return [4 /*yield*/, this.eventBus_
932
- .withTransaction(manager)
933
- .emit(ClaimService.Events.SHIPMENT_CREATED, {
934
- id: id,
935
- fulfillment_id: shipment.id,
936
- no_notification: evaluatedNoNotification,
937
- })];
938
- case 12:
939
- _d.sent();
940
- return [2 /*return*/, result];
941
- }
942
- });
943
- }); })];
970
+ });
971
+ }); })];
972
+ case 1: return [2 /*return*/, _a.sent()];
973
+ }
944
974
  });
945
975
  });
946
976
  };
@@ -948,124 +978,126 @@ var ClaimService = /** @class */ (function (_super) {
948
978
  return __awaiter(this, void 0, void 0, function () {
949
979
  var _this = this;
950
980
  return __generator(this, function (_a) {
951
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
952
- var claim, _a, _b, f, claimRepo, result;
953
- var e_15, _c;
954
- return __generator(this, function (_d) {
955
- switch (_d.label) {
956
- case 0: return [4 /*yield*/, this.retrieve(id, {
957
- relations: ["return_order", "fulfillments", "order", "order.refunds"],
958
- })];
959
- case 1:
960
- claim = _d.sent();
961
- if (claim.refund_amount) {
962
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Claim with a refund cannot be canceled");
963
- }
964
- if (claim.fulfillments) {
965
- try {
966
- for (_a = __values(claim.fulfillments), _b = _a.next(); !_b.done; _b = _a.next()) {
967
- f = _b.value;
968
- if (!f.canceled_at) {
969
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "All fulfillments must be canceled before the claim can be canceled");
970
- }
971
- }
981
+ switch (_a.label) {
982
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
983
+ var claim, _a, _b, f, claimRepo, claimOrder;
984
+ var e_15, _c;
985
+ return __generator(this, function (_d) {
986
+ switch (_d.label) {
987
+ case 0: return [4 /*yield*/, this.retrieve(id, {
988
+ relations: ["return_order", "fulfillments", "order", "order.refunds"],
989
+ })];
990
+ case 1:
991
+ claim = _d.sent();
992
+ if (claim.refund_amount) {
993
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Claim with a refund cannot be canceled");
972
994
  }
973
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
974
- finally {
995
+ if (claim.fulfillments) {
975
996
  try {
976
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
997
+ for (_a = __values(claim.fulfillments), _b = _a.next(); !_b.done; _b = _a.next()) {
998
+ f = _b.value;
999
+ if (!f.canceled_at) {
1000
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "All fulfillments must be canceled before the claim can be canceled");
1001
+ }
1002
+ }
1003
+ }
1004
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
1005
+ finally {
1006
+ try {
1007
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
1008
+ }
1009
+ finally { if (e_15) throw e_15.error; }
977
1010
  }
978
- finally { if (e_15) throw e_15.error; }
979
1011
  }
980
- }
981
- if (claim.return_order && claim.return_order.status !== "canceled") {
982
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Return must be canceled before the claim can be canceled");
983
- }
984
- claim.fulfillment_status = "canceled";
985
- claim.canceled_at = new Date();
986
- claimRepo = manager.getCustomRepository(this.claimRepository_);
987
- return [4 /*yield*/, claimRepo.save(claim)];
988
- case 2:
989
- result = _d.sent();
990
- return [4 /*yield*/, this.eventBus_
991
- .withTransaction(manager)
992
- .emit(ClaimService.Events.CANCELED, {
993
- id: result.id,
994
- no_notification: result.no_notification,
995
- })];
996
- case 3:
997
- _d.sent();
998
- return [2 /*return*/, result];
999
- }
1000
- });
1001
- }); })];
1012
+ if (claim.return_order && claim.return_order.status !== "canceled") {
1013
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Return must be canceled before the claim can be canceled");
1014
+ }
1015
+ claim.fulfillment_status = models_1.ClaimFulfillmentStatus.CANCELED;
1016
+ claim.canceled_at = new Date();
1017
+ claimRepo = transactionManager.getCustomRepository(this.claimRepository_);
1018
+ return [4 /*yield*/, claimRepo.save(claim)];
1019
+ case 2:
1020
+ claimOrder = _d.sent();
1021
+ return [4 /*yield*/, this.eventBus_
1022
+ .withTransaction(transactionManager)
1023
+ .emit(ClaimService.Events.CANCELED, {
1024
+ id: claimOrder.id,
1025
+ no_notification: claimOrder.no_notification,
1026
+ })];
1027
+ case 3:
1028
+ _d.sent();
1029
+ return [2 /*return*/, claimOrder];
1030
+ }
1031
+ });
1032
+ }); })];
1033
+ case 1: return [2 /*return*/, _a.sent()];
1034
+ }
1002
1035
  });
1003
1036
  });
1004
1037
  };
1005
1038
  /**
1006
- * @param {Object} selector - the query object for find
1007
- * @param {Object} config - the config object containing query settings
1008
- * @return {Promise} the result of the find operation
1039
+ * @param selector - the query object for find
1040
+ * @param config - the config object containing query settings
1041
+ * @return the result of the find operation
1009
1042
  */
1010
1043
  ClaimService.prototype.list = function (selector, config) {
1011
- if (config === void 0) { config = { skip: 0, take: 50, order: { created_at: "DESC" } }; }
1044
+ if (config === void 0) { config = {
1045
+ skip: 0,
1046
+ take: 50,
1047
+ order: { created_at: "DESC" },
1048
+ }; }
1012
1049
  return __awaiter(this, void 0, void 0, function () {
1013
- var claimRepo, query;
1050
+ var _this = this;
1014
1051
  return __generator(this, function (_a) {
1015
- claimRepo = this.manager_.getCustomRepository(this.claimRepository_);
1016
- query = this.buildQuery_(selector, config);
1017
- return [2 /*return*/, claimRepo.find(query)];
1052
+ switch (_a.label) {
1053
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
1054
+ var claimRepo, query;
1055
+ return __generator(this, function (_a) {
1056
+ switch (_a.label) {
1057
+ case 0:
1058
+ claimRepo = transactionManager.getCustomRepository(this.claimRepository_);
1059
+ query = (0, utils_1.buildQuery)(selector, config);
1060
+ return [4 /*yield*/, claimRepo.find(query)];
1061
+ case 1: return [2 /*return*/, _a.sent()];
1062
+ }
1063
+ });
1064
+ }); })];
1065
+ case 1: return [2 /*return*/, _a.sent()];
1066
+ }
1018
1067
  });
1019
1068
  });
1020
1069
  };
1021
1070
  /**
1022
1071
  * Gets an order by id.
1023
- * @param {string} claimId - id of order to retrieve
1024
- * @param {Object} config - the config object containing query settings
1025
- * @return {Promise<Order>} the order document
1072
+ * @param id - id of the claim order to retrieve
1073
+ * @param config - the config object containing query settings
1074
+ * @return the order document
1026
1075
  */
1027
- ClaimService.prototype.retrieve = function (claimId, config) {
1076
+ ClaimService.prototype.retrieve = function (id, config) {
1028
1077
  if (config === void 0) { config = {}; }
1029
1078
  return __awaiter(this, void 0, void 0, function () {
1030
- var claimRepo, validatedId, query, claim;
1079
+ var _this = this;
1031
1080
  return __generator(this, function (_a) {
1032
1081
  switch (_a.label) {
1033
- case 0:
1034
- claimRepo = this.manager_.getCustomRepository(this.claimRepository_);
1035
- validatedId = this.validateId_(claimId);
1036
- query = this.buildQuery_({ id: validatedId }, config);
1037
- return [4 /*yield*/, claimRepo.findOne(query)];
1038
- case 1:
1039
- claim = _a.sent();
1040
- if (!claim) {
1041
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Claim with ".concat(claimId, " was not found"));
1042
- }
1043
- return [2 /*return*/, claim];
1044
- }
1045
- });
1046
- });
1047
- };
1048
- /**
1049
- * Dedicated method to delete metadata for an order.
1050
- * @param {string} orderId - the order to delete metadata from.
1051
- * @param {string} key - key for metadata field
1052
- * @return {Promise} resolves to the updated result.
1053
- */
1054
- ClaimService.prototype.deleteMetadata = function (orderId, key) {
1055
- return __awaiter(this, void 0, void 0, function () {
1056
- var validatedId, keyPath;
1057
- var _a;
1058
- return __generator(this, function (_b) {
1059
- validatedId = this.validateId_(orderId);
1060
- if (typeof key !== "string") {
1061
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_ARGUMENT, "Key type is invalid. Metadata keys must be strings");
1082
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
1083
+ var claimRepo, query, claim;
1084
+ return __generator(this, function (_a) {
1085
+ switch (_a.label) {
1086
+ case 0:
1087
+ claimRepo = transactionManager.getCustomRepository(this.claimRepository_);
1088
+ query = (0, utils_1.buildQuery)({ id: id }, config);
1089
+ return [4 /*yield*/, claimRepo.findOne(query)];
1090
+ case 1:
1091
+ claim = _a.sent();
1092
+ if (!claim) {
1093
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Claim with ".concat(id, " was not found"));
1094
+ }
1095
+ return [2 /*return*/, claim];
1096
+ }
1097
+ });
1098
+ }); })];
1099
+ case 1: return [2 /*return*/, _a.sent()];
1062
1100
  }
1063
- keyPath = "metadata.".concat(key);
1064
- return [2 /*return*/, this.orderModel_
1065
- .updateOne({ _id: validatedId }, { $unset: (_a = {}, _a[keyPath] = "", _a) })
1066
- .catch(function (err) {
1067
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.DB_ERROR, err.message);
1068
- })];
1069
1101
  });
1070
1102
  });
1071
1103
  };
@@ -1078,6 +1110,6 @@ var ClaimService = /** @class */ (function (_super) {
1078
1110
  REFUND_PROCESSED: "claim.refund_processed",
1079
1111
  };
1080
1112
  return ClaimService;
1081
- }(medusa_interfaces_1.BaseService));
1113
+ }(interfaces_1.TransactionBaseService));
1082
1114
  exports.default = ClaimService;
1083
1115
  //# sourceMappingURL=claim.js.map