@gradientedge/commercetools-utils 5.9.1 → 5.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (695) hide show
  1. package/dist/cjs/api/CommercetoolsApi.d.ts +1252 -0
  2. package/dist/cjs/api/CommercetoolsApi.d.ts.map +1 -0
  3. package/dist/cjs/api/CommercetoolsApi.js +2106 -0
  4. package/dist/cjs/api/CommercetoolsApi.js.map +1 -0
  5. package/dist/cjs/api/index.d.ts +3 -0
  6. package/dist/cjs/api/index.d.ts.map +1 -0
  7. package/dist/cjs/api/index.js +19 -0
  8. package/dist/cjs/api/index.js.map +1 -0
  9. package/dist/cjs/api/types.d.ts +33 -0
  10. package/dist/cjs/api/types.d.ts.map +1 -0
  11. package/dist/cjs/api/types.js +3 -0
  12. package/dist/cjs/api/types.js.map +1 -0
  13. package/dist/cjs/auth/CommercetoolsAuth.d.ts +182 -0
  14. package/dist/cjs/auth/CommercetoolsAuth.d.ts.map +1 -0
  15. package/dist/cjs/auth/CommercetoolsAuth.js +238 -0
  16. package/dist/cjs/auth/CommercetoolsAuth.js.map +1 -0
  17. package/dist/cjs/auth/CommercetoolsAuthApi.d.ts +83 -0
  18. package/dist/cjs/auth/CommercetoolsAuthApi.d.ts.map +1 -0
  19. package/dist/cjs/auth/CommercetoolsAuthApi.js +169 -0
  20. package/dist/cjs/auth/CommercetoolsAuthApi.js.map +1 -0
  21. package/dist/cjs/auth/CommercetoolsGrant.d.ts +66 -0
  22. package/dist/cjs/auth/CommercetoolsGrant.d.ts.map +1 -0
  23. package/dist/cjs/auth/CommercetoolsGrant.js +99 -0
  24. package/dist/cjs/auth/CommercetoolsGrant.js.map +1 -0
  25. package/dist/cjs/auth/constants.d.ts +7 -0
  26. package/dist/cjs/auth/constants.d.ts.map +1 -0
  27. package/dist/cjs/auth/constants.js +31 -0
  28. package/dist/cjs/auth/constants.js.map +1 -0
  29. package/dist/cjs/auth/index.d.ts +4 -0
  30. package/dist/cjs/auth/index.d.ts.map +1 -0
  31. package/dist/cjs/auth/index.js +19 -0
  32. package/dist/cjs/auth/index.js.map +1 -0
  33. package/dist/cjs/auth/scopes.d.ts +11 -0
  34. package/dist/cjs/auth/scopes.d.ts.map +1 -0
  35. package/dist/cjs/auth/scopes.js +30 -0
  36. package/dist/cjs/auth/scopes.js.map +1 -0
  37. package/dist/cjs/auth/types.d.ts +118 -0
  38. package/dist/cjs/auth/types.d.ts.map +1 -0
  39. package/dist/cjs/auth/types.js +28 -0
  40. package/dist/cjs/auth/types.js.map +1 -0
  41. package/dist/{typings → cjs}/auth/utils.d.ts +1 -0
  42. package/dist/cjs/auth/utils.d.ts.map +1 -0
  43. package/dist/cjs/auth/utils.js +14 -0
  44. package/dist/cjs/auth/utils.js.map +1 -0
  45. package/dist/cjs/constants.d.ts +33 -0
  46. package/dist/cjs/constants.d.ts.map +1 -0
  47. package/dist/cjs/constants.js +46 -0
  48. package/dist/cjs/constants.js.map +1 -0
  49. package/dist/cjs/error/CommercetoolsError.d.ts +34 -0
  50. package/dist/cjs/error/CommercetoolsError.d.ts.map +1 -0
  51. package/dist/cjs/error/CommercetoolsError.js +113 -0
  52. package/dist/cjs/error/CommercetoolsError.js.map +1 -0
  53. package/dist/cjs/error/index.d.ts +2 -0
  54. package/dist/cjs/error/index.d.ts.map +1 -0
  55. package/dist/cjs/error/index.js +18 -0
  56. package/dist/cjs/error/index.js.map +1 -0
  57. package/dist/cjs/index.d.ts +8 -0
  58. package/dist/cjs/index.d.ts.map +1 -0
  59. package/dist/cjs/index.js +26 -0
  60. package/dist/cjs/index.js.map +1 -0
  61. package/dist/cjs/models/associate-role.d.ts +319 -0
  62. package/dist/cjs/models/associate-role.d.ts.map +1 -0
  63. package/dist/cjs/models/associate-role.js +8 -0
  64. package/dist/cjs/models/associate-role.js.map +1 -0
  65. package/dist/cjs/models/attribute-group.d.ts +253 -0
  66. package/dist/cjs/models/attribute-group.d.ts.map +1 -0
  67. package/dist/cjs/models/attribute-group.js +8 -0
  68. package/dist/cjs/models/attribute-group.js.map +1 -0
  69. package/dist/cjs/models/business-unit.d.ts +1197 -0
  70. package/dist/cjs/models/business-unit.d.ts.map +1 -0
  71. package/dist/cjs/models/business-unit.js +8 -0
  72. package/dist/cjs/models/business-unit.js.map +1 -0
  73. package/dist/cjs/models/cart-discount.d.ts +716 -0
  74. package/dist/cjs/models/cart-discount.d.ts.map +1 -0
  75. package/dist/cjs/models/cart-discount.js +8 -0
  76. package/dist/cjs/models/cart-discount.js.map +1 -0
  77. package/dist/cjs/models/cart.d.ts +3350 -0
  78. package/dist/cjs/models/cart.d.ts.map +1 -0
  79. package/dist/cjs/models/cart.js +8 -0
  80. package/dist/cjs/models/cart.js.map +1 -0
  81. package/dist/cjs/models/category.d.ts +634 -0
  82. package/dist/cjs/models/category.d.ts.map +1 -0
  83. package/dist/cjs/models/category.js +8 -0
  84. package/dist/cjs/models/category.js.map +1 -0
  85. package/dist/cjs/models/channel.d.ts +379 -0
  86. package/dist/cjs/models/channel.d.ts.map +1 -0
  87. package/dist/cjs/models/channel.js +8 -0
  88. package/dist/cjs/models/channel.js.map +1 -0
  89. package/dist/cjs/models/common.d.ts +1096 -0
  90. package/dist/cjs/models/common.d.ts.map +1 -0
  91. package/dist/cjs/models/common.js +8 -0
  92. package/dist/cjs/models/common.js.map +1 -0
  93. package/dist/cjs/models/custom-object.d.ts +151 -0
  94. package/dist/cjs/models/custom-object.d.ts.map +1 -0
  95. package/dist/cjs/models/custom-object.js +8 -0
  96. package/dist/cjs/models/custom-object.js.map +1 -0
  97. package/dist/cjs/models/customer-group.d.ts +235 -0
  98. package/dist/cjs/models/customer-group.d.ts.map +1 -0
  99. package/dist/cjs/models/customer-group.js +8 -0
  100. package/dist/cjs/models/customer-group.js.map +1 -0
  101. package/dist/cjs/models/customer.d.ts +1221 -0
  102. package/dist/cjs/models/customer.d.ts.map +1 -0
  103. package/dist/cjs/models/customer.js +8 -0
  104. package/dist/cjs/models/customer.js.map +1 -0
  105. package/dist/cjs/models/discount-code.d.ts +439 -0
  106. package/dist/cjs/models/discount-code.d.ts.map +1 -0
  107. package/dist/cjs/models/discount-code.js +8 -0
  108. package/dist/cjs/models/discount-code.js.map +1 -0
  109. package/dist/cjs/models/error.d.ts +3062 -0
  110. package/dist/cjs/models/error.d.ts.map +1 -0
  111. package/dist/cjs/models/error.js +8 -0
  112. package/dist/cjs/models/error.js.map +1 -0
  113. package/dist/cjs/models/extension.d.ts +335 -0
  114. package/dist/cjs/models/extension.d.ts.map +1 -0
  115. package/dist/cjs/models/extension.js +8 -0
  116. package/dist/cjs/models/extension.js.map +1 -0
  117. package/dist/cjs/models/graph-ql.d.ts +63 -0
  118. package/dist/cjs/models/graph-ql.d.ts.map +1 -0
  119. package/dist/cjs/models/graph-ql.js +8 -0
  120. package/dist/cjs/models/graph-ql.js.map +1 -0
  121. package/dist/cjs/models/index.d.ts +42 -0
  122. package/dist/cjs/models/index.d.ts.map +1 -0
  123. package/dist/cjs/models/index.js +58 -0
  124. package/dist/cjs/models/index.js.map +1 -0
  125. package/dist/cjs/models/inventory.d.ts +327 -0
  126. package/dist/cjs/models/inventory.d.ts.map +1 -0
  127. package/dist/cjs/models/inventory.js +8 -0
  128. package/dist/cjs/models/inventory.js.map +1 -0
  129. package/dist/cjs/models/me.d.ts +2483 -0
  130. package/dist/cjs/models/me.d.ts.map +1 -0
  131. package/dist/cjs/models/me.js +8 -0
  132. package/dist/cjs/models/me.js.map +1 -0
  133. package/dist/cjs/models/message.d.ts +15095 -0
  134. package/dist/cjs/models/message.d.ts.map +1 -0
  135. package/dist/cjs/models/message.js +8 -0
  136. package/dist/cjs/models/message.js.map +1 -0
  137. package/dist/cjs/models/order-edit.d.ts +1645 -0
  138. package/dist/cjs/models/order-edit.d.ts.map +1 -0
  139. package/dist/cjs/models/order-edit.js +8 -0
  140. package/dist/cjs/models/order-edit.js.map +1 -0
  141. package/dist/{typings → cjs}/models/order.d.ts +1490 -15
  142. package/dist/cjs/models/order.d.ts.map +1 -0
  143. package/dist/cjs/models/order.js +8 -0
  144. package/dist/cjs/models/order.js.map +1 -0
  145. package/dist/cjs/models/payment.d.ts +734 -0
  146. package/dist/cjs/models/payment.d.ts.map +1 -0
  147. package/dist/cjs/models/payment.js +8 -0
  148. package/dist/cjs/models/payment.js.map +1 -0
  149. package/dist/cjs/models/product-discount.d.ts +461 -0
  150. package/dist/cjs/models/product-discount.d.ts.map +1 -0
  151. package/dist/cjs/models/product-discount.js +8 -0
  152. package/dist/cjs/models/product-discount.js.map +1 -0
  153. package/dist/cjs/models/product-selection.d.ts +638 -0
  154. package/dist/cjs/models/product-selection.d.ts.map +1 -0
  155. package/dist/cjs/models/product-selection.js +8 -0
  156. package/dist/cjs/models/product-selection.js.map +1 -0
  157. package/dist/cjs/models/product-type.d.ts +774 -0
  158. package/dist/cjs/models/product-type.d.ts.map +1 -0
  159. package/dist/cjs/models/product-type.js +8 -0
  160. package/dist/cjs/models/product-type.js.map +1 -0
  161. package/dist/cjs/models/product.d.ts +2282 -0
  162. package/dist/cjs/models/product.d.ts.map +1 -0
  163. package/dist/cjs/models/product.js +8 -0
  164. package/dist/cjs/models/product.js.map +1 -0
  165. package/dist/cjs/models/project.d.ts +381 -0
  166. package/dist/cjs/models/project.d.ts.map +1 -0
  167. package/dist/cjs/models/project.js +8 -0
  168. package/dist/cjs/models/project.js.map +1 -0
  169. package/dist/cjs/models/quote-request.d.ts +430 -0
  170. package/dist/cjs/models/quote-request.d.ts.map +1 -0
  171. package/dist/cjs/models/quote-request.js +8 -0
  172. package/dist/cjs/models/quote-request.js.map +1 -0
  173. package/dist/cjs/models/quote.d.ts +458 -0
  174. package/dist/cjs/models/quote.d.ts.map +1 -0
  175. package/dist/cjs/models/quote.js +8 -0
  176. package/dist/cjs/models/quote.js.map +1 -0
  177. package/dist/cjs/models/review.d.ts +435 -0
  178. package/dist/cjs/models/review.d.ts.map +1 -0
  179. package/dist/cjs/models/review.js +8 -0
  180. package/dist/cjs/models/review.js.map +1 -0
  181. package/dist/cjs/models/scalar-types.d.ts +9 -0
  182. package/dist/cjs/models/scalar-types.d.ts.map +1 -0
  183. package/dist/cjs/models/scalar-types.js +8 -0
  184. package/dist/cjs/models/scalar-types.js.map +1 -0
  185. package/dist/cjs/models/shipping-method.d.ts +569 -0
  186. package/dist/cjs/models/shipping-method.d.ts.map +1 -0
  187. package/dist/cjs/models/shipping-method.js +8 -0
  188. package/dist/cjs/models/shipping-method.js.map +1 -0
  189. package/dist/cjs/models/shopping-list.d.ts +844 -0
  190. package/dist/cjs/models/shopping-list.d.ts.map +1 -0
  191. package/dist/cjs/models/shopping-list.js +8 -0
  192. package/dist/cjs/models/shopping-list.js.map +1 -0
  193. package/dist/cjs/models/staged-quote.d.ts +338 -0
  194. package/dist/cjs/models/staged-quote.d.ts.map +1 -0
  195. package/dist/cjs/models/staged-quote.js +8 -0
  196. package/dist/cjs/models/staged-quote.js.map +1 -0
  197. package/dist/cjs/models/standalone-price.d.ts +410 -0
  198. package/dist/cjs/models/standalone-price.d.ts.map +1 -0
  199. package/dist/cjs/models/standalone-price.js +8 -0
  200. package/dist/cjs/models/standalone-price.js.map +1 -0
  201. package/dist/cjs/models/state.d.ts +341 -0
  202. package/dist/cjs/models/state.d.ts.map +1 -0
  203. package/dist/cjs/models/state.js +8 -0
  204. package/dist/cjs/models/state.js.map +1 -0
  205. package/dist/cjs/models/store-country.d.ts +14 -0
  206. package/dist/cjs/models/store-country.d.ts.map +1 -0
  207. package/dist/cjs/models/store-country.js +8 -0
  208. package/dist/cjs/models/store-country.js.map +1 -0
  209. package/dist/cjs/models/store.d.ts +547 -0
  210. package/dist/cjs/models/store.d.ts.map +1 -0
  211. package/dist/cjs/models/store.js +8 -0
  212. package/dist/cjs/models/store.js.map +1 -0
  213. package/dist/cjs/models/subscription.d.ts +717 -0
  214. package/dist/cjs/models/subscription.d.ts.map +1 -0
  215. package/dist/cjs/models/subscription.js +8 -0
  216. package/dist/cjs/models/subscription.js.map +1 -0
  217. package/dist/cjs/models/tax-category.d.ts +376 -0
  218. package/dist/cjs/models/tax-category.d.ts.map +1 -0
  219. package/dist/cjs/models/tax-category.js +8 -0
  220. package/dist/cjs/models/tax-category.js.map +1 -0
  221. package/dist/cjs/models/type.d.ts +645 -0
  222. package/dist/cjs/models/type.d.ts.map +1 -0
  223. package/dist/cjs/models/type.js +8 -0
  224. package/dist/cjs/models/type.js.map +1 -0
  225. package/dist/cjs/models/zone.d.ts +234 -0
  226. package/dist/cjs/models/zone.d.ts.map +1 -0
  227. package/dist/cjs/models/zone.js +8 -0
  228. package/dist/cjs/models/zone.js.map +1 -0
  229. package/dist/cjs/package.json +1 -0
  230. package/dist/cjs/request/index.d.ts +3 -0
  231. package/dist/cjs/request/index.d.ts.map +1 -0
  232. package/dist/cjs/request/index.js +19 -0
  233. package/dist/cjs/request/index.js.map +1 -0
  234. package/dist/cjs/request/is-retryable-error.d.ts +6 -0
  235. package/dist/cjs/request/is-retryable-error.d.ts.map +1 -0
  236. package/dist/cjs/request/is-retryable-error.js +28 -0
  237. package/dist/cjs/request/is-retryable-error.js.map +1 -0
  238. package/dist/{typings → cjs}/request/request-executor.d.ts +3 -2
  239. package/dist/cjs/request/request-executor.d.ts.map +1 -0
  240. package/dist/cjs/request/request-executor.js +23 -0
  241. package/dist/cjs/request/request-executor.js.map +1 -0
  242. package/dist/{typings → cjs}/request/request.d.ts +3 -2
  243. package/dist/cjs/request/request.d.ts.map +1 -0
  244. package/dist/cjs/request/request.js +84 -0
  245. package/dist/cjs/request/request.js.map +1 -0
  246. package/dist/cjs/request/transform-error.d.ts +7 -0
  247. package/dist/cjs/request/transform-error.d.ts.map +1 -0
  248. package/dist/cjs/request/transform-error.js +16 -0
  249. package/dist/cjs/request/transform-error.js.map +1 -0
  250. package/dist/{typings → cjs}/types.d.ts +39 -1
  251. package/dist/cjs/types.d.ts.map +1 -0
  252. package/dist/cjs/types.js +16 -0
  253. package/dist/cjs/types.js.map +1 -0
  254. package/dist/{typings → cjs}/utils/axios/convert-error.d.ts +2 -1
  255. package/dist/cjs/utils/axios/convert-error.d.ts.map +1 -0
  256. package/dist/cjs/utils/axios/convert-error.js +28 -0
  257. package/dist/cjs/utils/axios/convert-error.js.map +1 -0
  258. package/dist/{typings → cjs}/utils/axios/convert-response.d.ts +2 -1
  259. package/dist/cjs/utils/axios/convert-response.d.ts.map +1 -0
  260. package/dist/cjs/utils/axios/convert-response.js +23 -0
  261. package/dist/cjs/utils/axios/convert-response.js.map +1 -0
  262. package/dist/{typings → cjs}/utils/axios/create-instance.d.ts +5 -0
  263. package/dist/cjs/utils/axios/create-instance.d.ts.map +1 -0
  264. package/dist/cjs/utils/axios/create-instance.js +30 -0
  265. package/dist/cjs/utils/axios/create-instance.js.map +1 -0
  266. package/dist/{typings → cjs}/utils/axios/extract-headers.d.ts +1 -0
  267. package/dist/cjs/utils/axios/extract-headers.d.ts.map +1 -0
  268. package/dist/cjs/utils/axios/extract-headers.js +23 -0
  269. package/dist/cjs/utils/axios/extract-headers.js.map +1 -0
  270. package/dist/cjs/utils/axios/index.d.ts +5 -0
  271. package/dist/cjs/utils/axios/index.d.ts.map +1 -0
  272. package/dist/cjs/utils/axios/index.js +21 -0
  273. package/dist/cjs/utils/axios/index.js.map +1 -0
  274. package/dist/cjs/utils/calculate-delay.d.ts +7 -0
  275. package/dist/cjs/utils/calculate-delay.d.ts.map +1 -0
  276. package/dist/cjs/utils/calculate-delay.js +30 -0
  277. package/dist/cjs/utils/calculate-delay.js.map +1 -0
  278. package/dist/cjs/utils/ensure-non-empty-string.d.ts +16 -0
  279. package/dist/cjs/utils/ensure-non-empty-string.d.ts.map +1 -0
  280. package/dist/cjs/utils/ensure-non-empty-string.js +16 -0
  281. package/dist/cjs/utils/ensure-non-empty-string.js.map +1 -0
  282. package/dist/cjs/utils/format.d.ts +11 -0
  283. package/dist/cjs/utils/format.d.ts.map +1 -0
  284. package/dist/cjs/utils/format.js +48 -0
  285. package/dist/cjs/utils/format.js.map +1 -0
  286. package/dist/cjs/utils/get-attribute-value.d.ts +17 -0
  287. package/dist/cjs/utils/get-attribute-value.d.ts.map +1 -0
  288. package/dist/cjs/utils/get-attribute-value.js +19 -0
  289. package/dist/cjs/utils/get-attribute-value.js.map +1 -0
  290. package/dist/cjs/utils/index.d.ts +9 -0
  291. package/dist/cjs/utils/index.d.ts.map +1 -0
  292. package/dist/cjs/utils/index.js +25 -0
  293. package/dist/cjs/utils/index.js.map +1 -0
  294. package/dist/cjs/utils/mask.d.ts +28 -0
  295. package/dist/cjs/utils/mask.d.ts.map +1 -0
  296. package/dist/cjs/utils/mask.js +63 -0
  297. package/dist/cjs/utils/mask.js.map +1 -0
  298. package/dist/cjs/utils/plain-clone.d.ts +14 -0
  299. package/dist/cjs/utils/plain-clone.d.ts.map +1 -0
  300. package/dist/cjs/utils/plain-clone.js +41 -0
  301. package/dist/cjs/utils/plain-clone.js.map +1 -0
  302. package/dist/cjs/utils/retry-on-conflict.d.ts +99 -0
  303. package/dist/cjs/utils/retry-on-conflict.d.ts.map +1 -0
  304. package/dist/cjs/utils/retry-on-conflict.js +109 -0
  305. package/dist/cjs/utils/retry-on-conflict.js.map +1 -0
  306. package/dist/cjs/utils/useragent.d.ts +10 -0
  307. package/dist/cjs/utils/useragent.d.ts.map +1 -0
  308. package/dist/cjs/utils/useragent.js +21 -0
  309. package/dist/cjs/utils/useragent.js.map +1 -0
  310. package/dist/mjs/api/CommercetoolsApi.d.ts +1252 -0
  311. package/dist/mjs/api/CommercetoolsApi.d.ts.map +1 -0
  312. package/dist/mjs/api/CommercetoolsApi.js +2102 -0
  313. package/dist/mjs/api/CommercetoolsApi.js.map +1 -0
  314. package/dist/mjs/api/index.d.ts +3 -0
  315. package/dist/mjs/api/index.d.ts.map +1 -0
  316. package/dist/mjs/api/index.js +3 -0
  317. package/dist/mjs/api/index.js.map +1 -0
  318. package/dist/mjs/api/types.d.ts +33 -0
  319. package/dist/mjs/api/types.d.ts.map +1 -0
  320. package/dist/mjs/api/types.js +2 -0
  321. package/dist/mjs/api/types.js.map +1 -0
  322. package/dist/mjs/auth/CommercetoolsAuth.d.ts +182 -0
  323. package/dist/mjs/auth/CommercetoolsAuth.d.ts.map +1 -0
  324. package/dist/mjs/auth/CommercetoolsAuth.js +234 -0
  325. package/dist/mjs/auth/CommercetoolsAuth.js.map +1 -0
  326. package/dist/mjs/auth/CommercetoolsAuthApi.d.ts +83 -0
  327. package/dist/mjs/auth/CommercetoolsAuthApi.d.ts.map +1 -0
  328. package/dist/mjs/auth/CommercetoolsAuthApi.js +165 -0
  329. package/dist/mjs/auth/CommercetoolsAuthApi.js.map +1 -0
  330. package/dist/mjs/auth/CommercetoolsGrant.d.ts +66 -0
  331. package/dist/mjs/auth/CommercetoolsGrant.d.ts.map +1 -0
  332. package/dist/mjs/auth/CommercetoolsGrant.js +95 -0
  333. package/dist/mjs/auth/CommercetoolsGrant.js.map +1 -0
  334. package/dist/mjs/auth/constants.d.ts +7 -0
  335. package/dist/mjs/auth/constants.d.ts.map +1 -0
  336. package/dist/mjs/auth/constants.js +28 -0
  337. package/dist/mjs/auth/constants.js.map +1 -0
  338. package/dist/mjs/auth/index.d.ts +4 -0
  339. package/dist/mjs/auth/index.d.ts.map +1 -0
  340. package/dist/mjs/auth/index.js +3 -0
  341. package/dist/mjs/auth/index.js.map +1 -0
  342. package/dist/mjs/auth/scopes.d.ts +11 -0
  343. package/dist/mjs/auth/scopes.d.ts.map +1 -0
  344. package/dist/mjs/auth/scopes.js +25 -0
  345. package/dist/mjs/auth/scopes.js.map +1 -0
  346. package/dist/mjs/auth/types.d.ts +118 -0
  347. package/dist/mjs/auth/types.d.ts.map +1 -0
  348. package/dist/mjs/auth/types.js +25 -0
  349. package/dist/mjs/auth/types.js.map +1 -0
  350. package/dist/mjs/auth/utils.d.ts +2 -0
  351. package/dist/mjs/auth/utils.d.ts.map +1 -0
  352. package/dist/mjs/auth/utils.js +10 -0
  353. package/dist/mjs/auth/utils.js.map +1 -0
  354. package/dist/mjs/constants.d.ts +33 -0
  355. package/dist/mjs/constants.d.ts.map +1 -0
  356. package/dist/mjs/constants.js +43 -0
  357. package/dist/mjs/constants.js.map +1 -0
  358. package/dist/mjs/error/CommercetoolsError.d.ts +34 -0
  359. package/dist/mjs/error/CommercetoolsError.d.ts.map +1 -0
  360. package/dist/mjs/error/CommercetoolsError.js +106 -0
  361. package/dist/mjs/error/CommercetoolsError.js.map +1 -0
  362. package/dist/mjs/error/index.d.ts +2 -0
  363. package/dist/mjs/error/index.d.ts.map +1 -0
  364. package/dist/mjs/error/index.js +2 -0
  365. package/dist/mjs/error/index.js.map +1 -0
  366. package/dist/mjs/index.d.ts +8 -0
  367. package/dist/mjs/index.d.ts.map +1 -0
  368. package/dist/mjs/index.js +8 -0
  369. package/dist/mjs/index.js.map +1 -0
  370. package/dist/mjs/models/associate-role.d.ts +319 -0
  371. package/dist/mjs/models/associate-role.d.ts.map +1 -0
  372. package/dist/mjs/models/associate-role.js +7 -0
  373. package/dist/mjs/models/associate-role.js.map +1 -0
  374. package/dist/mjs/models/attribute-group.d.ts +253 -0
  375. package/dist/mjs/models/attribute-group.d.ts.map +1 -0
  376. package/dist/mjs/models/attribute-group.js +7 -0
  377. package/dist/mjs/models/attribute-group.js.map +1 -0
  378. package/dist/mjs/models/business-unit.d.ts +1197 -0
  379. package/dist/mjs/models/business-unit.d.ts.map +1 -0
  380. package/dist/mjs/models/business-unit.js +7 -0
  381. package/dist/mjs/models/business-unit.js.map +1 -0
  382. package/dist/mjs/models/cart-discount.d.ts +716 -0
  383. package/dist/mjs/models/cart-discount.d.ts.map +1 -0
  384. package/dist/mjs/models/cart-discount.js +7 -0
  385. package/dist/mjs/models/cart-discount.js.map +1 -0
  386. package/dist/mjs/models/cart.d.ts +3350 -0
  387. package/dist/mjs/models/cart.d.ts.map +1 -0
  388. package/dist/mjs/models/cart.js +7 -0
  389. package/dist/mjs/models/cart.js.map +1 -0
  390. package/dist/mjs/models/category.d.ts +634 -0
  391. package/dist/mjs/models/category.d.ts.map +1 -0
  392. package/dist/mjs/models/category.js +7 -0
  393. package/dist/mjs/models/category.js.map +1 -0
  394. package/dist/mjs/models/channel.d.ts +379 -0
  395. package/dist/mjs/models/channel.d.ts.map +1 -0
  396. package/dist/mjs/models/channel.js +7 -0
  397. package/dist/mjs/models/channel.js.map +1 -0
  398. package/dist/mjs/models/common.d.ts +1096 -0
  399. package/dist/mjs/models/common.d.ts.map +1 -0
  400. package/dist/mjs/models/common.js +7 -0
  401. package/dist/mjs/models/common.js.map +1 -0
  402. package/dist/mjs/models/custom-object.d.ts +151 -0
  403. package/dist/mjs/models/custom-object.d.ts.map +1 -0
  404. package/dist/mjs/models/custom-object.js +7 -0
  405. package/dist/mjs/models/custom-object.js.map +1 -0
  406. package/dist/mjs/models/customer-group.d.ts +235 -0
  407. package/dist/mjs/models/customer-group.d.ts.map +1 -0
  408. package/dist/mjs/models/customer-group.js +7 -0
  409. package/dist/mjs/models/customer-group.js.map +1 -0
  410. package/dist/mjs/models/customer.d.ts +1221 -0
  411. package/dist/mjs/models/customer.d.ts.map +1 -0
  412. package/dist/mjs/models/customer.js +7 -0
  413. package/dist/mjs/models/customer.js.map +1 -0
  414. package/dist/mjs/models/discount-code.d.ts +439 -0
  415. package/dist/mjs/models/discount-code.d.ts.map +1 -0
  416. package/dist/mjs/models/discount-code.js +7 -0
  417. package/dist/mjs/models/discount-code.js.map +1 -0
  418. package/dist/mjs/models/error.d.ts +3062 -0
  419. package/dist/mjs/models/error.d.ts.map +1 -0
  420. package/dist/mjs/models/error.js +7 -0
  421. package/dist/mjs/models/error.js.map +1 -0
  422. package/dist/mjs/models/extension.d.ts +335 -0
  423. package/dist/mjs/models/extension.d.ts.map +1 -0
  424. package/dist/mjs/models/extension.js +7 -0
  425. package/dist/mjs/models/extension.js.map +1 -0
  426. package/dist/mjs/models/graph-ql.d.ts +63 -0
  427. package/dist/mjs/models/graph-ql.d.ts.map +1 -0
  428. package/dist/mjs/models/graph-ql.js +7 -0
  429. package/dist/mjs/models/graph-ql.js.map +1 -0
  430. package/dist/mjs/models/index.d.ts +42 -0
  431. package/dist/mjs/models/index.d.ts.map +1 -0
  432. package/dist/mjs/models/index.js +42 -0
  433. package/dist/mjs/models/index.js.map +1 -0
  434. package/dist/mjs/models/inventory.d.ts +327 -0
  435. package/dist/mjs/models/inventory.d.ts.map +1 -0
  436. package/dist/mjs/models/inventory.js +7 -0
  437. package/dist/mjs/models/inventory.js.map +1 -0
  438. package/dist/mjs/models/me.d.ts +2483 -0
  439. package/dist/mjs/models/me.d.ts.map +1 -0
  440. package/dist/mjs/models/me.js +7 -0
  441. package/dist/mjs/models/me.js.map +1 -0
  442. package/dist/mjs/models/message.d.ts +15095 -0
  443. package/dist/mjs/models/message.d.ts.map +1 -0
  444. package/dist/mjs/models/message.js +7 -0
  445. package/dist/mjs/models/message.js.map +1 -0
  446. package/dist/mjs/models/order-edit.d.ts +1645 -0
  447. package/dist/mjs/models/order-edit.d.ts.map +1 -0
  448. package/dist/mjs/models/order-edit.js +7 -0
  449. package/dist/mjs/models/order-edit.js.map +1 -0
  450. package/dist/mjs/models/order.d.ts +2157 -0
  451. package/dist/mjs/models/order.d.ts.map +1 -0
  452. package/dist/mjs/models/order.js +7 -0
  453. package/dist/mjs/models/order.js.map +1 -0
  454. package/dist/mjs/models/payment.d.ts +734 -0
  455. package/dist/mjs/models/payment.d.ts.map +1 -0
  456. package/dist/mjs/models/payment.js +7 -0
  457. package/dist/mjs/models/payment.js.map +1 -0
  458. package/dist/mjs/models/product-discount.d.ts +461 -0
  459. package/dist/mjs/models/product-discount.d.ts.map +1 -0
  460. package/dist/mjs/models/product-discount.js +7 -0
  461. package/dist/mjs/models/product-discount.js.map +1 -0
  462. package/dist/mjs/models/product-selection.d.ts +638 -0
  463. package/dist/mjs/models/product-selection.d.ts.map +1 -0
  464. package/dist/mjs/models/product-selection.js +7 -0
  465. package/dist/mjs/models/product-selection.js.map +1 -0
  466. package/dist/mjs/models/product-type.d.ts +774 -0
  467. package/dist/mjs/models/product-type.d.ts.map +1 -0
  468. package/dist/mjs/models/product-type.js +7 -0
  469. package/dist/mjs/models/product-type.js.map +1 -0
  470. package/dist/mjs/models/product.d.ts +2282 -0
  471. package/dist/mjs/models/product.d.ts.map +1 -0
  472. package/dist/mjs/models/product.js +7 -0
  473. package/dist/mjs/models/product.js.map +1 -0
  474. package/dist/mjs/models/project.d.ts +381 -0
  475. package/dist/mjs/models/project.d.ts.map +1 -0
  476. package/dist/mjs/models/project.js +7 -0
  477. package/dist/mjs/models/project.js.map +1 -0
  478. package/dist/mjs/models/quote-request.d.ts +430 -0
  479. package/dist/mjs/models/quote-request.d.ts.map +1 -0
  480. package/dist/mjs/models/quote-request.js +7 -0
  481. package/dist/mjs/models/quote-request.js.map +1 -0
  482. package/dist/mjs/models/quote.d.ts +458 -0
  483. package/dist/mjs/models/quote.d.ts.map +1 -0
  484. package/dist/mjs/models/quote.js +7 -0
  485. package/dist/mjs/models/quote.js.map +1 -0
  486. package/dist/mjs/models/review.d.ts +435 -0
  487. package/dist/mjs/models/review.d.ts.map +1 -0
  488. package/dist/mjs/models/review.js +7 -0
  489. package/dist/mjs/models/review.js.map +1 -0
  490. package/dist/mjs/models/scalar-types.d.ts +9 -0
  491. package/dist/mjs/models/scalar-types.d.ts.map +1 -0
  492. package/dist/mjs/models/scalar-types.js +7 -0
  493. package/dist/mjs/models/scalar-types.js.map +1 -0
  494. package/dist/mjs/models/shipping-method.d.ts +569 -0
  495. package/dist/mjs/models/shipping-method.d.ts.map +1 -0
  496. package/dist/mjs/models/shipping-method.js +7 -0
  497. package/dist/mjs/models/shipping-method.js.map +1 -0
  498. package/dist/mjs/models/shopping-list.d.ts +844 -0
  499. package/dist/mjs/models/shopping-list.d.ts.map +1 -0
  500. package/dist/mjs/models/shopping-list.js +7 -0
  501. package/dist/mjs/models/shopping-list.js.map +1 -0
  502. package/dist/mjs/models/staged-quote.d.ts +338 -0
  503. package/dist/mjs/models/staged-quote.d.ts.map +1 -0
  504. package/dist/mjs/models/staged-quote.js +7 -0
  505. package/dist/mjs/models/staged-quote.js.map +1 -0
  506. package/dist/mjs/models/standalone-price.d.ts +410 -0
  507. package/dist/mjs/models/standalone-price.d.ts.map +1 -0
  508. package/dist/mjs/models/standalone-price.js +7 -0
  509. package/dist/mjs/models/standalone-price.js.map +1 -0
  510. package/dist/mjs/models/state.d.ts +341 -0
  511. package/dist/mjs/models/state.d.ts.map +1 -0
  512. package/dist/mjs/models/state.js +7 -0
  513. package/dist/mjs/models/state.js.map +1 -0
  514. package/dist/mjs/models/store-country.d.ts +14 -0
  515. package/dist/mjs/models/store-country.d.ts.map +1 -0
  516. package/dist/mjs/models/store-country.js +7 -0
  517. package/dist/mjs/models/store-country.js.map +1 -0
  518. package/dist/mjs/models/store.d.ts +547 -0
  519. package/dist/mjs/models/store.d.ts.map +1 -0
  520. package/dist/mjs/models/store.js +7 -0
  521. package/dist/mjs/models/store.js.map +1 -0
  522. package/dist/mjs/models/subscription.d.ts +717 -0
  523. package/dist/mjs/models/subscription.d.ts.map +1 -0
  524. package/dist/mjs/models/subscription.js +7 -0
  525. package/dist/mjs/models/subscription.js.map +1 -0
  526. package/dist/mjs/models/tax-category.d.ts +376 -0
  527. package/dist/mjs/models/tax-category.d.ts.map +1 -0
  528. package/dist/mjs/models/tax-category.js +7 -0
  529. package/dist/mjs/models/tax-category.js.map +1 -0
  530. package/dist/mjs/models/type.d.ts +645 -0
  531. package/dist/mjs/models/type.d.ts.map +1 -0
  532. package/dist/mjs/models/type.js +7 -0
  533. package/dist/mjs/models/type.js.map +1 -0
  534. package/dist/mjs/models/zone.d.ts +234 -0
  535. package/dist/mjs/models/zone.d.ts.map +1 -0
  536. package/dist/mjs/models/zone.js +7 -0
  537. package/dist/mjs/models/zone.js.map +1 -0
  538. package/dist/mjs/request/index.d.ts +3 -0
  539. package/dist/mjs/request/index.d.ts.map +1 -0
  540. package/dist/mjs/request/index.js +3 -0
  541. package/dist/mjs/request/index.js.map +1 -0
  542. package/dist/mjs/request/is-retryable-error.d.ts +6 -0
  543. package/dist/mjs/request/is-retryable-error.d.ts.map +1 -0
  544. package/dist/mjs/request/is-retryable-error.js +24 -0
  545. package/dist/mjs/request/is-retryable-error.js.map +1 -0
  546. package/dist/mjs/request/request-executor.d.ts +12 -0
  547. package/dist/mjs/request/request-executor.d.ts.map +1 -0
  548. package/dist/mjs/request/request-executor.js +19 -0
  549. package/dist/mjs/request/request-executor.js.map +1 -0
  550. package/dist/mjs/request/request.d.ts +11 -0
  551. package/dist/mjs/request/request.d.ts.map +1 -0
  552. package/dist/mjs/request/request.js +80 -0
  553. package/dist/mjs/request/request.js.map +1 -0
  554. package/dist/mjs/request/transform-error.d.ts +7 -0
  555. package/dist/mjs/request/transform-error.d.ts.map +1 -0
  556. package/dist/mjs/request/transform-error.js +12 -0
  557. package/dist/mjs/request/transform-error.js.map +1 -0
  558. package/dist/mjs/types.d.ts +96 -0
  559. package/dist/mjs/types.d.ts.map +1 -0
  560. package/dist/mjs/types.js +13 -0
  561. package/dist/mjs/types.js.map +1 -0
  562. package/dist/mjs/utils/axios/convert-error.d.ts +4 -0
  563. package/dist/mjs/utils/axios/convert-error.d.ts.map +1 -0
  564. package/dist/mjs/utils/axios/convert-error.js +24 -0
  565. package/dist/mjs/utils/axios/convert-error.js.map +1 -0
  566. package/dist/mjs/utils/axios/convert-response.d.ts +4 -0
  567. package/dist/mjs/utils/axios/convert-response.d.ts.map +1 -0
  568. package/dist/mjs/utils/axios/convert-response.js +19 -0
  569. package/dist/mjs/utils/axios/convert-response.js.map +1 -0
  570. package/dist/mjs/utils/axios/create-instance.d.ts +11 -0
  571. package/dist/mjs/utils/axios/create-instance.d.ts.map +1 -0
  572. package/dist/mjs/utils/axios/create-instance.js +23 -0
  573. package/dist/mjs/utils/axios/create-instance.js.map +1 -0
  574. package/dist/mjs/utils/axios/extract-headers.d.ts +2 -0
  575. package/dist/mjs/utils/axios/extract-headers.d.ts.map +1 -0
  576. package/dist/mjs/utils/axios/extract-headers.js +19 -0
  577. package/dist/mjs/utils/axios/extract-headers.js.map +1 -0
  578. package/dist/mjs/utils/axios/index.d.ts +5 -0
  579. package/dist/mjs/utils/axios/index.d.ts.map +1 -0
  580. package/dist/mjs/utils/axios/index.js +5 -0
  581. package/dist/mjs/utils/axios/index.js.map +1 -0
  582. package/dist/mjs/utils/calculate-delay.d.ts +7 -0
  583. package/dist/mjs/utils/calculate-delay.d.ts.map +1 -0
  584. package/dist/mjs/utils/calculate-delay.js +26 -0
  585. package/dist/mjs/utils/calculate-delay.js.map +1 -0
  586. package/dist/mjs/utils/ensure-non-empty-string.d.ts +16 -0
  587. package/dist/mjs/utils/ensure-non-empty-string.d.ts.map +1 -0
  588. package/dist/mjs/utils/ensure-non-empty-string.js +12 -0
  589. package/dist/mjs/utils/ensure-non-empty-string.js.map +1 -0
  590. package/dist/mjs/utils/format.d.ts +11 -0
  591. package/dist/mjs/utils/format.d.ts.map +1 -0
  592. package/dist/mjs/utils/format.js +44 -0
  593. package/dist/mjs/utils/format.js.map +1 -0
  594. package/dist/mjs/utils/get-attribute-value.d.ts +17 -0
  595. package/dist/mjs/utils/get-attribute-value.d.ts.map +1 -0
  596. package/dist/mjs/utils/get-attribute-value.js +15 -0
  597. package/dist/mjs/utils/get-attribute-value.js.map +1 -0
  598. package/dist/mjs/utils/index.d.ts +9 -0
  599. package/dist/mjs/utils/index.d.ts.map +1 -0
  600. package/dist/mjs/utils/index.js +9 -0
  601. package/dist/mjs/utils/index.js.map +1 -0
  602. package/dist/mjs/utils/mask.d.ts +28 -0
  603. package/dist/mjs/utils/mask.d.ts.map +1 -0
  604. package/dist/mjs/utils/mask.js +54 -0
  605. package/dist/mjs/utils/mask.js.map +1 -0
  606. package/dist/mjs/utils/plain-clone.d.ts +14 -0
  607. package/dist/mjs/utils/plain-clone.d.ts.map +1 -0
  608. package/dist/mjs/utils/plain-clone.js +37 -0
  609. package/dist/mjs/utils/plain-clone.js.map +1 -0
  610. package/dist/mjs/utils/retry-on-conflict.d.ts +99 -0
  611. package/dist/mjs/utils/retry-on-conflict.d.ts.map +1 -0
  612. package/dist/mjs/utils/retry-on-conflict.js +105 -0
  613. package/dist/mjs/utils/retry-on-conflict.js.map +1 -0
  614. package/dist/mjs/utils/useragent.d.ts +10 -0
  615. package/dist/mjs/utils/useragent.d.ts.map +1 -0
  616. package/dist/mjs/utils/useragent.js +17 -0
  617. package/dist/mjs/utils/useragent.js.map +1 -0
  618. package/package.json +50 -48
  619. package/dist/ge-commercetools-utils-browser.cjs.js +0 -2
  620. package/dist/ge-commercetools-utils-browser.cjs.js.map +0 -1
  621. package/dist/ge-commercetools-utils-browser.esm.js +0 -2
  622. package/dist/ge-commercetools-utils-browser.esm.js.map +0 -1
  623. package/dist/ge-commercetools-utils-node.cjs.js +0 -3
  624. package/dist/ge-commercetools-utils-node.cjs.js.LICENSE.txt +0 -13
  625. package/dist/ge-commercetools-utils-node.cjs.js.map +0 -1
  626. package/dist/ge-commercetools-utils-node.esm.js +0 -2
  627. package/dist/ge-commercetools-utils-node.esm.js.LICENSE.txt +0 -13
  628. package/dist/typings/api/CommercetoolsApi.d.ts +0 -515
  629. package/dist/typings/api/index.d.ts +0 -2
  630. package/dist/typings/api/types.d.ts +0 -12
  631. package/dist/typings/auth/CommercetoolsAuth.d.ts +0 -22
  632. package/dist/typings/auth/CommercetoolsAuthApi.d.ts +0 -27
  633. package/dist/typings/auth/CommercetoolsGrant.d.ts +0 -13
  634. package/dist/typings/auth/constants.d.ts +0 -3
  635. package/dist/typings/auth/index.d.ts +0 -3
  636. package/dist/typings/auth/scopes.d.ts +0 -2
  637. package/dist/typings/auth/types.d.ts +0 -41
  638. package/dist/typings/constants.d.ts +0 -12
  639. package/dist/typings/error/CommercetoolsError.d.ts +0 -11
  640. package/dist/typings/error/index.d.ts +0 -1
  641. package/dist/typings/index.d.ts +0 -7
  642. package/dist/typings/models/associate-role.d.ts +0 -79
  643. package/dist/typings/models/attribute-group.d.ts +0 -68
  644. package/dist/typings/models/business-unit.d.ts +0 -272
  645. package/dist/typings/models/cart-discount.d.ts +0 -196
  646. package/dist/typings/models/cart.d.ts +0 -745
  647. package/dist/typings/models/category.d.ts +0 -166
  648. package/dist/typings/models/channel.d.ts +0 -103
  649. package/dist/typings/models/common.d.ts +0 -256
  650. package/dist/typings/models/custom-object.d.ts +0 -30
  651. package/dist/typings/models/customer-group.d.ts +0 -58
  652. package/dist/typings/models/customer.d.ts +0 -293
  653. package/dist/typings/models/discount-code.d.ts +0 -116
  654. package/dist/typings/models/error.d.ts +0 -874
  655. package/dist/typings/models/extension.d.ts +0 -83
  656. package/dist/typings/models/graph-ql.d.ts +0 -23
  657. package/dist/typings/models/index.d.ts +0 -41
  658. package/dist/typings/models/inventory.d.ts +0 -88
  659. package/dist/typings/models/me.d.ts +0 -640
  660. package/dist/typings/models/message.d.ts +0 -3210
  661. package/dist/typings/models/order-edit.d.ts +0 -572
  662. package/dist/typings/models/payment.d.ts +0 -191
  663. package/dist/typings/models/product-discount.d.ts +0 -123
  664. package/dist/typings/models/product-selection.d.ts +0 -158
  665. package/dist/typings/models/product-type.d.ts +0 -213
  666. package/dist/typings/models/product.d.ts +0 -535
  667. package/dist/typings/models/project.d.ts +0 -120
  668. package/dist/typings/models/quote-request.d.ts +0 -94
  669. package/dist/typings/models/quote.d.ts +0 -103
  670. package/dist/typings/models/review.d.ts +0 -115
  671. package/dist/typings/models/scalar-types.d.ts +0 -3
  672. package/dist/typings/models/shipping-method.d.ts +0 -160
  673. package/dist/typings/models/shopping-list.d.ts +0 -217
  674. package/dist/typings/models/staged-quote.d.ts +0 -84
  675. package/dist/typings/models/standalone-price.d.ts +0 -95
  676. package/dist/typings/models/state.d.ts +0 -86
  677. package/dist/typings/models/store-country.d.ts +0 -3
  678. package/dist/typings/models/store.d.ts +0 -137
  679. package/dist/typings/models/subscription.d.ts +0 -161
  680. package/dist/typings/models/tax-category.d.ts +0 -91
  681. package/dist/typings/models/type.d.ts +0 -177
  682. package/dist/typings/models/zone.d.ts +0 -65
  683. package/dist/typings/request/index.d.ts +0 -2
  684. package/dist/typings/request/is-retryable-error.d.ts +0 -1
  685. package/dist/typings/request/transform-error.d.ts +0 -2
  686. package/dist/typings/utils/axios/index.d.ts +0 -4
  687. package/dist/typings/utils/calculate-delay.d.ts +0 -2
  688. package/dist/typings/utils/ensure-non-empty-string.d.ts +0 -5
  689. package/dist/typings/utils/format.d.ts +0 -1
  690. package/dist/typings/utils/get-attribute-value.d.ts +0 -6
  691. package/dist/typings/utils/index.d.ts +0 -8
  692. package/dist/typings/utils/mask.d.ts +0 -6
  693. package/dist/typings/utils/plain-clone.d.ts +0 -1
  694. package/dist/typings/utils/retry-on-conflict.d.ts +0 -7
  695. package/dist/typings/utils/useragent.d.ts +0 -1
