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