@medusajs/medusa 1.2.2-dev.53 → 1.3.1-alpha.63

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 (736) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/dist/api/index.d.ts +1 -0
  3. package/dist/api/index.js +1 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/middlewares/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/batch-job/can-access-batch-job.d.ts +1 -0
  14. package/dist/api/middlewares/batch-job/can-access-batch-job.js +70 -0
  15. package/dist/api/middlewares/batch-job/can-access-batch-job.js.map +1 -0
  16. package/dist/api/middlewares/batch-job/get-requested-batch-job.d.ts +1 -0
  17. package/dist/api/middlewares/batch-job/get-requested-batch-job.js +67 -0
  18. package/dist/api/middlewares/batch-job/get-requested-batch-job.js.map +1 -0
  19. package/dist/api/middlewares/error-handler.d.ts +3 -1
  20. package/dist/api/middlewares/error-handler.js +4 -4
  21. package/dist/api/middlewares/error-handler.js.map +1 -1
  22. package/dist/api/middlewares/index.d.ts +12 -10
  23. package/dist/api/middlewares/index.js +9 -0
  24. package/dist/api/middlewares/index.js.map +1 -1
  25. package/dist/api/middlewares/normalized-query.d.ts +6 -1
  26. package/dist/api/middlewares/normalized-query.js +5 -2
  27. package/dist/api/middlewares/normalized-query.js.map +1 -1
  28. package/dist/api/middlewares/transform-body.d.ts +4 -0
  29. package/dist/api/middlewares/transform-body.js +66 -0
  30. package/dist/api/middlewares/transform-body.js.map +1 -0
  31. package/dist/api/middlewares/transform-query.d.ts +6 -0
  32. package/dist/api/middlewares/transform-query.js +86 -0
  33. package/dist/api/middlewares/transform-query.js.map +1 -0
  34. package/dist/api/routes/admin/auth/create-session.js +5 -5
  35. package/dist/api/routes/admin/auth/create-session.js.map +1 -1
  36. package/dist/api/routes/admin/batch/index.d.ts +13 -0
  37. package/dist/api/routes/admin/batch/index.js +50 -0
  38. package/dist/api/routes/admin/batch/index.js.map +1 -0
  39. package/dist/api/routes/admin/batch/list-batch-jobs.d.ts +48 -0
  40. package/dist/api/routes/admin/batch/list-batch-jobs.js +220 -0
  41. package/dist/api/routes/admin/batch/list-batch-jobs.js.map +1 -0
  42. package/dist/api/routes/admin/customer-groups/list-customer-groups.js +2 -2
  43. package/dist/api/routes/admin/customer-groups/list-customer-groups.js.map +1 -1
  44. package/dist/api/routes/admin/discounts/create-condition.d.ts +58 -0
  45. package/dist/api/routes/admin/discounts/create-condition.js +186 -0
  46. package/dist/api/routes/admin/discounts/create-condition.js.map +1 -0
  47. package/dist/api/routes/admin/discounts/create-discount.d.ts +14 -4
  48. package/dist/api/routes/admin/discounts/create-discount.js +72 -16
  49. package/dist/api/routes/admin/discounts/create-discount.js.map +1 -1
  50. package/dist/api/routes/admin/discounts/create-dynamic-code.d.ts +1 -0
  51. package/dist/api/routes/admin/discounts/create-dynamic-code.js +4 -1
  52. package/dist/api/routes/admin/discounts/create-dynamic-code.js.map +1 -1
  53. package/dist/api/routes/admin/discounts/delete-condition.d.ts +36 -0
  54. package/dist/api/routes/admin/discounts/delete-condition.js +151 -0
  55. package/dist/api/routes/admin/discounts/delete-condition.js.map +1 -0
  56. package/dist/api/routes/admin/discounts/delete-dynamic-code.js +3 -1
  57. package/dist/api/routes/admin/discounts/delete-dynamic-code.js.map +1 -1
  58. package/dist/api/routes/admin/discounts/get-condition.d.ts +31 -0
  59. package/dist/api/routes/admin/discounts/get-condition.js +125 -0
  60. package/dist/api/routes/admin/discounts/get-condition.js.map +1 -0
  61. package/dist/api/routes/admin/discounts/get-discount-by-code.d.ts +4 -0
  62. package/dist/api/routes/admin/discounts/get-discount-by-code.js +40 -6
  63. package/dist/api/routes/admin/discounts/get-discount-by-code.js.map +1 -1
  64. package/dist/api/routes/admin/discounts/get-discount.d.ts +7 -0
  65. package/dist/api/routes/admin/discounts/get-discount.js +43 -9
  66. package/dist/api/routes/admin/discounts/get-discount.js.map +1 -1
  67. package/dist/api/routes/admin/discounts/index.d.ts +11 -3
  68. package/dist/api/routes/admin/discounts/index.js +13 -7
  69. package/dist/api/routes/admin/discounts/index.js.map +1 -1
  70. package/dist/api/routes/admin/discounts/list-discounts.d.ts +2 -6
  71. package/dist/api/routes/admin/discounts/list-discounts.js +15 -28
  72. package/dist/api/routes/admin/discounts/list-discounts.js.map +1 -1
  73. package/dist/api/routes/admin/discounts/update-condition.d.ts +55 -0
  74. package/dist/api/routes/admin/discounts/update-condition.js +184 -0
  75. package/dist/api/routes/admin/discounts/update-condition.js.map +1 -0
  76. package/dist/api/routes/admin/discounts/update-discount.d.ts +18 -12
  77. package/dist/api/routes/admin/discounts/update-discount.js +79 -33
  78. package/dist/api/routes/admin/discounts/update-discount.js.map +1 -1
  79. package/dist/api/routes/admin/draft-orders/create-draft-order.d.ts +3 -3
  80. package/dist/api/routes/admin/draft-orders/create-draft-order.js.map +1 -1
  81. package/dist/api/routes/admin/draft-orders/create-line-item.d.ts +1 -1
  82. package/dist/api/routes/admin/draft-orders/create-line-item.js.map +1 -1
  83. package/dist/api/routes/admin/draft-orders/index.d.ts +1 -1
  84. package/dist/api/routes/admin/draft-orders/index.js +7 -1
  85. package/dist/api/routes/admin/draft-orders/index.js.map +1 -1
  86. package/dist/api/routes/admin/draft-orders/list-draft-orders.js +7 -6
  87. package/dist/api/routes/admin/draft-orders/list-draft-orders.js.map +1 -1
  88. package/dist/api/routes/admin/draft-orders/register-payment.js +0 -1
  89. package/dist/api/routes/admin/draft-orders/register-payment.js.map +1 -1
  90. package/dist/api/routes/admin/draft-orders/update-line-item.d.ts +1 -1
  91. package/dist/api/routes/admin/draft-orders/update-line-item.js.map +1 -1
  92. package/dist/api/routes/admin/index.js +23 -19
  93. package/dist/api/routes/admin/index.js.map +1 -1
  94. package/dist/api/routes/admin/notifications/index.js.map +1 -1
  95. package/dist/api/routes/admin/notifications/list-notifications.js.map +1 -1
  96. package/dist/api/routes/admin/notifications/resend-notification.js.map +1 -1
  97. package/dist/api/routes/admin/orders/add-shipping-method.d.ts +1 -1
  98. package/dist/api/routes/admin/orders/add-shipping-method.js.map +1 -1
  99. package/dist/api/routes/admin/orders/create-claim.d.ts +4 -14
  100. package/dist/api/routes/admin/orders/create-claim.js +9 -14
  101. package/dist/api/routes/admin/orders/create-claim.js.map +1 -1
  102. package/dist/api/routes/admin/orders/create-order.js.map +1 -1
  103. package/dist/api/routes/admin/orders/create-swap.js +7 -3
  104. package/dist/api/routes/admin/orders/create-swap.js.map +1 -1
  105. package/dist/api/routes/admin/orders/fulfill-claim.d.ts +1 -1
  106. package/dist/api/routes/admin/orders/fulfill-claim.js.map +1 -1
  107. package/dist/api/routes/admin/orders/index.d.ts +1 -1
  108. package/dist/api/routes/admin/orders/index.js +1 -3
  109. package/dist/api/routes/admin/orders/index.js.map +1 -1
  110. package/dist/api/routes/admin/orders/list-orders.js.map +1 -1
  111. package/dist/api/routes/admin/orders/update-claim.d.ts +1 -1
  112. package/dist/api/routes/admin/orders/update-claim.js.map +1 -1
  113. package/dist/api/routes/admin/orders/update-order.js.map +1 -1
  114. package/dist/api/routes/admin/price-lists/add-prices-batch.d.ts +70 -0
  115. package/dist/api/routes/admin/price-lists/add-prices-batch.js +158 -0
  116. package/dist/api/routes/admin/price-lists/add-prices-batch.js.map +1 -0
  117. package/dist/api/routes/admin/price-lists/create-price-list.d.ts +88 -0
  118. package/dist/api/routes/admin/price-lists/create-price-list.js +190 -0
  119. package/dist/api/routes/admin/price-lists/create-price-list.js.map +1 -0
  120. package/dist/api/routes/admin/price-lists/delete-price-list.d.ts +28 -0
  121. package/dist/api/routes/admin/price-lists/delete-price-list.js +84 -0
  122. package/dist/api/routes/admin/price-lists/delete-price-list.js.map +1 -0
  123. package/dist/api/routes/admin/price-lists/delete-prices-batch.d.ts +43 -0
  124. package/dist/api/routes/admin/price-lists/delete-prices-batch.js +118 -0
  125. package/dist/api/routes/admin/price-lists/delete-prices-batch.js.map +1 -0
  126. package/dist/api/routes/admin/price-lists/delete-product-prices.d.ts +32 -0
  127. package/dist/api/routes/admin/price-lists/delete-product-prices.js +105 -0
  128. package/dist/api/routes/admin/price-lists/delete-product-prices.js.map +1 -0
  129. package/dist/api/routes/admin/price-lists/delete-variant-prices.d.ts +32 -0
  130. package/dist/api/routes/admin/price-lists/delete-variant-prices.js +105 -0
  131. package/dist/api/routes/admin/price-lists/delete-variant-prices.js.map +1 -0
  132. package/dist/api/routes/admin/price-lists/get-price-list.d.ts +22 -0
  133. package/dist/api/routes/admin/price-lists/get-price-list.js +78 -0
  134. package/dist/api/routes/admin/price-lists/get-price-list.js.map +1 -0
  135. package/dist/api/routes/admin/price-lists/index.d.ts +30 -0
  136. package/dist/api/routes/admin/price-lists/index.js +76 -0
  137. package/dist/api/routes/admin/price-lists/index.js.map +1 -0
  138. package/dist/api/routes/admin/price-lists/list-price-list-products.d.ts +75 -0
  139. package/dist/api/routes/admin/price-lists/list-price-list-products.js +255 -0
  140. package/dist/api/routes/admin/price-lists/list-price-list-products.js.map +1 -0
  141. package/dist/api/routes/admin/price-lists/list-price-lists.d.ts +39 -0
  142. package/dist/api/routes/admin/price-lists/list-price-lists.js +165 -0
  143. package/dist/api/routes/admin/price-lists/list-price-lists.js.map +1 -0
  144. package/dist/api/routes/admin/price-lists/update-price-list.d.ts +92 -0
  145. package/dist/api/routes/admin/price-lists/update-price-list.js +211 -0
  146. package/dist/api/routes/admin/price-lists/update-price-list.js.map +1 -0
  147. package/dist/api/routes/admin/product-tags/list-product-tags.d.ts +2 -1
  148. package/dist/api/routes/admin/product-tags/list-product-tags.js +6 -3
  149. package/dist/api/routes/admin/product-tags/list-product-tags.js.map +1 -1
  150. package/dist/api/routes/admin/product-types/list-product-types.d.ts +2 -1
  151. package/dist/api/routes/admin/product-types/list-product-types.js +6 -3
  152. package/dist/api/routes/admin/product-types/list-product-types.js.map +1 -1
  153. package/dist/api/routes/admin/products/create-product.d.ts +2 -7
  154. package/dist/api/routes/admin/products/create-product.js +2 -24
  155. package/dist/api/routes/admin/products/create-product.js.map +1 -1
  156. package/dist/api/routes/admin/products/create-variant.d.ts +7 -9
  157. package/dist/api/routes/admin/products/create-variant.js +7 -26
  158. package/dist/api/routes/admin/products/create-variant.js.map +1 -1
  159. package/dist/api/routes/admin/products/index.d.ts +3 -2
  160. package/dist/api/routes/admin/products/index.js +8 -3
  161. package/dist/api/routes/admin/products/index.js.map +1 -1
  162. package/dist/api/routes/admin/products/list-products.d.ts +2 -1
  163. package/dist/api/routes/admin/products/list-products.js +31 -65
  164. package/dist/api/routes/admin/products/list-products.js.map +1 -1
  165. package/dist/api/routes/admin/products/list-variants.d.ts +35 -0
  166. package/dist/api/routes/admin/products/list-variants.js +173 -0
  167. package/dist/api/routes/admin/products/list-variants.js.map +1 -0
  168. package/dist/api/routes/admin/products/update-product.d.ts +2 -7
  169. package/dist/api/routes/admin/products/update-product.js +2 -24
  170. package/dist/api/routes/admin/products/update-product.js.map +1 -1
  171. package/dist/api/routes/admin/products/update-variant.d.ts +10 -9
  172. package/dist/api/routes/admin/products/update-variant.js +21 -33
  173. package/dist/api/routes/admin/products/update-variant.js.map +1 -1
  174. package/dist/api/routes/admin/regions/index.d.ts +1 -1
  175. package/dist/api/routes/admin/shipping-options/list-shipping-options.d.ts +2 -2
  176. package/dist/api/routes/admin/shipping-options/list-shipping-options.js +2 -2
  177. package/dist/api/routes/admin/shipping-options/list-shipping-options.js.map +1 -1
  178. package/dist/api/routes/admin/store/get-store.js +4 -2
  179. package/dist/api/routes/admin/store/get-store.js.map +1 -1
  180. package/dist/api/routes/admin/store/update-store.d.ts +1 -0
  181. package/dist/api/routes/admin/store/update-store.js +5 -0
  182. package/dist/api/routes/admin/store/update-store.js.map +1 -1
  183. package/dist/api/routes/admin/swaps/index.js +3 -0
  184. package/dist/api/routes/admin/swaps/index.js.map +1 -1
  185. package/dist/api/routes/admin/tax-rates/list-tax-rates.js.map +1 -1
  186. package/dist/api/routes/admin/tax-rates/utils/get-query-config.d.ts +1 -1
  187. package/dist/api/routes/admin/tax-rates/utils/get-query-config.js +4 -2
  188. package/dist/api/routes/admin/tax-rates/utils/get-query-config.js.map +1 -1
  189. package/dist/api/routes/admin/uploads/index.d.ts +1 -1
  190. package/dist/api/routes/admin/users/update-user.d.ts +1 -1
  191. package/dist/api/routes/admin/users/update-user.js.map +1 -1
  192. package/dist/api/routes/store/auth/create-session.js +4 -5
  193. package/dist/api/routes/store/auth/create-session.js.map +1 -1
  194. package/dist/api/routes/store/carts/create-cart.js +8 -5
  195. package/dist/api/routes/store/carts/create-cart.js.map +1 -1
  196. package/dist/api/routes/store/carts/create-line-item.d.ts +1 -1
  197. package/dist/api/routes/store/carts/create-line-item.js +9 -6
  198. package/dist/api/routes/store/carts/create-line-item.js.map +1 -1
  199. package/dist/api/routes/store/carts/index.d.ts +0 -1
  200. package/dist/api/routes/store/carts/index.js +1 -3
  201. package/dist/api/routes/store/carts/index.js.map +1 -1
  202. package/dist/api/routes/store/carts/update-cart.js +8 -8
  203. package/dist/api/routes/store/carts/update-cart.js.map +1 -1
  204. package/dist/api/routes/store/collections/list-collections.d.ts +3 -0
  205. package/dist/api/routes/store/collections/list-collections.js +33 -16
  206. package/dist/api/routes/store/collections/list-collections.js.map +1 -1
  207. package/dist/api/routes/store/customers/create-customer.js +3 -4
  208. package/dist/api/routes/store/customers/create-customer.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/orders/index.js +0 -2
  212. package/dist/api/routes/store/orders/index.js.map +1 -1
  213. package/dist/api/routes/store/products/get-product.js +17 -5
  214. package/dist/api/routes/store/products/get-product.js.map +1 -1
  215. package/dist/api/routes/store/products/index.d.ts +2 -2
  216. package/dist/api/routes/store/products/list-products.d.ts +2 -2
  217. package/dist/api/routes/store/products/list-products.js +21 -14
  218. package/dist/api/routes/store/products/list-products.js.map +1 -1
  219. package/dist/api/routes/store/products/search.d.ts +1 -1
  220. package/dist/api/routes/store/products/search.js.map +1 -1
  221. package/dist/api/routes/store/regions/list-regions.d.ts +3 -0
  222. package/dist/api/routes/store/regions/list-regions.js +22 -7
  223. package/dist/api/routes/store/regions/list-regions.js.map +1 -1
  224. package/dist/api/routes/store/shipping-options/list-options.js.map +1 -1
  225. package/dist/api/routes/store/swaps/create-swap.js +7 -3
  226. package/dist/api/routes/store/swaps/create-swap.js.map +1 -1
  227. package/dist/api/routes/store/variants/get-variant.js +17 -5
  228. package/dist/api/routes/store/variants/get-variant.js.map +1 -1
  229. package/dist/api/routes/store/variants/list-variants.d.ts +2 -1
  230. package/dist/api/routes/store/variants/list-variants.js +38 -9
  231. package/dist/api/routes/store/variants/list-variants.js.map +1 -1
  232. package/dist/commands/develop.js +2 -2
  233. package/dist/commands/develop.js.map +1 -1
  234. package/dist/commands/migrate.js +17 -6
  235. package/dist/commands/migrate.js.map +1 -1
  236. package/dist/commands/start.js +6 -0
  237. package/dist/commands/start.js.map +1 -1
  238. package/dist/controllers/customers/index.d.ts +1 -1
  239. package/dist/controllers/customers/list-customers.d.ts +1 -1
  240. package/dist/controllers/customers/list-customers.js +34 -37
  241. package/dist/controllers/customers/list-customers.js.map +1 -1
  242. package/dist/controllers/products/admin-list-products.d.ts +16 -0
  243. package/dist/controllers/products/admin-list-products.js +103 -0
  244. package/dist/controllers/products/admin-list-products.js.map +1 -0
  245. package/dist/helpers/test-request.js +26 -17
  246. package/dist/helpers/test-request.js.map +1 -1
  247. package/dist/index.d.ts +4 -58
  248. package/dist/index.js +4 -61
  249. package/dist/index.js.map +1 -1
  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 +28 -0
  254. package/dist/interfaces/batch-job-strategy.js +75 -0
  255. package/dist/interfaces/batch-job-strategy.js.map +1 -0
  256. package/dist/interfaces/file-service.d.ts +62 -0
  257. package/dist/interfaces/file-service.js +32 -0
  258. package/dist/interfaces/file-service.js.map +1 -0
  259. package/dist/interfaces/index.d.ts +4 -0
  260. package/dist/interfaces/index.js +4 -0
  261. package/dist/interfaces/index.js.map +1 -1
  262. package/dist/interfaces/models/base-entity.d.ts +8 -0
  263. package/dist/interfaces/models/base-entity.js +36 -0
  264. package/dist/interfaces/models/base-entity.js.map +1 -0
  265. package/dist/interfaces/models/soft-deletable-entity.d.ts +4 -0
  266. package/dist/interfaces/models/soft-deletable-entity.js +43 -0
  267. package/dist/interfaces/models/soft-deletable-entity.js.map +1 -0
  268. package/dist/interfaces/price-selection-strategy.d.ts +50 -0
  269. package/dist/interfaces/price-selection-strategy.js +34 -0
  270. package/dist/interfaces/price-selection-strategy.js.map +1 -0
  271. package/dist/interfaces/tax-service.d.ts +6 -0
  272. package/dist/interfaces/tax-service.js +31 -0
  273. package/dist/interfaces/tax-service.js.map +1 -1
  274. package/dist/interfaces/transaction-base-service.d.ts +23 -0
  275. package/dist/interfaces/transaction-base-service.js +200 -0
  276. package/dist/interfaces/transaction-base-service.js.map +1 -0
  277. package/dist/loaders/api.d.ts +9 -5
  278. package/dist/loaders/api.js +2 -6
  279. package/dist/loaders/api.js.map +1 -1
  280. package/dist/loaders/config.d.ts +3 -0
  281. package/dist/loaders/config.js +47 -0
  282. package/dist/loaders/config.js.map +1 -0
  283. package/dist/loaders/database.d.ts +8 -4
  284. package/dist/loaders/database.js.map +1 -1
  285. package/dist/loaders/defaults.d.ts +4 -3
  286. package/dist/loaders/defaults.js +39 -31
  287. package/dist/loaders/defaults.js.map +1 -1
  288. package/dist/loaders/express.d.ts +7 -4
  289. package/dist/loaders/express.js +7 -5
  290. package/dist/loaders/express.js.map +1 -1
  291. package/dist/loaders/index.d.ts +13 -8
  292. package/dist/loaders/index.js +29 -54
  293. package/dist/loaders/index.js.map +1 -1
  294. package/dist/loaders/logger.d.ts +1 -0
  295. package/dist/loaders/logger.js.map +1 -1
  296. package/dist/loaders/models.d.ts +8 -3
  297. package/dist/loaders/models.js +19 -17
  298. package/dist/loaders/models.js.map +1 -1
  299. package/dist/loaders/passport.d.ts +7 -4
  300. package/dist/loaders/passport.js +23 -21
  301. package/dist/loaders/passport.js.map +1 -1
  302. package/dist/loaders/plugins.d.ts +38 -10
  303. package/dist/loaders/plugins.js +43 -30
  304. package/dist/loaders/plugins.js.map +1 -1
  305. package/dist/loaders/redis.d.ts +8 -5
  306. package/dist/loaders/redis.js +3 -3
  307. package/dist/loaders/redis.js.map +1 -1
  308. package/dist/loaders/repositories.d.ts +7 -3
  309. package/dist/loaders/repositories.js +1 -1
  310. package/dist/loaders/repositories.js.map +1 -1
  311. package/dist/loaders/search-index.d.ts +4 -3
  312. package/dist/loaders/search-index.js.map +1 -1
  313. package/dist/loaders/services.d.ts +10 -5
  314. package/dist/loaders/services.js.map +1 -1
  315. package/dist/loaders/strategies.d.ts +1 -1
  316. package/dist/loaders/subscribers.d.ts +7 -3
  317. package/dist/loaders/subscribers.js.map +1 -1
  318. package/dist/migrations/1646324713514-discount_conditions.d.ts +6 -0
  319. package/dist/migrations/1646324713514-discount_conditions.js +335 -0
  320. package/dist/migrations/1646324713514-discount_conditions.js.map +1 -0
  321. package/dist/migrations/1646915480108-update_money_amount_add_price_list.d.ts +6 -0
  322. package/dist/migrations/1646915480108-update_money_amount_add_price_list.js +143 -0
  323. package/dist/migrations/1646915480108-update_money_amount_add_price_list.js.map +1 -0
  324. package/dist/migrations/1648600574750-add_line_item_adjustments.d.ts +6 -0
  325. package/dist/migrations/1648600574750-add_line_item_adjustments.js +101 -0
  326. package/dist/migrations/1648600574750-add_line_item_adjustments.js.map +1 -0
  327. package/dist/migrations/1648641130007-tax_line_constraints.d.ts +6 -0
  328. package/dist/migrations/1648641130007-tax_line_constraints.js +77 -0
  329. package/dist/migrations/1648641130007-tax_line_constraints.js.map +1 -0
  330. package/dist/migrations/1649775522087-add_batch_job_model.d.ts +6 -0
  331. package/dist/migrations/1649775522087-add_batch_job_model.js +77 -0
  332. package/dist/migrations/1649775522087-add_batch_job_model.js.map +1 -0
  333. package/dist/models/address.d.ts +3 -6
  334. package/dist/models/address.js +23 -24
  335. package/dist/models/address.js.map +1 -1
  336. package/dist/models/batch-job.d.ts +55 -0
  337. package/dist/models/batch-job.js +118 -0
  338. package/dist/models/batch-job.js.map +1 -0
  339. package/dist/models/cart.d.ts +5 -8
  340. package/dist/models/cart.js +35 -36
  341. package/dist/models/cart.js.map +1 -1
  342. package/dist/models/claim-image.d.ts +3 -6
  343. package/dist/models/claim-image.js +22 -23
  344. package/dist/models/claim-image.js.map +1 -1
  345. package/dist/models/claim-item.d.ts +3 -6
  346. package/dist/models/claim-item.js +25 -24
  347. package/dist/models/claim-item.js.map +1 -1
  348. package/dist/models/claim-order.d.ts +4 -4
  349. package/dist/models/claim-order.js +28 -13
  350. package/dist/models/claim-order.js.map +1 -1
  351. package/dist/models/claim-tag.d.ts +3 -6
  352. package/dist/models/claim-tag.js +22 -23
  353. package/dist/models/claim-tag.js.map +1 -1
  354. package/dist/models/country.d.ts +1 -1
  355. package/dist/models/country.js +1 -1
  356. package/dist/models/country.js.map +1 -1
  357. package/dist/models/custom-shipping-option.d.ts +3 -6
  358. package/dist/models/custom-shipping-option.js +23 -24
  359. package/dist/models/custom-shipping-option.js.map +1 -1
  360. package/dist/models/customer-group.d.ts +6 -7
  361. package/dist/models/customer-group.js +30 -36
  362. package/dist/models/customer-group.js.map +1 -1
  363. package/dist/models/customer.d.ts +3 -6
  364. package/dist/models/customer.js +23 -25
  365. package/dist/models/customer.js.map +1 -1
  366. package/dist/models/discount-condition-customer-group.d.ts +39 -0
  367. package/dist/models/discount-condition-customer-group.js +84 -0
  368. package/dist/models/discount-condition-customer-group.js.map +1 -0
  369. package/dist/models/discount-condition-product-collection.d.ts +39 -0
  370. package/dist/models/discount-condition-product-collection.js +84 -0
  371. package/dist/models/discount-condition-product-collection.js.map +1 -0
  372. package/dist/models/discount-condition-product-tag.d.ts +39 -0
  373. package/dist/models/discount-condition-product-tag.js +84 -0
  374. package/dist/models/discount-condition-product-tag.js.map +1 -0
  375. package/dist/models/discount-condition-product-type.d.ts +39 -0
  376. package/dist/models/discount-condition-product-type.js +84 -0
  377. package/dist/models/discount-condition-product-type.js.map +1 -0
  378. package/dist/models/discount-condition-product.d.ts +39 -0
  379. package/dist/models/discount-condition-product.js +84 -0
  380. package/dist/models/discount-condition-product.js.map +1 -0
  381. package/dist/models/discount-condition.d.ts +65 -0
  382. package/dist/models/discount-condition.js +209 -0
  383. package/dist/models/discount-condition.js.map +1 -0
  384. package/dist/models/discount-rule.d.ts +8 -11
  385. package/dist/models/discount-rule.js +28 -38
  386. package/dist/models/discount-rule.js.map +1 -1
  387. package/dist/models/discount.d.ts +7 -10
  388. package/dist/models/discount.js +30 -30
  389. package/dist/models/discount.js.map +1 -1
  390. package/dist/models/draft-order.d.ts +4 -7
  391. package/dist/models/draft-order.js +25 -22
  392. package/dist/models/draft-order.js.map +1 -1
  393. package/dist/models/fulfillment-item.js.map +1 -1
  394. package/dist/models/fulfillment-provider.js.map +1 -1
  395. package/dist/models/fulfillment.d.ts +5 -7
  396. package/dist/models/fulfillment.js +29 -21
  397. package/dist/models/fulfillment.js.map +1 -1
  398. package/dist/models/gift-card-transaction.js +2 -5
  399. package/dist/models/gift-card-transaction.js.map +1 -1
  400. package/dist/models/gift-card.d.ts +3 -6
  401. package/dist/models/gift-card.js +22 -23
  402. package/dist/models/gift-card.js.map +1 -1
  403. package/dist/models/idempotency-key.d.ts +2 -2
  404. package/dist/models/idempotency-key.js +2 -3
  405. package/dist/models/idempotency-key.js.map +1 -1
  406. package/dist/models/image.d.ts +3 -6
  407. package/dist/models/image.js +22 -23
  408. package/dist/models/image.js.map +1 -1
  409. package/dist/models/index.d.ts +67 -0
  410. package/dist/models/index.js +80 -0
  411. package/dist/models/index.js.map +1 -0
  412. package/dist/models/invite.d.ts +3 -6
  413. package/dist/models/invite.js +22 -24
  414. package/dist/models/invite.js.map +1 -1
  415. package/dist/models/line-item-adjustment.d.ts +13 -0
  416. package/dist/models/line-item-adjustment.js +76 -0
  417. package/dist/models/line-item-adjustment.js.map +1 -0
  418. package/dist/models/line-item-tax-line.js +4 -6
  419. package/dist/models/line-item-tax-line.js.map +1 -1
  420. package/dist/models/line-item.d.ts +5 -5
  421. package/dist/models/line-item.js +29 -19
  422. package/dist/models/line-item.js.map +1 -1
  423. package/dist/models/money-amount.d.ts +12 -8
  424. package/dist/models/money-amount.js +47 -30
  425. package/dist/models/money-amount.js.map +1 -1
  426. package/dist/models/note.d.ts +3 -6
  427. package/dist/models/note.js +22 -23
  428. package/dist/models/note.js.map +1 -1
  429. package/dist/models/notification.d.ts +3 -5
  430. package/dist/models/notification.js +22 -19
  431. package/dist/models/notification.js.map +1 -1
  432. package/dist/models/oauth.d.ts +1 -1
  433. package/dist/models/oauth.js +2 -5
  434. package/dist/models/oauth.js.map +1 -1
  435. package/dist/models/order.d.ts +3 -5
  436. package/dist/models/order.js +25 -21
  437. package/dist/models/order.js.map +1 -1
  438. package/dist/models/payment-provider.js.map +1 -1
  439. package/dist/models/payment-session.d.ts +3 -5
  440. package/dist/models/payment-session.js +22 -19
  441. package/dist/models/payment-session.js.map +1 -1
  442. package/dist/models/payment.d.ts +4 -6
  443. package/dist/models/payment.js +22 -19
  444. package/dist/models/payment.js.map +1 -1
  445. package/dist/models/price-list.d.ts +54 -0
  446. package/dist/models/price-list.js +144 -0
  447. package/dist/models/price-list.js.map +1 -0
  448. package/dist/models/product-collection.d.ts +4 -7
  449. package/dist/models/product-collection.js +25 -24
  450. package/dist/models/product-collection.js.map +1 -1
  451. package/dist/models/product-option-value.d.ts +3 -6
  452. package/dist/models/product-option-value.js +24 -26
  453. package/dist/models/product-option-value.js.map +1 -1
  454. package/dist/models/product-option.d.ts +3 -6
  455. package/dist/models/product-option.js +23 -24
  456. package/dist/models/product-option.js.map +1 -1
  457. package/dist/models/product-tag.d.ts +3 -6
  458. package/dist/models/product-tag.js +22 -23
  459. package/dist/models/product-tag.js.map +1 -1
  460. package/dist/models/product-tax-rate.d.ts +1 -1
  461. package/dist/models/product-tax-rate.js.map +1 -1
  462. package/dist/models/product-type-tax-rate.d.ts +1 -1
  463. package/dist/models/product-type-tax-rate.js.map +1 -1
  464. package/dist/models/product-type.d.ts +3 -6
  465. package/dist/models/product-type.js +22 -23
  466. package/dist/models/product-type.js.map +1 -1
  467. package/dist/models/product-variant.d.ts +3 -6
  468. package/dist/models/product-variant.js +30 -26
  469. package/dist/models/product-variant.js.map +1 -1
  470. package/dist/models/product.d.ts +3 -6
  471. package/dist/models/product.js +25 -22
  472. package/dist/models/product.js.map +1 -1
  473. package/dist/models/refund.d.ts +3 -5
  474. package/dist/models/refund.js +22 -17
  475. package/dist/models/refund.js.map +1 -1
  476. package/dist/models/region.d.ts +3 -6
  477. package/dist/models/region.js +23 -24
  478. package/dist/models/region.js.map +1 -1
  479. package/dist/models/return-item.d.ts +1 -1
  480. package/dist/models/return-item.js.map +1 -1
  481. package/dist/models/return-reason.d.ts +3 -6
  482. package/dist/models/return-reason.js +24 -25
  483. package/dist/models/return-reason.js.map +1 -1
  484. package/dist/models/return.d.ts +5 -7
  485. package/dist/models/return.js +29 -21
  486. package/dist/models/return.js.map +1 -1
  487. package/dist/models/shipping-method-tax-line.js +4 -6
  488. package/dist/models/shipping-method-tax-line.js.map +1 -1
  489. package/dist/models/shipping-method.d.ts +2 -2
  490. package/dist/models/shipping-method.js +3 -6
  491. package/dist/models/shipping-method.js.map +1 -1
  492. package/dist/models/shipping-option-requirement.js +2 -5
  493. package/dist/models/shipping-option-requirement.js.map +1 -1
  494. package/dist/models/shipping-option.d.ts +5 -8
  495. package/dist/models/shipping-option.js +26 -25
  496. package/dist/models/shipping-option.js.map +1 -1
  497. package/dist/models/shipping-profile.d.ts +3 -6
  498. package/dist/models/shipping-profile.js +22 -23
  499. package/dist/models/shipping-profile.js.map +1 -1
  500. package/dist/models/shipping-tax-rate.d.ts +1 -1
  501. package/dist/models/shipping-tax-rate.js.map +1 -1
  502. package/dist/models/staged-job.d.ts +1 -1
  503. package/dist/models/staged-job.js +2 -3
  504. package/dist/models/staged-job.js.map +1 -1
  505. package/dist/models/store.d.ts +3 -5
  506. package/dist/models/store.js +22 -17
  507. package/dist/models/store.js.map +1 -1
  508. package/dist/models/swap.d.ts +9 -12
  509. package/dist/models/swap.js +55 -52
  510. package/dist/models/swap.js.map +1 -1
  511. package/dist/models/tax-line.d.ts +3 -5
  512. package/dist/models/tax-line.js +20 -14
  513. package/dist/models/tax-line.js.map +1 -1
  514. package/dist/models/tax-rate.d.ts +3 -5
  515. package/dist/models/tax-rate.js +22 -19
  516. package/dist/models/tax-rate.js.map +1 -1
  517. package/dist/models/tracking-link.d.ts +3 -6
  518. package/dist/models/tracking-link.js +26 -27
  519. package/dist/models/tracking-link.js.map +1 -1
  520. package/dist/models/user.d.ts +3 -6
  521. package/dist/models/user.js +22 -23
  522. package/dist/models/user.js.map +1 -1
  523. package/dist/repositories/batch-job.d.ts +4 -0
  524. package/dist/repositories/batch-job.js +38 -0
  525. package/dist/repositories/batch-job.js.map +1 -0
  526. package/dist/repositories/cart.d.ts +2 -2
  527. package/dist/repositories/cart.js.map +1 -1
  528. package/dist/repositories/customer.d.ts +1 -1
  529. package/dist/repositories/customer.js +7 -9
  530. package/dist/repositories/customer.js.map +1 -1
  531. package/dist/repositories/discount-condition.d.ts +38 -0
  532. package/dist/repositories/discount-condition.js +398 -0
  533. package/dist/repositories/discount-condition.js.map +1 -0
  534. package/dist/repositories/line-item-adjustment.d.ts +4 -0
  535. package/dist/repositories/line-item-adjustment.js +38 -0
  536. package/dist/repositories/line-item-adjustment.js.map +1 -0
  537. package/dist/repositories/line-item-tax-line.d.ts +2 -0
  538. package/dist/repositories/line-item-tax-line.js +80 -0
  539. package/dist/repositories/line-item-tax-line.js.map +1 -1
  540. package/dist/repositories/line-item.js +1 -0
  541. package/dist/repositories/line-item.js.map +1 -1
  542. package/dist/repositories/money-amount.d.ts +8 -2
  543. package/dist/repositories/money-amount.js +177 -2
  544. package/dist/repositories/money-amount.js.map +1 -1
  545. package/dist/repositories/order.d.ts +1 -1
  546. package/dist/repositories/price-list.d.ts +11 -0
  547. package/dist/repositories/price-list.js +247 -0
  548. package/dist/repositories/price-list.js.map +1 -0
  549. package/dist/repositories/product.d.ts +5 -1
  550. package/dist/repositories/product.js +96 -18
  551. package/dist/repositories/product.js.map +1 -1
  552. package/dist/repositories/shipping-method-tax-line.d.ts +2 -0
  553. package/dist/repositories/shipping-method-tax-line.js +80 -0
  554. package/dist/repositories/shipping-method-tax-line.js.map +1 -1
  555. package/dist/scripts/discount-rule-migration.d.ts +4 -0
  556. package/dist/scripts/discount-rule-migration.js +189 -0
  557. package/dist/scripts/discount-rule-migration.js.map +1 -0
  558. package/dist/scripts/line-item-adjustment-migration.d.ts +4 -0
  559. package/dist/scripts/line-item-adjustment-migration.js +173 -0
  560. package/dist/scripts/line-item-adjustment-migration.js.map +1 -0
  561. package/dist/services/batch-job.d.ts +24 -0
  562. package/dist/services/batch-job.js +126 -0
  563. package/dist/services/batch-job.js.map +1 -0
  564. package/dist/services/cart.d.ts +66 -55
  565. package/dist/services/cart.js +1315 -1405
  566. package/dist/services/cart.js.map +1 -1
  567. package/dist/services/claim-item.d.ts +23 -27
  568. package/dist/services/claim-item.js +217 -247
  569. package/dist/services/claim-item.js.map +1 -1
  570. package/dist/services/claim.d.ts +89 -71
  571. package/dist/services/claim.js +915 -840
  572. package/dist/services/claim.js.map +1 -1
  573. package/dist/services/customer.d.ts +0 -7
  574. package/dist/services/customer.js +8 -35
  575. package/dist/services/customer.js.map +1 -1
  576. package/dist/services/discount-condition.d.ts +31 -0
  577. package/dist/services/discount-condition.js +232 -0
  578. package/dist/services/discount-condition.js.map +1 -0
  579. package/dist/services/discount.d.ts +50 -59
  580. package/dist/services/discount.js +274 -176
  581. package/dist/services/discount.js.map +1 -1
  582. package/dist/services/draft-order.d.ts +69 -66
  583. package/dist/services/draft-order.js +375 -352
  584. package/dist/services/draft-order.js.map +1 -1
  585. package/dist/services/event-bus.d.ts +72 -56
  586. package/dist/services/event-bus.js +122 -99
  587. package/dist/services/event-bus.js.map +1 -1
  588. package/dist/services/file.d.ts +14 -0
  589. package/dist/services/file.js +43 -0
  590. package/dist/services/file.js.map +1 -0
  591. package/dist/services/fulfillment-provider.js +23 -17
  592. package/dist/services/fulfillment-provider.js.map +1 -1
  593. package/dist/services/invite.d.ts +4 -2
  594. package/dist/services/invite.js +11 -9
  595. package/dist/services/invite.js.map +1 -1
  596. package/dist/services/line-item-adjustment.d.ts +87 -0
  597. package/dist/services/line-item-adjustment.js +434 -0
  598. package/dist/services/line-item-adjustment.js.map +1 -0
  599. package/dist/services/line-item.d.ts +48 -40
  600. package/dist/services/line-item.js +226 -193
  601. package/dist/services/line-item.js.map +1 -1
  602. package/dist/services/order.d.ts +0 -13
  603. package/dist/services/order.js +4 -30
  604. package/dist/services/order.js.map +1 -1
  605. package/dist/services/payment-provider.js +23 -17
  606. package/dist/services/payment-provider.js.map +1 -1
  607. package/dist/services/price-list.d.ts +107 -0
  608. package/dist/services/price-list.js +740 -0
  609. package/dist/services/price-list.js.map +1 -0
  610. package/dist/services/pricing.d.ts +87 -0
  611. package/dist/services/pricing.js +443 -0
  612. package/dist/services/pricing.js.map +1 -0
  613. package/dist/services/product-tag.d.ts +2 -2
  614. package/dist/services/product-tag.js +15 -2
  615. package/dist/services/product-tag.js.map +1 -1
  616. package/dist/services/product-type.d.ts +1 -1
  617. package/dist/services/product-type.js +14 -1
  618. package/dist/services/product-type.js.map +1 -1
  619. package/dist/services/product-variant.d.ts +40 -16
  620. package/dist/services/product-variant.js +259 -109
  621. package/dist/services/product-variant.js.map +1 -1
  622. package/dist/services/product.d.ts +22 -11
  623. package/dist/services/product.js +251 -87
  624. package/dist/services/product.js.map +1 -1
  625. package/dist/services/region.js +12 -8
  626. package/dist/services/region.js.map +1 -1
  627. package/dist/services/return.js +2 -1
  628. package/dist/services/return.js.map +1 -1
  629. package/dist/services/shipping-option.d.ts +44 -109
  630. package/dist/services/shipping-option.js +309 -353
  631. package/dist/services/shipping-option.js.map +1 -1
  632. package/dist/services/store.d.ts +36 -45
  633. package/dist/services/store.js +207 -217
  634. package/dist/services/store.js.map +1 -1
  635. package/dist/services/swap.d.ts +4 -1
  636. package/dist/services/swap.js +29 -16
  637. package/dist/services/swap.js.map +1 -1
  638. package/dist/services/system-tax.d.ts +2 -3
  639. package/dist/services/system-tax.js +2 -2
  640. package/dist/services/system-tax.js.map +1 -1
  641. package/dist/services/tax-provider.d.ts +2 -0
  642. package/dist/services/tax-provider.js +96 -7
  643. package/dist/services/tax-provider.js.map +1 -1
  644. package/dist/services/tax-rate.d.ts +3 -3
  645. package/dist/services/tax-rate.js +1 -1
  646. package/dist/services/tax-rate.js.map +1 -1
  647. package/dist/services/totals.d.ts +9 -8
  648. package/dist/services/totals.js +41 -88
  649. package/dist/services/totals.js.map +1 -1
  650. package/dist/strategies/cart-completion.js.map +1 -1
  651. package/dist/strategies/price-selection.d.ts +13 -0
  652. package/dist/strategies/price-selection.js +185 -0
  653. package/dist/strategies/price-selection.js.map +1 -0
  654. package/dist/subscribers/order.js +1 -7
  655. package/dist/subscribers/order.js.map +1 -1
  656. package/dist/types/batch-job.d.ts +15 -0
  657. package/dist/types/batch-job.js +63 -0
  658. package/dist/types/batch-job.js.map +1 -0
  659. package/dist/types/cart.d.ts +2 -2
  660. package/dist/types/claim.d.ts +67 -0
  661. package/dist/types/claim.js +3 -0
  662. package/dist/types/claim.js.map +1 -0
  663. package/dist/types/common.d.ts +53 -13
  664. package/dist/types/common.js +1 -0
  665. package/dist/types/common.js.map +1 -1
  666. package/dist/types/discount.d.ts +68 -1
  667. package/dist/types/discount.js +129 -5
  668. package/dist/types/discount.js.map +1 -1
  669. package/dist/types/global.d.ts +53 -0
  670. package/dist/types/global.js +3 -0
  671. package/dist/types/global.js.map +1 -0
  672. package/dist/types/line-item-adjustment.d.ts +9 -0
  673. package/dist/types/line-item-adjustment.js +50 -0
  674. package/dist/types/line-item-adjustment.js.map +1 -0
  675. package/dist/types/note.d.ts +1 -1
  676. package/dist/types/price-list.d.ts +73 -0
  677. package/dist/types/price-list.js +157 -0
  678. package/dist/types/price-list.js.map +1 -0
  679. package/dist/types/price-selection.d.ts +5 -0
  680. package/dist/types/price-selection.js +35 -0
  681. package/dist/types/price-selection.js.map +1 -0
  682. package/dist/types/pricing.d.ts +25 -0
  683. package/dist/types/pricing.js +3 -0
  684. package/dist/types/pricing.js.map +1 -0
  685. package/dist/types/product-variant.d.ts +24 -1
  686. package/dist/types/product-variant.js +65 -1
  687. package/dist/types/product-variant.js.map +1 -1
  688. package/dist/types/product.d.ts +18 -0
  689. package/dist/types/product.js +104 -5
  690. package/dist/types/product.js.map +1 -1
  691. package/dist/types/shipping-options.d.ts +56 -0
  692. package/dist/types/shipping-options.js +3 -0
  693. package/dist/types/shipping-options.js.map +1 -0
  694. package/dist/types/store.d.ts +9 -0
  695. package/dist/types/store.js +3 -0
  696. package/dist/types/store.js.map +1 -0
  697. package/dist/types/tax-service.d.ts +2 -2
  698. package/dist/types/user.d.ts +2 -2
  699. package/dist/types/validators/exactly-one.d.ts +6 -0
  700. package/dist/types/validators/exactly-one.js +37 -0
  701. package/dist/types/validators/exactly-one.js.map +1 -0
  702. package/dist/utils/build-query.d.ts +8 -0
  703. package/dist/utils/build-query.js +114 -0
  704. package/dist/utils/build-query.js.map +1 -0
  705. package/dist/utils/countries.d.ts +3 -2
  706. package/dist/utils/countries.js.map +1 -1
  707. package/dist/utils/currencies.d.ts +10 -1899
  708. package/dist/utils/currencies.js.map +1 -1
  709. package/dist/utils/date-helpers.d.ts +2 -0
  710. package/dist/utils/date-helpers.js +15 -0
  711. package/dist/utils/date-helpers.js.map +1 -0
  712. package/dist/utils/format-registration-name.d.ts +4 -4
  713. package/dist/utils/format-registration-name.js +7 -10
  714. package/dist/utils/format-registration-name.js.map +1 -1
  715. package/dist/utils/generate-entity-id.d.ts +6 -0
  716. package/dist/utils/generate-entity-id.js +19 -0
  717. package/dist/utils/generate-entity-id.js.map +1 -0
  718. package/dist/utils/get-query-config.d.ts +9 -0
  719. package/dist/utils/get-query-config.js +133 -0
  720. package/dist/utils/get-query-config.js.map +1 -0
  721. package/dist/utils/index.d.ts +4 -0
  722. package/dist/utils/index.js +17 -0
  723. package/dist/utils/index.js.map +1 -0
  724. package/dist/utils/set-metadata.d.ts +9 -0
  725. package/dist/utils/set-metadata.js +72 -0
  726. package/dist/utils/set-metadata.js.map +1 -0
  727. package/dist/utils/sleep.d.ts +1 -0
  728. package/dist/utils/sleep.js +50 -0
  729. package/dist/utils/sleep.js.map +1 -0
  730. package/dist/utils/validate-id.d.ts +4 -0
  731. package/dist/utils/validate-id.js +47 -0
  732. package/dist/utils/validate-id.js.map +1 -0
  733. package/jest.config.js +6 -0
  734. package/package.json +11 -9
  735. package/tsconfig.spec.json +10 -0
  736. package/yarn-error.log +23292 -1023
