@gradientedge/commercetools-utils 5.9.1 → 5.11.0

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 (695) hide show
  1. package/dist/cjs/api/CommercetoolsApi.d.ts +1252 -0
  2. package/dist/cjs/api/CommercetoolsApi.d.ts.map +1 -0
  3. package/dist/cjs/api/CommercetoolsApi.js +2106 -0
  4. package/dist/cjs/api/CommercetoolsApi.js.map +1 -0
  5. package/dist/cjs/api/index.d.ts +3 -0
  6. package/dist/cjs/api/index.d.ts.map +1 -0
  7. package/dist/cjs/api/index.js +19 -0
  8. package/dist/cjs/api/index.js.map +1 -0
  9. package/dist/cjs/api/types.d.ts +33 -0
  10. package/dist/cjs/api/types.d.ts.map +1 -0
  11. package/dist/cjs/api/types.js +3 -0
  12. package/dist/cjs/api/types.js.map +1 -0
  13. package/dist/cjs/auth/CommercetoolsAuth.d.ts +182 -0
  14. package/dist/cjs/auth/CommercetoolsAuth.d.ts.map +1 -0
  15. package/dist/cjs/auth/CommercetoolsAuth.js +238 -0
  16. package/dist/cjs/auth/CommercetoolsAuth.js.map +1 -0
  17. package/dist/cjs/auth/CommercetoolsAuthApi.d.ts +83 -0
  18. package/dist/cjs/auth/CommercetoolsAuthApi.d.ts.map +1 -0
  19. package/dist/cjs/auth/CommercetoolsAuthApi.js +169 -0
  20. package/dist/cjs/auth/CommercetoolsAuthApi.js.map +1 -0
  21. package/dist/cjs/auth/CommercetoolsGrant.d.ts +66 -0
  22. package/dist/cjs/auth/CommercetoolsGrant.d.ts.map +1 -0
  23. package/dist/cjs/auth/CommercetoolsGrant.js +99 -0
  24. package/dist/cjs/auth/CommercetoolsGrant.js.map +1 -0
  25. package/dist/cjs/auth/constants.d.ts +7 -0
  26. package/dist/cjs/auth/constants.d.ts.map +1 -0
  27. package/dist/cjs/auth/constants.js +31 -0
  28. package/dist/cjs/auth/constants.js.map +1 -0
  29. package/dist/cjs/auth/index.d.ts +4 -0
  30. package/dist/cjs/auth/index.d.ts.map +1 -0
  31. package/dist/cjs/auth/index.js +19 -0
  32. package/dist/cjs/auth/index.js.map +1 -0
  33. package/dist/cjs/auth/scopes.d.ts +11 -0
  34. package/dist/cjs/auth/scopes.d.ts.map +1 -0
  35. package/dist/cjs/auth/scopes.js +30 -0
  36. package/dist/cjs/auth/scopes.js.map +1 -0
  37. package/dist/cjs/auth/types.d.ts +118 -0
  38. package/dist/cjs/auth/types.d.ts.map +1 -0
  39. package/dist/cjs/auth/types.js +28 -0
  40. package/dist/cjs/auth/types.js.map +1 -0
  41. package/dist/{typings → cjs}/auth/utils.d.ts +1 -0
  42. package/dist/cjs/auth/utils.d.ts.map +1 -0
  43. package/dist/cjs/auth/utils.js +14 -0
  44. package/dist/cjs/auth/utils.js.map +1 -0
  45. package/dist/cjs/constants.d.ts +33 -0
  46. package/dist/cjs/constants.d.ts.map +1 -0
  47. package/dist/cjs/constants.js +46 -0
  48. package/dist/cjs/constants.js.map +1 -0
  49. package/dist/cjs/error/CommercetoolsError.d.ts +34 -0
  50. package/dist/cjs/error/CommercetoolsError.d.ts.map +1 -0
  51. package/dist/cjs/error/CommercetoolsError.js +113 -0
  52. package/dist/cjs/error/CommercetoolsError.js.map +1 -0
  53. package/dist/cjs/error/index.d.ts +2 -0
  54. package/dist/cjs/error/index.d.ts.map +1 -0
  55. package/dist/cjs/error/index.js +18 -0
  56. package/dist/cjs/error/index.js.map +1 -0
  57. package/dist/cjs/index.d.ts +8 -0
  58. package/dist/cjs/index.d.ts.map +1 -0
  59. package/dist/cjs/index.js +26 -0
  60. package/dist/cjs/index.js.map +1 -0
  61. package/dist/cjs/models/associate-role.d.ts +319 -0
  62. package/dist/cjs/models/associate-role.d.ts.map +1 -0
  63. package/dist/cjs/models/associate-role.js +8 -0
  64. package/dist/cjs/models/associate-role.js.map +1 -0
  65. package/dist/cjs/models/attribute-group.d.ts +253 -0
  66. package/dist/cjs/models/attribute-group.d.ts.map +1 -0
  67. package/dist/cjs/models/attribute-group.js +8 -0
  68. package/dist/cjs/models/attribute-group.js.map +1 -0
  69. package/dist/cjs/models/business-unit.d.ts +1197 -0
  70. package/dist/cjs/models/business-unit.d.ts.map +1 -0
  71. package/dist/cjs/models/business-unit.js +8 -0
  72. package/dist/cjs/models/business-unit.js.map +1 -0
  73. package/dist/cjs/models/cart-discount.d.ts +716 -0
  74. package/dist/cjs/models/cart-discount.d.ts.map +1 -0
  75. package/dist/cjs/models/cart-discount.js +8 -0
  76. package/dist/cjs/models/cart-discount.js.map +1 -0
  77. package/dist/cjs/models/cart.d.ts +3350 -0
  78. package/dist/cjs/models/cart.d.ts.map +1 -0
  79. package/dist/cjs/models/cart.js +8 -0
  80. package/dist/cjs/models/cart.js.map +1 -0
  81. package/dist/cjs/models/category.d.ts +634 -0
  82. package/dist/cjs/models/category.d.ts.map +1 -0
  83. package/dist/cjs/models/category.js +8 -0
  84. package/dist/cjs/models/category.js.map +1 -0
  85. package/dist/cjs/models/channel.d.ts +379 -0
  86. package/dist/cjs/models/channel.d.ts.map +1 -0
  87. package/dist/cjs/models/channel.js +8 -0
  88. package/dist/cjs/models/channel.js.map +1 -0
  89. package/dist/cjs/models/common.d.ts +1096 -0
  90. package/dist/cjs/models/common.d.ts.map +1 -0
  91. package/dist/cjs/models/common.js +8 -0
  92. package/dist/cjs/models/common.js.map +1 -0
  93. package/dist/cjs/models/custom-object.d.ts +151 -0
  94. package/dist/cjs/models/custom-object.d.ts.map +1 -0
  95. package/dist/cjs/models/custom-object.js +8 -0
  96. package/dist/cjs/models/custom-object.js.map +1 -0
  97. package/dist/cjs/models/customer-group.d.ts +235 -0
  98. package/dist/cjs/models/customer-group.d.ts.map +1 -0
  99. package/dist/cjs/models/customer-group.js +8 -0
  100. package/dist/cjs/models/customer-group.js.map +1 -0
  101. package/dist/cjs/models/customer.d.ts +1221 -0
  102. package/dist/cjs/models/customer.d.ts.map +1 -0
  103. package/dist/cjs/models/customer.js +8 -0
  104. package/dist/cjs/models/customer.js.map +1 -0
  105. package/dist/cjs/models/discount-code.d.ts +439 -0
  106. package/dist/cjs/models/discount-code.d.ts.map +1 -0
  107. package/dist/cjs/models/discount-code.js +8 -0
  108. package/dist/cjs/models/discount-code.js.map +1 -0
  109. package/dist/cjs/models/error.d.ts +3062 -0
  110. package/dist/cjs/models/error.d.ts.map +1 -0
  111. package/dist/cjs/models/error.js +8 -0
  112. package/dist/cjs/models/error.js.map +1 -0
  113. package/dist/cjs/models/extension.d.ts +335 -0
  114. package/dist/cjs/models/extension.d.ts.map +1 -0
  115. package/dist/cjs/models/extension.js +8 -0
  116. package/dist/cjs/models/extension.js.map +1 -0
  117. package/dist/cjs/models/graph-ql.d.ts +63 -0
  118. package/dist/cjs/models/graph-ql.d.ts.map +1 -0
  119. package/dist/cjs/models/graph-ql.js +8 -0
  120. package/dist/cjs/models/graph-ql.js.map +1 -0
  121. package/dist/cjs/models/index.d.ts +42 -0
  122. package/dist/cjs/models/index.d.ts.map +1 -0
  123. package/dist/cjs/models/index.js +58 -0
  124. package/dist/cjs/models/index.js.map +1 -0
  125. package/dist/cjs/models/inventory.d.ts +327 -0
  126. package/dist/cjs/models/inventory.d.ts.map +1 -0
  127. package/dist/cjs/models/inventory.js +8 -0
  128. package/dist/cjs/models/inventory.js.map +1 -0
  129. package/dist/cjs/models/me.d.ts +2483 -0
  130. package/dist/cjs/models/me.d.ts.map +1 -0
  131. package/dist/cjs/models/me.js +8 -0
  132. package/dist/cjs/models/me.js.map +1 -0
  133. package/dist/cjs/models/message.d.ts +15095 -0
  134. package/dist/cjs/models/message.d.ts.map +1 -0
  135. package/dist/cjs/models/message.js +8 -0
  136. package/dist/cjs/models/message.js.map +1 -0
  137. package/dist/cjs/models/order-edit.d.ts +1645 -0
  138. package/dist/cjs/models/order-edit.d.ts.map +1 -0
  139. package/dist/cjs/models/order-edit.js +8 -0
  140. package/dist/cjs/models/order-edit.js.map +1 -0
  141. package/dist/{typings → cjs}/models/order.d.ts +1490 -15
  142. package/dist/cjs/models/order.d.ts.map +1 -0
  143. package/dist/cjs/models/order.js +8 -0
  144. package/dist/cjs/models/order.js.map +1 -0
  145. package/dist/cjs/models/payment.d.ts +734 -0
  146. package/dist/cjs/models/payment.d.ts.map +1 -0
  147. package/dist/cjs/models/payment.js +8 -0
  148. package/dist/cjs/models/payment.js.map +1 -0
  149. package/dist/cjs/models/product-discount.d.ts +461 -0
  150. package/dist/cjs/models/product-discount.d.ts.map +1 -0
  151. package/dist/cjs/models/product-discount.js +8 -0
  152. package/dist/cjs/models/product-discount.js.map +1 -0
  153. package/dist/cjs/models/product-selection.d.ts +638 -0
  154. package/dist/cjs/models/product-selection.d.ts.map +1 -0
  155. package/dist/cjs/models/product-selection.js +8 -0
  156. package/dist/cjs/models/product-selection.js.map +1 -0
  157. package/dist/cjs/models/product-type.d.ts +774 -0
  158. package/dist/cjs/models/product-type.d.ts.map +1 -0
  159. package/dist/cjs/models/product-type.js +8 -0
  160. package/dist/cjs/models/product-type.js.map +1 -0
  161. package/dist/cjs/models/product.d.ts +2282 -0
  162. package/dist/cjs/models/product.d.ts.map +1 -0
  163. package/dist/cjs/models/product.js +8 -0
  164. package/dist/cjs/models/product.js.map +1 -0
  165. package/dist/cjs/models/project.d.ts +381 -0
  166. package/dist/cjs/models/project.d.ts.map +1 -0
  167. package/dist/cjs/models/project.js +8 -0
  168. package/dist/cjs/models/project.js.map +1 -0
  169. package/dist/cjs/models/quote-request.d.ts +430 -0
  170. package/dist/cjs/models/quote-request.d.ts.map +1 -0
  171. package/dist/cjs/models/quote-request.js +8 -0
  172. package/dist/cjs/models/quote-request.js.map +1 -0
  173. package/dist/cjs/models/quote.d.ts +458 -0
  174. package/dist/cjs/models/quote.d.ts.map +1 -0
  175. package/dist/cjs/models/quote.js +8 -0
  176. package/dist/cjs/models/quote.js.map +1 -0
  177. package/dist/cjs/models/review.d.ts +435 -0
  178. package/dist/cjs/models/review.d.ts.map +1 -0
  179. package/dist/cjs/models/review.js +8 -0
  180. package/dist/cjs/models/review.js.map +1 -0
  181. package/dist/cjs/models/scalar-types.d.ts +9 -0
  182. package/dist/cjs/models/scalar-types.d.ts.map +1 -0
  183. package/dist/cjs/models/scalar-types.js +8 -0
  184. package/dist/cjs/models/scalar-types.js.map +1 -0
  185. package/dist/cjs/models/shipping-method.d.ts +569 -0
  186. package/dist/cjs/models/shipping-method.d.ts.map +1 -0
  187. package/dist/cjs/models/shipping-method.js +8 -0
  188. package/dist/cjs/models/shipping-method.js.map +1 -0
  189. package/dist/cjs/models/shopping-list.d.ts +844 -0
  190. package/dist/cjs/models/shopping-list.d.ts.map +1 -0
  191. package/dist/cjs/models/shopping-list.js +8 -0
  192. package/dist/cjs/models/shopping-list.js.map +1 -0
  193. package/dist/cjs/models/staged-quote.d.ts +338 -0
  194. package/dist/cjs/models/staged-quote.d.ts.map +1 -0
  195. package/dist/cjs/models/staged-quote.js +8 -0
  196. package/dist/cjs/models/staged-quote.js.map +1 -0
  197. package/dist/cjs/models/standalone-price.d.ts +410 -0
  198. package/dist/cjs/models/standalone-price.d.ts.map +1 -0
  199. package/dist/cjs/models/standalone-price.js +8 -0
  200. package/dist/cjs/models/standalone-price.js.map +1 -0
  201. package/dist/cjs/models/state.d.ts +341 -0
  202. package/dist/cjs/models/state.d.ts.map +1 -0
  203. package/dist/cjs/models/state.js +8 -0
  204. package/dist/cjs/models/state.js.map +1 -0
  205. package/dist/cjs/models/store-country.d.ts +14 -0
  206. package/dist/cjs/models/store-country.d.ts.map +1 -0
  207. package/dist/cjs/models/store-country.js +8 -0
  208. package/dist/cjs/models/store-country.js.map +1 -0
  209. package/dist/cjs/models/store.d.ts +547 -0
  210. package/dist/cjs/models/store.d.ts.map +1 -0
  211. package/dist/cjs/models/store.js +8 -0
  212. package/dist/cjs/models/store.js.map +1 -0
  213. package/dist/cjs/models/subscription.d.ts +717 -0
  214. package/dist/cjs/models/subscription.d.ts.map +1 -0
  215. package/dist/cjs/models/subscription.js +8 -0
  216. package/dist/cjs/models/subscription.js.map +1 -0
  217. package/dist/cjs/models/tax-category.d.ts +376 -0
  218. package/dist/cjs/models/tax-category.d.ts.map +1 -0
  219. package/dist/cjs/models/tax-category.js +8 -0
  220. package/dist/cjs/models/tax-category.js.map +1 -0
  221. package/dist/cjs/models/type.d.ts +645 -0
  222. package/dist/cjs/models/type.d.ts.map +1 -0
  223. package/dist/cjs/models/type.js +8 -0
  224. package/dist/cjs/models/type.js.map +1 -0
  225. package/dist/cjs/models/zone.d.ts +234 -0
  226. package/dist/cjs/models/zone.d.ts.map +1 -0
  227. package/dist/cjs/models/zone.js +8 -0
  228. package/dist/cjs/models/zone.js.map +1 -0
  229. package/dist/cjs/package.json +1 -0
  230. package/dist/cjs/request/index.d.ts +3 -0
  231. package/dist/cjs/request/index.d.ts.map +1 -0
  232. package/dist/cjs/request/index.js +19 -0
  233. package/dist/cjs/request/index.js.map +1 -0
  234. package/dist/cjs/request/is-retryable-error.d.ts +6 -0
  235. package/dist/cjs/request/is-retryable-error.d.ts.map +1 -0
  236. package/dist/cjs/request/is-retryable-error.js +28 -0
  237. package/dist/cjs/request/is-retryable-error.js.map +1 -0
  238. package/dist/{typings → cjs}/request/request-executor.d.ts +3 -2
  239. package/dist/cjs/request/request-executor.d.ts.map +1 -0
  240. package/dist/cjs/request/request-executor.js +23 -0
  241. package/dist/cjs/request/request-executor.js.map +1 -0
  242. package/dist/{typings → cjs}/request/request.d.ts +3 -2
  243. package/dist/cjs/request/request.d.ts.map +1 -0
  244. package/dist/cjs/request/request.js +84 -0
  245. package/dist/cjs/request/request.js.map +1 -0
  246. package/dist/cjs/request/transform-error.d.ts +7 -0
  247. package/dist/cjs/request/transform-error.d.ts.map +1 -0
  248. package/dist/cjs/request/transform-error.js +16 -0
  249. package/dist/cjs/request/transform-error.js.map +1 -0
  250. package/dist/{typings → cjs}/types.d.ts +39 -1
  251. package/dist/cjs/types.d.ts.map +1 -0
  252. package/dist/cjs/types.js +16 -0
  253. package/dist/cjs/types.js.map +1 -0
  254. package/dist/{typings → cjs}/utils/axios/convert-error.d.ts +2 -1
  255. package/dist/cjs/utils/axios/convert-error.d.ts.map +1 -0
  256. package/dist/cjs/utils/axios/convert-error.js +28 -0
  257. package/dist/cjs/utils/axios/convert-error.js.map +1 -0
  258. package/dist/{typings → cjs}/utils/axios/convert-response.d.ts +2 -1
  259. package/dist/cjs/utils/axios/convert-response.d.ts.map +1 -0
  260. package/dist/cjs/utils/axios/convert-response.js +23 -0
  261. package/dist/cjs/utils/axios/convert-response.js.map +1 -0
  262. package/dist/{typings → cjs}/utils/axios/create-instance.d.ts +5 -0
  263. package/dist/cjs/utils/axios/create-instance.d.ts.map +1 -0
  264. package/dist/cjs/utils/axios/create-instance.js +30 -0
  265. package/dist/cjs/utils/axios/create-instance.js.map +1 -0
  266. package/dist/{typings → cjs}/utils/axios/extract-headers.d.ts +1 -0
  267. package/dist/cjs/utils/axios/extract-headers.d.ts.map +1 -0
  268. package/dist/cjs/utils/axios/extract-headers.js +23 -0
  269. package/dist/cjs/utils/axios/extract-headers.js.map +1 -0
  270. package/dist/cjs/utils/axios/index.d.ts +5 -0
  271. package/dist/cjs/utils/axios/index.d.ts.map +1 -0
  272. package/dist/cjs/utils/axios/index.js +21 -0
  273. package/dist/cjs/utils/axios/index.js.map +1 -0
  274. package/dist/cjs/utils/calculate-delay.d.ts +7 -0
  275. package/dist/cjs/utils/calculate-delay.d.ts.map +1 -0
  276. package/dist/cjs/utils/calculate-delay.js +30 -0
  277. package/dist/cjs/utils/calculate-delay.js.map +1 -0
  278. package/dist/cjs/utils/ensure-non-empty-string.d.ts +16 -0
  279. package/dist/cjs/utils/ensure-non-empty-string.d.ts.map +1 -0
  280. package/dist/cjs/utils/ensure-non-empty-string.js +16 -0
  281. package/dist/cjs/utils/ensure-non-empty-string.js.map +1 -0
  282. package/dist/cjs/utils/format.d.ts +11 -0
  283. package/dist/cjs/utils/format.d.ts.map +1 -0
  284. package/dist/cjs/utils/format.js +48 -0
  285. package/dist/cjs/utils/format.js.map +1 -0
  286. package/dist/cjs/utils/get-attribute-value.d.ts +17 -0
  287. package/dist/cjs/utils/get-attribute-value.d.ts.map +1 -0
  288. package/dist/cjs/utils/get-attribute-value.js +19 -0
  289. package/dist/cjs/utils/get-attribute-value.js.map +1 -0
  290. package/dist/cjs/utils/index.d.ts +9 -0
  291. package/dist/cjs/utils/index.d.ts.map +1 -0
  292. package/dist/cjs/utils/index.js +25 -0
  293. package/dist/cjs/utils/index.js.map +1 -0
  294. package/dist/cjs/utils/mask.d.ts +28 -0
  295. package/dist/cjs/utils/mask.d.ts.map +1 -0
  296. package/dist/cjs/utils/mask.js +63 -0
  297. package/dist/cjs/utils/mask.js.map +1 -0
  298. package/dist/cjs/utils/plain-clone.d.ts +14 -0
  299. package/dist/cjs/utils/plain-clone.d.ts.map +1 -0
  300. package/dist/cjs/utils/plain-clone.js +41 -0
  301. package/dist/cjs/utils/plain-clone.js.map +1 -0
  302. package/dist/cjs/utils/retry-on-conflict.d.ts +99 -0
  303. package/dist/cjs/utils/retry-on-conflict.d.ts.map +1 -0
  304. package/dist/cjs/utils/retry-on-conflict.js +109 -0
  305. package/dist/cjs/utils/retry-on-conflict.js.map +1 -0
  306. package/dist/cjs/utils/useragent.d.ts +10 -0
  307. package/dist/cjs/utils/useragent.d.ts.map +1 -0
  308. package/dist/cjs/utils/useragent.js +21 -0
  309. package/dist/cjs/utils/useragent.js.map +1 -0
  310. package/dist/mjs/api/CommercetoolsApi.d.ts +1252 -0
  311. package/dist/mjs/api/CommercetoolsApi.d.ts.map +1 -0
  312. package/dist/mjs/api/CommercetoolsApi.js +2102 -0
  313. package/dist/mjs/api/CommercetoolsApi.js.map +1 -0
  314. package/dist/mjs/api/index.d.ts +3 -0
  315. package/dist/mjs/api/index.d.ts.map +1 -0
  316. package/dist/mjs/api/index.js +3 -0
  317. package/dist/mjs/api/index.js.map +1 -0
  318. package/dist/mjs/api/types.d.ts +33 -0
  319. package/dist/mjs/api/types.d.ts.map +1 -0
  320. package/dist/mjs/api/types.js +2 -0
  321. package/dist/mjs/api/types.js.map +1 -0
  322. package/dist/mjs/auth/CommercetoolsAuth.d.ts +182 -0
  323. package/dist/mjs/auth/CommercetoolsAuth.d.ts.map +1 -0
  324. package/dist/mjs/auth/CommercetoolsAuth.js +234 -0
  325. package/dist/mjs/auth/CommercetoolsAuth.js.map +1 -0
  326. package/dist/mjs/auth/CommercetoolsAuthApi.d.ts +83 -0
  327. package/dist/mjs/auth/CommercetoolsAuthApi.d.ts.map +1 -0
  328. package/dist/mjs/auth/CommercetoolsAuthApi.js +165 -0
  329. package/dist/mjs/auth/CommercetoolsAuthApi.js.map +1 -0
  330. package/dist/mjs/auth/CommercetoolsGrant.d.ts +66 -0
  331. package/dist/mjs/auth/CommercetoolsGrant.d.ts.map +1 -0
  332. package/dist/mjs/auth/CommercetoolsGrant.js +95 -0
  333. package/dist/mjs/auth/CommercetoolsGrant.js.map +1 -0
  334. package/dist/mjs/auth/constants.d.ts +7 -0
  335. package/dist/mjs/auth/constants.d.ts.map +1 -0
  336. package/dist/mjs/auth/constants.js +28 -0
  337. package/dist/mjs/auth/constants.js.map +1 -0
  338. package/dist/mjs/auth/index.d.ts +4 -0
  339. package/dist/mjs/auth/index.d.ts.map +1 -0
  340. package/dist/mjs/auth/index.js +3 -0
  341. package/dist/mjs/auth/index.js.map +1 -0
  342. package/dist/mjs/auth/scopes.d.ts +11 -0
  343. package/dist/mjs/auth/scopes.d.ts.map +1 -0
  344. package/dist/mjs/auth/scopes.js +25 -0
  345. package/dist/mjs/auth/scopes.js.map +1 -0
  346. package/dist/mjs/auth/types.d.ts +118 -0
  347. package/dist/mjs/auth/types.d.ts.map +1 -0
  348. package/dist/mjs/auth/types.js +25 -0
  349. package/dist/mjs/auth/types.js.map +1 -0
  350. package/dist/mjs/auth/utils.d.ts +2 -0
  351. package/dist/mjs/auth/utils.d.ts.map +1 -0
  352. package/dist/mjs/auth/utils.js +10 -0
  353. package/dist/mjs/auth/utils.js.map +1 -0
  354. package/dist/mjs/constants.d.ts +33 -0
  355. package/dist/mjs/constants.d.ts.map +1 -0
  356. package/dist/mjs/constants.js +43 -0
  357. package/dist/mjs/constants.js.map +1 -0
  358. package/dist/mjs/error/CommercetoolsError.d.ts +34 -0
  359. package/dist/mjs/error/CommercetoolsError.d.ts.map +1 -0
  360. package/dist/mjs/error/CommercetoolsError.js +106 -0
  361. package/dist/mjs/error/CommercetoolsError.js.map +1 -0
  362. package/dist/mjs/error/index.d.ts +2 -0
  363. package/dist/mjs/error/index.d.ts.map +1 -0
  364. package/dist/mjs/error/index.js +2 -0
  365. package/dist/mjs/error/index.js.map +1 -0
  366. package/dist/mjs/index.d.ts +8 -0
  367. package/dist/mjs/index.d.ts.map +1 -0
  368. package/dist/mjs/index.js +8 -0
  369. package/dist/mjs/index.js.map +1 -0
  370. package/dist/mjs/models/associate-role.d.ts +319 -0
  371. package/dist/mjs/models/associate-role.d.ts.map +1 -0
  372. package/dist/mjs/models/associate-role.js +7 -0
  373. package/dist/mjs/models/associate-role.js.map +1 -0
  374. package/dist/mjs/models/attribute-group.d.ts +253 -0
  375. package/dist/mjs/models/attribute-group.d.ts.map +1 -0
  376. package/dist/mjs/models/attribute-group.js +7 -0
  377. package/dist/mjs/models/attribute-group.js.map +1 -0
  378. package/dist/mjs/models/business-unit.d.ts +1197 -0
  379. package/dist/mjs/models/business-unit.d.ts.map +1 -0
  380. package/dist/mjs/models/business-unit.js +7 -0
  381. package/dist/mjs/models/business-unit.js.map +1 -0
  382. package/dist/mjs/models/cart-discount.d.ts +716 -0
  383. package/dist/mjs/models/cart-discount.d.ts.map +1 -0
  384. package/dist/mjs/models/cart-discount.js +7 -0
  385. package/dist/mjs/models/cart-discount.js.map +1 -0
  386. package/dist/mjs/models/cart.d.ts +3350 -0
  387. package/dist/mjs/models/cart.d.ts.map +1 -0
  388. package/dist/mjs/models/cart.js +7 -0
  389. package/dist/mjs/models/cart.js.map +1 -0
  390. package/dist/mjs/models/category.d.ts +634 -0
  391. package/dist/mjs/models/category.d.ts.map +1 -0
  392. package/dist/mjs/models/category.js +7 -0
  393. package/dist/mjs/models/category.js.map +1 -0
  394. package/dist/mjs/models/channel.d.ts +379 -0
  395. package/dist/mjs/models/channel.d.ts.map +1 -0
  396. package/dist/mjs/models/channel.js +7 -0
  397. package/dist/mjs/models/channel.js.map +1 -0
  398. package/dist/mjs/models/common.d.ts +1096 -0
  399. package/dist/mjs/models/common.d.ts.map +1 -0
  400. package/dist/mjs/models/common.js +7 -0
  401. package/dist/mjs/models/common.js.map +1 -0
  402. package/dist/mjs/models/custom-object.d.ts +151 -0
  403. package/dist/mjs/models/custom-object.d.ts.map +1 -0
  404. package/dist/mjs/models/custom-object.js +7 -0
  405. package/dist/mjs/models/custom-object.js.map +1 -0
  406. package/dist/mjs/models/customer-group.d.ts +235 -0
  407. package/dist/mjs/models/customer-group.d.ts.map +1 -0
  408. package/dist/mjs/models/customer-group.js +7 -0
  409. package/dist/mjs/models/customer-group.js.map +1 -0
  410. package/dist/mjs/models/customer.d.ts +1221 -0
  411. package/dist/mjs/models/customer.d.ts.map +1 -0
  412. package/dist/mjs/models/customer.js +7 -0
  413. package/dist/mjs/models/customer.js.map +1 -0
  414. package/dist/mjs/models/discount-code.d.ts +439 -0
  415. package/dist/mjs/models/discount-code.d.ts.map +1 -0
  416. package/dist/mjs/models/discount-code.js +7 -0
  417. package/dist/mjs/models/discount-code.js.map +1 -0
  418. package/dist/mjs/models/error.d.ts +3062 -0
  419. package/dist/mjs/models/error.d.ts.map +1 -0
  420. package/dist/mjs/models/error.js +7 -0
  421. package/dist/mjs/models/error.js.map +1 -0
  422. package/dist/mjs/models/extension.d.ts +335 -0
  423. package/dist/mjs/models/extension.d.ts.map +1 -0
  424. package/dist/mjs/models/extension.js +7 -0
  425. package/dist/mjs/models/extension.js.map +1 -0
  426. package/dist/mjs/models/graph-ql.d.ts +63 -0
  427. package/dist/mjs/models/graph-ql.d.ts.map +1 -0
  428. package/dist/mjs/models/graph-ql.js +7 -0
  429. package/dist/mjs/models/graph-ql.js.map +1 -0
  430. package/dist/mjs/models/index.d.ts +42 -0
  431. package/dist/mjs/models/index.d.ts.map +1 -0
  432. package/dist/mjs/models/index.js +42 -0
  433. package/dist/mjs/models/index.js.map +1 -0
  434. package/dist/mjs/models/inventory.d.ts +327 -0
  435. package/dist/mjs/models/inventory.d.ts.map +1 -0
  436. package/dist/mjs/models/inventory.js +7 -0
  437. package/dist/mjs/models/inventory.js.map +1 -0
  438. package/dist/mjs/models/me.d.ts +2483 -0
  439. package/dist/mjs/models/me.d.ts.map +1 -0
  440. package/dist/mjs/models/me.js +7 -0
  441. package/dist/mjs/models/me.js.map +1 -0
  442. package/dist/mjs/models/message.d.ts +15095 -0
  443. package/dist/mjs/models/message.d.ts.map +1 -0
  444. package/dist/mjs/models/message.js +7 -0
  445. package/dist/mjs/models/message.js.map +1 -0
  446. package/dist/mjs/models/order-edit.d.ts +1645 -0
  447. package/dist/mjs/models/order-edit.d.ts.map +1 -0
  448. package/dist/mjs/models/order-edit.js +7 -0
  449. package/dist/mjs/models/order-edit.js.map +1 -0
  450. package/dist/mjs/models/order.d.ts +2157 -0
  451. package/dist/mjs/models/order.d.ts.map +1 -0
  452. package/dist/mjs/models/order.js +7 -0
  453. package/dist/mjs/models/order.js.map +1 -0
  454. package/dist/mjs/models/payment.d.ts +734 -0
  455. package/dist/mjs/models/payment.d.ts.map +1 -0
  456. package/dist/mjs/models/payment.js +7 -0
  457. package/dist/mjs/models/payment.js.map +1 -0
  458. package/dist/mjs/models/product-discount.d.ts +461 -0
  459. package/dist/mjs/models/product-discount.d.ts.map +1 -0
  460. package/dist/mjs/models/product-discount.js +7 -0
  461. package/dist/mjs/models/product-discount.js.map +1 -0
  462. package/dist/mjs/models/product-selection.d.ts +638 -0
  463. package/dist/mjs/models/product-selection.d.ts.map +1 -0
  464. package/dist/mjs/models/product-selection.js +7 -0
  465. package/dist/mjs/models/product-selection.js.map +1 -0
  466. package/dist/mjs/models/product-type.d.ts +774 -0
  467. package/dist/mjs/models/product-type.d.ts.map +1 -0
  468. package/dist/mjs/models/product-type.js +7 -0
  469. package/dist/mjs/models/product-type.js.map +1 -0
  470. package/dist/mjs/models/product.d.ts +2282 -0
  471. package/dist/mjs/models/product.d.ts.map +1 -0
  472. package/dist/mjs/models/product.js +7 -0
  473. package/dist/mjs/models/product.js.map +1 -0
  474. package/dist/mjs/models/project.d.ts +381 -0
  475. package/dist/mjs/models/project.d.ts.map +1 -0
  476. package/dist/mjs/models/project.js +7 -0
  477. package/dist/mjs/models/project.js.map +1 -0
  478. package/dist/mjs/models/quote-request.d.ts +430 -0
  479. package/dist/mjs/models/quote-request.d.ts.map +1 -0
  480. package/dist/mjs/models/quote-request.js +7 -0
  481. package/dist/mjs/models/quote-request.js.map +1 -0
  482. package/dist/mjs/models/quote.d.ts +458 -0
  483. package/dist/mjs/models/quote.d.ts.map +1 -0
  484. package/dist/mjs/models/quote.js +7 -0
  485. package/dist/mjs/models/quote.js.map +1 -0
  486. package/dist/mjs/models/review.d.ts +435 -0
  487. package/dist/mjs/models/review.d.ts.map +1 -0
  488. package/dist/mjs/models/review.js +7 -0
  489. package/dist/mjs/models/review.js.map +1 -0
  490. package/dist/mjs/models/scalar-types.d.ts +9 -0
  491. package/dist/mjs/models/scalar-types.d.ts.map +1 -0
  492. package/dist/mjs/models/scalar-types.js +7 -0
  493. package/dist/mjs/models/scalar-types.js.map +1 -0
  494. package/dist/mjs/models/shipping-method.d.ts +569 -0
  495. package/dist/mjs/models/shipping-method.d.ts.map +1 -0
  496. package/dist/mjs/models/shipping-method.js +7 -0
  497. package/dist/mjs/models/shipping-method.js.map +1 -0
  498. package/dist/mjs/models/shopping-list.d.ts +844 -0
  499. package/dist/mjs/models/shopping-list.d.ts.map +1 -0
  500. package/dist/mjs/models/shopping-list.js +7 -0
  501. package/dist/mjs/models/shopping-list.js.map +1 -0
  502. package/dist/mjs/models/staged-quote.d.ts +338 -0
  503. package/dist/mjs/models/staged-quote.d.ts.map +1 -0
  504. package/dist/mjs/models/staged-quote.js +7 -0
  505. package/dist/mjs/models/staged-quote.js.map +1 -0
  506. package/dist/mjs/models/standalone-price.d.ts +410 -0
  507. package/dist/mjs/models/standalone-price.d.ts.map +1 -0
  508. package/dist/mjs/models/standalone-price.js +7 -0
  509. package/dist/mjs/models/standalone-price.js.map +1 -0
  510. package/dist/mjs/models/state.d.ts +341 -0
  511. package/dist/mjs/models/state.d.ts.map +1 -0
  512. package/dist/mjs/models/state.js +7 -0
  513. package/dist/mjs/models/state.js.map +1 -0
  514. package/dist/mjs/models/store-country.d.ts +14 -0
  515. package/dist/mjs/models/store-country.d.ts.map +1 -0
  516. package/dist/mjs/models/store-country.js +7 -0
  517. package/dist/mjs/models/store-country.js.map +1 -0
  518. package/dist/mjs/models/store.d.ts +547 -0
  519. package/dist/mjs/models/store.d.ts.map +1 -0
  520. package/dist/mjs/models/store.js +7 -0
  521. package/dist/mjs/models/store.js.map +1 -0
  522. package/dist/mjs/models/subscription.d.ts +717 -0
  523. package/dist/mjs/models/subscription.d.ts.map +1 -0
  524. package/dist/mjs/models/subscription.js +7 -0
  525. package/dist/mjs/models/subscription.js.map +1 -0
  526. package/dist/mjs/models/tax-category.d.ts +376 -0
  527. package/dist/mjs/models/tax-category.d.ts.map +1 -0
  528. package/dist/mjs/models/tax-category.js +7 -0
  529. package/dist/mjs/models/tax-category.js.map +1 -0
  530. package/dist/mjs/models/type.d.ts +645 -0
  531. package/dist/mjs/models/type.d.ts.map +1 -0
  532. package/dist/mjs/models/type.js +7 -0
  533. package/dist/mjs/models/type.js.map +1 -0
  534. package/dist/mjs/models/zone.d.ts +234 -0
  535. package/dist/mjs/models/zone.d.ts.map +1 -0
  536. package/dist/mjs/models/zone.js +7 -0
  537. package/dist/mjs/models/zone.js.map +1 -0
  538. package/dist/mjs/request/index.d.ts +3 -0
  539. package/dist/mjs/request/index.d.ts.map +1 -0
  540. package/dist/mjs/request/index.js +3 -0
  541. package/dist/mjs/request/index.js.map +1 -0
  542. package/dist/mjs/request/is-retryable-error.d.ts +6 -0
  543. package/dist/mjs/request/is-retryable-error.d.ts.map +1 -0
  544. package/dist/mjs/request/is-retryable-error.js +24 -0
  545. package/dist/mjs/request/is-retryable-error.js.map +1 -0
  546. package/dist/mjs/request/request-executor.d.ts +12 -0
  547. package/dist/mjs/request/request-executor.d.ts.map +1 -0
  548. package/dist/mjs/request/request-executor.js +19 -0
  549. package/dist/mjs/request/request-executor.js.map +1 -0
  550. package/dist/mjs/request/request.d.ts +11 -0
  551. package/dist/mjs/request/request.d.ts.map +1 -0
  552. package/dist/mjs/request/request.js +80 -0
  553. package/dist/mjs/request/request.js.map +1 -0
  554. package/dist/mjs/request/transform-error.d.ts +7 -0
  555. package/dist/mjs/request/transform-error.d.ts.map +1 -0
  556. package/dist/mjs/request/transform-error.js +12 -0
  557. package/dist/mjs/request/transform-error.js.map +1 -0
  558. package/dist/mjs/types.d.ts +96 -0
  559. package/dist/mjs/types.d.ts.map +1 -0
  560. package/dist/mjs/types.js +13 -0
  561. package/dist/mjs/types.js.map +1 -0
  562. package/dist/mjs/utils/axios/convert-error.d.ts +4 -0
  563. package/dist/mjs/utils/axios/convert-error.d.ts.map +1 -0
  564. package/dist/mjs/utils/axios/convert-error.js +24 -0
  565. package/dist/mjs/utils/axios/convert-error.js.map +1 -0
  566. package/dist/mjs/utils/axios/convert-response.d.ts +4 -0
  567. package/dist/mjs/utils/axios/convert-response.d.ts.map +1 -0
  568. package/dist/mjs/utils/axios/convert-response.js +19 -0
  569. package/dist/mjs/utils/axios/convert-response.js.map +1 -0
  570. package/dist/mjs/utils/axios/create-instance.d.ts +11 -0
  571. package/dist/mjs/utils/axios/create-instance.d.ts.map +1 -0
  572. package/dist/mjs/utils/axios/create-instance.js +23 -0
  573. package/dist/mjs/utils/axios/create-instance.js.map +1 -0
  574. package/dist/mjs/utils/axios/extract-headers.d.ts +2 -0
  575. package/dist/mjs/utils/axios/extract-headers.d.ts.map +1 -0
  576. package/dist/mjs/utils/axios/extract-headers.js +19 -0
  577. package/dist/mjs/utils/axios/extract-headers.js.map +1 -0
  578. package/dist/mjs/utils/axios/index.d.ts +5 -0
  579. package/dist/mjs/utils/axios/index.d.ts.map +1 -0
  580. package/dist/mjs/utils/axios/index.js +5 -0
  581. package/dist/mjs/utils/axios/index.js.map +1 -0
  582. package/dist/mjs/utils/calculate-delay.d.ts +7 -0
  583. package/dist/mjs/utils/calculate-delay.d.ts.map +1 -0
  584. package/dist/mjs/utils/calculate-delay.js +26 -0
  585. package/dist/mjs/utils/calculate-delay.js.map +1 -0
  586. package/dist/mjs/utils/ensure-non-empty-string.d.ts +16 -0
  587. package/dist/mjs/utils/ensure-non-empty-string.d.ts.map +1 -0
  588. package/dist/mjs/utils/ensure-non-empty-string.js +12 -0
  589. package/dist/mjs/utils/ensure-non-empty-string.js.map +1 -0
  590. package/dist/mjs/utils/format.d.ts +11 -0
  591. package/dist/mjs/utils/format.d.ts.map +1 -0
  592. package/dist/mjs/utils/format.js +44 -0
  593. package/dist/mjs/utils/format.js.map +1 -0
  594. package/dist/mjs/utils/get-attribute-value.d.ts +17 -0
  595. package/dist/mjs/utils/get-attribute-value.d.ts.map +1 -0
  596. package/dist/mjs/utils/get-attribute-value.js +15 -0
  597. package/dist/mjs/utils/get-attribute-value.js.map +1 -0
  598. package/dist/mjs/utils/index.d.ts +9 -0
  599. package/dist/mjs/utils/index.d.ts.map +1 -0
  600. package/dist/mjs/utils/index.js +9 -0
  601. package/dist/mjs/utils/index.js.map +1 -0
  602. package/dist/mjs/utils/mask.d.ts +28 -0
  603. package/dist/mjs/utils/mask.d.ts.map +1 -0
  604. package/dist/mjs/utils/mask.js +54 -0
  605. package/dist/mjs/utils/mask.js.map +1 -0
  606. package/dist/mjs/utils/plain-clone.d.ts +14 -0
  607. package/dist/mjs/utils/plain-clone.d.ts.map +1 -0
  608. package/dist/mjs/utils/plain-clone.js +37 -0
  609. package/dist/mjs/utils/plain-clone.js.map +1 -0
  610. package/dist/mjs/utils/retry-on-conflict.d.ts +99 -0
  611. package/dist/mjs/utils/retry-on-conflict.d.ts.map +1 -0
  612. package/dist/mjs/utils/retry-on-conflict.js +105 -0
  613. package/dist/mjs/utils/retry-on-conflict.js.map +1 -0
  614. package/dist/mjs/utils/useragent.d.ts +10 -0
  615. package/dist/mjs/utils/useragent.d.ts.map +1 -0
  616. package/dist/mjs/utils/useragent.js +17 -0
  617. package/dist/mjs/utils/useragent.js.map +1 -0
  618. package/package.json +50 -48
  619. package/dist/ge-commercetools-utils-browser.cjs.js +0 -2
  620. package/dist/ge-commercetools-utils-browser.cjs.js.map +0 -1
  621. package/dist/ge-commercetools-utils-browser.esm.js +0 -2
  622. package/dist/ge-commercetools-utils-browser.esm.js.map +0 -1
  623. package/dist/ge-commercetools-utils-node.cjs.js +0 -3
  624. package/dist/ge-commercetools-utils-node.cjs.js.LICENSE.txt +0 -13
  625. package/dist/ge-commercetools-utils-node.cjs.js.map +0 -1
  626. package/dist/ge-commercetools-utils-node.esm.js +0 -2
  627. package/dist/ge-commercetools-utils-node.esm.js.LICENSE.txt +0 -13
  628. package/dist/typings/api/CommercetoolsApi.d.ts +0 -515
  629. package/dist/typings/api/index.d.ts +0 -2
  630. package/dist/typings/api/types.d.ts +0 -12
  631. package/dist/typings/auth/CommercetoolsAuth.d.ts +0 -22
  632. package/dist/typings/auth/CommercetoolsAuthApi.d.ts +0 -27
  633. package/dist/typings/auth/CommercetoolsGrant.d.ts +0 -13
  634. package/dist/typings/auth/constants.d.ts +0 -3
  635. package/dist/typings/auth/index.d.ts +0 -3
  636. package/dist/typings/auth/scopes.d.ts +0 -2
  637. package/dist/typings/auth/types.d.ts +0 -41
  638. package/dist/typings/constants.d.ts +0 -12
  639. package/dist/typings/error/CommercetoolsError.d.ts +0 -11
  640. package/dist/typings/error/index.d.ts +0 -1
  641. package/dist/typings/index.d.ts +0 -7
  642. package/dist/typings/models/associate-role.d.ts +0 -79
  643. package/dist/typings/models/attribute-group.d.ts +0 -68
  644. package/dist/typings/models/business-unit.d.ts +0 -272
  645. package/dist/typings/models/cart-discount.d.ts +0 -196
  646. package/dist/typings/models/cart.d.ts +0 -745
  647. package/dist/typings/models/category.d.ts +0 -166
  648. package/dist/typings/models/channel.d.ts +0 -103
  649. package/dist/typings/models/common.d.ts +0 -256
  650. package/dist/typings/models/custom-object.d.ts +0 -30
  651. package/dist/typings/models/customer-group.d.ts +0 -58
  652. package/dist/typings/models/customer.d.ts +0 -293
  653. package/dist/typings/models/discount-code.d.ts +0 -116
  654. package/dist/typings/models/error.d.ts +0 -874
  655. package/dist/typings/models/extension.d.ts +0 -83
  656. package/dist/typings/models/graph-ql.d.ts +0 -23
  657. package/dist/typings/models/index.d.ts +0 -41
  658. package/dist/typings/models/inventory.d.ts +0 -88
  659. package/dist/typings/models/me.d.ts +0 -640
  660. package/dist/typings/models/message.d.ts +0 -3210
  661. package/dist/typings/models/order-edit.d.ts +0 -572
  662. package/dist/typings/models/payment.d.ts +0 -191
  663. package/dist/typings/models/product-discount.d.ts +0 -123
  664. package/dist/typings/models/product-selection.d.ts +0 -158
  665. package/dist/typings/models/product-type.d.ts +0 -213
  666. package/dist/typings/models/product.d.ts +0 -535
  667. package/dist/typings/models/project.d.ts +0 -120
  668. package/dist/typings/models/quote-request.d.ts +0 -94
  669. package/dist/typings/models/quote.d.ts +0 -103
  670. package/dist/typings/models/review.d.ts +0 -115
  671. package/dist/typings/models/scalar-types.d.ts +0 -3
  672. package/dist/typings/models/shipping-method.d.ts +0 -160
  673. package/dist/typings/models/shopping-list.d.ts +0 -217
  674. package/dist/typings/models/staged-quote.d.ts +0 -84
  675. package/dist/typings/models/standalone-price.d.ts +0 -95
  676. package/dist/typings/models/state.d.ts +0 -86
  677. package/dist/typings/models/store-country.d.ts +0 -3
  678. package/dist/typings/models/store.d.ts +0 -137
  679. package/dist/typings/models/subscription.d.ts +0 -161
  680. package/dist/typings/models/tax-category.d.ts +0 -91
  681. package/dist/typings/models/type.d.ts +0 -177
  682. package/dist/typings/models/zone.d.ts +0 -65
  683. package/dist/typings/request/index.d.ts +0 -2
  684. package/dist/typings/request/is-retryable-error.d.ts +0 -1
  685. package/dist/typings/request/transform-error.d.ts +0 -2
  686. package/dist/typings/utils/axios/index.d.ts +0 -4
  687. package/dist/typings/utils/calculate-delay.d.ts +0 -2
  688. package/dist/typings/utils/ensure-non-empty-string.d.ts +0 -5
  689. package/dist/typings/utils/format.d.ts +0 -1
  690. package/dist/typings/utils/get-attribute-value.d.ts +0 -6
  691. package/dist/typings/utils/index.d.ts +0 -8
  692. package/dist/typings/utils/mask.d.ts +0 -6
  693. package/dist/typings/utils/plain-clone.d.ts +0 -1
  694. package/dist/typings/utils/retry-on-conflict.d.ts +0 -7
  695. package/dist/typings/utils/useragent.d.ts +0 -1