@@ -0,0 +1,83 @@
1
+ import { CommercetoolsAuthApiConfig, CommercetoolsGrantResponse, LoginOptions, LogoutOptions, RevokeTokenOptions } from './types.js';
2
+ import { CommercetoolsRequest } from '../index.js';
3
+ import { RegionEndpoints } from '../types.js';
4
+ /**
5
+ * Provides an easy to use set of methods for communicating with the commercetools
6
+ * HTTP Authorization API
7
+ */
8
+ export declare class CommercetoolsAuthApi {
9
+ /**
10
+ * The internal configuration. This is a combination of the `CommercetoolsAuthConfig`
11
+ * type passed in to the constructor and the default values specified in the
12
+ * `configDefaults` object.
13
+ */
14
+ readonly config: CommercetoolsAuthApiConfig;
15
+ /**
16
+ * The Auth and API endpoints driven by the user's setting of {@link CommercetoolsAuthApiConfig.region}
17
+ * https://docs.commercetools.com/api/general-concepts#regions
18
+ */
19
+ readonly endpoints: RegionEndpoints;
20
+ /**
21
+ * The request executor that's responsible for making the request to commercetools
22
+ */
23
+ private readonly requestExecutor;
24
+ constructor(config: CommercetoolsAuthApiConfig);
25
+ /**
26
+ * Get a new client grant:
27
+ * https://docs.commercetools.com/api/authorization#client-credentials-flow
28
+ */
29
+ getClientGrant(scopes: string[]): Promise<CommercetoolsGrantResponse>;
30
+ /**
31
+ * Refresh a customer or client grant given a refresh token:
32
+ * https://docs.commercetools.com/api/authorization#refresh-token-flow
33
+ */
34
+ refreshGrant(refreshToken: string): Promise<CommercetoolsGrantResponse>;
35
+ /**
36
+ * Login the customer using the given options:
37
+ * https://docs.commercetools.com/api/authorization#password-flow
38
+ */
39
+ login(options: LoginOptions & {
40
+ scopes: string[];
41
+ }): Promise<CommercetoolsGrantResponse>;
42
+ /**
43
+ * Revoke a refresh or access token:
44
+ * https://docs.commercetools.com/api/authorization#revoking-tokens
45
+ *
46
+ * If you're logging out a customer, you will likely want to call this method twice;
47
+ * once with the access token and once with the refresh token (you can call these in parallel).
48
+ */
49
+ revokeToken(options: RevokeTokenOptions): Promise<void>;
50
+ /**
51
+ * Log the customer out
52
+ *
53
+ * This is a convenience mechanism which makes 2 calls to the `revokeToken` method under
54
+ * the hood (in parallel). One with the access token and one with the refresh token.
55
+ */
56
+ logout(options: LogoutOptions): Promise<void>;
57
+ /**
58
+ * Get a grant an anonymous customer:
59
+ * https://docs.commercetools.com/api/authorization#tokens-for-anonymous-sessions
60
+ */
61
+ getAnonymousGrant(options?: {
62
+ anonymousId?: string;
63
+ scopes: string[];
64
+ }): Promise<CommercetoolsGrantResponse>;
65
+ /**
66
+ * Construct and send a request to the commercetools auth endpoint.
67
+ */
68
+ post(path: string, body: Record<string, any>): Promise<CommercetoolsGrantResponse>;
69
+ /**
70
+ * Generate request options. These are then fed in to axios when
71
+ * making the request to commercetools.
72
+ */
73
+ getRequestOptions(options: {
74
+ path: string;
75
+ correlationId?: string | undefined;
76
+ body: Record<string, any>;
77
+ }): CommercetoolsRequest;
78
+ /**
79
+ * Applies the store key to a given path
80
+ */
81
+ applyStore(path: string, storeKey: string | undefined | null): string;
82
+ }
83
+ //# sourceMappingURL=CommercetoolsAuthApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommercetoolsAuthApi.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/CommercetoolsAuthApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAE1B,YAAY,EACZ,aAAa,EACb,kBAAkB,EACnB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAsB,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,EAAE,eAAe,EAAmB,MAAM,aAAa,CAAA;AAG9D;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B;;;;OAIG;IACH,SAAgB,MAAM,EAAE,0BAA0B,CAAA;IAElD;;;OAGG;IACH,SAAgB,SAAS,EAAE,eAAe,CAAA;IAE1C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;gBAErC,MAAM,EAAE,0BAA0B;IAa9C;;;OAGG;IACU,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAOlF;;;OAGG;IACU,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAOpF;;;OAGG;IACU,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC;IASrG;;;;;;OAMG;IACU,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpE;;;;;OAKG;IACU,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1D;;;OAGG;IACU,iBAAiB,CAAC,OAAO,CAAC,EAAE;QACvC,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAavC;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAI/F;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE;QACzB,IAAI,EAAE,MAAM,CAAA;QACZ,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAC1B,GAAG,oBAAoB;IA0BxB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM;CAQtE"}
@@ -0,0 +1,165 @@
1
+ import { GrantType, } from './types.js';
2
+ import { CommercetoolsError } from '../index.js';
3
+ import { scopeArrayToRequestString } from './scopes.js';
4
+ import { REGION_URLS } from './constants.js';
5
+ import { base64EncodeForBasicAuth } from './utils.js';
6
+ import { getRequestExecutor } from '../request/request-executor.js';
7
+ /**
8
+ * Provides an easy to use set of methods for communicating with the commercetools
9
+ * HTTP Authorization API
10
+ */
11
+ export class CommercetoolsAuthApi {
12
+ /**
13
+ * The internal configuration. This is a combination of the `CommercetoolsAuthConfig`
14
+ * type passed in to the constructor and the default values specified in the
15
+ * `configDefaults` object.
16
+ */
17
+ config;
18
+ /**
19
+ * The Auth and API endpoints driven by the user's setting of {@link CommercetoolsAuthApiConfig.region}
20
+ * https://docs.commercetools.com/api/general-concepts#regions
21
+ */
22
+ endpoints;
23
+ /**
24
+ * The request executor that's responsible for making the request to commercetools
25
+ */
26
+ requestExecutor;
27
+ constructor(config) {
28
+ this.config = config;
29
+ this.endpoints = REGION_URLS[this.config.region];
30
+ this.requestExecutor = getRequestExecutor({
31
+ timeoutMs: config.timeoutMs,
32
+ httpsAgent: config.httpsAgent,
33
+ systemIdentifier: config.systemIdentifier,
34
+ onBeforeRequest: config.onBeforeRequest,
35
+ onAfterResponse: config.onAfterResponse,
36
+ retry: config.retry,
37
+ });
38
+ }
39
+ /**
40
+ * Get a new client grant:
41
+ * https://docs.commercetools.com/api/authorization#client-credentials-flow
42
+ */
43
+ async getClientGrant(scopes) {
44
+ return this.post('/token', {
45
+ grant_type: GrantType.CLIENT_CREDENTIALS,
46
+ scope: scopeArrayToRequestString(scopes, this.config.projectKey),
47
+ });
48
+ }
49
+ /**
50
+ * Refresh a customer or client grant given a refresh token:
51
+ * https://docs.commercetools.com/api/authorization#refresh-token-flow
52
+ */
53
+ async refreshGrant(refreshToken) {
54
+ return await this.post('/token', {
55
+ grant_type: GrantType.REFRESH_TOKEN,
56
+ refresh_token: refreshToken,
57
+ });
58
+ }
59
+ /**
60
+ * Login the customer using the given options:
61
+ * https://docs.commercetools.com/api/authorization#password-flow
62
+ */
63
+ async login(options) {
64
+ return this.post(`/${this.config.projectKey}${this.applyStore('/customers/token', options.storeKey)}`, {
65
+ username: options.username,
66
+ password: options.password,
67
+ grant_type: GrantType.PASSWORD,
68
+ scope: scopeArrayToRequestString(options.scopes, this.config.projectKey),
69
+ });
70
+ }
71
+ /**
72
+ * Revoke a refresh or access token:
73
+ * https://docs.commercetools.com/api/authorization#revoking-tokens
74
+ *
75
+ * If you're logging out a customer, you will likely want to call this method twice;
76
+ * once with the access token and once with the refresh token (you can call these in parallel).
77
+ */
78
+ async revokeToken(options) {
79
+ await this.post('/token/revoke', {
80
+ token: options.tokenValue,
81
+ token_type_hint: options.tokenType,
82
+ });
83
+ }
84
+ /**
85
+ * Log the customer out
86
+ *
87
+ * This is a convenience mechanism which makes 2 calls to the `revokeToken` method under
88
+ * the hood (in parallel). One with the access token and one with the refresh token.
89
+ */
90
+ async logout(options) {
91
+ const settlements = await Promise.allSettled([
92
+ this.revokeToken({ tokenType: 'access_token', tokenValue: options.accessToken }),
93
+ this.revokeToken({ tokenType: 'refresh_token', tokenValue: options.refreshToken }),
94
+ ]);
95
+ const errors = settlements.reduce((errors, settlement) => {
96
+ if (settlement.status === 'rejected') {
97
+ errors.push(settlement.reason);
98
+ }
99
+ return errors;
100
+ }, []);
101
+ if (errors.length) {
102
+ throw new CommercetoolsError(`Logout failed in one or more calls to the token revocation endpoint`, errors);
103
+ }
104
+ }
105
+ /**
106
+ * Get a grant an anonymous customer:
107
+ * https://docs.commercetools.com/api/authorization#tokens-for-anonymous-sessions
108
+ */
109
+ async getAnonymousGrant(options) {
110
+ const postOptions = {
111
+ grant_type: GrantType.CLIENT_CREDENTIALS,
112
+ };
113
+ if (options?.scopes?.length) {
114
+ postOptions.scope = scopeArrayToRequestString(options.scopes, this.config.projectKey);
115
+ }
116
+ if (options?.anonymousId) {
117
+ postOptions.anonymous_id = options.anonymousId;
118
+ }
119
+ return this.post(`/${this.config.projectKey}/anonymous/token`, postOptions);
120
+ }
121
+ /**
122
+ * Construct and send a request to the commercetools auth endpoint.
123
+ */
124
+ async post(path, body) {
125
+ return await this.requestExecutor(this.getRequestOptions({ path, body }));
126
+ }
127
+ /**
128
+ * Generate request options. These are then fed in to axios when
129
+ * making the request to commercetools.
130
+ */
131
+ getRequestOptions(options) {
132
+ const url = `${this.endpoints.auth}/oauth${options.path}`;
133
+ let data;
134
+ const headers = {
135
+ Authorization: `Basic ${base64EncodeForBasicAuth(this.config.clientId, this.config.clientSecret)}`,
136
+ 'Content-Type': 'application/x-www-form-urlencoded',
137
+ };
138
+ if (options.correlationId && options.correlationId !== '') {
139
+ headers['X-Correlation-ID'] = options.correlationId;
140
+ delete options.correlationId;
141
+ }
142
+ if (options.body) {
143
+ data = new URLSearchParams(options.body).toString();
144
+ }
145
+ return {
146
+ method: 'POST',
147
+ data,
148
+ url,
149
+ headers,
150
+ };
151
+ }
152
+ /**
153
+ * Applies the store key to a given path
154
+ */
155
+ applyStore(path, storeKey) {
156
+ if (typeof storeKey === 'string' && storeKey !== '') {
157
+ return `/in-store/key=${storeKey}${path}`;
158
+ }
159
+ else if (this.config.storeKey) {
160
+ return `/in-store/key=${this.config.storeKey}${path}`;
161
+ }
162
+ return path;
163
+ }
164
+ }
165
+ //# sourceMappingURL=CommercetoolsAuthApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommercetoolsAuthApi.js","sourceRoot":"","sources":["../../../src/lib/auth/CommercetoolsAuthApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,GAIV,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,kBAAkB,EAAwB,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAEnE;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;;;OAIG;IACa,MAAM,CAA4B;IAElD;;;OAGG;IACa,SAAS,CAAiB;IAE1C;;OAEG;IACc,eAAe,CAAiB;IAEjD,YAAY,MAAkC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC;YACxC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,cAAc,CAAC,MAAgB;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzB,UAAU,EAAE,SAAS,CAAC,kBAAkB;YACxC,KAAK,EAAE,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;SACjE,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,YAAY,CAAC,YAAoB;QAC5C,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,UAAU,EAAE,SAAS,CAAC,aAAa;YACnC,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,KAAK,CAAC,OAA4C;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE;YACrG,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,SAAS,CAAC,QAAQ;YAC9B,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;SACzE,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,WAAW,CAAC,OAA2B;QAClD,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC/B,KAAK,EAAE,OAAO,CAAC,UAAU;YACzB,eAAe,EAAE,OAAO,CAAC,SAAS;SACnC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,OAAsB;QACxC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;YAChF,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;SACnF,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,MAAa,EAAE,UAAU,EAAE,EAAE;YAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAChC,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,kBAAkB,CAAC,qEAAqE,EAAE,MAAM,CAAC,CAAA;QAC7G,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,OAG9B;QACC,MAAM,WAAW,GAAwB;YACvC,UAAU,EAAE,SAAS,CAAC,kBAAkB;SACzC,CAAA;QACD,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC5B,WAAW,CAAC,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAA;QAChD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,kBAAkB,EAAE,WAAW,CAAC,CAAA;IAC7E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAyB;QACvD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,OAIjB;QACC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,OAAO,CAAC,IAAI,EAAE,CAAA;QACzD,IAAI,IAAqB,CAAA;QAEzB,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,SAAS,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YAClG,cAAc,EAAE,mCAAmC;SACpD,CAAA;QAED,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,KAAK,EAAE,EAAE,CAAC;YAC1D,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,aAAa,CAAA;YACnD,OAAO,OAAO,CAAC,aAAa,CAAA;QAC9B,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;QACrD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,GAAG;YACH,OAAO;SACR,CAAA;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY,EAAE,QAAmC;QAC1D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACpD,OAAO,iBAAiB,QAAQ,GAAG,IAAI,EAAE,CAAA;QAC3C,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,iBAAiB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAA;QACvD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -0,0 +1,66 @@
1
+ import { CommercetoolsGrantResponse } from './types.js';
2
+ /**
3
+ * Holds the details of the grant returned from commercetools in response
4
+ * to an authorisation API related request:
5
+ * https://docs.commercetools.com/api/authorization
6
+ */
7
+ export declare class CommercetoolsGrant {
8
+ /**
9
+ * The access token string needed when making requests to commercetools. If this
10
+ * was generated by a customer logging in, then this is used by commercetools
11
+ * to identify the customer.
12
+ */
13
+ accessToken: string;
14
+ /**
15
+ * The refresh token is required for refreshing an existing grant. A refresh token
16
+ * is only issued for customer grants (either logged in or anonymous), an not for
17
+ * client grants.
18
+ */
19
+ refreshToken?: string;
20
+ /**
21
+ * The duration of the access token in seconds (typically 48 hours)
22
+ */
23
+ expiresIn: number;
24
+ /**
25
+ * This is the expiry date/time of the access token. This is calculated based
26
+ * on the `expiredIn` property, and as such may be very slightly after the
27
+ * internal commercetools expiry date (due to the time involved to receive
28
+ * and process the response.
29
+ */
30
+ expiresAt: Date;
31
+ /**
32
+ * List of permission scopes. This will also include the `anonymous_id` when
33
+ * generating an anonymous customer token, or the `customer_id` when logging
34
+ * in as an existing customer.
35
+ */
36
+ scopes: string[];
37
+ /**
38
+ * When this grant came from a call to {@see CommercetoolsAuth.getAnonymousGrant}
39
+ * or {@see CommercetoolsApi.getAnonymousGrant} then the value will be populated
40
+ * with the id of the anonymous customer to which this grant relates.
41
+ */
42
+ anonymousId?: string;
43
+ /**
44
+ * When this grant is generated from a call to {@see CommercetoolsAuth.login}
45
+ * or {@see CommercetoolsApi.login} then this value will be populated with the
46
+ * id of the customer to which this grant relates.
47
+ */
48
+ customerId?: string;
49
+ /**
50
+ * Create a new grant from grant data received back from commercetools.
51
+ */
52
+ constructor(data: CommercetoolsGrantResponse);
53
+ /**
54
+ * Calculates whether the grant is due to expire within a given number of
55
+ * seconds. This is useful when deciding if the expiry date/time is close
56
+ * enough to warrant pro-active renewal, rather than waiting for expiry.
57
+ */
58
+ expiresWithin(refreshIfWithinSecs: number): boolean;
59
+ /**
60
+ * Given a scope string (as returned from commercetools), this method
61
+ * extracts the value of the associated with the given key. Used for
62
+ * retrieving the anonymous id and customer id from the scope string.
63
+ */
64
+ extractKeyFromScope(key: string, scope: string): string | undefined;
65
+ }
66
+ //# sourceMappingURL=CommercetoolsGrant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommercetoolsGrant.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/CommercetoolsGrant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAGvD;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B;;;;OAIG;IACI,WAAW,SAAK;IAEvB;;;;OAIG;IACI,YAAY,CAAC,EAAE,MAAM,CAAA;IAE5B;;OAEG;IACI,SAAS,SAAI;IAEpB;;;;;OAKG;IACI,SAAS,OAAa;IAE7B;;;;OAIG;IACI,MAAM,EAAE,MAAM,EAAE,CAAK;IAE5B;;;;OAIG;IACI,WAAW,CAAC,EAAE,MAAM,CAAA;IAE3B;;;;OAIG;IACI,UAAU,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;gBACS,IAAI,EAAE,0BAA0B;IAiB5C;;;;OAIG;IACI,aAAa,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO;IAK1D;;;;OAIG;IACI,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAc3E"}
@@ -0,0 +1,95 @@
1
+ import { scopeRequestStringToArray } from './scopes.js';
2
+ /**
3
+ * Holds the details of the grant returned from commercetools in response
4
+ * to an authorisation API related request:
5
+ * https://docs.commercetools.com/api/authorization
6
+ */
7
+ export class CommercetoolsGrant {
8
+ /**
9
+ * The access token string needed when making requests to commercetools. If this
10
+ * was generated by a customer logging in, then this is used by commercetools
11
+ * to identify the customer.
12
+ */
13
+ accessToken = '';
14
+ /**
15
+ * The refresh token is required for refreshing an existing grant. A refresh token
16
+ * is only issued for customer grants (either logged in or anonymous), an not for
17
+ * client grants.
18
+ */
19
+ refreshToken;
20
+ /**
21
+ * The duration of the access token in seconds (typically 48 hours)
22
+ */
23
+ expiresIn = 0;
24
+ /**
25
+ * This is the expiry date/time of the access token. This is calculated based
26
+ * on the `expiredIn` property, and as such may be very slightly after the
27
+ * internal commercetools expiry date (due to the time involved to receive
28
+ * and process the response.
29
+ */
30
+ expiresAt = new Date();
31
+ /**
32
+ * List of permission scopes. This will also include the `anonymous_id` when
33
+ * generating an anonymous customer token, or the `customer_id` when logging
34
+ * in as an existing customer.
35
+ */
36
+ scopes = [];
37
+ /**
38
+ * When this grant came from a call to {@see CommercetoolsAuth.getAnonymousGrant}
39
+ * or {@see CommercetoolsApi.getAnonymousGrant} then the value will be populated
40
+ * with the id of the anonymous customer to which this grant relates.
41
+ */
42
+ anonymousId;
43
+ /**
44
+ * When this grant is generated from a call to {@see CommercetoolsAuth.login}
45
+ * or {@see CommercetoolsApi.login} then this value will be populated with the
46
+ * id of the customer to which this grant relates.
47
+ */
48
+ customerId;
49
+ /**
50
+ * Create a new grant from grant data received back from commercetools.
51
+ */
52
+ constructor(data) {
53
+ this.accessToken = data.access_token;
54
+ this.expiresIn = data.expires_in;
55
+ this.scopes = scopeRequestStringToArray(data.scope);
56
+ this.anonymousId = this.extractKeyFromScope('anonymous_id', data.scope);
57
+ this.customerId = this.extractKeyFromScope('customer_id', data.scope);
58
+ // This sets the `expiresAt` property to the calculated Date when the grant is due to expire.
59
+ this.expiresAt = new Date(new Date().getTime() + 1000 * data.expires_in);
60
+ // When a grant is refreshed, we don't get back a new token,
61
+ // so we keep hold of the old one unless one is explicitly provided.
62
+ if ('refresh_token' in data && data.refresh_token) {
63
+ this.refreshToken = data.refresh_token;
64
+ }
65
+ }
66
+ /**
67
+ * Calculates whether the grant is due to expire within a given number of
68
+ * seconds. This is useful when deciding if the expiry date/time is close
69
+ * enough to warrant pro-active renewal, rather than waiting for expiry.
70
+ */
71
+ expiresWithin(refreshIfWithinSecs) {
72
+ const cutoff = new Date().getTime() + refreshIfWithinSecs * 1000;
73
+ return this.expiresAt.getTime() < cutoff;
74
+ }
75
+ /**
76
+ * Given a scope string (as returned from commercetools), this method
77
+ * extracts the value of the associated with the given key. Used for
78
+ * retrieving the anonymous id and customer id from the scope string.
79
+ */
80
+ extractKeyFromScope(key, scope) {
81
+ if (!scope || !key) {
82
+ return undefined;
83
+ }
84
+ const parts = scope?.split(' ');
85
+ if (!Array.isArray(parts) || parts.length === 0) {
86
+ return undefined;
87
+ }
88
+ const item = parts.find((part) => part.slice(0, key.length + 1) === `${key}:`);
89
+ if (item) {
90
+ return item.slice(key.length + 1);
91
+ }
92
+ return undefined;
93
+ }
94
+ }
95
+ //# sourceMappingURL=CommercetoolsGrant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommercetoolsGrant.js","sourceRoot":"","sources":["../../../src/lib/auth/CommercetoolsGrant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAEvD;;;;GAIG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;;;OAIG;IACI,WAAW,GAAG,EAAE,CAAA;IAEvB;;;;OAIG;IACI,YAAY,CAAS;IAE5B;;OAEG;IACI,SAAS,GAAG,CAAC,CAAA;IAEpB;;;;;OAKG;IACI,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IAE7B;;;;OAIG;IACI,MAAM,GAAa,EAAE,CAAA;IAE5B;;;;OAIG;IACI,WAAW,CAAS;IAE3B;;;;OAIG;IACI,UAAU,CAAS;IAE1B;;OAEG;IACH,YAAY,IAAgC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAA;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAErE,6FAA6F;QAC7F,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;QAExE,4DAA4D;QAC5D,oEAAoE;QACpE,IAAI,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAA;QACxC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,mBAA2B;QAC9C,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,mBAAmB,GAAG,IAAI,CAAA;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,MAAM,CAAA;IAC1C,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,GAAW,EAAE,KAAa;QACnD,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,CAAA;QAC9E,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACnC,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import { Region, RegionEndpoints } from '../types.js';
2
+ /**
3
+ * Commercetools regions and cloud providers - https://docs.commercetools.com/api/general-concepts#hosts
4
+ */
5
+ export declare const REGION_URLS: Record<Region, RegionEndpoints>;
6
+ export declare const INVALID_SCOPES: string[];
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAErD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAqBvD,CAAA;AAED,eAAO,MAAM,cAAc,UAAkC,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { Region } from '../types.js';
2
+ /**
3
+ * Commercetools regions and cloud providers - https://docs.commercetools.com/api/general-concepts#hosts
4
+ */
5
+ export const REGION_URLS = {
6
+ [Region.EUROPE_GCP]: {
7
+ auth: 'https://auth.europe-west1.gcp.commercetools.com',
8
+ api: 'https://api.europe-west1.gcp.commercetools.com',
9
+ },
10
+ [Region.EUROPE_AWS]: {
11
+ auth: 'https://auth.eu-central-1.aws.commercetools.com',
12
+ api: 'https://api.eu-central-1.aws.commercetools.com',
13
+ },
14
+ [Region.NORTH_AMERICA_GCP]: {
15
+ auth: 'https://auth.us-central1.gcp.commercetools.com',
16
+ api: 'https://api.us-central1.gcp.commercetools.com',
17
+ },
18
+ [Region.NORTH_AMERICA_AWS]: {
19
+ auth: 'https://auth.us-east-2.aws.commercetools.com',
20
+ api: 'https://api.us-east-2.aws.commercetools.com',
21
+ },
22
+ [Region.AUSTRALIA_GCP]: {
23
+ auth: 'https://auth.australia-southeast1.gcp.commercetools.com',
24
+ api: 'https://api.australia-southeast1.gcp.commercetools.com',
25
+ },
26
+ };
27
+ export const INVALID_SCOPES = ['anonymous_id', 'customer_id'];
28
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/auth/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmB,MAAM,aAAa,CAAA;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACnB,IAAI,EAAE,iDAAiD;QACvD,GAAG,EAAE,gDAAgD;KACtD;IACD,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACnB,IAAI,EAAE,iDAAiD;QACvD,GAAG,EAAE,gDAAgD;KACtD;IACD,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;QAC1B,IAAI,EAAE,gDAAgD;QACtD,GAAG,EAAE,+CAA+C;KACrD;IACD,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;QAC1B,IAAI,EAAE,8CAA8C;QACpD,GAAG,EAAE,6CAA6C;KACnD;IACD,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QACtB,IAAI,EAAE,yDAAyD;QAC/D,GAAG,EAAE,wDAAwD;KAC9D;CACF,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './CommercetoolsAuth.js';
2
+ export * from './CommercetoolsGrant.js';
3
+ export type { CommercetoolsAuthConfig, AnonymousGrantOptions, GrantType, LoginOptions } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './CommercetoolsAuth.js';
2
+ export * from './CommercetoolsGrant.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Take an array of scope strings and form them in to a string
3
+ * that is appropriate for the `scope` parameter in requests to commercetools.
4
+ */
5
+ export declare function scopeArrayToRequestString(scopes: string[], projectKey: string): string;
6
+ /**
7
+ * Take the scopes string returned by commercetools and parse it in to an
8
+ * array of scope strings.
9
+ */
10
+ export declare function scopeRequestStringToArray(scopes: string): string[];
11
+ //# sourceMappingURL=scopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/scopes.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAKtF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAQlE"}
@@ -0,0 +1,25 @@
1
+ import { INVALID_SCOPES } from './constants.js';
2
+ /**
3
+ * Take an array of scope strings and form them in to a string
4
+ * that is appropriate for the `scope` parameter in requests to commercetools.
5
+ */
6
+ export function scopeArrayToRequestString(scopes, projectKey) {
7
+ if (!scopes.length) {
8
+ return '';
9
+ }
10
+ return scopes.map((scope) => `${scope}:${projectKey}`).join(' ');
11
+ }
12
+ /**
13
+ * Take the scopes string returned by commercetools and parse it in to an
14
+ * array of scope strings.
15
+ */
16
+ export function scopeRequestStringToArray(scopes) {
17
+ if (!scopes) {
18
+ return [];
19
+ }
20
+ return scopes
21
+ .split(' ')
22
+ .map((scope) => scope.split(':')[0])
23
+ .filter((scope) => !INVALID_SCOPES.includes(scope));
24
+ }
25
+ //# sourceMappingURL=scopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../../src/lib/auth/scopes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAgB,EAAE,UAAkB;IAC5E,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,MAAM;SACV,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;AACvD,CAAC"}
@@ -0,0 +1,118 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { CommercetoolsBaseConfig } from '../types.js';
3
+ import https from 'https';
4
+ /**
5
+ * Configuration for {@see CommercetoolsAuth}
6
+ */
7
+ export interface CommercetoolsAuthConfig extends CommercetoolsBaseConfig {
8
+ refreshIfWithinSecs?: number;
9
+ customerScopes?: string[];
10
+ clientScopes: string[];
11
+ }
12
+ /**
13
+ * Configuration for {@see CommercetoolsAuthApi}
14
+ */
15
+ export interface CommercetoolsAuthApiConfig extends CommercetoolsBaseConfig {
16
+ clientScopes?: string[] | undefined;
17
+ httpsAgent?: https.Agent;
18
+ }
19
+ /**
20
+ * The object structure that we receive back from commercetools
21
+ * on a successful call to get a new grant, or refresh an existing one.
22
+ */
23
+ export interface CommercetoolsGrantResponse {
24
+ access_token: string;
25
+ refresh_token?: string;
26
+ expires_in: number;
27
+ scope: string;
28
+ }
29
+ /**
30
+ * This is the LoginOptions description
31
+ */
32
+ export interface LoginOptions {
33
+ /**
34
+ * The customer's username (email address)
35
+ */
36
+ username: string;
37
+ /**
38
+ * The customer's password
39
+ */
40
+ password: string;
41
+ /**
42
+ * The scopes to which you want to restrict the customer grant. Note that
43
+ * these must be a subset of the scopes associated with the client grant.
44
+ */
45
+ scopes?: string[];
46
+ /**
47
+ * The key of the store to login to
48
+ */
49
+ storeKey?: string;
50
+ }
51
+ /**
52
+ * RevokeTokenOptions
53
+ */
54
+ export interface RevokeTokenOptions {
55
+ /**
56
+ * The type of token to be revoked
57
+ */
58
+ tokenType: 'access_token' | 'refresh_token';
59
+ /**
60
+ * The value of the token to be revoked
61
+ */
62
+ tokenValue: string;
63
+ }
64
+ /**
65
+ * LogoutOptions
66
+ */
67
+ export interface LogoutOptions {
68
+ /**
69
+ * The customer's access token
70
+ */
71
+ accessToken: string;
72
+ /**
73
+ * The customer's refresh token
74
+ */
75
+ refreshToken: string;
76
+ }
77
+ export interface AnonymousGrantOptions {
78
+ /**
79
+ * The scopes of the anonymous customer must be less than or equal to
80
+ * the scopes of the client API key (ideally, less). If you don't specify
81
+ * the scopes using this property, then the code will check for the scopes
82
+ * defined on {@link CommercetoolsAuthConfig.customerScopes}. If scopes
83
+ * aren't defined there either, than an error will be thrown when a call
84
+ * is made to {@link CommercetoolsAuth.getAnonymousGrant}
85
+ */
86
+ scopes?: string[];
87
+ /**
88
+ * If you specify this, you need to be sure that the value does not
89
+ * already exist as an anonymous customer id in the commercetools system
90
+ * under your project key. If it does, an error will be thrown when
91
+ * trying to create the access token.
92
+ */
93
+ anonymousId?: string;
94
+ }
95
+ /**
96
+ * Authentication grant types.
97
+ * These are used when populating the 'grant_type' parameter.
98
+ */
99
+ export declare enum GrantType {
100
+ /**
101
+ * Used when either requesting a client grant or an
102
+ * anonymous customer access token:
103
+ * https://docs.commercetools.com/api/authorization#client-credentials-flow
104
+ * https://docs.commercetools.com/api/authorization#tokens-for-anonymous-sessions
105
+ */
106
+ CLIENT_CREDENTIALS = "client_credentials",
107
+ /**
108
+ * Used when refreshing any existing access token (whether client or customer):
109
+ * https://docs.commercetools.com/api/authorization#refresh-token-flow
110
+ */
111
+ REFRESH_TOKEN = "refresh_token",
112
+ /**
113
+ * Used when attempting to login a customer:
114
+ * https://docs.commercetools.com/api/authorization#password-flow
115
+ */
116
+ PASSWORD = "password"
117
+ }
118
+ //# sourceMappingURL=types.d.ts.map