@@ -72,109 +72,83 @@ var __values = (this && this.__values) || function(o) {
72
72
  };
73
73
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
74
74
  };
75
- var __read = (this && this.__read) || function (o, n) {
76
- var m = typeof Symbol === "function" && o[Symbol.iterator];
77
- if (!m) return o;
78
- var i = m.call(o), r, ar = [], e;
79
- try {
80
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
81
- }
82
- catch (error) { e = { error: error }; }
83
- finally {
84
- try {
85
- if (r && !r.done && (m = i["return"])) m.call(i);
86
- }
87
- finally { if (e) throw e.error; }
88
- }
89
- return ar;
90
- };
91
75
  Object.defineProperty(exports, "__esModule", { value: true });
92
76
  var medusa_core_utils_1 = require("medusa-core-utils");
93
- var medusa_interfaces_1 = require("medusa-interfaces");
77
+ var interfaces_1 = require("../interfaces");
78
+ var utils_1 = require("../utils");
94
79
  /**
95
80
  * Provides layer to manipulate profiles.
96
- * @extends BaseService
97
81
  */
98
82
  var ShippingOptionService = /** @class */ (function (_super) {
99
83
  __extends(ShippingOptionService, _super);
100
84
  function ShippingOptionService(_a) {
101
85
  var manager = _a.manager, shippingOptionRepository = _a.shippingOptionRepository, shippingOptionRequirementRepository = _a.shippingOptionRequirementRepository, shippingMethodRepository = _a.shippingMethodRepository, fulfillmentProviderService = _a.fulfillmentProviderService, regionService = _a.regionService;
102
- var _this = _super.call(this) || this;
103
- /** @private @const {EntityManager} */
86
+ var _this =
87
+ // eslint-disable-next-line prefer-rest-params
88
+ _super.call(this, arguments[0]) || this;
104
89
  _this.manager_ = manager;
105
- /** @private @const {ShippingOptionRepository} */
106
90
  _this.optionRepository_ = shippingOptionRepository;
107
- /** @private @const {ShippingMethodRepository} */
108
91
  _this.methodRepository_ = shippingMethodRepository;
109
- /** @private @const {ShippingOptionRequirementRepository} */
110
92
  _this.requirementRepository_ = shippingOptionRequirementRepository;
111
- /** @private @const {ProductService} */
112
93
  _this.providerService_ = fulfillmentProviderService;
113
- /** @private @const {RegionService} */
114
94
  _this.regionService_ = regionService;
115
95
  return _this;
116
96
  }
117
- ShippingOptionService.prototype.withTransaction = function (transactionManager) {
118
- if (!transactionManager) {
119
- return this;
120
- }
121
- var cloned = new ShippingOptionService({
122
- manager: transactionManager,
123
- shippingOptionRepository: this.optionRepository_,
124
- shippingMethodRepository: this.methodRepository_,
125
- shippingOptionRequirementRepository: this.requirementRepository_,
126
- fulfillmentProviderService: this.providerService_,
127
- regionService: this.regionService_,
128
- });
129
- cloned.transactionManager_ = transactionManager;
130
- return cloned;
131
- };
132
97
  /**
133
98
  * Validates a requirement
134
- * @param {ShippingRequirement} requirement - the requirement to validate
99
+ * @param {ShippingOptionRequirement} requirement - the requirement to validate
135
100
  * @param {string} optionId - the id to validate the requirement
136
- * @return {ShippingRequirement} a validated shipping requirement
101
+ * @return {ShippingOptionRequirement} a validated shipping requirement
137
102
  */
138
103
  ShippingOptionService.prototype.validateRequirement_ = function (requirement, optionId) {
104
+ if (optionId === void 0) { optionId = undefined; }
139
105
  return __awaiter(this, void 0, void 0, function () {
140
- var reqRepo, existingReq, req, created;
106
+ var _this = this;
141
107
  return __generator(this, function (_a) {
142
108
  switch (_a.label) {
143
- case 0:
144
- if (!requirement.type) {
145
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "A Shipping Requirement must have a type field");
146
- }
147
- if (requirement.type !== "min_subtotal" &&
148
- requirement.type !== "max_subtotal") {
149
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Requirement type must be one of min_subtotal, max_subtotal");
150
- }
151
- reqRepo = this.manager_.getCustomRepository(this.requirementRepository_);
152
- return [4 /*yield*/, reqRepo.findOne({
153
- where: { id: requirement.id },
154
- })];
155
- case 1:
156
- existingReq = _a.sent();
157
- if (!existingReq && requirement.id) {
158
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "ID does not exist");
159
- }
160
- // If no option id is provided, we are currently in the process of creating
161
- // a new shipping option. Therefore, simply return the requirement, such
162
- // that the cascading will take care of the creation of the requirement.
163
- if (!optionId) {
164
- return [2 /*return*/, requirement];
165
- }
166
- if (!existingReq) return [3 /*break*/, 3];
167
- return [4 /*yield*/, reqRepo.save(__assign(__assign({}, existingReq), requirement))];
168
- case 2:
169
- req = _a.sent();
170
- return [3 /*break*/, 5];
171
- case 3:
172
- created = reqRepo.create(__assign({ shipping_option_id: optionId }, requirement));
173
- return [4 /*yield*/, reqRepo.save(created)];
174
- case 4:
175
- req = _a.sent();
176
- _a.label = 5;
177
- case 5: return [2 /*return*/, req];
109
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
110
+ var reqRepo, existingReq, req, created;
111
+ return __generator(this, function (_a) {
112
+ switch (_a.label) {
113
+ case 0:
114
+ if (!requirement.type) {
115
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "A Shipping Requirement must have a type field");
116
+ }
117
+ if (requirement.type !== "min_subtotal" &&
118
+ requirement.type !== "max_subtotal") {
119
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Requirement type must be one of min_subtotal, max_subtotal");
120
+ }
121
+ reqRepo = manager.getCustomRepository(this.requirementRepository_);
122
+ return [4 /*yield*/, reqRepo.findOne({
123
+ where: { id: requirement.id },
124
+ })];
125
+ case 1:
126
+ existingReq = _a.sent();
127
+ if (!existingReq && requirement.id) {
128
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "ID does not exist");
129
+ }
130
+ // If no option id is provided, we are currently in the process of creating
131
+ // a new shipping option. Therefore, simply return the requirement, such
132
+ // that the cascading will take care of the creation of the requirement.
133
+ if (!optionId) {
134
+ return [2 /*return*/, requirement];
135
+ }
136
+ if (!existingReq) return [3 /*break*/, 3];
137
+ return [4 /*yield*/, reqRepo.save(__assign(__assign({}, existingReq), requirement))];
138
+ case 2:
139
+ req = _a.sent();
140
+ return [3 /*break*/, 5];
141
+ case 3:
142
+ created = reqRepo.create(__assign(__assign({}, requirement), { shipping_option_id: optionId }));
143
+ return [4 /*yield*/, reqRepo.save(created)];
144
+ case 4:
145
+ req = _a.sent();
146
+ _a.label = 5;
147
+ case 5: return [2 /*return*/, req];
148
+ }
149
+ });
150
+ }); })];
151
+ case 1: return [2 /*return*/, _a.sent()];
178
152
  }