@@ -0,0 +1,2102 @@
1
+ import { CommercetoolsAuth, } from '../index.js';
2
+ import { CommercetoolsError } from '../error/index.js';
3
+ import { REGION_URLS } from '../auth/constants.js';
4
+ import { ensureNonEmptyString } from '../utils/index.js';
5
+ import { getRequestExecutor } from '../request/request-executor.js';
6
+ /**
7
+ * A collection of convenience methods for interacting with the
8
+ * commercetools API.
9
+ */
10
+ export class CommercetoolsApi {
11
+ /**
12
+ * This is the instance of the {@see CommercetoolsAuth} class that
13
+ * this class uses internally. It's exposed publicly so that it can
14
+ * be used by consumer's of this class in order to access authorization
15
+ * API related functionality.
16
+ */
17
+ auth;
18
+ /**
19
+ * The configuration passed in to the constructor.
20
+ */
21
+ config;
22
+ /**
23
+ * The Auth and API endpoints driven by the user's setting of {@link CommercetoolsApiConfig.region}
24
+ * https://docs.commercetools.com/api/general-concepts#regions
25
+ */
26
+ endpoints;
27
+ /**
28
+ * The request executor that's responsible for making the request to commercetools
29
+ */
30
+ requestExecutor;
31
+ constructor(config) {
32
+ CommercetoolsApi.validateConfig(config);
33
+ this.config = config;
34
+ this.auth = new CommercetoolsAuth(config);
35
+ this.endpoints = REGION_URLS[this.config.region];
36
+ this.requestExecutor = getRequestExecutor({
37
+ timeoutMs: config.timeoutMs,
38
+ httpsAgent: config.httpsAgent,
39
+ systemIdentifier: config.systemIdentifier,
40
+ onBeforeRequest: config.onBeforeRequest,
41
+ onAfterResponse: config.onAfterResponse,
42
+ retry: config.retry,
43
+ });
44
+ }
45
+ /**
46
+ * Get a store given it's id
47
+ * https://docs.commercetools.com/api/projects/stores#get-a-store-by-id
48
+ */
49
+ getStoreById(options) {
50
+ ensureNonEmptyString({ value: options.id, name: 'id' });
51
+ return this.request({
52
+ ...this.extractCommonRequestOptions(options),
53
+ path: `/stores/${encodeURIComponent(options.id)}`,
54
+ method: 'GET',
55
+ });
56
+ }
57
+ /**
58
+ * Get a store given it's key
59
+ * https://docs.commercetools.com/api/projects/stores#get-a-store-by-key
60
+ */
61
+ getStoreByKey(options) {
62
+ return this.request({
63
+ ...this.extractCommonRequestOptions(options),
64
+ path: `/stores/key=${encodeURIComponent(options.key)}`,
65
+ method: 'GET',
66
+ });
67
+ }
68
+ /**
69
+ * Query stores
70
+ * https://docs.commercetools.com/api/projects/stores#get-a-store-by-key
71
+ */
72
+ queryStores(options) {
73
+ return this.request({
74
+ ...this.extractCommonRequestOptions(options),
75
+ path: '/stores',
76
+ method: 'GET',
77
+ });
78
+ }
79
+ /**
80
+ * Create a store:
81
+ * https://docs.commercetools.com/api/projects/stores#create-a-store
82
+ */
83
+ createStore(options) {
84
+ return this.request({
85
+ path: `/stores`,
86
+ method: 'POST',
87
+ data: options.data,
88
+ });
89
+ }
90
+ /**
91
+ * Update a store by id:
92
+ * https://docs.commercetools.com/api/projects/stores#update-store-by-id
93
+ */
94
+ updateStoreById(options) {
95
+ ensureNonEmptyString({ value: options.id, name: 'id' });
96
+ return this.request({
97
+ ...this.extractCommonRequestOptions(options),
98
+ path: `/stores/${encodeURIComponent(options.id)}`,
99
+ method: 'POST',
100
+ data: options.data,
101
+ });
102
+ }
103
+ /**
104
+ * Update a store by key:
105
+ * https://docs.commercetools.com/api/projects/stores#update-store-by-key
106
+ */
107
+ updateStoreByKey(options) {
108
+ return this.request({
109
+ path: `/stores/key=${encodeURIComponent(options.key)}`,
110
+ method: 'POST',
111
+ data: options.data,
112
+ });
113
+ }
114
+ /**
115
+ * Delete a store by id:
116
+ * https://docs.commercetools.com/api/projects/stores#delete-store-by-id
117
+ */
118
+ deleteStoreById(options) {
119
+ ensureNonEmptyString({ value: options.id, name: 'id' });
120
+ return this.request({
121
+ ...this.extractCommonRequestOptions(options),
122
+ path: `/stores/${encodeURIComponent(options.id)}`,
123
+ method: 'DELETE',
124
+ params: {
125
+ ...options.params,
126
+ version: options.version,
127
+ },
128
+ });
129
+ }
130
+ /**
131
+ * Delete a store by key:
132
+ * https://docs.commercetools.com/api/projects/stores#delete-store-by-key
133
+ */
134
+ deleteStoreByKey(options) {
135
+ return this.request({
136
+ ...this.extractCommonRequestOptions(options),
137
+ path: `/stores/key=${encodeURIComponent(options.key)}`,
138
+ method: 'DELETE',
139
+ params: {
140
+ ...options.params,
141
+ version: options.version,
142
+ },
143
+ });
144
+ }
145
+ /**
146
+ * Get an individual category by id:
147
+ * https://docs.commercetools.com/api/projects/categories#get-category-by-id
148
+ */
149
+ getCategoryById(options) {
150
+ ensureNonEmptyString({ value: options.id, name: 'id' });
151
+ return this.request({
152
+ ...this.extractCommonRequestOptions(options),
153
+ path: `/categories/${encodeURIComponent(options.id)}`,
154
+ method: 'GET',
155
+ });
156
+ }
157
+ /**
158
+ * Get an individual category by key:
159
+ * https://docs.commercetools.com/api/projects/categories#get-category-by-key
160
+ */
161
+ getCategoryByKey(options) {
162
+ return this.request({
163
+ ...this.extractCommonRequestOptions(options),
164
+ path: `/categories/key=${encodeURIComponent(options.key)}`,
165
+ method: 'GET',
166
+ });
167
+ }
168
+ /**
169
+ * Query channels:
170
+ * https://docs.commercetools.com/api/projects/channels#query-channels
171
+ */
172
+ queryChannels(options) {
173
+ return this.request({
174
+ ...this.extractCommonRequestOptions(options),
175
+ path: `/channels`,
176
+ method: 'GET',
177
+ });
178
+ }
179
+ /**
180
+ * Import an order.
181
+ * https://docs.commercetools.com/api/projects/orders-import#orderimportdraft
182
+ */
183
+ async importOrder(options) {
184
+ return this.request({
185
+ ...this.extractCommonRequestOptions(options),
186
+ path: '/orders/import',
187
+ method: 'POST',
188
+ data: options.data,
189
+ });
190
+ }
191
+ /**
192
+ * Get channel by id:
193
+ * https://docs.commercetools.com/api/projects/channels#get-channel-by-id
194
+ */
195
+ getChannelById(options) {
196
+ ensureNonEmptyString({ value: options.id, name: 'id' });
197
+ return this.request({
198
+ ...this.extractCommonRequestOptions(options),
199
+ path: `/channels/${encodeURIComponent(options.id)}`,
200
+ method: 'GET',
201
+ });
202
+ }
203
+ /**
204
+ * Get channel by key:
205
+ * https://docs.commercetools.com/api/projects/channels#get-channel-by-key
206
+ */
207
+ async getChannelByKey(options) {
208
+ const response = await this.request({
209
+ ...this.extractCommonRequestOptions(options),
210
+ path: `/channels`,
211
+ method: 'GET',
212
+ params: {
213
+ where: `key="${encodeURIComponent(options.key)}"`,
214
+ limit: 1,
215
+ },
216
+ });
217
+ if (!response?.count) {
218
+ throw new CommercetoolsError(`No channel found with key [${options.key}]`, null, 404);
219
+ }
220
+ return response.results[0];
221
+ }
222
+ /**
223
+ * Get an category by id or key. Either the id or the key must be provided.
224
+ */
225
+ getCategory(options) {
226
+ if (!options.id && !options.key) {
227
+ throw new CommercetoolsError('Either an id, key or slug must be provided');
228
+ }
229
+ if (options.id) {
230
+ ensureNonEmptyString({ value: options.id, name: 'id' });
231
+ return this.request({
232
+ ...this.extractCommonRequestOptions(options),
233
+ path: `/categories/${encodeURIComponent(options.id)}`,
234
+ method: 'GET',
235
+ });
236
+ }
237
+ return this.request({
238
+ ...this.extractCommonRequestOptions(options),
239
+ path: `/categories/key=${encodeURIComponent(options.key ?? '')}`,
240
+ method: 'GET',
241
+ });
242
+ }
243
+ /**
244
+ * Get a category projection by slug and locale
245
+ * Queries the categories for the given slug + locale using:
246
+ * https://docs.commercetools.com/api/projects/categories#query-categories
247
+ */
248
+ async getCategoryBySlug(options) {
249
+ if (!options.languageCode && !options.languageCodes) {
250
+ throw new CommercetoolsError('Either the `languageCode` or `languageCodes` property must be provided');
251
+ }
252
+ const languageCodes = [];
253
+ if (options.languageCodes) {
254
+ languageCodes.push(...options.languageCodes);
255
+ }
256
+ else if (options.languageCode) {
257
+ languageCodes.push(options.languageCode);
258
+ }
259
+ const data = await this.request({
260
+ ...this.extractCommonRequestOptions({
261
+ ...options,
262
+ params: {
263
+ ...options?.params,
264
+ where: `slug(${languageCodes.map((code) => `${code}="${options.slug}"`).join(' or ')})`,
265
+ },
266
+ }),
267
+ path: `/categories`,
268
+ method: 'GET',
269
+ });
270
+ if (!data.count) {
271
+ throw new CommercetoolsError(`No category found with slug [${options.slug}] and language code [${options.languageCode}]`, { options }, 404);
272
+ }
273
+ return data.results[0];
274
+ }
275
+ /**
276
+ * Query categories
277
+ * https://docs.commercetools.com/api/projects/categories#query-categories
278
+ */
279
+ queryCategories(options) {
280
+ return this.request({
281
+ ...this.extractCommonRequestOptions(options),
282
+ path: `/categories`,
283
+ method: 'GET',
284
+ });
285
+ }
286
+ /**
287
+ * Get the parent categories of a given category. This method returns an array
288
+ * of {@see Category} items representing the ancestry of categories for the given
289
+ * category id. The list is ordered from top down. In other words, the root
290
+ * category is always the first item in the list.
291
+ */
292
+ async getCategoryParents(options) {
293
+ const category = await this.getCategory({
294
+ ...options,
295
+ params: {
296
+ ...options.params,
297
+ expand: 'ancestors[*]',
298
+ },
299
+ });
300
+ const ancestors = category.ancestors.map((ref) => ref.obj);
301
+ ancestors.push({
302
+ ...category,
303
+ ancestors: category.ancestors.map((ancestor) => ({ id: ancestor.id, typeId: ancestor.typeId })),
304
+ });
305
+ return ancestors;
306
+ }
307
+ /**
308
+ * Get an individual product by id:
309
+ * https://docs.commercetools.com/api/projects/products#get-product-by-id
310
+ */
311
+ getProductById(options) {
312
+ ensureNonEmptyString({ value: options.id, name: 'id' });
313
+ return this.request({
314
+ ...this.extractCommonRequestOptions(options),
315
+ path: `/products/${encodeURIComponent(options.id)}`,
316
+ method: 'GET',
317
+ });
318
+ }
319
+ /**
320
+ * Get an individual product by key:
321
+ * https://docs.commercetools.com/api/projects/products#get-product-by-key
322
+ */
323
+ getProductByKey(options) {
324
+ return this.request({
325
+ ...this.extractCommonRequestOptions(options),
326
+ path: `/products/key=${encodeURIComponent(options.key)}`,
327
+ method: 'GET',
328
+ });
329
+ }
330
+ /**
331
+ * Get a product projection by id
332
+ * https://docs.commercetools.com/api/projects/productProjections#get-productprojection-by-id
333
+ */
334
+ getProductProjectionById(options) {
335
+ ensureNonEmptyString({ value: options.id, name: 'id' });
336
+ return this.request({
337
+ ...this.extractCommonRequestOptions(options),
338
+ path: this.applyStore(`/product-projections/${encodeURIComponent(options.id)}`, options.storeKey),
339
+ method: 'GET',
340
+ });
341
+ }
342
+ /**
343
+ * Get a product projection by key
344
+ * https://docs.commercetools.com/api/projects/productProjections#get-productprojection-by-key
345
+ */
346
+ getProductProjectionByKey(options) {
347
+ return this.request({
348
+ ...this.extractCommonRequestOptions(options),
349
+ path: this.applyStore(`/product-projections/key=${encodeURIComponent(options.key)}`, options.storeKey),
350
+ method: 'GET',
351
+ });
352
+ }
353
+ /**
354
+ * Get a product projection by searching the slug with a given locale or array of locales
355
+ *
356
+ * Utilises the product projection query endpoint:
357
+ * https://docs.commercetools.com/api/projects/productProjections#query-productprojections
358
+ *
359
+ * You must pass either the {@see options.languageCode} or {@see options.languageCodes}
360
+ * property in the {@see options} parameter. If both are provided, only the {@see options.languageCodes}
361
+ * is actually used.
362
+ */
363
+ async getProductProjectionBySlug(options) {
364
+ if (!options.languageCode && !options.languageCodes) {
365
+ throw new CommercetoolsError('Either the `languageCode` or `languageCodes` property must be provided');
366
+ }
367
+ const languageCodes = [];
368
+ if (options.languageCodes) {
369
+ languageCodes.push(...options.languageCodes);
370
+ }
371
+ else if (options.languageCode) {
372
+ languageCodes.push(options.languageCode);
373
+ }
374
+ const data = await this.request({
375
+ ...this.extractCommonRequestOptions({
376
+ ...options,
377
+ params: {
378
+ ...options?.params,
379
+ where: `slug(${languageCodes.map((code) => `${code}="${options.slug}"`).join(' or ')})`,
380
+ },
381
+ }),
382
+ path: `/product-projections`,
383
+ method: 'GET',
384
+ });
385
+ if (!data.count) {
386
+ throw new CommercetoolsError(`No product projection found with slug [${options.slug}] and language code [${options.languageCode}]`, { options }, 404);
387
+ }
388
+ return data.results[0];
389
+ }
390
+ /**
391
+ * Query product projections
392
+ * https://docs.commercetools.com/api/projects/productProjections#query-productprojections
393
+ */
394
+ queryProductProjections(options) {
395
+ return this.request({
396
+ ...this.extractCommonRequestOptions(options),
397
+ path: `/product-projections`,
398
+ method: 'GET',
399
+ });
400
+ }
401
+ /**
402
+ * Search product projections
403
+ * https://docs.commercetools.com/api/projects/products-search#search-productprojections
404
+ */
405
+ searchProductProjections(options) {
406
+ return this.request({
407
+ ...this.extractCommonRequestOptions(options),
408
+ path: `/product-projections/search`,
409
+ method: 'GET',
410
+ });
411
+ }
412
+ /**
413
+ * Get a product selection by id
414
+ * https://docs.commercetools.com/api/projects/product-selections#get-product-selection
415
+ */
416
+ getProductSelectionById(options) {
417
+ ensureNonEmptyString({ value: options.id, name: 'id' });
418
+ return this.request({
419
+ ...this.extractCommonRequestOptions(options),
420
+ path: this.applyStore(`/product-selections/${encodeURIComponent(options.id)}`, options.storeKey),
421
+ method: 'GET',
422
+ });
423
+ }
424
+ /**
425
+ * Get a product selection by key
426
+ * https://docs.commercetools.com/api/projects/product-selections#get-product-selection-by-key
427
+ */
428
+ getProductSelectionByKey(options) {
429
+ return this.request({
430
+ ...this.extractCommonRequestOptions(options),
431
+ path: this.applyStore(`/product-selections/key=${encodeURIComponent(options.key)}`, options.storeKey),
432
+ method: 'GET',
433
+ });
434
+ }
435
+ /**
436
+ * Query product selections
437
+ * https://docs.commercetools.com/api/projects/product-selections#query-product-selections
438
+ */
439
+ queryProductSelections(options) {
440
+ return this.request({
441
+ ...this.extractCommonRequestOptions(options),
442
+ path: `/product-selections`,
443
+ method: 'GET',
444
+ });
445
+ }
446
+ /**
447
+ * Create a product selection
448
+ * https://docs.commercetools.com/api/projects/product-selections#create-product-selection
449
+ */
450
+ createProductSelection(options) {
451
+ return this.request({
452
+ ...this.extractCommonRequestOptions(options),
453
+ path: `/product-selections`,
454
+ method: 'POST',
455
+ data: options.data,
456
+ });
457
+ }
458
+ /**
459
+ * Update a product selection by key
460
+ * https://docs.commercetools.com/api/projects/product-selections#update-product-selection-by-key
461
+ */
462
+ updateProductSelectionByKey(options) {
463
+ return this.request({
464
+ ...this.extractCommonRequestOptions(options),
465
+ path: `/product-selections/key=${encodeURIComponent(options.key)}`,
466
+ method: 'POST',
467
+ data: { version: options.version, actions: options.actions },
468
+ });
469
+ }
470
+ /**
471
+ * Delete a product selection by key
472
+ * https://docs.commercetools.com/api/projects/product-selections#delete-product-selection-by-key
473
+ */
474
+ deleteProductSelectionByKey(options) {
475
+ return this.request({
476
+ ...this.extractCommonRequestOptions(options),
477
+ path: `/product-selections/key=${encodeURIComponent(options.key)}&version=${encodeURIComponent(options.version)}`,
478
+ method: 'DELETE',
479
+ });
480
+ }
481
+ /**
482
+ * Query the products available in a store through active Product Selections
483
+ * https://docs.commercetools.com/api/projects/product-selections#query-products-available-in-a-store-through-active-product-selections
484
+ */
485
+ queryProductsInStore(options) {
486
+ return this.request({
487
+ ...this.extractCommonRequestOptions(options),
488
+ path: `/in-store/key=${encodeURIComponent(options.storeKey ?? '')}/product-selection-assignments`,
489
+ method: `GET`,
490
+ });
491
+ }
492
+ /**
493
+ * Get an InventoryEntry by id
494
+ * https://docs.commercetools.com/api/projects/inventory#get-inventoryentry-by-id
495
+ */
496
+ getInventoryEntryById(options) {
497
+ ensureNonEmptyString({ value: options.id, name: 'id' });
498
+ return this.request({
499
+ ...this.extractCommonRequestOptions(options),
500
+ path: `/inventory/${options.id}`,
501
+ method: 'GET',
502
+ });
503
+ }
504
+ /**
505
+ * Get an InventoryEntry by key
506
+ * https://docs.commercetools.com/api/projects/inventory#get-inventoryentry-by-key
507
+ */
508
+ getInventoryEntryByKey(options) {
509
+ ensureNonEmptyString({ value: options.key, name: 'key' });
510
+ return this.request({
511
+ ...this.extractCommonRequestOptions(options),
512
+ path: `/inventory/key=${encodeURIComponent(options.key)}`,
513
+ method: 'GET',
514
+ });
515
+ }
516
+ /**
517
+ * Query the inventory of Skus
518
+ * https://docs.commercetools.com/api/projects/inventory#query-inventory
519
+ */
520
+ queryInventory(options) {
521
+ return this.request({
522
+ ...this.extractCommonRequestOptions(options),
523
+ path: `/inventory`,
524
+ method: 'GET',
525
+ });
526
+ }
527
+ /**
528
+ * Create InventoryEntry
529
+ * https://docs.commercetools.com/api/projects/inventory#create-inventoryentry
530
+ */
531
+ createInventoryEntry(options) {
532
+ ensureNonEmptyString({ value: options.data.sku, name: 'sku' });
533
+ return this.request({
534
+ ...this.extractCommonRequestOptions(options),
535
+ path: '/inventory',
536
+ data: options.data,
537
+ method: 'POST',
538
+ });
539
+ }
540
+ /**
541
+ * Update InventoryEntry by id
542
+ * https://docs.commercetools.com/api/projects/inventory#update-inventoryentry-by-id
543
+ */
544
+ updateInventoryEntryById(options) {
545
+ ensureNonEmptyString({ value: options.id, name: 'id' });
546
+ return this.request({
547
+ ...this.extractCommonRequestOptions(options),
548
+ path: `/inventory/${options.id}`,
549
+ method: 'POST',
550
+ data: {
551
+ ...options.data,
552
+ },
553
+ });
554
+ }
555
+ /**
556
+ * Update InventoryEntry by key
557
+ * https://docs.commercetools.com/api/projects/inventory#update-inventoryentry-by-key
558
+ */
559
+ updateInventoryEntryByKey(options) {
560
+ ensureNonEmptyString({ value: options.key, name: 'key' });
561
+ return this.request({
562
+ ...this.extractCommonRequestOptions(options),
563
+ path: `/inventory/key=${options.key}`,
564
+ method: 'POST',
565
+ data: {
566
+ ...options.data,
567
+ },
568
+ });
569
+ }
570
+ /**
571
+ * Delete InventoryEntry by id
572
+ * https://docs.commercetools.com/api/projects/inventory#delete-inventoryentry-by-id
573
+ */
574
+ deleteInventoryEntryById(options) {
575
+ ensureNonEmptyString({ value: options.id, name: 'id' });
576
+ return this.request({
577
+ ...this.extractCommonRequestOptions(options),
578
+ path: `/inventory/${options.id}`,
579
+ params: {
580
+ ...options.params,
581
+ version: options.version,
582
+ },
583
+ method: 'DELETE',
584
+ });
585
+ }
586
+ /**
587
+ * Delete InventoryEntry by key
588
+ * https://docs.commercetools.com/api/projects/inventory#delete-inventoryentry-by-key
589
+ */
590
+ deleteInventoryEntryByKey(options) {
591
+ ensureNonEmptyString({ value: options.key, name: 'key' });
592
+ return this.request({
593
+ ...this.extractCommonRequestOptions(options),
594
+ path: `/inventory/key=${options.key}`,
595
+ params: {
596
+ ...options.params,
597
+ version: options.version,
598
+ },
599
+ method: 'DELETE',
600
+ });
601
+ }
602
+ /**
603
+ * Get a cart by id
604
+ * https://docs.commercetools.com/api/projects/carts#update-a-cart-by-id
605
+ */
606
+ getCartById(options) {
607
+ ensureNonEmptyString({ value: options.id, name: 'id' });
608
+ return this.request({
609
+ ...this.extractCommonRequestOptions(options),
610
+ path: this.applyStore(`/carts/${encodeURIComponent(options.id)}`, options.storeKey),
611
+ method: 'GET',
612
+ });
613
+ }
614
+ /**
615
+ * Query carts
616
+ * https://docs.commercetools.com/api/projects/carts#query-carts-1
617
+ */
618
+ async queryCarts(options) {
619
+ return this.request({
620
+ ...this.extractCommonRequestOptions(options),
621
+ path: this.applyStore(`/carts`, options?.storeKey),
622
+ method: 'GET',
623
+ });
624
+ }
625
+ /**
626
+ * Query my carts
627
+ * https://docs.commercetools.com/api/projects/me-carts#query-carts-1
628
+ */
629
+ async queryMyCarts(options) {
630
+ return this.request({
631
+ ...this.extractCommonRequestOptions(options),
632
+ path: this.applyStore(`/me/carts`, options.storeKey),
633
+ method: 'GET',
634
+ accessToken: options.accessToken,
635
+ });
636
+ }
637
+ /**
638
+ * Create a new cart:
639
+ * https://docs.commercetools.com/api/projects/carts#create-a-cart-1
640
+ */
641
+ async createCart(options) {
642
+ return this.request({
643
+ ...this.extractCommonRequestOptions(options),
644
+ path: this.applyStore(`/carts`, options.storeKey),
645
+ method: 'POST',
646
+ data: options.data,
647
+ });
648
+ }
649
+ /**
650
+ * Update a cart by id
651
+ * https://docs.commercetools.com/api/projects/carts#update-a-cart-by-id
652
+ */
653
+ async updateCartById(options) {
654
+ ensureNonEmptyString({ value: options.id, name: 'id' });
655
+ return this.request({
656
+ ...this.extractCommonRequestOptions(options),
657
+ path: this.applyStore(`/carts/${encodeURIComponent(options.id)}`, options.storeKey),
658
+ method: 'POST',
659
+ data: {
660
+ version: options.version,
661
+ actions: options.actions,
662
+ },
663
+ });
664
+ }
665
+ /**
666
+ * Get the active cart. Requires a logged in or anonymous customer access token:
667
+ * https://docs.commercetools.com/api/projects/me-carts#get-active-cart
668
+ */
669
+ async getMyActiveCart(options) {
670
+ return this.request({
671
+ ...this.extractCommonRequestOptions(options),
672
+ path: this.applyStore(`/me/active-cart`, options.storeKey),
673
+ method: 'GET',
674
+ accessToken: options.accessToken,
675
+ });
676
+ }
677
+ /**
678
+ * Get my cart. Requires a logged in or anonymous customer access token:
679
+ * https://docs.commercetools.com/api/projects/me-carts#get-cart-by-id
680
+ */
681
+ async getMyCartById(options) {
682
+ ensureNonEmptyString({ value: options.cartId, name: 'cartId' });
683
+ return this.request({
684
+ ...this.extractCommonRequestOptions(options),
685
+ path: this.applyStore(`/me/carts/${encodeURIComponent(options.cartId)}`, options.storeKey),
686
+ method: 'GET',
687
+ accessToken: options.accessToken,
688
+ });
689
+ }
690
+ /**
691
+ * Create a new cart for the customer associated with the given `accessToken` parameter:
692
+ * https://docs.commercetools.com/api/projects/me-carts#create-a-cart-1
693
+ */
694
+ async createMyCart(options) {
695
+ return this.request({
696
+ ...this.extractCommonRequestOptions(options),
697
+ path: this.applyStore(`/me/carts`, options.storeKey),
698
+ method: 'POST',
699
+ data: options.data,
700
+ accessToken: options.accessToken,
701
+ });
702
+ }
703
+ /**
704
+ * Update a customer's cart with the given actions:
705
+ * https://docs.commercetools.com/api/projects/me-carts#update-cart
706
+ * https://docs.commercetools.com/api/projects/me-carts#update-actions
707
+ */
708
+ async updateMyCart(options) {
709
+ ensureNonEmptyString({ value: options.cartId, name: 'cartId' });
710
+ return this.request({
711
+ ...this.extractCommonRequestOptions(options),
712
+ path: this.applyStore(`/me/carts/${encodeURIComponent(options.cartId)}`, options.storeKey),
713
+ method: 'POST',
714
+ data: {
715
+ version: options.cartVersion,
716
+ actions: options.actions,
717
+ },
718
+ accessToken: options.accessToken,
719
+ });
720
+ }
721
+ /**
722
+ * Delete the active cart This method uses {@see getMyActiveCart} to first
723
+ * get the active cart, in order to find the cart id and version:
724
+ * https://docs.commercetools.com/api/projects/me-carts#delete-a-cart
725
+ */
726
+ async deleteMyActiveCart(options) {
727
+ const cart = await this.getMyActiveCart(options);
728
+ return await this.request({
729
+ ...this.extractCommonRequestOptions(options),
730
+ path: this.applyStore(`/me/carts/${encodeURIComponent(cart.id)}`, options.storeKey),
731
+ method: 'DELETE',
732
+ params: {
733
+ ...options.params,
734
+ version: cart.version,
735
+ },
736
+ accessToken: options.accessToken,
737
+ });
738
+ }
739
+ /**
740
+ * Delete my cart by id
741
+ * https://docs.commercetools.com/api/projects/me-carts#delete-a-cart
742
+ */
743
+ async deleteMyCartById(options) {
744
+ ensureNonEmptyString({ value: options.cartId, name: 'cartId' });
745
+ const cart = await this.getMyCartById(options);
746
+ return await this.request({
747
+ ...this.extractCommonRequestOptions(options),
748
+ path: this.applyStore(`/me/carts/${encodeURIComponent(options.cartId)}`, options.storeKey),
749
+ method: 'DELETE',
750
+ params: {
751
+ ...options.params,
752
+ version: cart.version,
753
+ },
754
+ accessToken: options.accessToken,
755
+ });
756
+ }
757
+ /**
758
+ * Update a customer's cart with the given actions. Note that we automatically
759
+ * retrieve the customer's active cart using the given access token:
760
+ * https://docs.commercetools.com/api/projects/me-carts#update-cart
761
+ * https://docs.commercetools.com/api/projects/me-carts#update-actions
762
+ */
763
+ async updateMyActiveCart(options) {
764
+ const cart = await this.getMyActiveCart(options);
765
+ return this.request({
766
+ ...this.extractCommonRequestOptions(options),
767
+ path: this.applyStore(`/me/carts/${encodeURIComponent(cart.id)}`, options.storeKey),
768
+ method: 'POST',
769
+ data: {
770
+ version: cart.version,
771
+ actions: options.actions,
772
+ },
773
+ accessToken: options.accessToken,
774
+ });
775
+ }
776
+ /**
777
+ * Create an order from the given cart id. The cart id and version are automatically
778
+ * retrieved by looking up the customers active cart:
779
+ * https://docs.commercetools.com/api/projects/me-orders#create-order-from-a-cart
780
+ */
781
+ async createMyOrderFromActiveCart(options) {
782
+ const cart = await this.getMyActiveCart(options);
783
+ return this.request({
784
+ ...this.extractCommonRequestOptions(options),
785
+ path: this.applyStore('/me/orders', options.storeKey),
786
+ method: 'POST',
787
+ data: {
788
+ version: cart.version,
789
+ id: cart.id,
790
+ },
791
+ accessToken: options.accessToken,
792
+ });
793
+ }
794
+ /**
795
+ * Create an order from the given cart id. The cart id and version are automatically
796
+ * retrieved by looking up the cart:
797
+ * https://docs.commercetools.com/api/projects/orders#create-order
798
+ */
799
+ async createOrderFromCart(options) {
800
+ const cart = await this.getCartById(options);
801
+ return this.request({
802
+ ...this.extractCommonRequestOptions(options),
803
+ path: this.applyStore('/orders', options.storeKey),
804
+ method: 'POST',
805
+ data: {
806
+ version: cart.version,
807
+ id: cart.id,
808
+ },
809
+ });
810
+ }
811
+ /**
812
+ * Delete a cart by the given id:
813
+ * https://docs.commercetools.com/api/projects/carts#delete-a-cart-by-id
814
+ */
815
+ async deleteCartById(options) {
816
+ ensureNonEmptyString({ value: options.id, name: 'id' });
817
+ return await this.request({
818
+ ...this.extractCommonRequestOptions(options),
819
+ path: this.applyStore(`/carts/${encodeURIComponent(options.id)}`, options.storeKey),
820
+ method: 'DELETE',
821
+ params: {
822
+ ...options.params,
823
+ version: options.version,
824
+ },
825
+ });
826
+ }
827
+ /**
828
+ * Create a payment object:
829
+ * https://docs.commercetools.com/api/projects/payments#create-a-payment
830
+ */
831
+ createPayment(options) {
832
+ return this.request({
833
+ ...this.extractCommonRequestOptions(options),
834
+ path: '/payments',
835
+ method: 'POST',
836
+ data: options.data,
837
+ });
838
+ }
839
+ /**
840
+ * Delete a payment object by id:
841
+ * https://docs.commercetools.com/api/projects/payments#delete-payment-by-id
842
+ */
843
+ deletePaymentById(options) {
844
+ ensureNonEmptyString({ value: options.id, name: 'id' });
845
+ return this.request({
846
+ ...this.extractCommonRequestOptions(options),
847
+ path: `/payments/${encodeURIComponent(options.id)}`,
848
+ method: 'DELETE',
849
+ params: {
850
+ ...options.params,
851
+ version: options.version,
852
+ },
853
+ });
854
+ }
855
+ /**
856
+ * Update a payment object by id:
857
+ * https://docs.commercetools.com/api/projects/payments#update-payment-by-id
858
+ */
859
+ updatePaymentById(options) {
860
+ ensureNonEmptyString({ value: options.id, name: 'id' });
861
+ return this.request({
862
+ ...this.extractCommonRequestOptions(options),
863
+ path: `/payments/${encodeURIComponent(options.id)}`,
864
+ method: 'POST',
865
+ data: options.data,
866
+ });
867
+ }
868
+ /**
869
+ * Get a payment object by id:
870
+ * https://docs.commercetools.com/api/projects/payments#get-payment-by-id
871
+ */
872
+ getPaymentById(options) {
873
+ ensureNonEmptyString({ value: options.id, name: 'id' });
874
+ return this.request({
875
+ ...this.extractCommonRequestOptions(options),
876
+ path: `/payments/${encodeURIComponent(options.id)}`,
877
+ method: 'GET',
878
+ });
879
+ }
880
+ /**
881
+ * Query payment objects:
882
+ * https://docs.commercetools.com/api/projects/payments#query-payments
883
+ */
884
+ queryPayments(options) {
885
+ return this.request({
886
+ ...this.extractCommonRequestOptions(options),
887
+ path: '/payments',
888
+ method: 'GET',
889
+ });
890
+ }
891
+ /**
892
+ * Create a payment object using the customer's access token:
893
+ * https://docs.commercetools.com/api/projects/me-payments#create-mypayment
894
+ */
895
+ createMyPayment(options) {
896
+ return this.request({
897
+ ...this.extractCommonRequestOptions(options),
898
+ path: '/me/payments',
899
+ method: 'POST',
900
+ data: options.data,
901
+ accessToken: options.accessToken,
902
+ });
903
+ }
904
+ /**
905
+ * Update a payment object using the customer's access token:
906
+ * https://docs.commercetools.com/api/projects/me-payments#update-mypayment
907
+ */
908
+ updateMyPaymentById(options) {
909
+ ensureNonEmptyString({ value: options.id, name: 'id' });
910
+ return this.request({
911
+ ...this.extractCommonRequestOptions(options),
912
+ path: `/me/payments/${encodeURIComponent(options.id)}`,
913
+ method: 'POST',
914
+ data: options.data,
915
+ accessToken: options.accessToken,
916
+ });
917
+ }
918
+ /**
919
+ * Get a payment object by id using the customer's access token:
920
+ * https://docs.commercetools.com/api/projects/me-payments#get-mypayment-by-id
921
+ */
922
+ getMyPaymentById(options) {
923
+ ensureNonEmptyString({ value: options.id, name: 'id' });
924
+ return this.request({
925
+ ...this.extractCommonRequestOptions(options),
926
+ path: `/me/payments/${encodeURIComponent(options.id)}`,
927
+ method: 'GET',
928
+ accessToken: options.accessToken,
929
+ });
930
+ }
931
+ /**
932
+ * Query payment objects using the customer's access token:
933
+ * https://docs.commercetools.com/api/projects/me-payments#query-mypayments
934
+ */
935
+ queryMyPayments(options) {
936
+ return this.request({
937
+ ...this.extractCommonRequestOptions(options),
938
+ path: '/me/payments',
939
+ method: 'GET',
940
+ accessToken: options.accessToken,
941
+ });
942
+ }
943
+ /**
944
+ * Delete payment object using the customer's access token:
945
+ * https://docs.commercetools.com/api/projects/me-payments#delete-mypayment
946
+ */
947
+ deleteMyPaymentById(options) {
948
+ ensureNonEmptyString({ value: options.id, name: 'id' });
949
+ return this.request({
950
+ ...this.extractCommonRequestOptions(options),
951
+ path: `/me/payments/${encodeURIComponent(options.id)}`,
952
+ method: 'DELETE',
953
+ params: {
954
+ version: options.version,
955
+ },
956
+ accessToken: options.accessToken,
957
+ });
958
+ }
959
+ /**
960
+ * Get an order by id using the customer's access token:
961
+ * https://docs.commercetools.com/api/projects/me-orders#get-order-by-id
962
+ */
963
+ getMyOrderById(options) {
964
+ ensureNonEmptyString({ value: options.id, name: 'id' });
965
+ return this.request({
966
+ ...this.extractCommonRequestOptions(options),
967
+ path: this.applyStore(`/me/orders/${encodeURIComponent(options.id)}`, options.storeKey),
968
+ method: 'GET',
969
+ accessToken: options.accessToken,
970
+ });
971
+ }
972
+ /**
973
+ * Query my orders:
974
+ * https://docs.commercetools.com/api/projects/me-orders#query-orders-1
975
+ */
976
+ queryMyOrders(options) {
977
+ return this.request({
978
+ ...this.extractCommonRequestOptions(options),
979
+ path: this.applyStore(`/me/orders`, options.storeKey),
980
+ method: 'GET',
981
+ accessToken: options.accessToken,
982
+ });
983
+ }
984
+ /**
985
+ * Update an order by id:
986
+ * https://docs.commercetools.com/api/projects/orders#update-order-by-id
987
+ */
988
+ updateOrderById(options) {
989
+ ensureNonEmptyString({ value: options.id, name: 'id' });
990
+ return this.request({
991
+ ...this.extractCommonRequestOptions(options),
992
+ path: this.applyStore(`/orders/${encodeURIComponent(options.id)}`, options.storeKey),
993
+ method: 'POST',
994
+ data: options.data,
995
+ });
996
+ }
997
+ /**
998
+ * Update an order by order number:
999
+ * https://docs.commercetools.com/api/projects/orders#update-order-by-ordernumber
1000
+ */
1001
+ updateOrderByOrderNumber(options) {
1002
+ return this.request({
1003
+ ...this.extractCommonRequestOptions(options),
1004
+ path: this.applyStore(`/orders/order-number=${encodeURIComponent(options.orderNumber)}`, options.storeKey),
1005
+ method: 'POST',
1006
+ data: options.data,
1007
+ });
1008
+ }
1009
+ /**
1010
+ * Get an order by id:
1011
+ * https://docs.commercetools.com/api/projects/orders#get-order-by-id
1012
+ */
1013
+ getOrderById(options) {
1014
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1015
+ return this.request({
1016
+ ...this.extractCommonRequestOptions(options),
1017
+ path: this.applyStore(`/orders/${encodeURIComponent(options.id)}`, options.storeKey),
1018
+ method: 'GET',
1019
+ });
1020
+ }
1021
+ /**
1022
+ * Get an order by order number:
1023
+ * https://docs.commercetools.com/api/projects/orders#get-order-by-ordernumber
1024
+ */
1025
+ getOrderByOrderNumber(options) {
1026
+ return this.request({
1027
+ ...this.extractCommonRequestOptions(options),
1028
+ path: this.applyStore(`/orders/order-number=${encodeURIComponent(options.orderNumber)}`, options.storeKey),
1029
+ method: 'GET',
1030
+ });
1031
+ }
1032
+ /**
1033
+ * Delete an order by id:
1034
+ * https://docs.commercetools.com/api/projects/orders#delete-order-by-id
1035
+ */
1036
+ deleteOrderById(options) {
1037
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1038
+ return this.request({
1039
+ ...this.extractCommonRequestOptions(options),
1040
+ path: this.applyStore(`/orders/${encodeURIComponent(options.id)}`, options.storeKey),
1041
+ method: 'DELETE',
1042
+ params: {
1043
+ ...options.params,
1044
+ version: options.version,
1045
+ dataErasure: options.dataErasure,
1046
+ },
1047
+ });
1048
+ }
1049
+ /**
1050
+ * Delete an order by order number:
1051
+ * https://docs.commercetools.com/api/projects/orders#delete-order-by-ordernumber
1052
+ */
1053
+ deleteOrderByOrderNumber(options) {
1054
+ return this.request({
1055
+ ...this.extractCommonRequestOptions(options),
1056
+ path: this.applyStore(`/orders/order-number=${encodeURIComponent(options.orderNo)}`, options.storeKey),
1057
+ method: 'DELETE',
1058
+ params: {
1059
+ ...options.params,
1060
+ version: options.version,
1061
+ dataErasure: options.dataErasure,
1062
+ },
1063
+ });
1064
+ }
1065
+ /**
1066
+ * Query orders:
1067
+ * https://docs.commercetools.com/api/projects/orders#query-orders-1
1068
+ */
1069
+ queryOrders(options) {
1070
+ return this.request({
1071
+ ...this.extractCommonRequestOptions(options),
1072
+ path: this.applyStore(`/orders`, options.storeKey),
1073
+ method: 'GET',
1074
+ });
1075
+ }
1076
+ /**
1077
+ * Create a product:
1078
+ * https://docs.commercetools.com/api/projects/products#create-a-product
1079
+ */
1080
+ createProduct(options) {
1081
+ return this.request({
1082
+ ...this.extractCommonRequestOptions(options),
1083
+ path: `/products`,
1084
+ method: 'POST',
1085
+ data: options.data,
1086
+ });
1087
+ }
1088
+ /**
1089
+ * Update a product by key:
1090
+ * https://docs.commercetools.com/api/projects/products#update-product-by-key
1091
+ */
1092
+ updateProductByKey(options) {
1093
+ return this.request({
1094
+ ...this.extractCommonRequestOptions(options),
1095
+ path: `/products/key=${encodeURIComponent(options.key)}`,
1096
+ method: 'POST',
1097
+ data: options.data,
1098
+ });
1099
+ }
1100
+ /**
1101
+ * Update a product by id:
1102
+ * https://docs.commercetools.com/api/projects/products#update-product-by-id
1103
+ */
1104
+ updateProductById(options) {
1105
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1106
+ return this.request({
1107
+ ...this.extractCommonRequestOptions(options),
1108
+ path: `/products/${encodeURIComponent(options.id)}`,
1109
+ method: 'POST',
1110
+ data: options.data,
1111
+ });
1112
+ }
1113
+ /**
1114
+ * Delete a product by id:
1115
+ * https://docs.commercetools.com/api/projects/products#delete-product-by-id
1116
+ *
1117
+ * @param {object} options Request options
1118
+ * @param {boolean} options.unpublish If true, the product will be unpublished before being deleted
1119
+ */
1120
+ async deleteProductById(options) {
1121
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1122
+ let version = options.version;
1123
+ if (options.unpublish) {
1124
+ const product = await this.unpublishProductById({
1125
+ id: options.id,
1126
+ version: options.version,
1127
+ });
1128
+ version = product.version;
1129
+ }
1130
+ return this.request({
1131
+ ...this.extractCommonRequestOptions(options),
1132
+ path: `/products/${encodeURIComponent(options.id)}`,
1133
+ method: 'DELETE',
1134
+ params: {
1135
+ ...options.params,
1136
+ version,
1137
+ },
1138
+ });
1139
+ }
1140
+ /**
1141
+ * Delete a product by key:
1142
+ * https://docs.commercetools.com/api/projects/products#delete-product-by-key
1143
+ *
1144
+ * @param {object} options Request options
1145
+ * @param {boolean} options.unpublish If true, the product will be unpublished before being deleted
1146
+ */
1147
+ async deleteProductByKey(options) {
1148
+ let version = options.version;
1149
+ if (options.unpublish) {
1150
+ const product = await this.unpublishProductByKey({
1151
+ key: options.key,
1152
+ version: options.version,
1153
+ });
1154
+ version = product.version;
1155
+ }
1156
+ return this.request({
1157
+ ...this.extractCommonRequestOptions(options),
1158
+ path: `/products/key=${encodeURIComponent(options.key)}`,
1159
+ method: 'DELETE',
1160
+ params: {
1161
+ ...options.params,
1162
+ version,
1163
+ },
1164
+ });
1165
+ }
1166
+ /**
1167
+ * Unpublish a product by key
1168
+ *
1169
+ * Issues an 'unpublish' action for the given product:
1170
+ * https://docs.commercetools.com/api/projects/products#unpublish
1171
+ */
1172
+ unpublishProductByKey(options) {
1173
+ return this.request({
1174
+ ...this.extractCommonRequestOptions(options),
1175
+ path: `/products/key=${encodeURIComponent(options.key)}`,
1176
+ method: 'POST',
1177
+ params: options.params,
1178
+ data: {
1179
+ version: options.version,
1180
+ actions: [{ action: 'unpublish' }],
1181
+ },
1182
+ });
1183
+ }
1184
+ /**
1185
+ * Unpublish a product by id
1186
+ *
1187
+ * Issues an 'unpublish' action for the given product:
1188
+ * https://docs.commercetools.com/api/projects/products#unpublish
1189
+ */
1190
+ unpublishProductById(options) {
1191
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1192
+ return this.request({
1193
+ ...this.extractCommonRequestOptions(options),
1194
+ path: `/products/${encodeURIComponent(options.id)}`,
1195
+ method: 'POST',
1196
+ params: options.params,
1197
+ data: {
1198
+ version: options.version,
1199
+ actions: [{ action: 'unpublish' }],
1200
+ },
1201
+ });
1202
+ }
1203
+ /**
1204
+ * Create a category:
1205
+ * https://docs.commercetools.com/api/projects/categories#create-a-category
1206
+ */
1207
+ createCategory(options) {
1208
+ return this.request({
1209
+ path: `/categories`,
1210
+ method: 'POST',
1211
+ data: options.data,
1212
+ });
1213
+ }
1214
+ /**
1215
+ * Update a category by key:
1216
+ * https://docs.commercetools.com/api/projects/categories#update-category-by-key
1217
+ */
1218
+ updateCategoryByKey(options) {
1219
+ return this.request({
1220
+ path: `/categories/key=${encodeURIComponent(options.key)}`,
1221
+ method: 'POST',
1222
+ data: options.data,
1223
+ });
1224
+ }
1225
+ /**
1226
+ * Update a category by id:
1227
+ * https://docs.commercetools.com/api/projects/categories#update-category-by-id
1228
+ */
1229
+ updateCategoryById(options) {
1230
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1231
+ return this.request({
1232
+ ...this.extractCommonRequestOptions(options),
1233
+ path: `/categories/${encodeURIComponent(options.id)}`,
1234
+ method: 'POST',
1235
+ data: options.data,
1236
+ });
1237
+ }
1238
+ /**
1239
+ * Delete a category by id:
1240
+ * https://docs.commercetools.com/api/projects/categories#delete-category-by-id
1241
+ */
1242
+ deleteCategoryById(options) {
1243
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1244
+ return this.request({
1245
+ ...this.extractCommonRequestOptions(options),
1246
+ path: `/categories/${encodeURIComponent(options.id)}`,
1247
+ method: 'DELETE',
1248
+ params: {
1249
+ ...options.params,
1250
+ version: options.version,
1251
+ },
1252
+ });
1253
+ }
1254
+ /**
1255
+ * Delete a category by key:
1256
+ * https://docs.commercetools.com/api/projects/categories#delete-category-by-key
1257
+ */
1258
+ deleteCategoryByKey(options) {
1259
+ return this.request({
1260
+ ...this.extractCommonRequestOptions(options),
1261
+ path: `/categories/key=${encodeURIComponent(options.key)}`,
1262
+ method: 'DELETE',
1263
+ params: {
1264
+ ...options.params,
1265
+ version: options.version,
1266
+ },
1267
+ });
1268
+ }
1269
+ /**
1270
+ * Create a customer account:
1271
+ * https://docs.commercetools.com/api/projects/customers#create-customer-sign-up
1272
+ */
1273
+ createAccount(options) {
1274
+ return this.request({
1275
+ ...this.extractCommonRequestOptions(options),
1276
+ path: this.applyStore(`/customers`, options.storeKey),
1277
+ method: 'POST',
1278
+ data: options.data,
1279
+ });
1280
+ }
1281
+ /**
1282
+ * Delete a customer account by id
1283
+ * https://docs.commercetools.com/api/projects/customers#delete-customer-by-id
1284
+ */
1285
+ deleteCustomerById(options) {
1286
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1287
+ return this.request({
1288
+ ...this.extractCommonRequestOptions(options),
1289
+ path: this.applyStore(`/customers/${encodeURIComponent(options.id)}`, options.storeKey),
1290
+ method: 'DELETE',
1291
+ params: {
1292
+ ...options.params,
1293
+ version: options.version,
1294
+ dataErasure: options.dataErasure,
1295
+ },
1296
+ });
1297
+ }
1298
+ /**
1299
+ * Delete a customer account by key
1300
+ * https://docs.commercetools.com/api/projects/customers#delete-customer-by-key
1301
+ */
1302
+ deleteCustomerByKey(options) {
1303
+ return this.request({
1304
+ ...this.extractCommonRequestOptions(options),
1305
+ path: this.applyStore(`/customers/key=${encodeURIComponent(options.key)}`, options.storeKey),
1306
+ method: 'DELETE',
1307
+ params: {
1308
+ ...options.params,
1309
+ version: options.version,
1310
+ dataErasure: options.dataErasure,
1311
+ },
1312
+ });
1313
+ }
1314
+ /**
1315
+ * Create a customer account given an (optional) anonymous access token:
1316
+ * https://docs.commercetools.com/api/projects/me-profile#create-customer-sign-up
1317
+ */
1318
+ createMyAccount(options) {
1319
+ return this.request({
1320
+ ...this.extractCommonRequestOptions(options),
1321
+ path: this.applyStore(`/me/signup`, options.storeKey),
1322
+ method: 'POST',
1323
+ data: options.data,
1324
+ accessToken: options.accessToken,
1325
+ });
1326
+ }
1327
+ /**
1328
+ * Login to customer's account given an (optional) anonymous access token:
1329
+ * https://docs.commercetools.com/api/projects/me-profile#authenticate-customer-sign-in
1330
+ */
1331
+ loginMyAccount(options) {
1332
+ return this.request({
1333
+ ...this.extractCommonRequestOptions(options),
1334
+ path: this.applyStore(`/me/login`, options.storeKey),
1335
+ method: 'POST',
1336
+ data: options.data,
1337
+ accessToken: options.accessToken,
1338
+ });
1339
+ }
1340
+ /**
1341
+ * Login to customer's account:
1342
+ * https://docs.commercetools.com/api/projects/customers#authenticate-customer-sign-in
1343
+ */
1344
+ login(options) {
1345
+ return this.request({
1346
+ ...this.extractCommonRequestOptions(options),
1347
+ path: this.applyStore(`/login`, options.storeKey),
1348
+ method: 'POST',
1349
+ data: options.data,
1350
+ });
1351
+ }
1352
+ /**
1353
+ * Get a customer's account/profile:
1354
+ * https://docs.commercetools.com/api/projects/me-profile#get-customer
1355
+ */
1356
+ getMyAccount(options) {
1357
+ return this.request({
1358
+ ...this.extractCommonRequestOptions(options),
1359
+ path: this.applyStore(`/me`, options.storeKey),
1360
+ method: 'GET',
1361
+ accessToken: options.accessToken,
1362
+ });
1363
+ }
1364
+ /**
1365
+ * Update a customer's account/profile:
1366
+ * https://docs.commercetools.com/api/projects/me-profile#update-customer
1367
+ */
1368
+ updateMyAccount(options) {
1369
+ return this.request({
1370
+ ...this.extractCommonRequestOptions(options),
1371
+ path: this.applyStore(`/me`, options.storeKey),
1372
+ method: 'POST',
1373
+ accessToken: options.accessToken,
1374
+ data: options.data,
1375
+ });
1376
+ }
1377
+ /**
1378
+ * Change the customer's password:
1379
+ * https://docs.commercetools.com/api/projects/me-profile#change-customers-password
1380
+ */
1381
+ changeMyPassword(options) {
1382
+ return this.request({
1383
+ ...this.extractCommonRequestOptions(options),
1384
+ path: this.applyStore(`/me/password`, options.storeKey),
1385
+ method: 'POST',
1386
+ accessToken: options.accessToken,
1387
+ data: options.data,
1388
+ });
1389
+ }
1390
+ /**
1391
+ * Reset the customer's password:
1392
+ * https://docs.commercetools.com/api/projects/me-profile#reset-customers-password
1393
+ */
1394
+ resetMyPassword(options) {
1395
+ return this.request({
1396
+ ...this.extractCommonRequestOptions(options),
1397
+ path: this.applyStore(`/me/password/reset`, options.storeKey),
1398
+ method: 'POST',
1399
+ accessToken: options.accessToken,
1400
+ data: options.data,
1401
+ });
1402
+ }
1403
+ /**
1404
+ * Get a password reset token
1405
+ * https://docs.commercetools.com/api/projects/customers#create-a-token-for-resetting-the-customers-password
1406
+ */
1407
+ getPasswordResetToken(options) {
1408
+ return this.request({
1409
+ ...this.extractCommonRequestOptions(options),
1410
+ path: this.applyStore(`/customers/password-token`, options.storeKey),
1411
+ method: 'POST',
1412
+ data: options.data,
1413
+ });
1414
+ }
1415
+ /**
1416
+ * Get a customer by id:
1417
+ * https://docs.commercetools.com/api/projects/customers#get-customer-by-id
1418
+ */
1419
+ getCustomerById(options) {
1420
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1421
+ return this.request({
1422
+ ...this.extractCommonRequestOptions(options),
1423
+ path: this.applyStore(`/customers/${encodeURIComponent(options.id)}`, options.storeKey),
1424
+ method: 'GET',
1425
+ });
1426
+ }
1427
+ /**
1428
+ * Get a customer by key:
1429
+ * https://docs.commercetools.com/api/projects/customers#get-customer-by-key
1430
+ */
1431
+ getCustomerByKey(options) {
1432
+ return this.request({
1433
+ ...this.extractCommonRequestOptions(options),
1434
+ path: this.applyStore(`/customers/key=${encodeURIComponent(options.key)}`, options.storeKey),
1435
+ method: 'GET',
1436
+ });
1437
+ }
1438
+ /**
1439
+ * Get a customer by password token:
1440
+ * https://docs.commercetools.com/api/projects/customers#get-customer-by-password-token
1441
+ */
1442
+ getCustomerByPasswordToken(options) {
1443
+ return this.request({
1444
+ ...this.extractCommonRequestOptions(options),
1445
+ path: this.applyStore(`/customers/password-token=${encodeURIComponent(options.token)}`, options.storeKey),
1446
+ method: 'GET',
1447
+ });
1448
+ }
1449
+ /**
1450
+ * Query customers:
1451
+ * https://docs.commercetools.com/api/projects/customers#query-customers
1452
+ */
1453
+ queryCustomers(options) {
1454
+ return this.request({
1455
+ ...this.extractCommonRequestOptions(options),
1456
+ path: this.applyStore(`/customers`, options.storeKey),
1457
+ method: 'GET',
1458
+ });
1459
+ }
1460
+ /**
1461
+ * Update a customer by id:
1462
+ * https://docs.commercetools.com/api/projects/customers#update-customer-by-id
1463
+ */
1464
+ updateCustomerById(options) {
1465
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1466
+ return this.request({
1467
+ ...this.extractCommonRequestOptions(options),
1468
+ path: `/customers/${encodeURIComponent(options.id)}`,
1469
+ method: 'POST',
1470
+ data: options.data,
1471
+ });
1472
+ }
1473
+ /**
1474
+ * Update a customer by key:
1475
+ * https://docs.commercetools.com/api/projects/customers#update-customer-by-key
1476
+ */
1477
+ updateCustomerByKey(options) {
1478
+ return this.request({
1479
+ ...this.extractCommonRequestOptions(options),
1480
+ path: `/customers/key=${encodeURIComponent(options.key)}`,
1481
+ method: 'POST',
1482
+ data: options.data,
1483
+ });
1484
+ }
1485
+ /**
1486
+ * Get a product type by id:
1487
+ * https://docs.commercetools.com/api/projects/productTypes#get-a-producttype-by-id
1488
+ */
1489
+ getProductTypeById(options) {
1490
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1491
+ return this.request({
1492
+ ...this.extractCommonRequestOptions(options),
1493
+ path: `/product-types/${encodeURIComponent(options.id)}`,
1494
+ method: 'GET',
1495
+ });
1496
+ }
1497
+ /**
1498
+ * Get a product type by key:
1499
+ * https://docs.commercetools.com/api/projects/productTypes#get-a-producttype-by-key
1500
+ */
1501
+ getProductTypeByKey(options) {
1502
+ return this.request({
1503
+ ...this.extractCommonRequestOptions(options),
1504
+ path: `/product-types/key=${encodeURIComponent(options.key)}`,
1505
+ method: 'GET',
1506
+ });
1507
+ }
1508
+ /**
1509
+ * Query product types:
1510
+ * https://docs.commercetools.com/api/projects/productTypes#query-producttypes
1511
+ */
1512
+ queryProductTypes(options) {
1513
+ return this.request({
1514
+ ...this.extractCommonRequestOptions(options),
1515
+ path: `/product-types`,
1516
+ method: 'GET',
1517
+ });
1518
+ }
1519
+ /**
1520
+ * Get a type by id:
1521
+ * https://docs.commercetools.com/api/projects/types#get-type-by-id
1522
+ */
1523
+ getTypeById(options) {
1524
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1525
+ return this.request({
1526
+ ...this.extractCommonRequestOptions(options),
1527
+ path: `/types/${encodeURIComponent(options.id)}`,
1528
+ method: 'GET',
1529
+ });
1530
+ }
1531
+ /**
1532
+ * Get a type by key:
1533
+ * https://docs.commercetools.com/api/projects/types#get-type-by-key
1534
+ */
1535
+ getTypeByKey(options) {
1536
+ return this.request({
1537
+ ...this.extractCommonRequestOptions(options),
1538
+ path: `/types/key=${encodeURIComponent(options.key)}`,
1539
+ method: 'GET',
1540
+ });
1541
+ }
1542
+ /**
1543
+ * Query types:
1544
+ * https://docs.commercetools.com/api/projects/types#query-types
1545
+ */
1546
+ queryTypes(options) {
1547
+ return this.request({
1548
+ ...this.extractCommonRequestOptions(options),
1549
+ path: `/types`,
1550
+ method: 'GET',
1551
+ });
1552
+ }
1553
+ /**
1554
+ * Get a discount code by id:
1555
+ * https://docs.commercetools.com/api/projects/discountCodes#get-discountcode-by-id
1556
+ */
1557
+ getDiscountCodeById(options) {
1558
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1559
+ return this.request({
1560
+ ...this.extractCommonRequestOptions(options),
1561
+ path: `/discount-codes/${encodeURIComponent(options.id)}`,
1562
+ method: 'GET',
1563
+ });
1564
+ }
1565
+ /**
1566
+ * Get a cart discount code by id:
1567
+ * https://docs.commercetools.com/api/projects/cartDiscounts#get-cartdiscount-by-id
1568
+ */
1569
+ getCartDiscountById(options) {
1570
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1571
+ return this.request({
1572
+ ...this.extractCommonRequestOptions(options),
1573
+ path: `/cart-discounts/${encodeURIComponent(options.id)}`,
1574
+ method: 'GET',
1575
+ });
1576
+ }
1577
+ /**
1578
+ * Get a cart discount by key:
1579
+ * https://docs.commercetools.com/api/projects/cartDiscounts#get-cartdiscount-by-key
1580
+ */
1581
+ getCartDiscountByKey(options) {
1582
+ return this.request({
1583
+ ...this.extractCommonRequestOptions(options),
1584
+ path: `/cart-discounts/key=${encodeURIComponent(options.key)}`,
1585
+ method: 'GET',
1586
+ });
1587
+ }
1588
+ /**
1589
+ * Query cart discounts:
1590
+ * https://docs.commercetools.com/api/projects/cartDiscounts#query-cartdiscounts
1591
+ */
1592
+ queryCartDiscounts(options) {
1593
+ return this.request({
1594
+ ...this.extractCommonRequestOptions(options),
1595
+ path: `/cart-discounts`,
1596
+ method: 'GET',
1597
+ });
1598
+ }
1599
+ /**
1600
+ * Get a custom object
1601
+ * https://docs.commercetools.com/api/projects/custom-objects#get-customobject-by-container-and-key
1602
+ */
1603
+ getCustomObject(options) {
1604
+ return this.request({
1605
+ ...this.extractCommonRequestOptions(options),
1606
+ path: `/custom-objects/${encodeURIComponent(options.container)}/${encodeURIComponent(options.key)}`,
1607
+ method: 'GET',
1608
+ });
1609
+ }
1610
+ /**
1611
+ * Get a custom object by id
1612
+ * https://docs.commercetools.com/api/projects/custom-objects#get-customobject
1613
+ */
1614
+ getCustomObjectById(options) {
1615
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1616
+ return this.request({
1617
+ ...this.extractCommonRequestOptions(options),
1618
+ path: `/custom-objects/${encodeURIComponent(options.id)}`,
1619
+ method: 'GET',
1620
+ });
1621
+ }
1622
+ /**
1623
+ * Save a custom object
1624
+ * https://docs.commercetools.com/api/projects/custom-objects#create-or-update-a-customobject
1625
+ */
1626
+ saveCustomObject(options) {
1627
+ return this.request({
1628
+ ...this.extractCommonRequestOptions(options),
1629
+ path: `/custom-objects`,
1630
+ method: 'POST',
1631
+ data: options.data,
1632
+ });
1633
+ }
1634
+ /**
1635
+ * Delete a custom object
1636
+ * https://docs.commercetools.com/api/projects/custom-objects#delete-customobject-by-container-and-key
1637
+ */
1638
+ deleteCustomObject(options) {
1639
+ return this.request({
1640
+ ...this.extractCommonRequestOptions(options),
1641
+ path: `/custom-objects/${encodeURIComponent(options.container)}/${encodeURIComponent(options.key)}`,
1642
+ method: 'DELETE',
1643
+ });
1644
+ }
1645
+ /**
1646
+ * Get a shipping method by id:
1647
+ * https://docs.commercetools.com/api/projects/shippingMethods#get-shippingmethod-by-id
1648
+ */
1649
+ getShippingMethodById(options) {
1650
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1651
+ return this.request({
1652
+ ...this.extractCommonRequestOptions(options),
1653
+ path: `/shipping-methods/${encodeURIComponent(options.id)}`,
1654
+ method: 'GET',
1655
+ });
1656
+ }
1657
+ /**
1658
+ * Get a shipping method by key:
1659
+ * https://docs.commercetools.com/api/projects/shippingMethods#get-shippingmethod-by-key
1660
+ */
1661
+ getShippingMethodByKey(options) {
1662
+ return this.request({
1663
+ ...this.extractCommonRequestOptions(options),
1664
+ path: `/shipping-methods/key=${encodeURIComponent(options.key)}`,
1665
+ method: 'GET',
1666
+ });
1667
+ }
1668
+ /**
1669
+ * Get shipping method by location:
1670
+ * https://docs.commercetools.com/api/projects/shippingMethods#get-shippingmethods-for-a-location
1671
+ */
1672
+ getShippingMethodsForLocation(options) {
1673
+ return this.request({
1674
+ ...this.extractCommonRequestOptions({
1675
+ ...options,
1676
+ params: {
1677
+ ...options?.params,
1678
+ country: options.country,
1679
+ state: options.state,
1680
+ currency: options.currency,
1681
+ },
1682
+ }),
1683
+ path: `/shipping-methods/matching-location`,
1684
+ method: 'GET',
1685
+ });
1686
+ }
1687
+ /**
1688
+ * Get shipping methods applicable to a given cart id:
1689
+ * https://docs.commercetools.com/api/projects/shippingMethods#get-shippingmethods-for-a-cart
1690
+ */
1691
+ getShippingMethodsForCart(options) {
1692
+ return this.request({
1693
+ ...this.extractCommonRequestOptions({
1694
+ ...options,
1695
+ params: {
1696
+ ...options?.params,
1697
+ cartId: options.cartId,
1698
+ },
1699
+ }),
1700
+ path: `/shipping-methods/matching-cart`,
1701
+ method: 'GET',
1702
+ });
1703
+ }
1704
+ /**
1705
+ * Get shipping methods applicable for a Cart and Location:
1706
+ * https://docs.commercetools.com/api/projects/shippingMethods#for-a-cart-and-location
1707
+ */
1708
+ getShippingMethodsForCartAndLocation(options) {
1709
+ return this.request({
1710
+ ...this.extractCommonRequestOptions({
1711
+ ...options,
1712
+ params: {
1713
+ ...options?.params,
1714
+ cartId: options.cartId,
1715
+ country: options.country,
1716
+ state: options.state,
1717
+ },
1718
+ }),
1719
+ path: `/shipping-methods/matching-cart-location`,
1720
+ method: 'GET',
1721
+ });
1722
+ }
1723
+ /**
1724
+ * Query shipping methods:
1725
+ * https://docs.commercetools.com/api/projects/shippingMethods#query-shippingmethods
1726
+ */
1727
+ queryShippingMethods(options) {
1728
+ return this.request({
1729
+ ...this.extractCommonRequestOptions(options),
1730
+ path: `/shipping-methods`,
1731
+ method: 'GET',
1732
+ });
1733
+ }
1734
+ /**
1735
+ * Get an individual customer group by id:
1736
+ * https://docs.commercetools.com/api/projects/customerGroups#get-customergroup-by-id
1737
+ */
1738
+ getCustomerGroupById(options) {
1739
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1740
+ return this.request({
1741
+ ...this.extractCommonRequestOptions(options),
1742
+ path: `/customer-groups/${encodeURIComponent(options.id)}`,
1743
+ method: 'GET',
1744
+ });
1745
+ }
1746
+ /**
1747
+ * Get an individual customer group by key:
1748
+ * https://docs.commercetools.com/api/projects/customerGroups#get-customergroup-by-key
1749
+ */
1750
+ getCustomerGroupByKey(options) {
1751
+ return this.request({
1752
+ ...this.extractCommonRequestOptions(options),
1753
+ path: `/customer-groups/key=${encodeURIComponent(options.key)}`,
1754
+ method: 'GET',
1755
+ });
1756
+ }
1757
+ /**
1758
+ * Query customer groups:
1759
+ * https://docs.commercetools.com/api/projects/customerGroups#query-customergroups
1760
+ */
1761
+ queryCustomerGroups(options) {
1762
+ return this.request({
1763
+ ...this.extractCommonRequestOptions(options),
1764
+ path: `/customer-groups`,
1765
+ method: 'GET',
1766
+ });
1767
+ }
1768
+ /**
1769
+ * Create a customer group:
1770
+ * https://docs.commercetools.com/api/projects/customerGroups#create-a-customergroup
1771
+ */
1772
+ createCustomerGroup(options) {
1773
+ return this.request({
1774
+ path: `/customer-groups`,
1775
+ method: 'POST',
1776
+ data: options.data,
1777
+ });
1778
+ }
1779
+ /**
1780
+ * Update a customer group by key:
1781
+ * https://docs.commercetools.com/api/projects/customerGroups#update-customergroup-by-key
1782
+ */
1783
+ updateCustomerGroupByKey(options) {
1784
+ return this.request({
1785
+ path: `/customer-groups/key=${encodeURIComponent(options.key)}`,
1786
+ method: 'POST',
1787
+ data: options.data,
1788
+ });
1789
+ }
1790
+ /**
1791
+ * Update a customer group by id:
1792
+ * https://docs.commercetools.com/api/projects/customerGroups#update-customergroup-by-id
1793
+ */
1794
+ updateCustomerGroupById(options) {
1795
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1796
+ return this.request({
1797
+ ...this.extractCommonRequestOptions(options),
1798
+ path: `/customer-groups/${encodeURIComponent(options.id)}`,
1799
+ method: 'POST',
1800
+ data: options.data,
1801
+ });
1802
+ }
1803
+ /**
1804
+ * Delete a customer group by id:
1805
+ * https://docs.commercetools.com/api/projects/customerGroups#delete-customergroup-by-id
1806
+ */
1807
+ deleteCustomerGroupById(options) {
1808
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1809
+ return this.request({
1810
+ ...this.extractCommonRequestOptions(options),
1811
+ path: `/customer-groups/${encodeURIComponent(options.id)}`,
1812
+ method: 'DELETE',
1813
+ params: {
1814
+ ...options.params,
1815
+ version: options.version,
1816
+ },
1817
+ });
1818
+ }
1819
+ /**
1820
+ * Delete a customer group by key:
1821
+ * https://docs.commercetools.com/api/projects/customerGroups#delete-customergroup-by-key
1822
+ */
1823
+ deleteCustomerGroupByKey(options) {
1824
+ return this.request({
1825
+ ...this.extractCommonRequestOptions(options),
1826
+ path: `/customer-groups/key=${encodeURIComponent(options.key)}`,
1827
+ method: 'DELETE',
1828
+ params: {
1829
+ ...options.params,
1830
+ version: options.version,
1831
+ },
1832
+ });
1833
+ }
1834
+ /**
1835
+ * Get a state given it's id
1836
+ * https://docs.commercetools.com/api/projects/states#get-state-by-id
1837
+ */
1838
+ getStateById(options) {
1839
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1840
+ return this.request({
1841
+ ...this.extractCommonRequestOptions(options),
1842
+ path: `/states/${encodeURIComponent(options.id)}`,
1843
+ method: 'GET',
1844
+ });
1845
+ }
1846
+ /**
1847
+ * Get a state given it's key
1848
+ * https://docs.commercetools.com/api/projects/states#get-state-by-key
1849
+ */
1850
+ getStateByKey(options) {
1851
+ return this.request({
1852
+ ...this.extractCommonRequestOptions(options),
1853
+ path: `/states/key=${encodeURIComponent(options.key)}`,
1854
+ method: 'GET',
1855
+ });
1856
+ }
1857
+ /**
1858
+ * Query state
1859
+ * https://docs.commercetools.com/api/projects/states#query-states
1860
+ */
1861
+ queryStates(options) {
1862
+ return this.request({
1863
+ ...this.extractCommonRequestOptions(options),
1864
+ path: '/states',
1865
+ method: 'GET',
1866
+ });
1867
+ }
1868
+ /**
1869
+ * Get a standalone price given it's id
1870
+ * https://docs.commercetools.com/api/projects/standalone-prices#get-standaloneprice-by-id
1871
+ */
1872
+ getStandalonePriceById(options) {
1873
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1874
+ return this.request({
1875
+ ...this.extractCommonRequestOptions(options),
1876
+ path: `/standalone-prices/${encodeURIComponent(options.id)}`,
1877
+ method: 'GET',
1878
+ });
1879
+ }
1880
+ /**
1881
+ * Get a standalone price given it's key
1882
+ * https://docs.commercetools.com/api/projects/standalone-prices#get-standaloneprice-by-key
1883
+ */
1884
+ getStandalonePriceByKey(options) {
1885
+ return this.request({
1886
+ ...this.extractCommonRequestOptions(options),
1887
+ path: `/standalone-prices/key=${encodeURIComponent(options.key)}`,
1888
+ method: 'GET',
1889
+ });
1890
+ }
1891
+ /**
1892
+ * Query standalone prices
1893
+ * https://docs.commercetools.com/api/projects/standalone-prices#query-standaloneprices
1894
+ */
1895
+ queryStandalonePrices(options) {
1896
+ return this.request({
1897
+ ...this.extractCommonRequestOptions(options),
1898
+ path: '/standalone-prices',
1899
+ method: 'GET',
1900
+ });
1901
+ }
1902
+ /**
1903
+ * Create a standalone price object:
1904
+ * https://docs.commercetools.com/api/projects/standalone-prices#create-standaloneprice
1905
+ */
1906
+ createStandalonePrice(options) {
1907
+ return this.request({
1908
+ ...this.extractCommonRequestOptions(options),
1909
+ path: '/standalone-prices',
1910
+ method: 'POST',
1911
+ data: options.data,
1912
+ });
1913
+ }
1914
+ /**
1915
+ * Update a standalone price object by id:
1916
+ * https://docs.commercetools.com/api/projects/standalone-prices#update-standaloneprice-by-id
1917
+ */
1918
+ updateStandalonePriceById(options) {
1919
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1920
+ return this.request({
1921
+ ...this.extractCommonRequestOptions(options),
1922
+ path: `/standalone-prices/${encodeURIComponent(options.id)}`,
1923
+ method: 'POST',
1924
+ data: options.data,
1925
+ });
1926
+ }
1927
+ /**
1928
+ * Update a standalone price object by key:
1929
+ * https://docs.commercetools.com/api/projects/standalone-prices#update-standaloneprice-by-key
1930
+ */
1931
+ updateStandalonePriceByKey(options) {
1932
+ return this.request({
1933
+ ...this.extractCommonRequestOptions(options),
1934
+ path: `/standalone-prices/key=${encodeURIComponent(options.key)}`,
1935
+ method: 'POST',
1936
+ data: options.data,
1937
+ });
1938
+ }
1939
+ /**
1940
+ * Delete a standalone price object by id:
1941
+ * https://docs.commercetools.com/api/projects/standalone-prices#delete-standaloneprice-by-id
1942
+ */
1943
+ deleteStandalonePriceById(options) {
1944
+ ensureNonEmptyString({ value: options.id, name: 'id' });
1945
+ return this.request({
1946
+ ...this.extractCommonRequestOptions(options),
1947
+ path: `/standalone-prices/${encodeURIComponent(options.id)}`,
1948
+ method: 'DELETE',
1949
+ params: {
1950
+ ...options.params,
1951
+ version: options.version,
1952
+ },
1953
+ });
1954
+ }
1955
+ /**
1956
+ * Delete a standalone price object by key:
1957
+ * https://docs.commercetools.com/api/projects/standalone-prices#delete-standaloneprice-by-key
1958
+ */
1959
+ deleteStandalonePriceByKey(options) {
1960
+ return this.request({
1961
+ ...this.extractCommonRequestOptions(options),
1962
+ path: `/standalone-prices/key=${encodeURIComponent(options.key)}`,
1963
+ method: 'DELETE',
1964
+ params: {
1965
+ ...options.params,
1966
+ version: options.version,
1967
+ },
1968
+ });
1969
+ }
1970
+ /**
1971
+ * Execute a GraphQL statement:
1972
+ * https://docs.commercetools.com/api/graphql
1973
+ */
1974
+ graphql(options) {
1975
+ return this.request({
1976
+ ...this.extractCommonRequestOptions(options),
1977
+ path: `/graphql`,
1978
+ method: 'POST',
1979
+ data: options.data,
1980
+ accessToken: options.accessToken,
1981
+ });
1982
+ }
1983
+ /**
1984
+ * Make the request to the commercetools REST API.
1985
+ */
1986
+ async request(options) {
1987
+ const requestOptions = await this.getRequestOptions(options);
1988
+ return await this.requestExecutor(requestOptions);
1989
+ }
1990
+ /**
1991
+ * Generate request options. These are then fed in to axios when
1992
+ * making the request to commercetools.
1993
+ */
1994
+ async getRequestOptions(options) {
1995
+ let params;
1996
+ let accessToken = options.accessToken;
1997
+ const url = `${this.endpoints.api}/${this.config.projectKey}${options.path}`;
1998
+ if (!accessToken) {
1999
+ const grant = await this.auth.getClientGrant();
2000
+ accessToken = grant.accessToken;
2001
+ }
2002
+ const headers = {
2003
+ ...options.headers,
2004
+ Authorization: `Bearer ${accessToken}`,
2005
+ };
2006
+ if (typeof options.correlationId === 'string' && options.correlationId !== '') {
2007
+ headers['X-Correlation-ID'] = options.correlationId;
2008
+ delete options.correlationId;
2009
+ }
2010
+ if (options.params && Object.keys(options.params).length) {
2011
+ params = options.params;
2012
+ }
2013
+ return {
2014
+ method: options.method,
2015
+ data: options.data,
2016
+ url,
2017
+ headers,
2018
+ params,
2019
+ };
2020
+ }
2021
+ /**
2022
+ * Type-guard against any additional unexpected properties being passed in.
2023
+ */
2024
+ extractCommonRequestOptions(options) {
2025
+ if (!options) {
2026
+ return {};
2027
+ }
2028
+ return {
2029
+ correlationId: options.correlationId,
2030
+ params: options.params,
2031
+ retry: options.retry,
2032
+ };
2033
+ }
2034
+ /**
2035
+ * Applies the store key to a given path
2036
+ */
2037
+ applyStore(path, storeKey) {
2038
+ if (typeof storeKey === 'string' && storeKey !== '') {
2039
+ return `/in-store/key=${storeKey}${path}`;
2040
+ }
2041
+ else if (this.config.storeKey) {
2042
+ return `/in-store/key=${this.config.storeKey}${path}`;
2043
+ }
2044
+ return path;
2045
+ }
2046
+ /**
2047
+ * Ensure that all required properties on the {@see CommercetoolsApiConfig}
2048
+ * object have been populated. These are currently:
2049
+ *
2050
+ * projectKey: string
2051
+ * clientId: string
2052
+ * clientSecret: string
2053
+ * region: Region
2054
+ * clientScopes: string[]
2055
+ */
2056
+ static validateConfig(config) {
2057
+ const errors = [];
2058
+ if (!config) {
2059
+ errors.push('The config object missing or empty');
2060
+ }
2061
+ else {
2062
+ if (!config.projectKey) {
2063
+ errors.push('The `projectKey` property is empty');
2064
+ }
2065
+ else if (typeof config.projectKey !== 'string') {
2066
+ errors.push('The `projectKey` property must be a string');
2067
+ }
2068
+ if (!config.clientId) {
2069
+ errors.push('The `clientId` property is empty');
2070
+ }
2071
+ else if (typeof config.clientId !== 'string') {
2072
+ errors.push('The `clientId` property must be a string');
2073
+ }
2074
+ if (!config.clientSecret) {
2075
+ errors.push('The `clientSecret` property is empty');
2076
+ }
2077
+ else if (typeof config.clientSecret !== 'string') {
2078
+ errors.push('The `clientSecret` property must be a string');
2079
+ }
2080
+ if (!Array.isArray(config.clientScopes)) {
2081
+ errors.push('The `clientScopes` property must be an array');
2082
+ }
2083
+ else if (config.clientScopes.length === 0) {
2084
+ errors.push('The `clientScopes` property must have at least 1 scope defined');
2085
+ }
2086
+ if (!config.region) {
2087
+ errors.push('The `region` property is empty');
2088
+ }
2089
+ else if (typeof config.region !== 'string') {
2090
+ errors.push('The `region` property must be a string');
2091
+ }
2092
+ else if (!Object.prototype.hasOwnProperty.call(REGION_URLS, config.region)) {
2093
+ errors.push(`The \`region\` property value is not valid: ${config.region}. Must be one of: ${Object.keys(REGION_URLS).join(', ')}`);
2094
+ }
2095
+ }
2096
+ if (errors.length) {
2097
+ throw new CommercetoolsError('The configuration object passed in to the `CommercetoolsApi` constructor is not valid: \n' +
2098
+ errors.map((error) => `• ${error}`).join('\n'));
2099
+ }
2100
+ }
2101
+ }
2102
+ //# sourceMappingURL=CommercetoolsApi.js.map