@gradientedge/commercetools-utils 5.9.0 → 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.
- package/dist/cjs/api/CommercetoolsApi.d.ts +1252 -0
- package/dist/cjs/api/CommercetoolsApi.d.ts.map +1 -0
- package/dist/cjs/api/CommercetoolsApi.js +2106 -0
- package/dist/cjs/api/CommercetoolsApi.js.map +1 -0
- package/dist/cjs/api/index.d.ts +3 -0
- package/dist/cjs/api/index.d.ts.map +1 -0
- package/dist/cjs/api/index.js +19 -0
- package/dist/cjs/api/index.js.map +1 -0
- package/dist/cjs/api/types.d.ts +33 -0
- package/dist/cjs/api/types.d.ts.map +1 -0
- package/dist/cjs/api/types.js +3 -0
- package/dist/cjs/api/types.js.map +1 -0
- package/dist/cjs/auth/CommercetoolsAuth.d.ts +182 -0
- package/dist/cjs/auth/CommercetoolsAuth.d.ts.map +1 -0
- package/dist/cjs/auth/CommercetoolsAuth.js +238 -0
- package/dist/cjs/auth/CommercetoolsAuth.js.map +1 -0
- package/dist/cjs/auth/CommercetoolsAuthApi.d.ts +83 -0
- package/dist/cjs/auth/CommercetoolsAuthApi.d.ts.map +1 -0
- package/dist/cjs/auth/CommercetoolsAuthApi.js +169 -0
- package/dist/cjs/auth/CommercetoolsAuthApi.js.map +1 -0
- package/dist/cjs/auth/CommercetoolsGrant.d.ts +66 -0
- package/dist/cjs/auth/CommercetoolsGrant.d.ts.map +1 -0
- package/dist/cjs/auth/CommercetoolsGrant.js +99 -0
- package/dist/cjs/auth/CommercetoolsGrant.js.map +1 -0
- package/dist/cjs/auth/constants.d.ts +7 -0
- package/dist/cjs/auth/constants.d.ts.map +1 -0
- package/dist/cjs/auth/constants.js +31 -0
- package/dist/cjs/auth/constants.js.map +1 -0
- package/dist/cjs/auth/index.d.ts +4 -0
- package/dist/cjs/auth/index.d.ts.map +1 -0
- package/dist/cjs/auth/index.js +19 -0
- package/dist/cjs/auth/index.js.map +1 -0
- package/dist/cjs/auth/scopes.d.ts +11 -0
- package/dist/cjs/auth/scopes.d.ts.map +1 -0
- package/dist/cjs/auth/scopes.js +30 -0
- package/dist/cjs/auth/scopes.js.map +1 -0
- package/dist/cjs/auth/types.d.ts +118 -0
- package/dist/cjs/auth/types.d.ts.map +1 -0
- package/dist/cjs/auth/types.js +28 -0
- package/dist/cjs/auth/types.js.map +1 -0
- package/dist/{typings → cjs}/auth/utils.d.ts +1 -0
- package/dist/cjs/auth/utils.d.ts.map +1 -0
- package/dist/cjs/auth/utils.js +14 -0
- package/dist/cjs/auth/utils.js.map +1 -0
- package/dist/cjs/constants.d.ts +33 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +46 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/error/CommercetoolsError.d.ts +33 -0
- package/dist/cjs/error/CommercetoolsError.d.ts.map +1 -0
- package/dist/cjs/error/CommercetoolsError.js +110 -0
- package/dist/cjs/error/CommercetoolsError.js.map +1 -0
- package/dist/cjs/error/index.d.ts +2 -0
- package/dist/cjs/error/index.d.ts.map +1 -0
- package/dist/cjs/error/index.js +18 -0
- package/dist/cjs/error/index.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +26 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/models/associate-role.d.ts +319 -0
- package/dist/cjs/models/associate-role.d.ts.map +1 -0
- package/dist/cjs/models/associate-role.js +8 -0
- package/dist/cjs/models/associate-role.js.map +1 -0
- package/dist/cjs/models/attribute-group.d.ts +253 -0
- package/dist/cjs/models/attribute-group.d.ts.map +1 -0
- package/dist/cjs/models/attribute-group.js +8 -0
- package/dist/cjs/models/attribute-group.js.map +1 -0
- package/dist/cjs/models/business-unit.d.ts +1197 -0
- package/dist/cjs/models/business-unit.d.ts.map +1 -0
- package/dist/cjs/models/business-unit.js +8 -0
- package/dist/cjs/models/business-unit.js.map +1 -0
- package/dist/cjs/models/cart-discount.d.ts +716 -0
- package/dist/cjs/models/cart-discount.d.ts.map +1 -0
- package/dist/cjs/models/cart-discount.js +8 -0
- package/dist/cjs/models/cart-discount.js.map +1 -0
- package/dist/cjs/models/cart.d.ts +3350 -0
- package/dist/cjs/models/cart.d.ts.map +1 -0
- package/dist/cjs/models/cart.js +8 -0
- package/dist/cjs/models/cart.js.map +1 -0
- package/dist/cjs/models/category.d.ts +634 -0
- package/dist/cjs/models/category.d.ts.map +1 -0
- package/dist/cjs/models/category.js +8 -0
- package/dist/cjs/models/category.js.map +1 -0
- package/dist/cjs/models/channel.d.ts +379 -0
- package/dist/cjs/models/channel.d.ts.map +1 -0
- package/dist/cjs/models/channel.js +8 -0
- package/dist/cjs/models/channel.js.map +1 -0
- package/dist/cjs/models/common.d.ts +1096 -0
- package/dist/cjs/models/common.d.ts.map +1 -0
- package/dist/cjs/models/common.js +8 -0
- package/dist/cjs/models/common.js.map +1 -0
- package/dist/cjs/models/custom-object.d.ts +151 -0
- package/dist/cjs/models/custom-object.d.ts.map +1 -0
- package/dist/cjs/models/custom-object.js +8 -0
- package/dist/cjs/models/custom-object.js.map +1 -0
- package/dist/cjs/models/customer-group.d.ts +235 -0
- package/dist/cjs/models/customer-group.d.ts.map +1 -0
- package/dist/cjs/models/customer-group.js +8 -0
- package/dist/cjs/models/customer-group.js.map +1 -0
- package/dist/cjs/models/customer.d.ts +1221 -0
- package/dist/cjs/models/customer.d.ts.map +1 -0
- package/dist/cjs/models/customer.js +8 -0
- package/dist/cjs/models/customer.js.map +1 -0
- package/dist/cjs/models/discount-code.d.ts +439 -0
- package/dist/cjs/models/discount-code.d.ts.map +1 -0
- package/dist/cjs/models/discount-code.js +8 -0
- package/dist/cjs/models/discount-code.js.map +1 -0
- package/dist/cjs/models/error.d.ts +3062 -0
- package/dist/cjs/models/error.d.ts.map +1 -0
- package/dist/cjs/models/error.js +8 -0
- package/dist/cjs/models/error.js.map +1 -0
- package/dist/cjs/models/extension.d.ts +335 -0
- package/dist/cjs/models/extension.d.ts.map +1 -0
- package/dist/cjs/models/extension.js +8 -0
- package/dist/cjs/models/extension.js.map +1 -0
- package/dist/cjs/models/graph-ql.d.ts +63 -0
- package/dist/cjs/models/graph-ql.d.ts.map +1 -0
- package/dist/cjs/models/graph-ql.js +8 -0
- package/dist/cjs/models/graph-ql.js.map +1 -0
- package/dist/cjs/models/index.d.ts +42 -0
- package/dist/cjs/models/index.d.ts.map +1 -0
- package/dist/cjs/models/index.js +58 -0
- package/dist/cjs/models/index.js.map +1 -0
- package/dist/cjs/models/inventory.d.ts +327 -0
- package/dist/cjs/models/inventory.d.ts.map +1 -0
- package/dist/cjs/models/inventory.js +8 -0
- package/dist/cjs/models/inventory.js.map +1 -0
- package/dist/cjs/models/me.d.ts +2483 -0
- package/dist/cjs/models/me.d.ts.map +1 -0
- package/dist/cjs/models/me.js +8 -0
- package/dist/cjs/models/me.js.map +1 -0
- package/dist/cjs/models/message.d.ts +15095 -0
- package/dist/cjs/models/message.d.ts.map +1 -0
- package/dist/cjs/models/message.js +8 -0
- package/dist/cjs/models/message.js.map +1 -0
- package/dist/cjs/models/order-edit.d.ts +1645 -0
- package/dist/cjs/models/order-edit.d.ts.map +1 -0
- package/dist/cjs/models/order-edit.js +8 -0
- package/dist/cjs/models/order-edit.js.map +1 -0
- package/dist/{typings → cjs}/models/order.d.ts +1490 -15
- package/dist/cjs/models/order.d.ts.map +1 -0
- package/dist/cjs/models/order.js +8 -0
- package/dist/cjs/models/order.js.map +1 -0
- package/dist/cjs/models/payment.d.ts +734 -0
- package/dist/cjs/models/payment.d.ts.map +1 -0
- package/dist/cjs/models/payment.js +8 -0
- package/dist/cjs/models/payment.js.map +1 -0
- package/dist/cjs/models/product-discount.d.ts +461 -0
- package/dist/cjs/models/product-discount.d.ts.map +1 -0
- package/dist/cjs/models/product-discount.js +8 -0
- package/dist/cjs/models/product-discount.js.map +1 -0
- package/dist/cjs/models/product-selection.d.ts +638 -0
- package/dist/cjs/models/product-selection.d.ts.map +1 -0
- package/dist/cjs/models/product-selection.js +8 -0
- package/dist/cjs/models/product-selection.js.map +1 -0
- package/dist/cjs/models/product-type.d.ts +774 -0
- package/dist/cjs/models/product-type.d.ts.map +1 -0
- package/dist/cjs/models/product-type.js +8 -0
- package/dist/cjs/models/product-type.js.map +1 -0
- package/dist/cjs/models/product.d.ts +2282 -0
- package/dist/cjs/models/product.d.ts.map +1 -0
- package/dist/cjs/models/product.js +8 -0
- package/dist/cjs/models/product.js.map +1 -0
- package/dist/cjs/models/project.d.ts +381 -0
- package/dist/cjs/models/project.d.ts.map +1 -0
- package/dist/cjs/models/project.js +8 -0
- package/dist/cjs/models/project.js.map +1 -0
- package/dist/cjs/models/quote-request.d.ts +430 -0
- package/dist/cjs/models/quote-request.d.ts.map +1 -0
- package/dist/cjs/models/quote-request.js +8 -0
- package/dist/cjs/models/quote-request.js.map +1 -0
- package/dist/cjs/models/quote.d.ts +458 -0
- package/dist/cjs/models/quote.d.ts.map +1 -0
- package/dist/cjs/models/quote.js +8 -0
- package/dist/cjs/models/quote.js.map +1 -0
- package/dist/cjs/models/review.d.ts +435 -0
- package/dist/cjs/models/review.d.ts.map +1 -0
- package/dist/cjs/models/review.js +8 -0
- package/dist/cjs/models/review.js.map +1 -0
- package/dist/cjs/models/scalar-types.d.ts +9 -0
- package/dist/cjs/models/scalar-types.d.ts.map +1 -0
- package/dist/cjs/models/scalar-types.js +8 -0
- package/dist/cjs/models/scalar-types.js.map +1 -0
- package/dist/cjs/models/shipping-method.d.ts +569 -0
- package/dist/cjs/models/shipping-method.d.ts.map +1 -0
- package/dist/cjs/models/shipping-method.js +8 -0
- package/dist/cjs/models/shipping-method.js.map +1 -0
- package/dist/cjs/models/shopping-list.d.ts +844 -0
- package/dist/cjs/models/shopping-list.d.ts.map +1 -0
- package/dist/cjs/models/shopping-list.js +8 -0
- package/dist/cjs/models/shopping-list.js.map +1 -0
- package/dist/cjs/models/staged-quote.d.ts +338 -0
- package/dist/cjs/models/staged-quote.d.ts.map +1 -0
- package/dist/cjs/models/staged-quote.js +8 -0
- package/dist/cjs/models/staged-quote.js.map +1 -0
- package/dist/cjs/models/standalone-price.d.ts +410 -0
- package/dist/cjs/models/standalone-price.d.ts.map +1 -0
- package/dist/cjs/models/standalone-price.js +8 -0
- package/dist/cjs/models/standalone-price.js.map +1 -0
- package/dist/cjs/models/state.d.ts +341 -0
- package/dist/cjs/models/state.d.ts.map +1 -0
- package/dist/cjs/models/state.js +8 -0
- package/dist/cjs/models/state.js.map +1 -0
- package/dist/cjs/models/store-country.d.ts +14 -0
- package/dist/cjs/models/store-country.d.ts.map +1 -0
- package/dist/cjs/models/store-country.js +8 -0
- package/dist/cjs/models/store-country.js.map +1 -0
- package/dist/cjs/models/store.d.ts +547 -0
- package/dist/cjs/models/store.d.ts.map +1 -0
- package/dist/cjs/models/store.js +8 -0
- package/dist/cjs/models/store.js.map +1 -0
- package/dist/cjs/models/subscription.d.ts +717 -0
- package/dist/cjs/models/subscription.d.ts.map +1 -0
- package/dist/cjs/models/subscription.js +8 -0
- package/dist/cjs/models/subscription.js.map +1 -0
- package/dist/cjs/models/tax-category.d.ts +376 -0
- package/dist/cjs/models/tax-category.d.ts.map +1 -0
- package/dist/cjs/models/tax-category.js +8 -0
- package/dist/cjs/models/tax-category.js.map +1 -0
- package/dist/cjs/models/type.d.ts +645 -0
- package/dist/cjs/models/type.d.ts.map +1 -0
- package/dist/cjs/models/type.js +8 -0
- package/dist/cjs/models/type.js.map +1 -0
- package/dist/cjs/models/zone.d.ts +234 -0
- package/dist/cjs/models/zone.d.ts.map +1 -0
- package/dist/cjs/models/zone.js +8 -0
- package/dist/cjs/models/zone.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/request/index.d.ts +3 -0
- package/dist/cjs/request/index.d.ts.map +1 -0
- package/dist/cjs/request/index.js +19 -0
- package/dist/cjs/request/index.js.map +1 -0
- package/dist/cjs/request/is-retryable-error.d.ts +6 -0
- package/dist/cjs/request/is-retryable-error.d.ts.map +1 -0
- package/dist/cjs/request/is-retryable-error.js +28 -0
- package/dist/cjs/request/is-retryable-error.js.map +1 -0
- package/dist/{typings → cjs}/request/request-executor.d.ts +3 -2
- package/dist/cjs/request/request-executor.d.ts.map +1 -0
- package/dist/cjs/request/request-executor.js +23 -0
- package/dist/cjs/request/request-executor.js.map +1 -0
- package/dist/{typings → cjs}/request/request.d.ts +3 -2
- package/dist/cjs/request/request.d.ts.map +1 -0
- package/dist/cjs/request/request.js +84 -0
- package/dist/cjs/request/request.js.map +1 -0
- package/dist/cjs/request/transform-error.d.ts +7 -0
- package/dist/cjs/request/transform-error.d.ts.map +1 -0
- package/dist/cjs/request/transform-error.js +16 -0
- package/dist/cjs/request/transform-error.js.map +1 -0
- package/dist/{typings → cjs}/types.d.ts +39 -1
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +16 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/{typings → cjs}/utils/axios/convert-error.d.ts +2 -1
- package/dist/cjs/utils/axios/convert-error.d.ts.map +1 -0
- package/dist/cjs/utils/axios/convert-error.js +28 -0
- package/dist/cjs/utils/axios/convert-error.js.map +1 -0
- package/dist/{typings → cjs}/utils/axios/convert-response.d.ts +2 -1
- package/dist/cjs/utils/axios/convert-response.d.ts.map +1 -0
- package/dist/cjs/utils/axios/convert-response.js +23 -0
- package/dist/cjs/utils/axios/convert-response.js.map +1 -0
- package/dist/{typings → cjs}/utils/axios/create-instance.d.ts +5 -0
- package/dist/cjs/utils/axios/create-instance.d.ts.map +1 -0
- package/dist/cjs/utils/axios/create-instance.js +30 -0
- package/dist/cjs/utils/axios/create-instance.js.map +1 -0
- package/dist/{typings → cjs}/utils/axios/extract-headers.d.ts +1 -0
- package/dist/cjs/utils/axios/extract-headers.d.ts.map +1 -0
- package/dist/cjs/utils/axios/extract-headers.js +23 -0
- package/dist/cjs/utils/axios/extract-headers.js.map +1 -0
- package/dist/cjs/utils/axios/index.d.ts +5 -0
- package/dist/cjs/utils/axios/index.d.ts.map +1 -0
- package/dist/cjs/utils/axios/index.js +21 -0
- package/dist/cjs/utils/axios/index.js.map +1 -0
- package/dist/cjs/utils/calculate-delay.d.ts +7 -0
- package/dist/cjs/utils/calculate-delay.d.ts.map +1 -0
- package/dist/cjs/utils/calculate-delay.js +30 -0
- package/dist/cjs/utils/calculate-delay.js.map +1 -0
- package/dist/cjs/utils/ensure-non-empty-string.d.ts +16 -0
- package/dist/cjs/utils/ensure-non-empty-string.d.ts.map +1 -0
- package/dist/cjs/utils/ensure-non-empty-string.js +16 -0
- package/dist/cjs/utils/ensure-non-empty-string.js.map +1 -0
- package/dist/cjs/utils/format.d.ts +11 -0
- package/dist/cjs/utils/format.d.ts.map +1 -0
- package/dist/cjs/utils/format.js +48 -0
- package/dist/cjs/utils/format.js.map +1 -0
- package/dist/cjs/utils/get-attribute-value.d.ts +17 -0
- package/dist/cjs/utils/get-attribute-value.d.ts.map +1 -0
- package/dist/cjs/utils/get-attribute-value.js +19 -0
- package/dist/cjs/utils/get-attribute-value.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +9 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +25 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/mask.d.ts +28 -0
- package/dist/cjs/utils/mask.d.ts.map +1 -0
- package/dist/cjs/utils/mask.js +63 -0
- package/dist/cjs/utils/mask.js.map +1 -0
- package/dist/cjs/utils/plain-clone.d.ts +14 -0
- package/dist/cjs/utils/plain-clone.d.ts.map +1 -0
- package/dist/cjs/utils/plain-clone.js +41 -0
- package/dist/cjs/utils/plain-clone.js.map +1 -0
- package/dist/cjs/utils/retry-on-conflict.d.ts +99 -0
- package/dist/cjs/utils/retry-on-conflict.d.ts.map +1 -0
- package/dist/cjs/utils/retry-on-conflict.js +109 -0
- package/dist/cjs/utils/retry-on-conflict.js.map +1 -0
- package/dist/cjs/utils/useragent.d.ts +10 -0
- package/dist/cjs/utils/useragent.d.ts.map +1 -0
- package/dist/cjs/utils/useragent.js +21 -0
- package/dist/cjs/utils/useragent.js.map +1 -0
- package/dist/mjs/api/CommercetoolsApi.d.ts +1252 -0
- package/dist/mjs/api/CommercetoolsApi.d.ts.map +1 -0
- package/dist/mjs/api/CommercetoolsApi.js +2102 -0
- package/dist/mjs/api/CommercetoolsApi.js.map +1 -0
- package/dist/mjs/api/index.d.ts +3 -0
- package/dist/mjs/api/index.d.ts.map +1 -0
- package/dist/mjs/api/index.js +3 -0
- package/dist/mjs/api/index.js.map +1 -0
- package/dist/mjs/api/types.d.ts +33 -0
- package/dist/mjs/api/types.d.ts.map +1 -0
- package/dist/mjs/api/types.js +2 -0
- package/dist/mjs/api/types.js.map +1 -0
- package/dist/mjs/auth/CommercetoolsAuth.d.ts +182 -0
- package/dist/mjs/auth/CommercetoolsAuth.d.ts.map +1 -0
- package/dist/mjs/auth/CommercetoolsAuth.js +234 -0
- package/dist/mjs/auth/CommercetoolsAuth.js.map +1 -0
- package/dist/mjs/auth/CommercetoolsAuthApi.d.ts +83 -0
- package/dist/mjs/auth/CommercetoolsAuthApi.d.ts.map +1 -0
- package/dist/mjs/auth/CommercetoolsAuthApi.js +165 -0
- package/dist/mjs/auth/CommercetoolsAuthApi.js.map +1 -0
- package/dist/mjs/auth/CommercetoolsGrant.d.ts +66 -0
- package/dist/mjs/auth/CommercetoolsGrant.d.ts.map +1 -0
- package/dist/mjs/auth/CommercetoolsGrant.js +95 -0
- package/dist/mjs/auth/CommercetoolsGrant.js.map +1 -0
- package/dist/mjs/auth/constants.d.ts +7 -0
- package/dist/mjs/auth/constants.d.ts.map +1 -0
- package/dist/mjs/auth/constants.js +28 -0
- package/dist/mjs/auth/constants.js.map +1 -0
- package/dist/mjs/auth/index.d.ts +4 -0
- package/dist/mjs/auth/index.d.ts.map +1 -0
- package/dist/mjs/auth/index.js +3 -0
- package/dist/mjs/auth/index.js.map +1 -0
- package/dist/mjs/auth/scopes.d.ts +11 -0
- package/dist/mjs/auth/scopes.d.ts.map +1 -0
- package/dist/mjs/auth/scopes.js +25 -0
- package/dist/mjs/auth/scopes.js.map +1 -0
- package/dist/mjs/auth/types.d.ts +118 -0
- package/dist/mjs/auth/types.d.ts.map +1 -0
- package/dist/mjs/auth/types.js +25 -0
- package/dist/mjs/auth/types.js.map +1 -0
- package/dist/mjs/auth/utils.d.ts +2 -0
- package/dist/mjs/auth/utils.d.ts.map +1 -0
- package/dist/mjs/auth/utils.js +10 -0
- package/dist/mjs/auth/utils.js.map +1 -0
- package/dist/mjs/constants.d.ts +33 -0
- package/dist/mjs/constants.d.ts.map +1 -0
- package/dist/mjs/constants.js +43 -0
- package/dist/mjs/constants.js.map +1 -0
- package/dist/mjs/error/CommercetoolsError.d.ts +33 -0
- package/dist/mjs/error/CommercetoolsError.d.ts.map +1 -0
- package/dist/mjs/error/CommercetoolsError.js +103 -0
- package/dist/mjs/error/CommercetoolsError.js.map +1 -0
- package/dist/mjs/error/index.d.ts +2 -0
- package/dist/mjs/error/index.d.ts.map +1 -0
- package/dist/mjs/error/index.js +2 -0
- package/dist/mjs/error/index.js.map +1 -0
- package/dist/mjs/index.d.ts +8 -0
- package/dist/mjs/index.d.ts.map +1 -0
- package/dist/mjs/index.js +8 -0
- package/dist/mjs/index.js.map +1 -0
- package/dist/mjs/models/associate-role.d.ts +319 -0
- package/dist/mjs/models/associate-role.d.ts.map +1 -0
- package/dist/mjs/models/associate-role.js +7 -0
- package/dist/mjs/models/associate-role.js.map +1 -0
- package/dist/mjs/models/attribute-group.d.ts +253 -0
- package/dist/mjs/models/attribute-group.d.ts.map +1 -0
- package/dist/mjs/models/attribute-group.js +7 -0
- package/dist/mjs/models/attribute-group.js.map +1 -0
- package/dist/mjs/models/business-unit.d.ts +1197 -0
- package/dist/mjs/models/business-unit.d.ts.map +1 -0
- package/dist/mjs/models/business-unit.js +7 -0
- package/dist/mjs/models/business-unit.js.map +1 -0
- package/dist/mjs/models/cart-discount.d.ts +716 -0
- package/dist/mjs/models/cart-discount.d.ts.map +1 -0
- package/dist/mjs/models/cart-discount.js +7 -0
- package/dist/mjs/models/cart-discount.js.map +1 -0
- package/dist/mjs/models/cart.d.ts +3350 -0
- package/dist/mjs/models/cart.d.ts.map +1 -0
- package/dist/mjs/models/cart.js +7 -0
- package/dist/mjs/models/cart.js.map +1 -0
- package/dist/mjs/models/category.d.ts +634 -0
- package/dist/mjs/models/category.d.ts.map +1 -0
- package/dist/mjs/models/category.js +7 -0
- package/dist/mjs/models/category.js.map +1 -0
- package/dist/mjs/models/channel.d.ts +379 -0
- package/dist/mjs/models/channel.d.ts.map +1 -0
- package/dist/mjs/models/channel.js +7 -0
- package/dist/mjs/models/channel.js.map +1 -0
- package/dist/mjs/models/common.d.ts +1096 -0
- package/dist/mjs/models/common.d.ts.map +1 -0
- package/dist/mjs/models/common.js +7 -0
- package/dist/mjs/models/common.js.map +1 -0
- package/dist/mjs/models/custom-object.d.ts +151 -0
- package/dist/mjs/models/custom-object.d.ts.map +1 -0
- package/dist/mjs/models/custom-object.js +7 -0
- package/dist/mjs/models/custom-object.js.map +1 -0
- package/dist/mjs/models/customer-group.d.ts +235 -0
- package/dist/mjs/models/customer-group.d.ts.map +1 -0
- package/dist/mjs/models/customer-group.js +7 -0
- package/dist/mjs/models/customer-group.js.map +1 -0
- package/dist/mjs/models/customer.d.ts +1221 -0
- package/dist/mjs/models/customer.d.ts.map +1 -0
- package/dist/mjs/models/customer.js +7 -0
- package/dist/mjs/models/customer.js.map +1 -0
- package/dist/mjs/models/discount-code.d.ts +439 -0
- package/dist/mjs/models/discount-code.d.ts.map +1 -0
- package/dist/mjs/models/discount-code.js +7 -0
- package/dist/mjs/models/discount-code.js.map +1 -0
- package/dist/mjs/models/error.d.ts +3062 -0
- package/dist/mjs/models/error.d.ts.map +1 -0
- package/dist/mjs/models/error.js +7 -0
- package/dist/mjs/models/error.js.map +1 -0
- package/dist/mjs/models/extension.d.ts +335 -0
- package/dist/mjs/models/extension.d.ts.map +1 -0
- package/dist/mjs/models/extension.js +7 -0
- package/dist/mjs/models/extension.js.map +1 -0
- package/dist/mjs/models/graph-ql.d.ts +63 -0
- package/dist/mjs/models/graph-ql.d.ts.map +1 -0
- package/dist/mjs/models/graph-ql.js +7 -0
- package/dist/mjs/models/graph-ql.js.map +1 -0
- package/dist/mjs/models/index.d.ts +42 -0
- package/dist/mjs/models/index.d.ts.map +1 -0
- package/dist/mjs/models/index.js +42 -0
- package/dist/mjs/models/index.js.map +1 -0
- package/dist/mjs/models/inventory.d.ts +327 -0
- package/dist/mjs/models/inventory.d.ts.map +1 -0
- package/dist/mjs/models/inventory.js +7 -0
- package/dist/mjs/models/inventory.js.map +1 -0
- package/dist/mjs/models/me.d.ts +2483 -0
- package/dist/mjs/models/me.d.ts.map +1 -0
- package/dist/mjs/models/me.js +7 -0
- package/dist/mjs/models/me.js.map +1 -0
- package/dist/mjs/models/message.d.ts +15095 -0
- package/dist/mjs/models/message.d.ts.map +1 -0
- package/dist/mjs/models/message.js +7 -0
- package/dist/mjs/models/message.js.map +1 -0
- package/dist/mjs/models/order-edit.d.ts +1645 -0
- package/dist/mjs/models/order-edit.d.ts.map +1 -0
- package/dist/mjs/models/order-edit.js +7 -0
- package/dist/mjs/models/order-edit.js.map +1 -0
- package/dist/mjs/models/order.d.ts +2157 -0
- package/dist/mjs/models/order.d.ts.map +1 -0
- package/dist/mjs/models/order.js +7 -0
- package/dist/mjs/models/order.js.map +1 -0
- package/dist/mjs/models/payment.d.ts +734 -0
- package/dist/mjs/models/payment.d.ts.map +1 -0
- package/dist/mjs/models/payment.js +7 -0
- package/dist/mjs/models/payment.js.map +1 -0
- package/dist/mjs/models/product-discount.d.ts +461 -0
- package/dist/mjs/models/product-discount.d.ts.map +1 -0
- package/dist/mjs/models/product-discount.js +7 -0
- package/dist/mjs/models/product-discount.js.map +1 -0
- package/dist/mjs/models/product-selection.d.ts +638 -0
- package/dist/mjs/models/product-selection.d.ts.map +1 -0
- package/dist/mjs/models/product-selection.js +7 -0
- package/dist/mjs/models/product-selection.js.map +1 -0
- package/dist/mjs/models/product-type.d.ts +774 -0
- package/dist/mjs/models/product-type.d.ts.map +1 -0
- package/dist/mjs/models/product-type.js +7 -0
- package/dist/mjs/models/product-type.js.map +1 -0
- package/dist/mjs/models/product.d.ts +2282 -0
- package/dist/mjs/models/product.d.ts.map +1 -0
- package/dist/mjs/models/product.js +7 -0
- package/dist/mjs/models/product.js.map +1 -0
- package/dist/mjs/models/project.d.ts +381 -0
- package/dist/mjs/models/project.d.ts.map +1 -0
- package/dist/mjs/models/project.js +7 -0
- package/dist/mjs/models/project.js.map +1 -0
- package/dist/mjs/models/quote-request.d.ts +430 -0
- package/dist/mjs/models/quote-request.d.ts.map +1 -0
- package/dist/mjs/models/quote-request.js +7 -0
- package/dist/mjs/models/quote-request.js.map +1 -0
- package/dist/mjs/models/quote.d.ts +458 -0
- package/dist/mjs/models/quote.d.ts.map +1 -0
- package/dist/mjs/models/quote.js +7 -0
- package/dist/mjs/models/quote.js.map +1 -0
- package/dist/mjs/models/review.d.ts +435 -0
- package/dist/mjs/models/review.d.ts.map +1 -0
- package/dist/mjs/models/review.js +7 -0
- package/dist/mjs/models/review.js.map +1 -0
- package/dist/mjs/models/scalar-types.d.ts +9 -0
- package/dist/mjs/models/scalar-types.d.ts.map +1 -0
- package/dist/mjs/models/scalar-types.js +7 -0
- package/dist/mjs/models/scalar-types.js.map +1 -0
- package/dist/mjs/models/shipping-method.d.ts +569 -0
- package/dist/mjs/models/shipping-method.d.ts.map +1 -0
- package/dist/mjs/models/shipping-method.js +7 -0
- package/dist/mjs/models/shipping-method.js.map +1 -0
- package/dist/mjs/models/shopping-list.d.ts +844 -0
- package/dist/mjs/models/shopping-list.d.ts.map +1 -0
- package/dist/mjs/models/shopping-list.js +7 -0
- package/dist/mjs/models/shopping-list.js.map +1 -0
- package/dist/mjs/models/staged-quote.d.ts +338 -0
- package/dist/mjs/models/staged-quote.d.ts.map +1 -0
- package/dist/mjs/models/staged-quote.js +7 -0
- package/dist/mjs/models/staged-quote.js.map +1 -0
- package/dist/mjs/models/standalone-price.d.ts +410 -0
- package/dist/mjs/models/standalone-price.d.ts.map +1 -0
- package/dist/mjs/models/standalone-price.js +7 -0
- package/dist/mjs/models/standalone-price.js.map +1 -0
- package/dist/mjs/models/state.d.ts +341 -0
- package/dist/mjs/models/state.d.ts.map +1 -0
- package/dist/mjs/models/state.js +7 -0
- package/dist/mjs/models/state.js.map +1 -0
- package/dist/mjs/models/store-country.d.ts +14 -0
- package/dist/mjs/models/store-country.d.ts.map +1 -0
- package/dist/mjs/models/store-country.js +7 -0
- package/dist/mjs/models/store-country.js.map +1 -0
- package/dist/mjs/models/store.d.ts +547 -0
- package/dist/mjs/models/store.d.ts.map +1 -0
- package/dist/mjs/models/store.js +7 -0
- package/dist/mjs/models/store.js.map +1 -0
- package/dist/mjs/models/subscription.d.ts +717 -0
- package/dist/mjs/models/subscription.d.ts.map +1 -0
- package/dist/mjs/models/subscription.js +7 -0
- package/dist/mjs/models/subscription.js.map +1 -0
- package/dist/mjs/models/tax-category.d.ts +376 -0
- package/dist/mjs/models/tax-category.d.ts.map +1 -0
- package/dist/mjs/models/tax-category.js +7 -0
- package/dist/mjs/models/tax-category.js.map +1 -0
- package/dist/mjs/models/type.d.ts +645 -0
- package/dist/mjs/models/type.d.ts.map +1 -0
- package/dist/mjs/models/type.js +7 -0
- package/dist/mjs/models/type.js.map +1 -0
- package/dist/mjs/models/zone.d.ts +234 -0
- package/dist/mjs/models/zone.d.ts.map +1 -0
- package/dist/mjs/models/zone.js +7 -0
- package/dist/mjs/models/zone.js.map +1 -0
- package/dist/mjs/request/index.d.ts +3 -0
- package/dist/mjs/request/index.d.ts.map +1 -0
- package/dist/mjs/request/index.js +3 -0
- package/dist/mjs/request/index.js.map +1 -0
- package/dist/mjs/request/is-retryable-error.d.ts +6 -0
- package/dist/mjs/request/is-retryable-error.d.ts.map +1 -0
- package/dist/mjs/request/is-retryable-error.js +24 -0
- package/dist/mjs/request/is-retryable-error.js.map +1 -0
- package/dist/mjs/request/request-executor.d.ts +12 -0
- package/dist/mjs/request/request-executor.d.ts.map +1 -0
- package/dist/mjs/request/request-executor.js +19 -0
- package/dist/mjs/request/request-executor.js.map +1 -0
- package/dist/mjs/request/request.d.ts +11 -0
- package/dist/mjs/request/request.d.ts.map +1 -0
- package/dist/mjs/request/request.js +80 -0
- package/dist/mjs/request/request.js.map +1 -0
- package/dist/mjs/request/transform-error.d.ts +7 -0
- package/dist/mjs/request/transform-error.d.ts.map +1 -0
- package/dist/mjs/request/transform-error.js +12 -0
- package/dist/mjs/request/transform-error.js.map +1 -0
- package/dist/mjs/types.d.ts +96 -0
- package/dist/mjs/types.d.ts.map +1 -0
- package/dist/mjs/types.js +13 -0
- package/dist/mjs/types.js.map +1 -0
- package/dist/mjs/utils/axios/convert-error.d.ts +4 -0
- package/dist/mjs/utils/axios/convert-error.d.ts.map +1 -0
- package/dist/mjs/utils/axios/convert-error.js +24 -0
- package/dist/mjs/utils/axios/convert-error.js.map +1 -0
- package/dist/mjs/utils/axios/convert-response.d.ts +4 -0
- package/dist/mjs/utils/axios/convert-response.d.ts.map +1 -0
- package/dist/mjs/utils/axios/convert-response.js +19 -0
- package/dist/mjs/utils/axios/convert-response.js.map +1 -0
- package/dist/mjs/utils/axios/create-instance.d.ts +11 -0
- package/dist/mjs/utils/axios/create-instance.d.ts.map +1 -0
- package/dist/mjs/utils/axios/create-instance.js +23 -0
- package/dist/mjs/utils/axios/create-instance.js.map +1 -0
- package/dist/mjs/utils/axios/extract-headers.d.ts +2 -0
- package/dist/mjs/utils/axios/extract-headers.d.ts.map +1 -0
- package/dist/mjs/utils/axios/extract-headers.js +19 -0
- package/dist/mjs/utils/axios/extract-headers.js.map +1 -0
- package/dist/mjs/utils/axios/index.d.ts +5 -0
- package/dist/mjs/utils/axios/index.d.ts.map +1 -0
- package/dist/mjs/utils/axios/index.js +5 -0
- package/dist/mjs/utils/axios/index.js.map +1 -0
- package/dist/mjs/utils/calculate-delay.d.ts +7 -0
- package/dist/mjs/utils/calculate-delay.d.ts.map +1 -0
- package/dist/mjs/utils/calculate-delay.js +26 -0
- package/dist/mjs/utils/calculate-delay.js.map +1 -0
- package/dist/mjs/utils/ensure-non-empty-string.d.ts +16 -0
- package/dist/mjs/utils/ensure-non-empty-string.d.ts.map +1 -0
- package/dist/mjs/utils/ensure-non-empty-string.js +12 -0
- package/dist/mjs/utils/ensure-non-empty-string.js.map +1 -0
- package/dist/mjs/utils/format.d.ts +11 -0
- package/dist/mjs/utils/format.d.ts.map +1 -0
- package/dist/mjs/utils/format.js +44 -0
- package/dist/mjs/utils/format.js.map +1 -0
- package/dist/mjs/utils/get-attribute-value.d.ts +17 -0
- package/dist/mjs/utils/get-attribute-value.d.ts.map +1 -0
- package/dist/mjs/utils/get-attribute-value.js +15 -0
- package/dist/mjs/utils/get-attribute-value.js.map +1 -0
- package/dist/mjs/utils/index.d.ts +9 -0
- package/dist/mjs/utils/index.d.ts.map +1 -0
- package/dist/mjs/utils/index.js +9 -0
- package/dist/mjs/utils/index.js.map +1 -0
- package/dist/mjs/utils/mask.d.ts +28 -0
- package/dist/mjs/utils/mask.d.ts.map +1 -0
- package/dist/mjs/utils/mask.js +54 -0
- package/dist/mjs/utils/mask.js.map +1 -0
- package/dist/mjs/utils/plain-clone.d.ts +14 -0
- package/dist/mjs/utils/plain-clone.d.ts.map +1 -0
- package/dist/mjs/utils/plain-clone.js +37 -0
- package/dist/mjs/utils/plain-clone.js.map +1 -0
- package/dist/mjs/utils/retry-on-conflict.d.ts +99 -0
- package/dist/mjs/utils/retry-on-conflict.d.ts.map +1 -0
- package/dist/mjs/utils/retry-on-conflict.js +105 -0
- package/dist/mjs/utils/retry-on-conflict.js.map +1 -0
- package/dist/mjs/utils/useragent.d.ts +10 -0
- package/dist/mjs/utils/useragent.d.ts.map +1 -0
- package/dist/mjs/utils/useragent.js +17 -0
- package/dist/mjs/utils/useragent.js.map +1 -0
- package/package.json +48 -46
- package/dist/ge-commercetools-utils-browser.cjs.js +0 -2
- package/dist/ge-commercetools-utils-browser.cjs.js.map +0 -1
- package/dist/ge-commercetools-utils-browser.esm.js +0 -2
- package/dist/ge-commercetools-utils-browser.esm.js.map +0 -1
- package/dist/ge-commercetools-utils-node.cjs.js +0 -3
- package/dist/ge-commercetools-utils-node.cjs.js.LICENSE.txt +0 -13
- package/dist/ge-commercetools-utils-node.cjs.js.map +0 -1
- package/dist/ge-commercetools-utils-node.esm.js +0 -2
- package/dist/ge-commercetools-utils-node.esm.js.LICENSE.txt +0 -13
- package/dist/typings/api/CommercetoolsApi.d.ts +0 -515
- package/dist/typings/api/index.d.ts +0 -2
- package/dist/typings/api/types.d.ts +0 -12
- package/dist/typings/auth/CommercetoolsAuth.d.ts +0 -22
- package/dist/typings/auth/CommercetoolsAuthApi.d.ts +0 -27
- package/dist/typings/auth/CommercetoolsGrant.d.ts +0 -13
- package/dist/typings/auth/constants.d.ts +0 -3
- package/dist/typings/auth/index.d.ts +0 -3
- package/dist/typings/auth/scopes.d.ts +0 -2
- package/dist/typings/auth/types.d.ts +0 -41
- package/dist/typings/constants.d.ts +0 -12
- package/dist/typings/error/CommercetoolsError.d.ts +0 -11
- package/dist/typings/error/index.d.ts +0 -1
- package/dist/typings/index.d.ts +0 -7
- package/dist/typings/models/associate-role.d.ts +0 -79
- package/dist/typings/models/attribute-group.d.ts +0 -68
- package/dist/typings/models/business-unit.d.ts +0 -272
- package/dist/typings/models/cart-discount.d.ts +0 -196
- package/dist/typings/models/cart.d.ts +0 -745
- package/dist/typings/models/category.d.ts +0 -166
- package/dist/typings/models/channel.d.ts +0 -103
- package/dist/typings/models/common.d.ts +0 -256
- package/dist/typings/models/custom-object.d.ts +0 -30
- package/dist/typings/models/customer-group.d.ts +0 -58
- package/dist/typings/models/customer.d.ts +0 -293
- package/dist/typings/models/discount-code.d.ts +0 -116
- package/dist/typings/models/error.d.ts +0 -874
- package/dist/typings/models/extension.d.ts +0 -83
- package/dist/typings/models/graph-ql.d.ts +0 -23
- package/dist/typings/models/index.d.ts +0 -41
- package/dist/typings/models/inventory.d.ts +0 -88
- package/dist/typings/models/me.d.ts +0 -640
- package/dist/typings/models/message.d.ts +0 -3210
- package/dist/typings/models/order-edit.d.ts +0 -572
- package/dist/typings/models/payment.d.ts +0 -191
- package/dist/typings/models/product-discount.d.ts +0 -123
- package/dist/typings/models/product-selection.d.ts +0 -158
- package/dist/typings/models/product-type.d.ts +0 -213
- package/dist/typings/models/product.d.ts +0 -535
- package/dist/typings/models/project.d.ts +0 -120
- package/dist/typings/models/quote-request.d.ts +0 -94
- package/dist/typings/models/quote.d.ts +0 -103
- package/dist/typings/models/review.d.ts +0 -115
- package/dist/typings/models/scalar-types.d.ts +0 -3
- package/dist/typings/models/shipping-method.d.ts +0 -160
- package/dist/typings/models/shopping-list.d.ts +0 -217
- package/dist/typings/models/staged-quote.d.ts +0 -84
- package/dist/typings/models/standalone-price.d.ts +0 -95
- package/dist/typings/models/state.d.ts +0 -86
- package/dist/typings/models/store-country.d.ts +0 -3
- package/dist/typings/models/store.d.ts +0 -137
- package/dist/typings/models/subscription.d.ts +0 -161
- package/dist/typings/models/tax-category.d.ts +0 -91
- package/dist/typings/models/type.d.ts +0 -177
- package/dist/typings/models/zone.d.ts +0 -65
- package/dist/typings/request/index.d.ts +0 -2
- package/dist/typings/request/is-retryable-error.d.ts +0 -1
- package/dist/typings/request/transform-error.d.ts +0 -2
- package/dist/typings/utils/axios/index.d.ts +0 -4
- package/dist/typings/utils/calculate-delay.d.ts +0 -2
- package/dist/typings/utils/ensure-non-empty-string.d.ts +0 -5
- package/dist/typings/utils/format.d.ts +0 -1
- package/dist/typings/utils/get-attribute-value.d.ts +0 -6
- package/dist/typings/utils/index.d.ts +0 -8
- package/dist/typings/utils/mask.d.ts +0 -6
- package/dist/typings/utils/plain-clone.d.ts +0 -1
- package/dist/typings/utils/retry-on-conflict.d.ts +0 -7
- 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,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommercetoolsAuthApi = void 0;
|
|
4
|
+
const types_js_1 = require("./types.js");
|
|
5
|
+
const index_js_1 = require("../index.js");
|
|
6
|
+
const scopes_js_1 = require("./scopes.js");
|
|
7
|
+
const constants_js_1 = require("./constants.js");
|
|
8
|
+
const utils_js_1 = require("./utils.js");
|
|
9
|
+
const request_executor_js_1 = require("../request/request-executor.js");
|
|
10
|
+
/**
|
|
11
|
+
* Provides an easy to use set of methods for communicating with the commercetools
|
|
12
|
+
* HTTP Authorization API
|
|
13
|
+
*/
|
|
14
|
+
class CommercetoolsAuthApi {
|
|
15
|
+
/**
|
|
16
|
+
* The internal configuration. This is a combination of the `CommercetoolsAuthConfig`
|
|
17
|
+
* type passed in to the constructor and the default values specified in the
|
|
18
|
+
* `configDefaults` object.
|
|
19
|
+
*/
|
|
20
|
+
config;
|
|
21
|
+
/**
|
|
22
|
+
* The Auth and API endpoints driven by the user's setting of {@link CommercetoolsAuthApiConfig.region}
|
|
23
|
+
* https://docs.commercetools.com/api/general-concepts#regions
|
|
24
|
+
*/
|
|
25
|
+
endpoints;
|
|
26
|
+
/**
|
|
27
|
+
* The request executor that's responsible for making the request to commercetools
|
|
28
|
+
*/
|
|
29
|
+
requestExecutor;
|
|
30
|
+
constructor(config) {
|
|
31
|
+
this.config = config;
|
|
32
|
+
this.endpoints = constants_js_1.REGION_URLS[this.config.region];
|
|
33
|
+
this.requestExecutor = (0, request_executor_js_1.getRequestExecutor)({
|
|
34
|
+
timeoutMs: config.timeoutMs,
|
|
35
|
+
httpsAgent: config.httpsAgent,
|
|
36
|
+
systemIdentifier: config.systemIdentifier,
|
|
37
|
+
onBeforeRequest: config.onBeforeRequest,
|
|
38
|
+
onAfterResponse: config.onAfterResponse,
|
|
39
|
+
retry: config.retry,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get a new client grant:
|
|
44
|
+
* https://docs.commercetools.com/api/authorization#client-credentials-flow
|
|
45
|
+
*/
|
|
46
|
+
async getClientGrant(scopes) {
|
|
47
|
+
return this.post('/token', {
|
|
48
|
+
grant_type: types_js_1.GrantType.CLIENT_CREDENTIALS,
|
|
49
|
+
scope: (0, scopes_js_1.scopeArrayToRequestString)(scopes, this.config.projectKey),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Refresh a customer or client grant given a refresh token:
|
|
54
|
+
* https://docs.commercetools.com/api/authorization#refresh-token-flow
|
|
55
|
+
*/
|
|
56
|
+
async refreshGrant(refreshToken) {
|
|
57
|
+
return await this.post('/token', {
|
|
58
|
+
grant_type: types_js_1.GrantType.REFRESH_TOKEN,
|
|
59
|
+
refresh_token: refreshToken,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Login the customer using the given options:
|
|
64
|
+
* https://docs.commercetools.com/api/authorization#password-flow
|
|
65
|
+
*/
|
|
66
|
+
async login(options) {
|
|
67
|
+
return this.post(`/${this.config.projectKey}${this.applyStore('/customers/token', options.storeKey)}`, {
|
|
68
|
+
username: options.username,
|
|
69
|
+
password: options.password,
|
|
70
|
+
grant_type: types_js_1.GrantType.PASSWORD,
|
|
71
|
+
scope: (0, scopes_js_1.scopeArrayToRequestString)(options.scopes, this.config.projectKey),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Revoke a refresh or access token:
|
|
76
|
+
* https://docs.commercetools.com/api/authorization#revoking-tokens
|
|
77
|
+
*
|
|
78
|
+
* If you're logging out a customer, you will likely want to call this method twice;
|
|
79
|
+
* once with the access token and once with the refresh token (you can call these in parallel).
|
|
80
|
+
*/
|
|
81
|
+
async revokeToken(options) {
|
|
82
|
+
await this.post('/token/revoke', {
|
|
83
|
+
token: options.tokenValue,
|
|
84
|
+
token_type_hint: options.tokenType,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Log the customer out
|
|
89
|
+
*
|
|
90
|
+
* This is a convenience mechanism which makes 2 calls to the `revokeToken` method under
|
|
91
|
+
* the hood (in parallel). One with the access token and one with the refresh token.
|
|
92
|
+
*/
|
|
93
|
+
async logout(options) {
|
|
94
|
+
const settlements = await Promise.allSettled([
|
|
95
|
+
this.revokeToken({ tokenType: 'access_token', tokenValue: options.accessToken }),
|
|
96
|
+
this.revokeToken({ tokenType: 'refresh_token', tokenValue: options.refreshToken }),
|
|
97
|
+
]);
|
|
98
|
+
const errors = settlements.reduce((errors, settlement) => {
|
|
99
|
+
if (settlement.status === 'rejected') {
|
|
100
|
+
errors.push(settlement.reason);
|
|
101
|
+
}
|
|
102
|
+
return errors;
|
|
103
|
+
}, []);
|
|
104
|
+
if (errors.length) {
|
|
105
|
+
throw new index_js_1.CommercetoolsError(`Logout failed in one or more calls to the token revocation endpoint`, errors);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Get a grant an anonymous customer:
|
|
110
|
+
* https://docs.commercetools.com/api/authorization#tokens-for-anonymous-sessions
|
|
111
|
+
*/
|
|
112
|
+
async getAnonymousGrant(options) {
|
|
113
|
+
const postOptions = {
|
|
114
|
+
grant_type: types_js_1.GrantType.CLIENT_CREDENTIALS,
|
|
115
|
+
};
|
|
116
|
+
if (options?.scopes?.length) {
|
|
117
|
+
postOptions.scope = (0, scopes_js_1.scopeArrayToRequestString)(options.scopes, this.config.projectKey);
|
|
118
|
+
}
|
|
119
|
+
if (options?.anonymousId) {
|
|
120
|
+
postOptions.anonymous_id = options.anonymousId;
|
|
121
|
+
}
|
|
122
|
+
return this.post(`/${this.config.projectKey}/anonymous/token`, postOptions);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Construct and send a request to the commercetools auth endpoint.
|
|
126
|
+
*/
|
|
127
|
+
async post(path, body) {
|
|
128
|
+
return await this.requestExecutor(this.getRequestOptions({ path, body }));
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Generate request options. These are then fed in to axios when
|
|
132
|
+
* making the request to commercetools.
|
|
133
|
+
*/
|
|
134
|
+
getRequestOptions(options) {
|
|
135
|
+
const url = `${this.endpoints.auth}/oauth${options.path}`;
|
|
136
|
+
let data;
|
|
137
|
+
const headers = {
|
|
138
|
+
Authorization: `Basic ${(0, utils_js_1.base64EncodeForBasicAuth)(this.config.clientId, this.config.clientSecret)}`,
|
|
139
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
140
|
+
};
|
|
141
|
+
if (options.correlationId && options.correlationId !== '') {
|
|
142
|
+
headers['X-Correlation-ID'] = options.correlationId;
|
|
143
|
+
delete options.correlationId;
|
|
144
|
+
}
|
|
145
|
+
if (options.body) {
|
|
146
|
+
data = new URLSearchParams(options.body).toString();
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
method: 'POST',
|
|
150
|
+
data,
|
|
151
|
+
url,
|
|
152
|
+
headers,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Applies the store key to a given path
|
|
157
|
+
*/
|
|
158
|
+
applyStore(path, storeKey) {
|
|
159
|
+
if (typeof storeKey === 'string' && storeKey !== '') {
|
|
160
|
+
return `/in-store/key=${storeKey}${path}`;
|
|
161
|
+
}
|
|
162
|
+
else if (this.config.storeKey) {
|
|
163
|
+
return `/in-store/key=${this.config.storeKey}${path}`;
|
|
164
|
+
}
|
|
165
|
+
return path;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.CommercetoolsAuthApi = CommercetoolsAuthApi;
|
|
169
|
+
//# sourceMappingURL=CommercetoolsAuthApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommercetoolsAuthApi.js","sourceRoot":"","sources":["../../../src/lib/auth/CommercetoolsAuthApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommercetoolsGrant = void 0;
|
|
4
|
+
const scopes_js_1 = require("./scopes.js");
|
|
5
|
+
/**
|
|
6
|
+
* Holds the details of the grant returned from commercetools in response
|
|
7
|
+
* to an authorisation API related request:
|
|
8
|
+
* https://docs.commercetools.com/api/authorization
|
|
9
|
+
*/
|
|
10
|
+
class CommercetoolsGrant {
|
|
11
|
+
/**
|
|
12
|
+
* The access token string needed when making requests to commercetools. If this
|
|
13
|
+
* was generated by a customer logging in, then this is used by commercetools
|
|
14
|
+
* to identify the customer.
|
|
15
|
+
*/
|
|
16
|
+
accessToken = '';
|
|
17
|
+
/**
|
|
18
|
+
* The refresh token is required for refreshing an existing grant. A refresh token
|
|
19
|
+
* is only issued for customer grants (either logged in or anonymous), an not for
|
|
20
|
+
* client grants.
|
|
21
|
+
*/
|
|
22
|
+
refreshToken;
|
|
23
|
+
/**
|
|
24
|
+
* The duration of the access token in seconds (typically 48 hours)
|
|
25
|
+
*/
|
|
26
|
+
expiresIn = 0;
|
|
27
|
+
/**
|
|
28
|
+
* This is the expiry date/time of the access token. This is calculated based
|
|
29
|
+
* on the `expiredIn` property, and as such may be very slightly after the
|
|
30
|
+
* internal commercetools expiry date (due to the time involved to receive
|
|
31
|
+
* and process the response.
|
|
32
|
+
*/
|
|
33
|
+
expiresAt = new Date();
|
|
34
|
+
/**
|
|
35
|
+
* List of permission scopes. This will also include the `anonymous_id` when
|
|
36
|
+
* generating an anonymous customer token, or the `customer_id` when logging
|
|
37
|
+
* in as an existing customer.
|
|
38
|
+
*/
|
|
39
|
+
scopes = [];
|
|
40
|
+
/**
|
|
41
|
+
* When this grant came from a call to {@see CommercetoolsAuth.getAnonymousGrant}
|
|
42
|
+
* or {@see CommercetoolsApi.getAnonymousGrant} then the value will be populated
|
|
43
|
+
* with the id of the anonymous customer to which this grant relates.
|
|
44
|
+
*/
|
|
45
|
+
anonymousId;
|
|
46
|
+
/**
|
|
47
|
+
* When this grant is generated from a call to {@see CommercetoolsAuth.login}
|
|
48
|
+
* or {@see CommercetoolsApi.login} then this value will be populated with the
|
|
49
|
+
* id of the customer to which this grant relates.
|
|
50
|
+
*/
|
|
51
|
+
customerId;
|
|
52
|
+
/**
|
|
53
|
+
* Create a new grant from grant data received back from commercetools.
|
|
54
|
+
*/
|
|
55
|
+
constructor(data) {
|
|
56
|
+
this.accessToken = data.access_token;
|
|
57
|
+
this.expiresIn = data.expires_in;
|
|
58
|
+
this.scopes = (0, scopes_js_1.scopeRequestStringToArray)(data.scope);
|
|
59
|
+
this.anonymousId = this.extractKeyFromScope('anonymous_id', data.scope);
|
|
60
|
+
this.customerId = this.extractKeyFromScope('customer_id', data.scope);
|
|
61
|
+
// This sets the `expiresAt` property to the calculated Date when the grant is due to expire.
|
|
62
|
+
this.expiresAt = new Date(new Date().getTime() + 1000 * data.expires_in);
|
|
63
|
+
// When a grant is refreshed, we don't get back a new token,
|
|
64
|
+
// so we keep hold of the old one unless one is explicitly provided.
|
|
65
|
+
if ('refresh_token' in data && data.refresh_token) {
|
|
66
|
+
this.refreshToken = data.refresh_token;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Calculates whether the grant is due to expire within a given number of
|
|
71
|
+
* seconds. This is useful when deciding if the expiry date/time is close
|
|
72
|
+
* enough to warrant pro-active renewal, rather than waiting for expiry.
|
|
73
|
+
*/
|
|
74
|
+
expiresWithin(refreshIfWithinSecs) {
|
|
75
|
+
const cutoff = new Date().getTime() + refreshIfWithinSecs * 1000;
|
|
76
|
+
return this.expiresAt.getTime() < cutoff;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Given a scope string (as returned from commercetools), this method
|
|
80
|
+
* extracts the value of the associated with the given key. Used for
|
|
81
|
+
* retrieving the anonymous id and customer id from the scope string.
|
|
82
|
+
*/
|
|
83
|
+
extractKeyFromScope(key, scope) {
|
|
84
|
+
if (!scope || !key) {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
const parts = scope?.split(' ');
|
|
88
|
+
if (!Array.isArray(parts) || parts.length === 0) {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
const item = parts.find((part) => part.slice(0, key.length + 1) === `${key}:`);
|
|
92
|
+
if (item) {
|
|
93
|
+
return item.slice(key.length + 1);
|
|
94
|
+
}
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.CommercetoolsGrant = CommercetoolsGrant;
|
|
99
|
+
//# sourceMappingURL=CommercetoolsGrant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommercetoolsGrant.js","sourceRoot":"","sources":["../../../src/lib/auth/CommercetoolsGrant.ts"],"names":[],"mappings":";;;AACA,2CAAuD;AAEvD;;;;GAIG;AACH,MAAa,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,IAAA,qCAAyB,EAAC,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;AAlGD,gDAkGC"}
|
|
@@ -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,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INVALID_SCOPES = exports.REGION_URLS = void 0;
|
|
4
|
+
const types_js_1 = require("../types.js");
|
|
5
|
+
/**
|
|
6
|
+
* Commercetools regions and cloud providers - https://docs.commercetools.com/api/general-concepts#hosts
|
|
7
|
+
*/
|
|
8
|
+
exports.REGION_URLS = {
|
|
9
|
+
[types_js_1.Region.EUROPE_GCP]: {
|
|
10
|
+
auth: 'https://auth.europe-west1.gcp.commercetools.com',
|
|
11
|
+
api: 'https://api.europe-west1.gcp.commercetools.com',
|
|
12
|
+
},
|
|
13
|
+
[types_js_1.Region.EUROPE_AWS]: {
|
|
14
|
+
auth: 'https://auth.eu-central-1.aws.commercetools.com',
|
|
15
|
+
api: 'https://api.eu-central-1.aws.commercetools.com',
|
|
16
|
+
},
|
|
17
|
+
[types_js_1.Region.NORTH_AMERICA_GCP]: {
|
|
18
|
+
auth: 'https://auth.us-central1.gcp.commercetools.com',
|
|
19
|
+
api: 'https://api.us-central1.gcp.commercetools.com',
|
|
20
|
+
},
|
|
21
|
+
[types_js_1.Region.NORTH_AMERICA_AWS]: {
|
|
22
|
+
auth: 'https://auth.us-east-2.aws.commercetools.com',
|
|
23
|
+
api: 'https://api.us-east-2.aws.commercetools.com',
|
|
24
|
+
},
|
|
25
|
+
[types_js_1.Region.AUSTRALIA_GCP]: {
|
|
26
|
+
auth: 'https://auth.australia-southeast1.gcp.commercetools.com',
|
|
27
|
+
api: 'https://api.australia-southeast1.gcp.commercetools.com',
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
exports.INVALID_SCOPES = ['anonymous_id', 'customer_id'];
|
|
31
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/auth/constants.ts"],"names":[],"mappings":";;;AAAA,0CAAqD;AAErD;;GAEG;AACU,QAAA,WAAW,GAAoC;IAC1D,CAAC,iBAAM,CAAC,UAAU,CAAC,EAAE;QACnB,IAAI,EAAE,iDAAiD;QACvD,GAAG,EAAE,gDAAgD;KACtD;IACD,CAAC,iBAAM,CAAC,UAAU,CAAC,EAAE;QACnB,IAAI,EAAE,iDAAiD;QACvD,GAAG,EAAE,gDAAgD;KACtD;IACD,CAAC,iBAAM,CAAC,iBAAiB,CAAC,EAAE;QAC1B,IAAI,EAAE,gDAAgD;QACtD,GAAG,EAAE,+CAA+C;KACrD;IACD,CAAC,iBAAM,CAAC,iBAAiB,CAAC,EAAE;QAC1B,IAAI,EAAE,8CAA8C;QACpD,GAAG,EAAE,6CAA6C;KACnD;IACD,CAAC,iBAAM,CAAC,aAAa,CAAC,EAAE;QACtB,IAAI,EAAE,yDAAyD;QAC/D,GAAG,EAAE,wDAAwD;KAC9D;CACF,CAAA;AAEY,QAAA,cAAc,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA"}
|
|
@@ -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,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./CommercetoolsAuth.js"), exports);
|
|
18
|
+
__exportStar(require("./CommercetoolsGrant.js"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,0DAAuC"}
|
|
@@ -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,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scopeRequestStringToArray = exports.scopeArrayToRequestString = void 0;
|
|
4
|
+
const constants_js_1 = require("./constants.js");
|
|
5
|
+
/**
|
|
6
|
+
* Take an array of scope strings and form them in to a string
|
|
7
|
+
* that is appropriate for the `scope` parameter in requests to commercetools.
|
|
8
|
+
*/
|
|
9
|
+
function scopeArrayToRequestString(scopes, projectKey) {
|
|
10
|
+
if (!scopes.length) {
|
|
11
|
+
return '';
|
|
12
|
+
}
|
|
13
|
+
return scopes.map((scope) => `${scope}:${projectKey}`).join(' ');
|
|
14
|
+
}
|
|
15
|
+
exports.scopeArrayToRequestString = scopeArrayToRequestString;
|
|
16
|
+
/**
|
|
17
|
+
* Take the scopes string returned by commercetools and parse it in to an
|
|
18
|
+
* array of scope strings.
|
|
19
|
+
*/
|
|
20
|
+
function scopeRequestStringToArray(scopes) {
|
|
21
|
+
if (!scopes) {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
return scopes
|
|
25
|
+
.split(' ')
|
|
26
|
+
.map((scope) => scope.split(':')[0])
|
|
27
|
+
.filter((scope) => !constants_js_1.INVALID_SCOPES.includes(scope));
|
|
28
|
+
}
|
|
29
|
+
exports.scopeRequestStringToArray = scopeRequestStringToArray;
|
|
30
|
+
//# sourceMappingURL=scopes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../../src/lib/auth/scopes.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAE/C;;;GAGG;AACH,SAAgB,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;AALD,8DAKC;AAED;;;GAGG;AACH,SAAgB,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,6BAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;AACvD,CAAC;AARD,8DAQC"}
|