179
153
  });
180
154
  });
@@ -187,11 +161,19 @@ var ShippingOptionService = /** @class */ (function (_super) {
187
161
  ShippingOptionService.prototype.list = function (selector, config) {
188
162
  if (config === void 0) { config = { skip: 0, take: 50 }; }
189
163
  return __awaiter(this, void 0, void 0, function () {
190
- var optRepo, query;
164
+ var _this = this;
191
165
  return __generator(this, function (_a) {
192
- optRepo = this.manager_.getCustomRepository(this.optionRepository_);
193
- query = this.buildQuery_(selector, config);
194
- return [2 /*return*/, optRepo.find(query)];
166
+ switch (_a.label) {
167
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
168
+ var optRepo, query;
169
+ return __generator(this, function (_a) {
170
+ optRepo = transactionManager.getCustomRepository(this.optionRepository_);
171
+ query = (0, utils_1.buildQuery)(selector, config);
172
+ return [2 /*return*/, optRepo.find(query)];
173
+ });
174
+ }); })];
175
+ case 1: return [2 /*return*/, _a.sent()];
176
+ }
195
177
  });
196
178
  });
197
179
  };
@@ -203,13 +185,21 @@ var ShippingOptionService = /** @class */ (function (_super) {
203
185
  ShippingOptionService.prototype.listAndCount = function (selector, config) {
204
186
  if (config === void 0) { config = { skip: 0, take: 50 }; }
205
187
  return __awaiter(this, void 0, void 0, function () {
206
- var optRepo, query;
188
+ var _this = this;
207
189
  return __generator(this, function (_a) {
208
190
  switch (_a.label) {
209
- case 0:
210
- optRepo = this.manager_.getCustomRepository(this.optionRepository_);
211
- query = this.buildQuery_(selector, config);
212
- return [4 /*yield*/, optRepo.findAndCount(query)];
191
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
192
+ var optRepo, query;
193
+ return __generator(this, function (_a) {
194
+ switch (_a.label) {
195
+ case 0:
196
+ optRepo = transactionManager.getCustomRepository(this.optionRepository_);
197
+ query = (0, utils_1.buildQuery)(selector, config);
198
+ return [4 /*yield*/, optRepo.findAndCount(query)];
199
+ case 1: return [2 /*return*/, _a.sent()];
200
+ }
201
+ });
202
+ }); })];
213
203
  case 1: return [2 /*return*/, _a.sent()];
214
204
  }
215
205
  });
@@ -225,28 +215,35 @@ var ShippingOptionService = /** @class */ (function (_super) {
225
215
  ShippingOptionService.prototype.retrieve = function (optionId, options) {
226
216
  if (options === void 0) { options = {}; }
227
217
  return __awaiter(this, void 0, void 0, function () {
228
- var soRepo, validatedId, query, option;
218
+ var _this = this;
229
219
  return __generator(this, function (_a) {
230
220
  switch (_a.label) {
231
- case 0:
232
- soRepo = this.manager_.getCustomRepository(this.optionRepository_);
233
- validatedId = this.validateId_(optionId);
234
- query = {
235
- where: { id: validatedId },
236
- };
237
- if (options.select) {
238
- query.select = options.select;
239
- }
240
- if (options.relations) {
241
- query.relations = options.relations;
242
- }
243
- return [4 /*yield*/, soRepo.findOne(query)];
244
- case 1:
245
- option = _a.sent();
246
- if (!option) {
247
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Shipping Option with ".concat(optionId, " was not found"));
248
- }
249
- return [2 /*return*/, option];
221
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (transactionManager) { return __awaiter(_this, void 0, void 0, function () {
222
+ var soRepo, query, option;
223
+ return __generator(this, function (_a) {
224
+ switch (_a.label) {
225
+ case 0:
226
+ soRepo = transactionManager.getCustomRepository(this.optionRepository_);
227
+ query = {
228
+ where: { id: optionId },
229
+ };
230
+ if (options.select) {
231
+ query.select = options.select;
232
+ }
233
+ if (options.relations) {
234
+ query.relations = options.relations;
235
+ }
236
+ return [4 /*yield*/, soRepo.findOne(query)];
237
+ case 1:
238
+ option = _a.sent();
239
+ if (!option) {
240
+ throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_FOUND, "Shipping Option with ".concat(optionId, " was not found"));
241
+ }
242
+ return [2 /*return*/, option];
243
+ }
244
+ });
245
+ }); })];
246
+ case 1: return [2 /*return*/, _a.sent()];
250
247
  }
251
248
  });
252
249
  });
@@ -262,49 +259,70 @@ var ShippingOptionService = /** @class */ (function (_super) {
262
259
  return __awaiter(this, void 0, void 0, function () {
263
260
  var _this = this;
264
261
  return __generator(this, function (_a) {
265
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
266
- var methodRepo, method;
267
- return __generator(this, function (_a) {
268
- switch (_a.label) {
269
- case 0:
270
- methodRepo = manager.getCustomRepository(this.methodRepository_);
271
- return [4 /*yield*/, methodRepo.findOne({ where: { id: id } })];
272
- case 1:
273
- method = _a.sent();
274
- if ("return_id" in update) {
275
- method.return_id = update.return_id;
276
- }
277
- if ("swap_id" in update) {
278
- method.swap_id = update.swap_id;
279
- }
280
- if ("order_id" in update) {
281
- method.order_id = update.order_id;
282
- }
283
- if ("claim_order_id" in update) {
284
- method.claim_order_id = update.claim_order_id;
285
- }
286
- return [2 /*return*/, methodRepo.save(method)];
287
- }
288
- });
289
- }); })];
262
+ switch (_a.label) {
263
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
264
+ var methodRepo, method, _a, _b, key;
265
+ var e_1, _c;
266
+ return __generator(this, function (_d) {
267
+ switch (_d.label) {
268
+ case 0:
269
+ methodRepo = manager.getCustomRepository(this.methodRepository_);
270
+ return [4 /*yield*/, methodRepo.findOne({ where: { id: id } })];
271
+ case 1:
272
+ method = _d.sent();
273
+ if (!method) {
274
+ return [2 /*return*/, undefined];
275
+ }
276
+ try {
277
+ for (_a = __values(Object.keys(update).filter(function (k) { return typeof update[k] !== "undefined"; })), _b = _a.next(); !_b.done; _b = _a.next()) {
278
+ key = _b.value;
279
+ method[key] = update[key];
280
+ }
281
+ }
282
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
283
+ finally {
284
+ try {
285
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
286
+ }
287
+ finally { if (e_1) throw e_1.error; }
288
+ }
289
+ return [2 /*return*/, methodRepo.save(method)];
290
+ }
291
+ });
292
+ }); })];
293
+ case 1: return [2 /*return*/, _a.sent()];
294
+ }
290
295
  });
291
296
  });
292
297
  };
293
298
  /**
294
299
  * Removes a given shipping method
295
- * @param {ShippingMethod} sm - the shipping method to remove
300
+ * @param {ShippingMethod | Array<ShippingMethod>} shippingMethods - the shipping method to remove
301
+ * @returns removed shipping methods
296
302
  */
297
- ShippingOptionService.prototype.deleteShippingMethod = function (sm) {
303
+ ShippingOptionService.prototype.deleteShippingMethods = function (shippingMethods) {
298
304
  return __awaiter(this, void 0, void 0, function () {
305
+ var removeEntities;
299
306
  var _this = this;
300
307
  return __generator(this, function (_a) {
301
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
302
- var methodRepo;
303
- return __generator(this, function (_a) {
304
- methodRepo = manager.getCustomRepository(this.methodRepository_);
305
- return [2 /*return*/, methodRepo.remove(sm)];
306
- });
307
- }); })];
308
+ switch (_a.label) {
309
+ case 0:
310
+ removeEntities = Array.isArray(shippingMethods)
311
+ ? shippingMethods
312
+ : [shippingMethods];
313
+ return [4 /*yield*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
314
+ var methodRepo;
315
+ return __generator(this, function (_a) {
316
+ switch (_a.label) {
317
+ case 0:
318
+ methodRepo = manager.getCustomRepository(this.methodRepository_);
319
+ return [4 /*yield*/, methodRepo.remove(removeEntities)];
320
+ case 1: return [2 /*return*/, _a.sent()];
321
+ }
322
+ });
323
+ }); })];
324
+ case 1: return [2 /*return*/, _a.sent()];
325
+ }
308
326
  });
309
327
  });
310
328
  };
@@ -319,69 +337,69 @@ var ShippingOptionService = /** @class */ (function (_super) {
319
337
  return __awaiter(this, void 0, void 0, function () {
320
338
  var _this = this;
321
339
  return __generator(this, function (_a) {
322
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
323
- var option, methodRepo, validatedData, methodPrice, toCreate, method, created;
324
- return __generator(this, function (_a) {
325
- switch (_a.label) {
326
- case 0: return [4 /*yield*/, this.retrieve(optionId, {
327
- relations: ["requirements"],
328
- })];
329
- case 1:
330
- option = _a.sent();
331
- methodRepo = manager.getCustomRepository(this.methodRepository_);
332
- if ("cart" in config) {
333
- this.validateCartOption(option, config.cart || {});
334
- }
335
- return [4 /*yield*/, this.providerService_.validateFulfillmentData(option, data, config.cart || {})];
336
- case 2:
337
- validatedData = _a.sent();
338
- if (!(typeof config.price === "number")) return [3 /*break*/, 3];
339
- methodPrice = config.price;
340
- return [3 /*break*/, 5];
341
- case 3: return [4 /*yield*/, this.getPrice_(option, validatedData, config.cart)];
342
- case 4:
343
- methodPrice = _a.sent();
344
- _a.label = 5;
345
- case 5:
346
- toCreate = {
347
- shipping_option_id: option.id,
348
- data: validatedData,
349
- price: methodPrice,
350
- };
351
- if (config.order) {
352
- toCreate.order_id = config.order.id;
353
- }
354
- if (config.cart) {
355
- toCreate.cart_id = config.cart.id;
356
- }
357
- if (config.cart_id) {
358
- toCreate.cart_id = config.cart_id;
359
- }
360
- if (config.return_id) {
361
- toCreate.return_id = config.return_id;
362
- }
363
- if (config.order_id) {
364
- toCreate.order_id = config.order_id;
365
- }
366
- if (config.claim_order_id) {
367
- toCreate.claim_order_id = config.claim_order_id;
368
- }
369
- if (config.draft_order_id) {
370
- toCreate.draft_order_id = config.draft_order_id;
371
- }
372
- return [4 /*yield*/, methodRepo.create(toCreate)];
373
- case 6:
374
- method = _a.sent();
375
- return [4 /*yield*/, methodRepo.save(method)];
376
- case 7:
377
- created = _a.sent();
378
- return [2 /*return*/, methodRepo.findOne({
379
- where: { id: created.id },
380
- relations: ["shipping_option"],
340
+ switch (_a.label) {
341
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
342
+ var option, methodRepo, validatedData, methodPrice, toCreate, method, created;
343
+ return __generator(this, function (_a) {
344
+ switch (_a.label) {
345
+ case 0: return [4 /*yield*/, this.retrieve(optionId, {
346
+ relations: ["requirements"],
381
347
  })];
382
- }
383
- });
384
- }); })];
348
+ case 1:
349
+ option = _a.sent();
350
+ methodRepo = manager.getCustomRepository(this.methodRepository_);
351
+ if (typeof config.cart !== "undefined") {
352
+ this.validateCartOption(option, config.cart);
353
+ }
354
+ return [4 /*yield*/, this.providerService_.validateFulfillmentData(option, data, config.cart || {})];
355
+ case 2:
356
+ validatedData = _a.sent();
357
+ if (!(typeof config.price === "number")) return [3 /*break*/, 3];
358
+ methodPrice = config.price;
359
+ return [3 /*break*/, 5];
360
+ case 3: return [4 /*yield*/, this.getPrice_(option, validatedData, config.cart)];
361
+ case 4:
362
+ methodPrice = _a.sent();
363
+ _a.label = 5;
364
+ case 5:
365
+ toCreate = {
366
+ shipping_option_id: option.id,
367
+ data: validatedData,
368
+ price: methodPrice,
369
+ };
370
+ if (config.order) {
371
+ toCreate.order_id = config.order.id;
372
+ }
373
+ if (config.cart) {
374
+ toCreate.cart_id = config.cart.id;
375
+ }
376
+ if (config.cart_id) {
377
+ toCreate.cart_id = config.cart_id;
378
+ }
379
+ if (config.return_id) {
380
+ toCreate.return_id = config.return_id;
381
+ }
382
+ if (config.order_id) {
383
+ toCreate.order_id = config.order_id;
384
+ }
385
+ if (config.claim_order_id) {
386
+ toCreate.claim_order_id = config.claim_order_id;
387
+ }
388
+ return [4 /*yield*/, methodRepo.create(toCreate)];
389
+ case 6:
390
+ method = _a.sent();
391
+ return [4 /*yield*/, methodRepo.save(method)];
392
+ case 7:
393
+ created = _a.sent();
394
+ return [2 /*return*/, methodRepo.findOne({
395
+ where: { id: created.id },
396
+ relations: ["shipping_option"],
397
+ })];
398
+ }
399
+ });
400
+ }); })];
401
+ case 1: return [2 /*return*/, _a.sent()];
402
+ }
385
403
  });
386
404
  });
387
405
  };
@@ -428,22 +446,23 @@ var ShippingOptionService = /** @class */ (function (_super) {
428
446
  var _this = this;
429
447
  return __generator(this, function (_a) {
430
448
  return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
431
- var optionRepo, option, region, _a, isValid, acc, _loop_1, this_1, _b, _c, r, e_1_1, result;
432
- var e_1, _d;
433
- return __generator(this, function (_e) {
434
- switch (_e.label) {
449
+ var optionRepo, option, region, _a, isValid, acc, _loop_1, this_1, _b, _c, r, e_2_1, result;
450
+ var e_2, _d;
451
+ var _e;
452
+ return __generator(this, function (_f) {
453
+ switch (_f.label) {
435
454
  case 0:
436
455
  optionRepo = manager.getCustomRepository(this.optionRepository_);
437
456
  return [4 /*yield*/, optionRepo.create(data)];
438
457
  case 1:
439
- option = _e.sent();
458
+ option = _f.sent();
440
459
  return [4 /*yield*/, this.regionService_
441
460
  .withTransaction(manager)
442
461
  .retrieve(option.region_id, {
443
462
  relations: ["fulfillment_providers"],
444
463
  })];
445
464
  case 2:
446
- region = _e.sent();
465
+ region = _f.sent();
447
466
  if (!region.fulfillment_providers.find(function (_a) {
448
467
  var id = _a.id;
449
468
  return id === option.provider_id;
@@ -453,23 +472,24 @@ var ShippingOptionService = /** @class */ (function (_super) {
453
472
  _a = option;
454
473
  return [4 /*yield*/, this.validatePriceType_(data.price_type, option)];
455
474
  case 3:
456
- _a.price_type = _e.sent();
457
- option.amount = data.price_type === "calculated" ? null : data.amount;
475
+ _a.price_type = _f.sent();
476
+ option.amount =
477
+ data.price_type === "calculated" ? null : (_e = data.amount) !== null && _e !== void 0 ? _e : null;
458
478
  return [4 /*yield*/, this.providerService_.validateOption(option)];
459
479
  case 4:
460
- isValid = _e.sent();
480
+ isValid = _f.sent();
461
481
  if (!isValid) {
462
482
  throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "The fulfillment provider cannot validate the shipping option");
463
483
  }
464
- if (!("requirements" in data)) return [3 /*break*/, 12];
484
+ if (!(typeof data.requirements !== "undefined")) return [3 /*break*/, 12];
465
485
  acc = [];
466
486
  _loop_1 = function (r) {
467
487
  var validated;
468
- return __generator(this, function (_f) {
469
- switch (_f.label) {
488
+ return __generator(this, function (_g) {
489
+ switch (_g.label) {
470
490
  case 0: return [4 /*yield*/, this_1.validateRequirement_(r)];
471
491
  case 1:
472
- validated = _f.sent();
492
+ validated = _g.sent();
473
493
  if (acc.find(function (raw) { return raw.type === validated.type; })) {
474
494
  throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "Only one requirement of each type is allowed");
475
495
  }
@@ -486,35 +506,35 @@ var ShippingOptionService = /** @class */ (function (_super) {
486
506
  });
487
507
  };
488
508
  this_1 = this;
489
- _e.label = 5;
509
+ _f.label = 5;
490
510
  case 5:
491
- _e.trys.push([5, 10, 11, 12]);
511
+ _f.trys.push([5, 10, 11, 12]);
492
512
  _b = __values(data.requirements), _c = _b.next();
493
- _e.label = 6;
513
+ _f.label = 6;
494
514
  case 6:
495
515
  if (!!_c.done) return [3 /*break*/, 9];
496
516
  r = _c.value;
497
517
  return [5 /*yield**/, _loop_1(r)];
498
518
  case 7:
499
- _e.sent();
500
- _e.label = 8;
519
+ _f.sent();
520
+ _f.label = 8;
501
521
  case 8:
502
522
  _c = _b.next();
503
523
  return [3 /*break*/, 6];
504
524
  case 9: return [3 /*break*/, 12];
505
525
  case 10:
506
- e_1_1 = _e.sent();
507
- e_1 = { error: e_1_1 };
526
+ e_2_1 = _f.sent();
527
+ e_2 = { error: e_2_1 };
508
528
  return [3 /*break*/, 12];
509
529
  case 11:
510
530
  try {
511
531
  if (_c && !_c.done && (_d = _b.return)) _d.call(_b);
512
532
  }
513
- finally { if (e_1) throw e_1.error; }
533
+ finally { if (e_2) throw e_2.error; }
514
534
  return [7 /*endfinally*/];
515
535
  case 12: return [4 /*yield*/, optionRepo.save(option)];
516
536
  case 13:
517
- result = _e.sent();
537
+ result = _f.sent();
518
538
  return [2 /*return*/, result];
519
539
  }
520
540
  });
@@ -522,16 +542,11 @@ var ShippingOptionService = /** @class */ (function (_super) {
522
542
  });
523
543
  });
524
544
  };
525
- /**
526
- * @typedef ShippingOptionPrice
527
- * @property {string} type - one of flat_rate, calculated
528
- * @property {number} value - the value if available
529
- */
530
545
  /**
531
546
  * Validates a shipping option price
532
- * @param {ShippingOptionPrice} priceType - the price to validate
547
+ * @param {ShippingOptionPriceType} priceType - the price to validate
533
548
  * @param {ShippingOption} option - the option to validate against
534
- * @return {Promise<ShippingOptionPrice>} the validated price
549
+ * @return {Promise<ShippingOptionPriceType>} the validated price
535
550
  */
536
551
  ShippingOptionService.prototype.validatePriceType_ = function (priceType, option) {
537
552
  return __awaiter(this, void 0, void 0, function () {
@@ -544,7 +559,7 @@ var ShippingOptionService = /** @class */ (function (_super) {
544
559
  throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_DATA, "The price must be of type flat_rate or calculated");
545
560
  }
546
561
  if (!(priceType === "calculated")) return [3 /*break*/, 2];
547
- return [4 /*yield*/, this.providerService_.canCalculate(option.provider_id, option.data)];
562
+ return [4 /*yield*/, this.providerService_.canCalculate(option)];
548
563
  case 1:
549
564
  canCalculate = _a.sent();
550
565
  if (!canCalculate) {
@@ -570,8 +585,8 @@ var ShippingOptionService = /** @class */ (function (_super) {
570
585
  var _this = this;
571
586
  return __generator(this, function (_a) {
572
587
  return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
573
- var option, _a, acc, _loop_2, this_2, _b, _c, r, e_2_1, accReqs_1, toRemove, _d, optionRepo, result;
574
- var e_2, _e;
588
+ var option, _a, acc, _loop_2, this_2, _b, _c, r, e_3_1, accReqs_1, toRemove, _d, optionRepo;
589
+ var e_3, _e;
575
590
  var _this = this;
576
591
  return __generator(this, function (_f) {
577
592
  switch (_f.label) {
@@ -580,9 +595,9 @@ var ShippingOptionService = /** @class */ (function (_super) {
580
595
  })];
581
596
  case 1:
582
597
  option = _f.sent();
583
- if (!("metadata" in update)) return [3 /*break*/, 3];
598
+ if (!(typeof update.metadata !== "undefined")) return [3 /*break*/, 3];
584
599
  _a = option;
585
- return [4 /*yield*/, this.setMetadata_(option, update.metadata)];
600
+ return [4 /*yield*/, (0, utils_1.setMetadata)(option, update.metadata)];
586
601
  case 2:
587
602
  _a.metadata = _f.sent();
588
603
  _f.label = 3;
@@ -590,10 +605,10 @@ var ShippingOptionService = /** @class */ (function (_super) {
590
605
  if (update.region_id || update.provider_id || update.data) {
591
606
  throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "Region and Provider cannot be updated after creation");
592
607
  }
593
- if ("is_return" in update) {
608
+ if (typeof update.is_return !== "undefined") {
594
609
  throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.NOT_ALLOWED, "is_return cannot be changed after creation");
595
610
  }
596
- if (!("requirements" in update)) return [3 /*break*/, 14];
611
+ if (!(typeof update.requirements !== "undefined")) return [3 /*break*/, 14];
597
612
  acc = [];
598
613
  _loop_2 = function (r) {
599
614
  var validated;
@@ -635,14 +650,14 @@ var ShippingOptionService = /** @class */ (function (_super) {
635
650
  return [3 /*break*/, 5];
636
651
  case 8: return [3 /*break*/, 11];
637
652
  case 9:
638
- e_2_1 = _f.sent();
639
- e_2 = { error: e_2_1 };
653
+ e_3_1 = _f.sent();
654
+ e_3 = { error: e_3_1 };
640
655
  return [3 /*break*/, 11];
641
656
  case 10:
642
657
  try {
643
658
  if (_c && !_c.done && (_e = _b.return)) _e.call(_b);
644
659
  }
645
- finally { if (e_2) throw e_2.error; }
660
+ finally { if (e_3) throw e_3.error; }
646
661
  return [7 /*endfinally*/];
647
662
  case 11:
648
663
  if (!option.requirements) return [3 /*break*/, 13];
@@ -665,7 +680,7 @@ var ShippingOptionService = /** @class */ (function (_super) {
665
680
  option.requirements = acc;
666
681
  _f.label = 14;
667
682
  case 14:
668
- if (!("price_type" in update)) return [3 /*break*/, 16];
683
+ if (!(typeof update.price_type !== "undefined")) return [3 /*break*/, 16];
669
684
  _d = option;
670
685
  return [4 /*yield*/, this.validatePriceType_(update.price_type, option)];
671
686
  case 15:
@@ -675,20 +690,19 @@ var ShippingOptionService = /** @class */ (function (_super) {
675
690
  }
676
691
  _f.label = 16;
677
692
  case 16:
678
- if ("amount" in update && option.price_type !== "calculated") {
693
+ if (typeof update.amount !== "undefined" &&
694
+ option.price_type !== "calculated") {
679
695
  option.amount = update.amount;
680
696
  }
681
- if ("name" in update) {
697
+ if (typeof update.name !== "undefined") {
682
698
  option.name = update.name;
683
699
  }
684
- if ("admin_only" in update) {
700
+ if (typeof update.admin_only !== "undefined") {
685
701
  option.admin_only = update.admin_only;
686
702
  }
687
703
  optionRepo = manager.getCustomRepository(this.optionRepository_);
688
704
  return [4 /*yield*/, optionRepo.save(option)];
689
- case 17:
690
- result = _f.sent();
691
- return [2 /*return*/, result];
705
+ case 17: return [2 /*return*/, _f.sent()];
692
706
  }
693
707
  });
694
708
  }); })];
@@ -703,35 +717,38 @@ var ShippingOptionService = /** @class */ (function (_super) {
703
717
  */
704
718
  ShippingOptionService.prototype.delete = function (optionId) {
705
719
  return __awaiter(this, void 0, void 0, function () {
706
- var option, optionRepo, error_1;
720
+ var _this = this;
707
721
  return __generator(this, function (_a) {
708
722
  switch (_a.label) {
709
- case 0:
710
- _a.trys.push([0, 2, , 3]);
711
- return [4 /*yield*/, this.retrieve(optionId)];
712
- case 1:
713
- option = _a.sent();
714
- optionRepo = this.manager_.getCustomRepository(this.optionRepository_);
715
- return [2 /*return*/, optionRepo.softRemove(option)];
716
- case 2:
717
- error_1 = _a.sent();
718
- // Delete is idempotent, but we return a promise to allow then-chaining
719
- return [2 /*return*/, Promise.resolve()];
720
- case 3: return [2 /*return*/];
723
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
724
+ var option, optionRepo, error_1;
725
+ return __generator(this, function (_a) {
726
+ switch (_a.label) {
727
+ case 0:
728
+ _a.trys.push([0, 2, , 3]);
729
+ return [4 /*yield*/, this.retrieve(optionId)];
730
+ case 1:
731
+ option = _a.sent();
732
+ optionRepo = manager.getCustomRepository(this.optionRepository_);
733
+ return [2 /*return*/, optionRepo.softRemove(option)];
734
+ case 2:
735
+ error_1 = _a.sent();
736
+ // Delete is idempotent, but we return a promise to allow then-chaining
737
+ return [2 /*return*/];
738
+ case 3: return [2 /*return*/];
739
+ }
740
+ });
741
+ }); })];
742
+ case 1: return [2 /*return*/, _a.sent()];
721
743
  }
722
744
  });
723
745
  });
724
746
  };
725
- /**
726
- * @typedef ShippingRequirement
727
- * @property {string} type - one of max_subtotal, min_subtotal
728
- * @property {number} amount - the value to match against
729
- */
730
747
  /**
731
748
  * Adds a requirement to a shipping option. Only 1 requirement of each type
732
749
  * is allowed.
733
750
  * @param {string} optionId - the option to add the requirement to.
734
- * @param {ShippingRequirement} requirement - the requirement for the option.
751
+ * @param {ShippingOptionRequirement} requirement - the requirement for the option.
735
752
  * @return {Promise} the result of update
736
753
  */
737
754
  ShippingOptionService.prototype.addRequirement = function (optionId, requirement) {
@@ -770,93 +787,32 @@ var ShippingOptionService = /** @class */ (function (_super) {
770
787
  ShippingOptionService.prototype.removeRequirement = function (requirementId) {
771
788
  return __awaiter(this, void 0, void 0, function () {
772
789
  var _this = this;
773
- return __generator(this, function (_a) {
774
- return [2 /*return*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
775
- var reqRepo, requirement, result, error_2;
776
- return __generator(this, function (_a) {
777
- switch (_a.label) {
778
- case 0:
779
- _a.trys.push([0, 3, , 4]);
780
- reqRepo = manager.getCustomRepository(this.requirementRepository_);
781
- return [4 /*yield*/, reqRepo.findOne({
782
- where: { id: requirementId },
783
- })];
784
- case 1:
785
- requirement = _a.sent();
786
- return [4 /*yield*/, reqRepo.softRemove(requirement)];
787
- case 2:
788
- result = _a.sent();
789
- return [2 /*return*/, result];
790
- case 3:
791
- error_2 = _a.sent();
792
- // Delete is idempotent, but we return a promise to allow then-chaining
793
- return [2 /*return*/, Promise.resolve()];
794
- case 4: return [2 /*return*/];
795
- }
796
- });
797
- }); })];
798
- });
799
- });
800
- };
801
- /**
802
- * Decorates a shipping option.
803
- * @param {ShippingOption} optionId - the shipping option to decorate using optionId.
804
- * @param {string[]} fields - the fields to include.
805
- * @param {string[]} expandFields - fields to expand.
806
- * @return {ShippingOption} the decorated ShippingOption.
807
- */
808
- ShippingOptionService.prototype.decorate = function (optionId, fields, expandFields) {
809
- if (fields === void 0) { fields = []; }
810
- if (expandFields === void 0) { expandFields = []; }
811
- return __awaiter(this, void 0, void 0, function () {
812
- var requiredFields, option;
813
790
  return __generator(this, function (_a) {
814
791
  switch (_a.label) {
815
- case 0:
816
- requiredFields = ["id", "metadata"];
817
- fields = fields.concat(requiredFields);
818
- return [4 /*yield*/, this.retrieve(optionId, {
819
- select: fields,
820
- relations: expandFields,
821
- })];
822
- case 1:
823
- option = _a.sent();
824
- return [2 /*return*/, option];
825
- }
826
- });
827
- });
828
- };
829
- /**
830
- * Dedicated method to set metadata for a shipping option.
831
- * @param {object} option - the option to set metadata for.
832
- * @param {object} metadata - object for metadata field
833
- * @return {Promise} resolves to the updated result.
834
- */
835
- ShippingOptionService.prototype.setMetadata_ = function (option, metadata) {
836
- return __awaiter(this, void 0, void 0, function () {
837
- var existing, newData, _a, _b, _c, key, value, updated;
838
- var e_3, _d;
839
- return __generator(this, function (_e) {
840
- existing = option.metadata || {};
841
- newData = {};
842
- try {
843
- for (_a = __values(Object.entries(metadata)), _b = _a.next(); !_b.done; _b = _a.next()) {
844
- _c = __read(_b.value, 2), key = _c[0], value = _c[1];
845
- if (typeof key !== "string") {
846
- throw new medusa_core_utils_1.MedusaError(medusa_core_utils_1.MedusaError.Types.INVALID_ARGUMENT, "Key type is invalid. Metadata keys must be strings");
847
- }
848
- newData[key] = value;
849
- }
850
- }
851
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
852
- finally {
853
- try {
854
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
855
- }
856
- finally { if (e_3) throw e_3.error; }
792
+ case 0: return [4 /*yield*/, this.atomicPhase_(function (manager) { return __awaiter(_this, void 0, void 0, function () {
793
+ var reqRepo, requirement;
794
+ return __generator(this, function (_a) {
795
+ switch (_a.label) {
796
+ case 0:
797
+ reqRepo = manager.getCustomRepository(this.requirementRepository_);
798
+ return [4 /*yield*/, reqRepo.findOne({
799
+ where: { id: requirementId },
800
+ })
801
+ // Delete is idempotent, but we return a promise to allow then-chaining
802
+ ];
803
+ case 1:
804
+ requirement = _a.sent();
805
+ // Delete is idempotent, but we return a promise to allow then-chaining
806
+ if (typeof requirement === "undefined") {
807
+ return [2 /*return*/, Promise.resolve()];
808
+ }
809
+ return [4 /*yield*/, reqRepo.softRemove(requirement)];
810
+ case 2: return [2 /*return*/, _a.sent()];
811
+ }
812
+ });
813
+ }); })];
814
+ case 1: return [2 /*return*/, _a.sent()];
857
815
  }
858
- updated = __assign(__assign({}, existing), newData);
859
- return [2 /*return*/, updated];
860
816
  });
861
817
  });
862
818
  };
@@ -882,6 +838,6 @@ var ShippingOptionService = /** @class */ (function (_super) {
882
838
  });
883
839
  };
884
840
  return ShippingOptionService;
885
- }(medusa_interfaces_1.BaseService));
841
+ }(interfaces_1.TransactionBaseService));
886
842
  exports.default = ShippingOptionService;
887
843
  //# sourceMappingURL=shipping-option.js.map