@salesforce/b2c-tooling-sdk 1.24.2 → 2.1.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/data/content-schemas/componenttype.json +0 -30
- package/data/scapi-snippets/campaign-promotions.js +40 -0
- package/data/scapi-snippets/code-version-inspect.js +31 -0
- package/data/scapi-snippets/create-product.js +108 -0
- package/data/scapi-snippets/failed-job-triage.js +37 -0
- package/data/scapi-snippets/job-execution-inspect.js +52 -0
- package/data/scapi-snippets/job-execution-review.js +46 -0
- package/data/scapi-snippets/manifest.json +220 -0
- package/data/scapi-snippets/site-cartridge-inspect.js +27 -0
- package/data/tooling/index.json +83 -119
- package/dist/esm/auth/index.d.ts +2 -2
- package/dist/esm/auth/index.js +1 -1
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/oauth-implicit.d.ts +1 -0
- package/dist/esm/auth/oauth-implicit.js +1 -0
- package/dist/esm/auth/oauth-implicit.js.map +1 -1
- package/dist/esm/auth/oauth-jwt.d.ts +18 -4
- package/dist/esm/auth/oauth-jwt.js +67 -17
- package/dist/esm/auth/oauth-jwt.js.map +1 -1
- package/dist/esm/auth/oauth-pkce-fallback.d.ts +1 -0
- package/dist/esm/auth/oauth-pkce-fallback.js +1 -0
- package/dist/esm/auth/oauth-pkce-fallback.js.map +1 -1
- package/dist/esm/auth/oauth-pkce.d.ts +1 -0
- package/dist/esm/auth/oauth-pkce.js +1 -0
- package/dist/esm/auth/oauth-pkce.js.map +1 -1
- package/dist/esm/auth/oauth.d.ts +55 -6
- package/dist/esm/auth/oauth.js +139 -21
- package/dist/esm/auth/oauth.js.map +1 -1
- package/dist/esm/auth/resolve.d.ts +37 -0
- package/dist/esm/auth/resolve.js +48 -0
- package/dist/esm/auth/resolve.js.map +1 -1
- package/dist/esm/auth/types.d.ts +44 -0
- package/dist/esm/auth/types.js.map +1 -1
- package/dist/esm/cli/base-command.d.ts +9 -0
- package/dist/esm/cli/base-command.js +31 -0
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/bm-command.d.ts +15 -0
- package/dist/esm/cli/bm-command.js +25 -0
- package/dist/esm/cli/bm-command.js.map +1 -0
- package/dist/esm/cli/code-command.d.ts +14 -0
- package/dist/esm/cli/code-command.js +22 -0
- package/dist/esm/cli/code-command.js.map +1 -0
- package/dist/esm/cli/config.js +10 -1
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/index.d.ts +5 -1
- package/dist/esm/cli/index.js +7 -1
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +45 -0
- package/dist/esm/cli/instance-command.js +66 -1
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/cli/job-command.d.ts +37 -16
- package/dist/esm/cli/job-command.js +73 -23
- package/dist/esm/cli/job-command.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +154 -9
- package/dist/esm/cli/mrt-command.js +299 -16
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +1 -1
- package/dist/esm/cli/oauth-command.js +2 -0
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/webdav-command.d.ts +2 -0
- package/dist/esm/cli/webdav-command.js +1 -0
- package/dist/esm/cli/webdav-command.js.map +1 -1
- package/dist/esm/clients/cdn-zones.js +2 -5
- package/dist/esm/clients/cdn-zones.js.map +1 -1
- package/dist/esm/clients/cip.d.ts +12 -3
- package/dist/esm/clients/cip.js +85 -30
- package/dist/esm/clients/cip.js.map +1 -1
- package/dist/esm/clients/custom-apis.js +2 -5
- package/dist/esm/clients/custom-apis.js.map +1 -1
- package/dist/esm/clients/dual-backend-factory.d.ts +70 -0
- package/dist/esm/clients/dual-backend-factory.js +48 -0
- package/dist/esm/clients/dual-backend-factory.js.map +1 -0
- package/dist/esm/clients/error-utils.d.ts +62 -0
- package/dist/esm/clients/error-utils.js +98 -0
- package/dist/esm/clients/error-utils.js.map +1 -1
- package/dist/esm/clients/granular-replications.js +2 -5
- package/dist/esm/clients/granular-replications.js.map +1 -1
- package/dist/esm/clients/index.d.ts +30 -3
- package/dist/esm/clients/index.js +25 -2
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/metrics.js +2 -5
- package/dist/esm/clients/metrics.js.map +1 -1
- package/dist/esm/clients/middleware-registry.d.ts +4 -2
- package/dist/esm/clients/middleware-registry.js +3 -1
- package/dist/esm/clients/middleware-registry.js.map +1 -1
- package/dist/esm/clients/middleware.d.ts +39 -0
- package/dist/esm/clients/middleware.js +126 -25
- package/dist/esm/clients/middleware.js.map +1 -1
- package/dist/esm/clients/mrt-b2c.js +3 -0
- package/dist/esm/clients/mrt-b2c.js.map +1 -1
- package/dist/esm/clients/mrt.d.ts +27 -10
- package/dist/esm/clients/mrt.generated.d.ts +77 -0
- package/dist/esm/clients/mrt.js +68 -0
- package/dist/esm/clients/mrt.js.map +1 -1
- package/dist/esm/clients/preferences.js +2 -5
- package/dist/esm/clients/preferences.js.map +1 -1
- package/dist/esm/clients/scapi-backend-utils.d.ts +163 -0
- package/dist/esm/clients/scapi-backend-utils.js +180 -0
- package/dist/esm/clients/scapi-backend-utils.js.map +1 -0
- package/dist/esm/clients/scapi-catalogs.d.ts +12 -0
- package/dist/esm/clients/scapi-catalogs.generated.d.ts +104 -0
- package/dist/esm/clients/scapi-catalogs.generated.js +6 -0
- package/dist/esm/clients/scapi-catalogs.generated.js.map +1 -0
- package/dist/esm/clients/scapi-catalogs.js +14 -0
- package/dist/esm/clients/scapi-catalogs.js.map +1 -0
- package/dist/esm/clients/scapi-client-factory.d.ts +81 -0
- package/dist/esm/clients/scapi-client-factory.js +84 -0
- package/dist/esm/clients/scapi-client-factory.js.map +1 -0
- package/dist/esm/clients/scapi-fallback-backend.d.ts +34 -0
- package/dist/esm/clients/scapi-fallback-backend.js +132 -0
- package/dist/esm/clients/scapi-fallback-backend.js.map +1 -0
- package/dist/esm/clients/scapi-jobs.d.ts +32 -0
- package/dist/esm/clients/scapi-jobs.generated.d.ts +535 -0
- package/dist/esm/clients/scapi-jobs.generated.js +6 -0
- package/dist/esm/clients/scapi-jobs.generated.js.map +1 -0
- package/dist/esm/clients/scapi-jobs.js +24 -0
- package/dist/esm/clients/scapi-jobs.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-roles.d.ts +19 -0
- package/dist/esm/clients/scapi-merchant-roles.generated.d.ts +726 -0
- package/dist/esm/clients/scapi-merchant-roles.generated.js +6 -0
- package/dist/esm/clients/scapi-merchant-roles.generated.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-roles.js +12 -0
- package/dist/esm/clients/scapi-merchant-roles.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-users.d.ts +19 -0
- package/dist/esm/clients/scapi-merchant-users.generated.d.ts +300 -0
- package/dist/esm/clients/scapi-merchant-users.generated.js +6 -0
- package/dist/esm/clients/scapi-merchant-users.generated.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-users.js +12 -0
- package/dist/esm/clients/scapi-merchant-users.js.map +1 -0
- package/dist/esm/clients/scapi-schemas.js +2 -5
- package/dist/esm/clients/scapi-schemas.js.map +1 -1
- package/dist/esm/clients/scapi-scope-tier.d.ts +78 -0
- package/dist/esm/clients/scapi-scope-tier.js +113 -0
- package/dist/esm/clients/scapi-scope-tier.js.map +1 -0
- package/dist/esm/clients/scapi-scripts.d.ts +17 -0
- package/dist/esm/clients/scapi-scripts.generated.d.ts +392 -0
- package/dist/esm/clients/scapi-scripts.generated.js +6 -0
- package/dist/esm/clients/scapi-scripts.generated.js.map +1 -0
- package/dist/esm/clients/scapi-scripts.js +12 -0
- package/dist/esm/clients/scapi-scripts.js.map +1 -0
- package/dist/esm/clients/scapi-sites.d.ts +26 -0
- package/dist/esm/clients/scapi-sites.generated.d.ts +500 -0
- package/dist/esm/clients/scapi-sites.generated.js +6 -0
- package/dist/esm/clients/scapi-sites.generated.js.map +1 -0
- package/dist/esm/clients/scapi-sites.js +25 -0
- package/dist/esm/clients/scapi-sites.js.map +1 -0
- package/dist/esm/clients/slas-shopper.d.ts +19 -0
- package/dist/esm/clients/slas-shopper.generated.d.ts +165 -0
- package/dist/esm/clients/slas-shopper.generated.js +6 -0
- package/dist/esm/clients/slas-shopper.generated.js.map +1 -0
- package/dist/esm/clients/slas-shopper.js +35 -0
- package/dist/esm/clients/slas-shopper.js.map +1 -0
- package/dist/esm/clients/storefront-deployments.d.ts +57 -0
- package/dist/esm/clients/storefront-deployments.generated.d.ts +558 -0
- package/dist/esm/clients/storefront-deployments.generated.js +6 -0
- package/dist/esm/clients/storefront-deployments.generated.js.map +1 -0
- package/dist/esm/clients/storefront-deployments.js +24 -0
- package/dist/esm/clients/storefront-deployments.js.map +1 -0
- package/dist/esm/clients/storefront-environments.d.ts +56 -0
- package/dist/esm/clients/storefront-environments.generated.d.ts +208 -0
- package/dist/esm/clients/storefront-environments.generated.js +6 -0
- package/dist/esm/clients/storefront-environments.generated.js.map +1 -0
- package/dist/esm/clients/storefront-environments.js +24 -0
- package/dist/esm/clients/storefront-environments.js.map +1 -0
- package/dist/esm/clients/webdav.js +4 -1
- package/dist/esm/clients/webdav.js.map +1 -1
- package/dist/esm/compat/dispatcher.d.ts +49 -0
- package/dist/esm/compat/dispatcher.js +124 -0
- package/dist/esm/compat/dispatcher.js.map +1 -0
- package/dist/esm/compat/index.d.ts +10 -0
- package/dist/esm/compat/index.js +15 -0
- package/dist/esm/compat/index.js.map +1 -0
- package/dist/esm/compat/jobs-backend.d.ts +31 -0
- package/dist/esm/compat/jobs-backend.js +76 -0
- package/dist/esm/compat/jobs-backend.js.map +1 -0
- package/dist/esm/config/dw-json.d.ts +4 -0
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +2 -5
- package/dist/esm/config/mapping.js +25 -1
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/resolved-config.d.ts +2 -2
- package/dist/esm/config/resolved-config.js.map +1 -1
- package/dist/esm/config/resolver.js +12 -0
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +10 -1
- package/dist/esm/config/sources/env-source.js +46 -1
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +22 -3
- package/dist/esm/docs/search.js +2 -25
- package/dist/esm/docs/search.js.map +1 -1
- package/dist/esm/guidance/catalog.d.ts +37 -0
- package/dist/esm/guidance/catalog.js +282 -0
- package/dist/esm/guidance/catalog.js.map +1 -0
- package/dist/esm/guidance/index.d.ts +8 -0
- package/dist/esm/guidance/index.js +14 -0
- package/dist/esm/guidance/index.js.map +1 -0
- package/dist/esm/guidance/markdown.d.ts +10 -0
- package/dist/esm/guidance/markdown.js +52 -0
- package/dist/esm/guidance/markdown.js.map +1 -0
- package/dist/esm/guidance/types.d.ts +96 -0
- package/dist/esm/guidance/types.js +17 -0
- package/dist/esm/guidance/types.js.map +1 -0
- package/dist/esm/index.d.ts +14 -5
- package/dist/esm/index.js +14 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance/index.d.ts +96 -2
- package/dist/esm/instance/index.js +98 -5
- package/dist/esm/instance/index.js.map +1 -1
- package/dist/esm/operations/bm-roles/backend.d.ts +4 -0
- package/dist/esm/operations/bm-roles/backend.js +11 -0
- package/dist/esm/operations/bm-roles/backend.js.map +1 -0
- package/dist/esm/operations/bm-roles/index.d.ts +6 -0
- package/dist/esm/operations/bm-roles/index.js +4 -0
- package/dist/esm/operations/bm-roles/index.js.map +1 -1
- package/dist/esm/operations/bm-roles/ocapi-backend.d.ts +17 -0
- package/dist/esm/operations/bm-roles/ocapi-backend.js +151 -0
- package/dist/esm/operations/bm-roles/ocapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-roles/roles.js +13 -17
- package/dist/esm/operations/bm-roles/roles.js.map +1 -1
- package/dist/esm/operations/bm-roles/scapi-backend.d.ts +27 -0
- package/dist/esm/operations/bm-roles/scapi-backend.js +138 -0
- package/dist/esm/operations/bm-roles/scapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-roles/types.d.ts +49 -0
- package/dist/esm/operations/bm-roles/types.js +2 -0
- package/dist/esm/operations/bm-roles/types.js.map +1 -0
- package/dist/esm/operations/bm-users/backend.d.ts +4 -0
- package/dist/esm/operations/bm-users/backend.js +11 -0
- package/dist/esm/operations/bm-users/backend.js.map +1 -0
- package/dist/esm/operations/bm-users/index.d.ts +11 -3
- package/dist/esm/operations/bm-users/index.js +9 -3
- package/dist/esm/operations/bm-users/index.js.map +1 -1
- package/dist/esm/operations/bm-users/ocapi-backend.d.ts +13 -0
- package/dist/esm/operations/bm-users/ocapi-backend.js +92 -0
- package/dist/esm/operations/bm-users/ocapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-users/scapi-backend.d.ts +23 -0
- package/dist/esm/operations/bm-users/scapi-backend.js +199 -0
- package/dist/esm/operations/bm-users/scapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-users/types.d.ts +99 -0
- package/dist/esm/operations/bm-users/types.js +2 -0
- package/dist/esm/operations/bm-users/types.js.map +1 -0
- package/dist/esm/operations/bm-users/users.d.ts +4 -3
- package/dist/esm/operations/bm-users/users.js +23 -19
- package/dist/esm/operations/bm-users/users.js.map +1 -1
- package/dist/esm/operations/cap/install.js +23 -45
- package/dist/esm/operations/cap/install.js.map +1 -1
- package/dist/esm/operations/cap/list.js +4 -8
- package/dist/esm/operations/cap/list.js.map +1 -1
- package/dist/esm/operations/cap/uninstall.js +17 -37
- package/dist/esm/operations/cap/uninstall.js.map +1 -1
- package/dist/esm/operations/catalogs/catalogs-backend.d.ts +4 -0
- package/dist/esm/operations/catalogs/catalogs-backend.js +16 -0
- package/dist/esm/operations/catalogs/catalogs-backend.js.map +1 -0
- package/dist/esm/operations/catalogs/catalogs-types.d.ts +14 -0
- package/dist/esm/operations/catalogs/catalogs-types.js +2 -0
- package/dist/esm/operations/catalogs/catalogs-types.js.map +1 -0
- package/dist/esm/operations/catalogs/index.d.ts +7 -0
- package/dist/esm/operations/catalogs/index.js +10 -0
- package/dist/esm/operations/catalogs/index.js.map +1 -0
- package/dist/esm/operations/catalogs/ocapi-catalogs-backend.d.ts +8 -0
- package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js +36 -0
- package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js.map +1 -0
- package/dist/esm/operations/catalogs/scapi-catalogs-backend.d.ts +15 -0
- package/dist/esm/operations/catalogs/scapi-catalogs-backend.js +42 -0
- package/dist/esm/operations/catalogs/scapi-catalogs-backend.js.map +1 -0
- package/dist/esm/operations/cip/index.js +10 -2
- package/dist/esm/operations/cip/index.js.map +1 -1
- package/dist/esm/operations/cip/reports.js +19 -3
- package/dist/esm/operations/cip/reports.js.map +1 -1
- package/dist/esm/operations/cip/types.d.ts +8 -4
- package/dist/esm/operations/code/deploy.d.ts +3 -0
- package/dist/esm/operations/code/deploy.js +9 -3
- package/dist/esm/operations/code/deploy.js.map +1 -1
- package/dist/esm/operations/code/download.d.ts +3 -0
- package/dist/esm/operations/code/download.js +5 -5
- package/dist/esm/operations/code/download.js.map +1 -1
- package/dist/esm/operations/code/index.d.ts +7 -1
- package/dist/esm/operations/code/index.js +5 -1
- package/dist/esm/operations/code/index.js.map +1 -1
- package/dist/esm/operations/code/ocapi-scripts-backend.d.ts +12 -0
- package/dist/esm/operations/code/ocapi-scripts-backend.js +40 -0
- package/dist/esm/operations/code/ocapi-scripts-backend.js.map +1 -0
- package/dist/esm/operations/code/scapi-scripts-backend.d.ts +22 -0
- package/dist/esm/operations/code/scapi-scripts-backend.js +94 -0
- package/dist/esm/operations/code/scapi-scripts-backend.js.map +1 -0
- package/dist/esm/operations/code/scripts-backend.d.ts +17 -0
- package/dist/esm/operations/code/scripts-backend.js +40 -0
- package/dist/esm/operations/code/scripts-backend.js.map +1 -0
- package/dist/esm/operations/code/scripts-types.d.ts +43 -0
- package/dist/esm/operations/code/scripts-types.js +2 -0
- package/dist/esm/operations/code/scripts-types.js.map +1 -0
- package/dist/esm/operations/code/upload-files.d.ts +6 -0
- package/dist/esm/operations/code/upload-files.js +58 -7
- package/dist/esm/operations/code/upload-files.js.map +1 -1
- package/dist/esm/operations/code/versions.d.ts +0 -20
- package/dist/esm/operations/code/versions.js +16 -51
- package/dist/esm/operations/code/versions.js.map +1 -1
- package/dist/esm/operations/code/watch.d.ts +3 -0
- package/dist/esm/operations/code/watch.js +3 -2
- package/dist/esm/operations/code/watch.js.map +1 -1
- package/dist/esm/operations/jobs/discover.d.ts +1 -1
- package/dist/esm/operations/jobs/discover.js +51 -21
- package/dist/esm/operations/jobs/discover.js.map +1 -1
- package/dist/esm/operations/jobs/index.d.ts +14 -57
- package/dist/esm/operations/jobs/index.js +15 -59
- package/dist/esm/operations/jobs/index.js.map +1 -1
- package/dist/esm/operations/jobs/ocapi-mapping.d.ts +34 -0
- package/dist/esm/operations/jobs/ocapi-mapping.js +100 -0
- package/dist/esm/operations/jobs/ocapi-mapping.js.map +1 -0
- package/dist/esm/operations/jobs/run-system-job.d.ts +81 -0
- package/dist/esm/operations/jobs/run-system-job.js +137 -0
- package/dist/esm/operations/jobs/run-system-job.js.map +1 -0
- package/dist/esm/operations/jobs/run.js +16 -4
- package/dist/esm/operations/jobs/run.js.map +1 -1
- package/dist/esm/operations/jobs/scapi-ops.d.ts +61 -0
- package/dist/esm/operations/jobs/scapi-ops.js +214 -0
- package/dist/esm/operations/jobs/scapi-ops.js.map +1 -0
- package/dist/esm/operations/jobs/site-archive.d.ts +7 -0
- package/dist/esm/operations/jobs/site-archive.js +28 -66
- package/dist/esm/operations/jobs/site-archive.js.map +1 -1
- package/dist/esm/operations/jobs/types.d.ts +46 -0
- package/dist/esm/operations/jobs/types.js +2 -0
- package/dist/esm/operations/jobs/types.js.map +1 -0
- package/dist/esm/operations/jobs/wait-canonical.d.ts +28 -0
- package/dist/esm/operations/jobs/wait-canonical.js +48 -0
- package/dist/esm/operations/jobs/wait-canonical.js.map +1 -0
- package/dist/esm/operations/mrt/bundle.d.ts +164 -2
- package/dist/esm/operations/mrt/bundle.js +315 -9
- package/dist/esm/operations/mrt/bundle.js.map +1 -1
- package/dist/esm/operations/mrt/deployment.d.ts +248 -0
- package/dist/esm/operations/mrt/deployment.js +252 -0
- package/dist/esm/operations/mrt/deployment.js.map +1 -1
- package/dist/esm/operations/mrt/env-var.d.ts +135 -0
- package/dist/esm/operations/mrt/env-var.js +203 -0
- package/dist/esm/operations/mrt/env-var.js.map +1 -1
- package/dist/esm/operations/mrt/index.d.ts +10 -8
- package/dist/esm/operations/mrt/index.js +6 -4
- package/dist/esm/operations/mrt/index.js.map +1 -1
- package/dist/esm/operations/mrt/mrt-backend.d.ts +117 -0
- package/dist/esm/operations/mrt/mrt-backend.js +84 -0
- package/dist/esm/operations/mrt/mrt-backend.js.map +1 -0
- package/dist/esm/operations/mrt/push.d.ts +285 -1
- package/dist/esm/operations/mrt/push.js +382 -1
- package/dist/esm/operations/mrt/push.js.map +1 -1
- package/dist/esm/operations/sites/cartridges.d.ts +10 -8
- package/dist/esm/operations/sites/cartridges.js +35 -67
- package/dist/esm/operations/sites/cartridges.js.map +1 -1
- package/dist/esm/operations/sites/index.d.ts +10 -6
- package/dist/esm/operations/sites/index.js +9 -6
- package/dist/esm/operations/sites/index.js.map +1 -1
- package/dist/esm/operations/sites/ocapi-sites-backend.d.ts +20 -0
- package/dist/esm/operations/sites/ocapi-sites-backend.js +98 -0
- package/dist/esm/operations/sites/ocapi-sites-backend.js.map +1 -0
- package/dist/esm/operations/sites/scapi-sites-backend.d.ts +33 -0
- package/dist/esm/operations/sites/scapi-sites-backend.js +166 -0
- package/dist/esm/operations/sites/scapi-sites-backend.js.map +1 -0
- package/dist/esm/operations/sites/sites-backend.d.ts +9 -0
- package/dist/esm/operations/sites/sites-backend.js +16 -0
- package/dist/esm/operations/sites/sites-backend.js.map +1 -0
- package/dist/esm/operations/sites/sites-scopes.d.ts +2 -0
- package/dist/esm/operations/sites/sites-scopes.js +16 -0
- package/dist/esm/operations/sites/sites-scopes.js.map +1 -0
- package/dist/esm/operations/sites/sites-types.d.ts +50 -0
- package/dist/esm/operations/sites/sites-types.js +2 -0
- package/dist/esm/operations/sites/sites-types.js.map +1 -0
- package/dist/esm/safety/safety-guard.d.ts +1 -0
- package/dist/esm/safety/safety-guard.js +2 -1
- package/dist/esm/safety/safety-guard.js.map +1 -1
- package/dist/esm/safety/safety-middleware.d.ts +7 -3
- package/dist/esm/safety/safety-middleware.js +13 -9
- package/dist/esm/safety/safety-middleware.js.map +1 -1
- package/dist/esm/safety/types.d.ts +2 -2
- package/dist/esm/scaffold/sources.js +6 -9
- package/dist/esm/scaffold/sources.js.map +1 -1
- package/dist/esm/scapi/auth-primitives.d.ts +3 -0
- package/dist/esm/scapi/auth-primitives.js +104 -0
- package/dist/esm/scapi/auth-primitives.js.map +1 -0
- package/dist/esm/scapi/authentication.d.ts +30 -0
- package/dist/esm/scapi/authentication.js +136 -0
- package/dist/esm/scapi/authentication.js.map +1 -0
- package/dist/esm/scapi/catalog.d.ts +29 -0
- package/dist/esm/scapi/catalog.js +81 -0
- package/dist/esm/scapi/catalog.js.map +1 -0
- package/dist/esm/scapi/index.d.ts +12 -0
- package/dist/esm/scapi/index.js +13 -0
- package/dist/esm/scapi/index.js.map +1 -0
- package/dist/esm/scapi/request.d.ts +28 -0
- package/dist/esm/scapi/request.js +273 -0
- package/dist/esm/scapi/request.js.map +1 -0
- package/dist/esm/scapi/runtime.d.ts +27 -0
- package/dist/esm/scapi/runtime.js +161 -0
- package/dist/esm/scapi/runtime.js.map +1 -0
- package/dist/esm/scapi/snippets.d.ts +22 -0
- package/dist/esm/scapi/snippets.js +140 -0
- package/dist/esm/scapi/snippets.js.map +1 -0
- package/dist/esm/scapi/worker-source.d.ts +2 -0
- package/dist/esm/scapi/worker-source.js +101 -0
- package/dist/esm/scapi/worker-source.js.map +1 -0
- package/dist/esm/search/ranking.d.ts +12 -0
- package/dist/esm/search/ranking.js +28 -0
- package/dist/esm/search/ranking.js.map +1 -0
- package/dist/esm/skills/sources.d.ts +2 -2
- package/dist/esm/skills/sources.js +18 -2
- package/dist/esm/skills/sources.js.map +1 -1
- package/dist/esm/skills/types.d.ts +1 -1
- package/dist/esm/slas/token.js +33 -94
- package/dist/esm/slas/token.js.map +1 -1
- package/dist/esm/slas/types.d.ts +5 -0
- package/dist/esm/test-utils/config-isolation.js +2 -2
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/node_modules/@salesforce/b2c-api-schemas/README.md +23 -0
- package/node_modules/@salesforce/b2c-api-schemas/manifest.json +576 -0
- package/node_modules/@salesforce/b2c-api-schemas/package.json +15 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +11490 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +3589 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +6544 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +7148 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +4411 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +643 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +295 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +2036 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +327 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +234 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +1542 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +405 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +2531 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +7944 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +292 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +2537 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +517 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +589 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +3600 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +2319 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +658 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +2649 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +6615 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +2103 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1760 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +640 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1263 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1259 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +760 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +1047 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1929 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +1542 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +1093 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +1324 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +325 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +631 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +1036 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +5175 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +866 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +747 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +5076 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +509 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +517 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +2961 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1889 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +7014 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1898 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +622 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +192 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +913 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +630 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +223 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +423 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +1088 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +798 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +607 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1418 -0
- package/package.json +24 -3
- package/specs/dx-scripts-v1.yaml +409 -0
- package/specs/merchant-roles-v1.yaml +1085 -0
- package/specs/merchant-users-v1.yaml +398 -0
- package/specs/mrt-api-v1.json +105 -0
- package/specs/operations-jobs-v1.yaml +793 -0
- package/specs/product-catalogs-v1.yaml +111 -0
- package/specs/site-sites-v1.yaml +667 -0
- package/specs/slas-shopper-v1.yaml +83 -0
- package/specs/storefront-deployments-v1.yaml +630 -0
- package/specs/storefront-environments-v1.yaml +272 -0
package/dist/esm/index.d.ts
CHANGED
|
@@ -3,17 +3,26 @@ export type { Logger, LoggerOptions, LogLevel, LogContext } from './logging/inde
|
|
|
3
3
|
export { t, setLanguage, getLanguage, getI18nInstance, registerTranslations, B2C_NAMESPACE } from './i18n/index.js';
|
|
4
4
|
export type { TOptions } from './i18n/index.js';
|
|
5
5
|
export { loadDwJson, findDwJson, resolveConfig, ConfigResolver, createConfigResolver } from './config/index.js';
|
|
6
|
-
export type { DwJsonConfig, DwJsonMultiConfig, LoadDwJsonOptions, NormalizedConfig, ResolvedB2CConfig, ConfigWarning, ConfigWarningCode, ConfigSourceInfo, ConfigSource, ResolveConfigOptions, CreateOAuthOptions, } from './config/index.js';
|
|
6
|
+
export type { DwJsonConfig, DwJsonMultiConfig, LoadDwJsonOptions, NormalizedConfig, ResolvedB2CConfig, ConfigWarning, ConfigWarningCode, ConfigSourceInfo, ConfigSource, ResolveConfigOptions, CreateOAuthOptions, CreateB2CInstanceOptions, } from './config/index.js';
|
|
7
7
|
export { BasicAuthStrategy, OAuthStrategy, ImplicitOAuthStrategy, PkceOAuthStrategy, JwtOAuthStrategy, ApiKeyStrategy, decodeJWT, resolveAuthStrategy, checkAvailableAuthMethods, ALL_AUTH_METHODS, } from './auth/index.js';
|
|
8
8
|
export type { AuthStrategy, AccessTokenResponse, DecodedJWT, OAuthConfig, ImplicitOAuthConfig, PkceOAuthConfig, JwtOAuthConfig, AuthConfig, BasicAuthConfig, OAuthAuthConfig, ApiKeyAuthConfig, AuthMethod, AuthCredentials, ResolveAuthStrategyOptions, AvailableAuthMethods, } from './auth/index.js';
|
|
9
9
|
export { B2CInstance } from './instance/index.js';
|
|
10
|
-
export type { InstanceConfig } from './instance/index.js';
|
|
11
|
-
export { WebDavClient, createOcapiClient, createAuthMiddleware, createExtraParamsMiddleware, createSlasClient, createOdsClient, createCustomApisClient, createAccountManagerUsersClient, createAccountManagerRolesClient, createAccountManagerApiClientsClient, createAccountManagerOrgsClient, createCdnZonesClient, createPreferencesClient, createGranularReplicationsClient, createCipClient, createMetricsClient, METRICS_DEFAULT_SCOPES, toOrganizationId, normalizeTenantId, buildTenantScope, getApiErrorMessage, isValidRoleTenantFilter, fetchRoleMapping, resolveToInternalRole, resolveFromInternalRole, ORGANIZATION_ID_PREFIX, ROLE_TENANT_FILTER_PATTERN, SCAPI_TENANT_SCOPE_PREFIX, CUSTOM_APIS_DEFAULT_SCOPES, CDN_ZONES_READ_SCOPES, CDN_ZONES_RW_SCOPES, PREFERENCES_READ_SCOPES, PREFERENCES_RW_SCOPES, DEFAULT_CIP_HOST, DEFAULT_CIP_STAGING_HOST, } from './clients/index.js';
|
|
10
|
+
export type { B2CInstanceOptions, InstanceConfig, ScapiClientConfig } from './instance/index.js';
|
|
11
|
+
export { WebDavClient, createOcapiClient, createAuthMiddleware, createExtraParamsMiddleware, createSlasClient, createOdsClient, createCustomApisClient, createAccountManagerUsersClient, createAccountManagerRolesClient, createAccountManagerApiClientsClient, createAccountManagerOrgsClient, createCdnZonesClient, createPreferencesClient, createGranularReplicationsClient, createCipClient, createMetricsClient, METRICS_DEFAULT_SCOPES, toOrganizationId, normalizeTenantId, buildTenantScope, getApiErrorMessage, isOcapiDeprecatedFault, throwOcapiError, OcapiDeprecatedError, OCAPI_DEPRECATED_MESSAGE, ocapiDeprecatedMessage, isValidRoleTenantFilter, fetchRoleMapping, resolveToInternalRole, resolveFromInternalRole, ORGANIZATION_ID_PREFIX, ROLE_TENANT_FILTER_PATTERN, SCAPI_TENANT_SCOPE_PREFIX, CUSTOM_APIS_DEFAULT_SCOPES, CDN_ZONES_READ_SCOPES, CDN_ZONES_RW_SCOPES, PREFERENCES_READ_SCOPES, PREFERENCES_RW_SCOPES, DEFAULT_CIP_HOST, DEFAULT_CIP_STAGING_HOST, } from './clients/index.js';
|
|
12
12
|
export type { PropfindEntry, ExtraParamsConfig, OcapiClient, OcapiError, OcapiResponse, OcapiPaths, OcapiComponents, SlasClient, SlasClientConfig, SlasError, SlasResponse, SlasPaths, SlasComponents, OdsClient, OdsClientConfig, OdsError, OdsResponse, OdsPaths, OdsComponents, CustomApisClient, CustomApisClientConfig, CustomApisError, CustomApisResponse, CustomApisPaths, CustomApisComponents, AccountManagerUsersClient, AccountManagerClientConfig, AccountManagerUser, AccountManagerResponse, AccountManagerError, UserCreate, UserUpdate, UserCollection, UserState, UserExpandOption, AccountManagerRolesClient, AccountManagerRole, AccountManagerRolesResponse, AccountManagerRolesError, RoleCollection, ListRolesOptions, RoleMapping, OrgMapping, AccountManagerApiClientsClient, AccountManagerApiClient, APIClientCreate, APIClientUpdate, APIClientCollection, ApiClientExpandOption, ListApiClientsOptions, AccountManagerOrgsClient, AccountManagerOrganization, OrganizationCollection, ListOrgsOptions, CdnZonesClient, CdnZonesClientConfig, CdnZonesClientOptions, CdnZonesError, CdnZonesResponse, Zone, ZonesEnvelope, CdnZonesPaths, CdnZonesComponents, PreferencesClient, PreferencesClientConfig, PreferencesClientOptions, PreferencesError, PreferencesResponse, PreferenceInstanceType, CustomPreference, CustomPreferenceList, OrganizationPreferences, SitePreferences, PreferenceValue, PreferenceValueSearchResult, PreferencesSearchRequest, PreferencesPaths, PreferencesComponents, GranularReplicationsClient, GranularReplicationsClientConfig, GranularReplicationsError, GranularReplicationsResponse, ProductItem, PriceTableItem, ContentAssetItemPrivate, ContentAssetItemShared, PublishProcessResponse, PublishProcessListResponse, PublishIdResponse, GranularReplicationsPaths, GranularReplicationsComponents, CipClient, CipClientConfig, CipColumn, CipExecuteResponse, CipFetchResponse, CipFrame, CipQueryOptions, CipQueryResult, MetricsClient, MetricsClientConfig, MetricsResponse, MetricsDataResponse, Metric, MetricDataSeries, MetricDataPoint, MetricsError, } from './clients/index.js';
|
|
13
13
|
export { findCartridges, listCodeVersions, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, deleteCodeVersion, createCodeVersion, findAndDeployCartridges, uploadCartridges, deleteCartridges, watchCartridges, } from './operations/code/index.js';
|
|
14
14
|
export type { CartridgeMapping, FindCartridgesOptions, CodeVersion, CodeVersionActivationResult, CodeVersionResult, DeployOptions, DeployResult, WatchOptions, WatchResult, } from './operations/code/index.js';
|
|
15
|
-
export {
|
|
16
|
-
export type {
|
|
15
|
+
export { createScriptsBackend, OcapiScriptsBackend, ScapiScriptsBackend } from './operations/code/index.js';
|
|
16
|
+
export type { ScriptsBackend, ScriptsBackendConfig, CodeVersionInfo, ScapiScriptsBackendConfig, } from './operations/code/index.js';
|
|
17
|
+
export { createUsersBackend, OcapiUsersBackend, ScapiUsersBackend } from './operations/bm-users/index.js';
|
|
18
|
+
export type { UsersBackend, UsersBackendConfig, UserInfo, ListUsersResult, ListUsersOptions, SearchUsersOptions, CreateUserInput, UpdateUserChanges, ScapiUsersBackendConfig, } from './operations/bm-users/index.js';
|
|
19
|
+
export { createRolesBackend, OcapiRolesBackend, ScapiRolesBackend } from './operations/bm-roles/index.js';
|
|
20
|
+
export type { RolesBackend, RolesBackendConfig, RoleInfo, RolePermissionsInfo, ListRolesResult, ListRolesOptions as ListBmRolesScopedOptions, CreateRoleInput, ScapiRolesBackendConfig, } from './operations/bm-roles/index.js';
|
|
21
|
+
export { createCatalogsBackend, OcapiCatalogsBackend, ScapiCatalogsBackend } from './operations/catalogs/index.js';
|
|
22
|
+
export type { CatalogsBackend, CatalogsBackendConfig, CatalogInfo, ListCatalogsOptions, ScapiCatalogsBackendConfig, } from './operations/catalogs/index.js';
|
|
23
|
+
export { createJobsCompatibilityBackend, JobsCompatibilityBackend } from './compat/index.js';
|
|
24
|
+
export { executeJob, getJobExecution, waitForJob, searchJobExecutions, findRunningJobExecution, getJobLog, getJobErrorMessage, JobExecutionError, siteArchiveImport, siteArchiveExport, siteArchiveExportToPath, scapiExecuteJob, scapiGetJobExecution, scapiSearchJobExecutions, scapiDeleteJobExecution, scapiGetJobLog, waitForJobExecution, CanonicalJobExecutionError, } from './operations/jobs/index.js';
|
|
25
|
+
export type { JobExecution, JobStepExecution, JobExecutionStatus, JobExecutionParameter, ExecuteJobOptions, WaitForJobOptions, WaitForJobPollInfo, SearchJobExecutionsOptions, JobExecutionSearchResult, JobExecutionInfo, JobStepExecutionResult, JobExecutionSearchResults, ExecuteJobScapiOptions, SearchJobExecutionsScapiOptions, SiteArchiveImportOptions, SiteArchiveImportResult, SiteArchiveExportOptions, SiteArchiveExportResult, ExportDataUnitsConfiguration, ExportSitesConfiguration, ExportGlobalDataConfiguration, } from './operations/jobs/index.js';
|
|
17
26
|
export { searchDocs, readDoc, readDocByQuery, listDocs, loadSearchIndex, listSchemas, readSchema, readSchemaByQuery, searchSchemas, downloadDocs, } from './docs/index.js';
|
|
18
27
|
export type { DocEntry, SearchIndex, SearchResult, SchemaEntry, SchemaIndex, SchemaSearchResult, DownloadDocsOptions, DownloadDocsResult, } from './docs/index.js';
|
|
19
28
|
export { isUuid, isFriendlySandboxId, parseFriendlySandboxId, resolveSandboxId, SandboxNotFoundError, waitForSandbox, SandboxPollingTimeoutError, SandboxPollingError, SandboxTerminalStateError, waitForClone, ClonePollingTimeoutError, ClonePollingError, CloneFailedError, buildSandboxSettings, DEFAULT_OCAPI_RESOURCES, DEFAULT_WEBDAV_PERMISSIONS, waitForClones, CloneBatchPollingTimeoutError, CloneBatchPollingError, CloneBatchFailedError, } from './operations/ods/index.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -13,11 +13,23 @@ export { BasicAuthStrategy, OAuthStrategy, ImplicitOAuthStrategy, PkceOAuthStrat
|
|
|
13
13
|
// Context Layer - Instance
|
|
14
14
|
export { B2CInstance } from './instance/index.js';
|
|
15
15
|
// Clients
|
|
16
|
-
export { WebDavClient, createOcapiClient, createAuthMiddleware, createExtraParamsMiddleware, createSlasClient, createOdsClient, createCustomApisClient, createAccountManagerUsersClient, createAccountManagerRolesClient, createAccountManagerApiClientsClient, createAccountManagerOrgsClient, createCdnZonesClient, createPreferencesClient, createGranularReplicationsClient, createCipClient, createMetricsClient, METRICS_DEFAULT_SCOPES, toOrganizationId, normalizeTenantId, buildTenantScope, getApiErrorMessage, isValidRoleTenantFilter, fetchRoleMapping, resolveToInternalRole, resolveFromInternalRole, ORGANIZATION_ID_PREFIX, ROLE_TENANT_FILTER_PATTERN, SCAPI_TENANT_SCOPE_PREFIX, CUSTOM_APIS_DEFAULT_SCOPES, CDN_ZONES_READ_SCOPES, CDN_ZONES_RW_SCOPES, PREFERENCES_READ_SCOPES, PREFERENCES_RW_SCOPES, DEFAULT_CIP_HOST, DEFAULT_CIP_STAGING_HOST, } from './clients/index.js';
|
|
16
|
+
export { WebDavClient, createOcapiClient, createAuthMiddleware, createExtraParamsMiddleware, createSlasClient, createOdsClient, createCustomApisClient, createAccountManagerUsersClient, createAccountManagerRolesClient, createAccountManagerApiClientsClient, createAccountManagerOrgsClient, createCdnZonesClient, createPreferencesClient, createGranularReplicationsClient, createCipClient, createMetricsClient, METRICS_DEFAULT_SCOPES, toOrganizationId, normalizeTenantId, buildTenantScope, getApiErrorMessage, isOcapiDeprecatedFault, throwOcapiError, OcapiDeprecatedError, OCAPI_DEPRECATED_MESSAGE, ocapiDeprecatedMessage, isValidRoleTenantFilter, fetchRoleMapping, resolveToInternalRole, resolveFromInternalRole, ORGANIZATION_ID_PREFIX, ROLE_TENANT_FILTER_PATTERN, SCAPI_TENANT_SCOPE_PREFIX, CUSTOM_APIS_DEFAULT_SCOPES, CDN_ZONES_READ_SCOPES, CDN_ZONES_RW_SCOPES, PREFERENCES_READ_SCOPES, PREFERENCES_RW_SCOPES, DEFAULT_CIP_HOST, DEFAULT_CIP_STAGING_HOST, } from './clients/index.js';
|
|
17
17
|
// Operations - Code
|
|
18
18
|
export { findCartridges, listCodeVersions, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, deleteCodeVersion, createCodeVersion, findAndDeployCartridges, uploadCartridges, deleteCartridges, watchCartridges, } from './operations/code/index.js';
|
|
19
|
+
// Scripts (code versions) backend abstraction
|
|
20
|
+
export { createScriptsBackend, OcapiScriptsBackend, ScapiScriptsBackend } from './operations/code/index.js';
|
|
21
|
+
// Users (BM) backend abstraction
|
|
22
|
+
export { createUsersBackend, OcapiUsersBackend, ScapiUsersBackend } from './operations/bm-users/index.js';
|
|
23
|
+
// Roles (BM) backend abstraction
|
|
24
|
+
export { createRolesBackend, OcapiRolesBackend, ScapiRolesBackend } from './operations/bm-roles/index.js';
|
|
25
|
+
// Catalog backend abstraction
|
|
26
|
+
export { createCatalogsBackend, OcapiCatalogsBackend, ScapiCatalogsBackend } from './operations/catalogs/index.js';
|
|
27
|
+
// Explicit transitional fallback surfaces
|
|
28
|
+
export { createJobsCompatibilityBackend, JobsCompatibilityBackend } from './compat/index.js';
|
|
19
29
|
// Operations - Jobs
|
|
20
|
-
export { executeJob, getJobExecution, waitForJob, searchJobExecutions, findRunningJobExecution, getJobLog, getJobErrorMessage, JobExecutionError, siteArchiveImport, siteArchiveExport, siteArchiveExportToPath,
|
|
30
|
+
export { executeJob, getJobExecution, waitForJob, searchJobExecutions, findRunningJobExecution, getJobLog, getJobErrorMessage, JobExecutionError, siteArchiveImport, siteArchiveExport, siteArchiveExportToPath,
|
|
31
|
+
// Canonical surface (SCAPI free functions + canonical helpers)
|
|
32
|
+
scapiExecuteJob, scapiGetJobExecution, scapiSearchJobExecutions, scapiDeleteJobExecution, scapiGetJobLog, waitForJobExecution, CanonicalJobExecutionError, } from './operations/jobs/index.js';
|
|
21
33
|
// Docs - Documentation search
|
|
22
34
|
export { searchDocs, readDoc, readDocByQuery, listDocs, loadSearchIndex, listSchemas, readSchema, readSchemaByQuery, searchSchemas, downloadDocs, } from './docs/index.js';
|
|
23
35
|
// Operations - ODS
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAG7G,OAAO;AACP,OAAO,EAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAGlH,SAAS;AACT,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,10 +37,36 @@
|
|
|
37
37
|
*
|
|
38
38
|
* @module instance
|
|
39
39
|
*/
|
|
40
|
-
import type { AuthConfig } from '../auth/types.js';
|
|
40
|
+
import type { AuthConfig, AuthStrategy } from '../auth/types.js';
|
|
41
41
|
import { WebDavClient } from '../clients/webdav.js';
|
|
42
42
|
import { type OcapiClient } from '../clients/ocapi.js';
|
|
43
43
|
import { type TlsOptions } from '../clients/tls-dispatcher.js';
|
|
44
|
+
/**
|
|
45
|
+
* SCAPI connection coordinates plus an auth strategy able to request the
|
|
46
|
+
* `sfcc.*` scopes each Commerce API operation needs.
|
|
47
|
+
*
|
|
48
|
+
* Returned by {@link B2CInstance.scapiClientConfig} when — and only when — the
|
|
49
|
+
* instance carries both a shortCode and tenantId and is configured with a
|
|
50
|
+
* stateless OAuth flow (client-credentials or JWT Bearer) that can go back to
|
|
51
|
+
* Account Manager per request for arbitrary scopes. This is the single handle
|
|
52
|
+
* every SCAPI client factory consumes, so SCAPI operations need nothing beyond
|
|
53
|
+
* a {@link B2CInstance}.
|
|
54
|
+
*/
|
|
55
|
+
export interface ScapiClientConfig {
|
|
56
|
+
shortCode: string;
|
|
57
|
+
tenantId: string;
|
|
58
|
+
auth: AuthStrategy;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Optional runtime dependencies for a {@link B2CInstance}.
|
|
62
|
+
*
|
|
63
|
+
* The OAuth strategy factory lets CLI commands reuse their session-aware auth
|
|
64
|
+
* resolution (including PKCE refresh and the temporary implicit fallback)
|
|
65
|
+
* without eagerly starting browser authentication for Basic-only WebDAV work.
|
|
66
|
+
*/
|
|
67
|
+
export interface B2CInstanceOptions {
|
|
68
|
+
oauthStrategy?: AuthStrategy | (() => AuthStrategy);
|
|
69
|
+
}
|
|
44
70
|
/**
|
|
45
71
|
* Instance configuration (hostname, code version, etc.)
|
|
46
72
|
*/
|
|
@@ -53,6 +79,22 @@ export interface InstanceConfig {
|
|
|
53
79
|
webdavHostname?: string;
|
|
54
80
|
/** TLS options for mTLS/self-signed certificate support */
|
|
55
81
|
tlsOptions?: TlsOptions;
|
|
82
|
+
/**
|
|
83
|
+
* SCAPI short code (e.g. `kv7kzm78`). Required, together with {@link tenantId},
|
|
84
|
+
* to reach the Salesforce Commerce API. Populated from resolved configuration.
|
|
85
|
+
*/
|
|
86
|
+
shortCode?: string;
|
|
87
|
+
/**
|
|
88
|
+
* SCAPI tenant/organization ID (e.g. `zzxy_prd`). Required, together with
|
|
89
|
+
* {@link shortCode}, to reach the Salesforce Commerce API.
|
|
90
|
+
*/
|
|
91
|
+
tenantId?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Backend preference for operations that support both OCAPI (legacy) and
|
|
94
|
+
* SCAPI. Defaults to `'auto'` when unset. Lets the instance answer "should
|
|
95
|
+
* this operation prefer SCAPI?" without the caller re-reading config.
|
|
96
|
+
*/
|
|
97
|
+
apiBackend?: 'ocapi' | 'scapi' | 'auto';
|
|
56
98
|
}
|
|
57
99
|
/**
|
|
58
100
|
* Represents a connection to a B2C Commerce instance.
|
|
@@ -79,20 +121,54 @@ export interface InstanceConfig {
|
|
|
79
121
|
export declare class B2CInstance {
|
|
80
122
|
readonly config: InstanceConfig;
|
|
81
123
|
readonly auth: AuthConfig;
|
|
124
|
+
private readonly options;
|
|
82
125
|
private _webdav?;
|
|
83
126
|
private _ocapi?;
|
|
127
|
+
private _oauthStrategy?;
|
|
84
128
|
/**
|
|
85
129
|
* Creates a new B2CInstance.
|
|
86
130
|
*
|
|
87
131
|
* @param config - Instance configuration (hostname, code version)
|
|
88
132
|
* @param auth - Authentication configuration
|
|
133
|
+
* @param options - Optional runtime dependencies, including a pre-resolved OAuth strategy
|
|
89
134
|
*/
|
|
90
|
-
constructor(config: InstanceConfig, auth: AuthConfig);
|
|
135
|
+
constructor(config: InstanceConfig, auth: AuthConfig, options?: B2CInstanceOptions);
|
|
91
136
|
/**
|
|
92
137
|
* The hostname to use for WebDAV operations.
|
|
93
138
|
* Falls back to main hostname if not specified.
|
|
94
139
|
*/
|
|
95
140
|
get webdavHostname(): string;
|
|
141
|
+
/**
|
|
142
|
+
* Backend preference for operations that support both OCAPI and SCAPI.
|
|
143
|
+
* Defaults to `'auto'` when not configured.
|
|
144
|
+
*/
|
|
145
|
+
get apiBackend(): 'ocapi' | 'scapi' | 'auto';
|
|
146
|
+
/**
|
|
147
|
+
* SCAPI connection coordinates + a scope-flexible auth strategy, or
|
|
148
|
+
* `undefined` when this instance cannot reach SCAPI under `auto` mode.
|
|
149
|
+
*
|
|
150
|
+
* This is the forward-looking seam for the OCAPI → SCAPI transition: a SCAPI
|
|
151
|
+
* client factory (jobs, sites, scripts, …) needs only a {@link B2CInstance},
|
|
152
|
+
* not a separately-threaded shortCode/tenantId/auth bundle. When OCAPI is
|
|
153
|
+
* eventually removed, the OCAPI accessors disappear and this stays.
|
|
154
|
+
*
|
|
155
|
+
* Returns `undefined` unless **all** of the following hold:
|
|
156
|
+
* 1. `shortCode` and `tenantId` are configured, and
|
|
157
|
+
* 2. the configured OAuth flow is stateless and scope-flexible —
|
|
158
|
+
* client-credentials (clientId + clientSecret) or JWT Bearer
|
|
159
|
+
* (clientId + cert/key).
|
|
160
|
+
*
|
|
161
|
+
* Browser user-auth flows (Authorization Code + PKCE and deprecated
|
|
162
|
+
* implicit) are excluded on purpose because SCAPI Admin APIs currently only
|
|
163
|
+
* support system authentication. Fixed-token stored sessions are also
|
|
164
|
+
* excluded because they cannot request the `sfcc.*` scopes SCAPI needs.
|
|
165
|
+
* This is not an `auto`-only restriction —
|
|
166
|
+
* because both consumers (the dual-backend factory and the system-job runner)
|
|
167
|
+
* gate on this getter, even explicit `--api-backend scapi` cannot use SCAPI
|
|
168
|
+
* with implicit/stateful auth; it fails with a clear error naming the flow
|
|
169
|
+
* requirement. SCAPI requires client-credentials or JWT Bearer.
|
|
170
|
+
*/
|
|
171
|
+
get scapiClientConfig(): ScapiClientConfig | undefined;
|
|
96
172
|
/**
|
|
97
173
|
* WebDAV client for file operations.
|
|
98
174
|
*
|
|
@@ -135,6 +211,24 @@ export declare class B2CInstance {
|
|
|
135
211
|
* @throws Error if no valid OAuth method is available
|
|
136
212
|
*/
|
|
137
213
|
private getOAuthStrategy;
|
|
214
|
+
/**
|
|
215
|
+
* Builds the scope-flexible OAuth strategy used for SCAPI, or `undefined`
|
|
216
|
+
* when the configured credentials are not eligible for `auto`-mode SCAPI.
|
|
217
|
+
*
|
|
218
|
+
* Only the stateless flows qualify, because only they can request arbitrary
|
|
219
|
+
* `sfcc.*` scopes from Account Manager per call (via the cascade / additional
|
|
220
|
+
* scopes hooks the SCAPI client factories rely on):
|
|
221
|
+
* - **client-credentials**: clientId + clientSecret.
|
|
222
|
+
* - **JWT Bearer**: clientId + cert/key paths.
|
|
223
|
+
*
|
|
224
|
+
* Honors `authMethods` ordering, defaulting to client-credentials before JWT
|
|
225
|
+
* to match the CLI's auth priority. Returns `undefined` for implicit- or
|
|
226
|
+
* basic-only configs.
|
|
227
|
+
*/
|
|
228
|
+
private buildScapiAuthStrategy;
|
|
229
|
+
/** Builds a configured non-interactive OAuth strategy for SCAPI or OCAPI. */
|
|
230
|
+
private buildSystemOAuthStrategy;
|
|
138
231
|
}
|
|
139
232
|
export type { AuthConfig };
|
|
140
233
|
export type { TlsOptions };
|
|
234
|
+
export type { AuthStrategy };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BasicAuthStrategy } from '../auth/basic.js';
|
|
2
|
-
import { resolveAuthStrategy } from '../auth/resolve.js';
|
|
2
|
+
import { resolveAuthStrategy, resolveSystemOAuthStrategy } from '../auth/resolve.js';
|
|
3
3
|
import { WebDavClient } from '../clients/webdav.js';
|
|
4
4
|
import { createOcapiClient } from '../clients/ocapi.js';
|
|
5
5
|
import { createTlsDispatcher } from '../clients/tls-dispatcher.js';
|
|
@@ -28,17 +28,21 @@ import { createTlsDispatcher } from '../clients/tls-dispatcher.js';
|
|
|
28
28
|
export class B2CInstance {
|
|
29
29
|
config;
|
|
30
30
|
auth;
|
|
31
|
+
options;
|
|
31
32
|
_webdav;
|
|
32
33
|
_ocapi;
|
|
34
|
+
_oauthStrategy;
|
|
33
35
|
/**
|
|
34
36
|
* Creates a new B2CInstance.
|
|
35
37
|
*
|
|
36
38
|
* @param config - Instance configuration (hostname, code version)
|
|
37
39
|
* @param auth - Authentication configuration
|
|
40
|
+
* @param options - Optional runtime dependencies, including a pre-resolved OAuth strategy
|
|
38
41
|
*/
|
|
39
|
-
constructor(config, auth) {
|
|
42
|
+
constructor(config, auth, options = {}) {
|
|
40
43
|
this.config = config;
|
|
41
44
|
this.auth = auth;
|
|
45
|
+
this.options = options;
|
|
42
46
|
}
|
|
43
47
|
/**
|
|
44
48
|
* The hostname to use for WebDAV operations.
|
|
@@ -47,6 +51,49 @@ export class B2CInstance {
|
|
|
47
51
|
get webdavHostname() {
|
|
48
52
|
return this.config.webdavHostname || this.config.hostname;
|
|
49
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Backend preference for operations that support both OCAPI and SCAPI.
|
|
56
|
+
* Defaults to `'auto'` when not configured.
|
|
57
|
+
*/
|
|
58
|
+
get apiBackend() {
|
|
59
|
+
return this.config.apiBackend ?? 'auto';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* SCAPI connection coordinates + a scope-flexible auth strategy, or
|
|
63
|
+
* `undefined` when this instance cannot reach SCAPI under `auto` mode.
|
|
64
|
+
*
|
|
65
|
+
* This is the forward-looking seam for the OCAPI → SCAPI transition: a SCAPI
|
|
66
|
+
* client factory (jobs, sites, scripts, …) needs only a {@link B2CInstance},
|
|
67
|
+
* not a separately-threaded shortCode/tenantId/auth bundle. When OCAPI is
|
|
68
|
+
* eventually removed, the OCAPI accessors disappear and this stays.
|
|
69
|
+
*
|
|
70
|
+
* Returns `undefined` unless **all** of the following hold:
|
|
71
|
+
* 1. `shortCode` and `tenantId` are configured, and
|
|
72
|
+
* 2. the configured OAuth flow is stateless and scope-flexible —
|
|
73
|
+
* client-credentials (clientId + clientSecret) or JWT Bearer
|
|
74
|
+
* (clientId + cert/key).
|
|
75
|
+
*
|
|
76
|
+
* Browser user-auth flows (Authorization Code + PKCE and deprecated
|
|
77
|
+
* implicit) are excluded on purpose because SCAPI Admin APIs currently only
|
|
78
|
+
* support system authentication. Fixed-token stored sessions are also
|
|
79
|
+
* excluded because they cannot request the `sfcc.*` scopes SCAPI needs.
|
|
80
|
+
* This is not an `auto`-only restriction —
|
|
81
|
+
* because both consumers (the dual-backend factory and the system-job runner)
|
|
82
|
+
* gate on this getter, even explicit `--api-backend scapi` cannot use SCAPI
|
|
83
|
+
* with implicit/stateful auth; it fails with a clear error naming the flow
|
|
84
|
+
* requirement. SCAPI requires client-credentials or JWT Bearer.
|
|
85
|
+
*/
|
|
86
|
+
get scapiClientConfig() {
|
|
87
|
+
const { shortCode, tenantId } = this.config;
|
|
88
|
+
if (!shortCode || !tenantId) {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
const auth = this.buildScapiAuthStrategy();
|
|
92
|
+
if (!auth) {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
return { shortCode, tenantId, auth };
|
|
96
|
+
}
|
|
50
97
|
/**
|
|
51
98
|
* WebDAV client for file operations.
|
|
52
99
|
*
|
|
@@ -112,6 +159,14 @@ export class B2CInstance {
|
|
|
112
159
|
* @throws Error if no valid OAuth method is available
|
|
113
160
|
*/
|
|
114
161
|
getOAuthStrategy() {
|
|
162
|
+
if (this._oauthStrategy) {
|
|
163
|
+
return this._oauthStrategy;
|
|
164
|
+
}
|
|
165
|
+
if (this.options.oauthStrategy) {
|
|
166
|
+
this._oauthStrategy =
|
|
167
|
+
typeof this.options.oauthStrategy === 'function' ? this.options.oauthStrategy() : this.options.oauthStrategy;
|
|
168
|
+
return this._oauthStrategy;
|
|
169
|
+
}
|
|
115
170
|
if (!this.auth.oauth) {
|
|
116
171
|
throw new Error('OAuth credentials required. Provide at least clientId.');
|
|
117
172
|
}
|
|
@@ -124,12 +179,50 @@ export class B2CInstance {
|
|
|
124
179
|
redirectUri: this.auth.oauth.redirectUri,
|
|
125
180
|
openBrowser: this.auth.oauth.openBrowser,
|
|
126
181
|
};
|
|
127
|
-
// Filter to
|
|
128
|
-
|
|
182
|
+
// Filter to OAuth methods while preserving the configured priority. JWT
|
|
183
|
+
// is equivalent to client credentials once it has obtained an AM token,
|
|
184
|
+
// so it must remain eligible for OCAPI and WebDAV OAuth calls as well as
|
|
185
|
+
// SCAPI.
|
|
186
|
+
const oauthMethods = (this.auth.authMethods || ['client-credentials', 'jwt', 'user']).filter((m) => m === 'client-credentials' || m === 'jwt' || m === 'user' || m === 'implicit');
|
|
129
187
|
if (oauthMethods.length === 0) {
|
|
130
188
|
throw new Error('No OAuth methods allowed. Check authMethods configuration.');
|
|
131
189
|
}
|
|
132
|
-
|
|
190
|
+
for (const method of oauthMethods) {
|
|
191
|
+
if (method === 'client-credentials' || method === 'jwt') {
|
|
192
|
+
const systemStrategy = this.buildSystemOAuthStrategy(method);
|
|
193
|
+
if (systemStrategy) {
|
|
194
|
+
this._oauthStrategy = systemStrategy;
|
|
195
|
+
return this._oauthStrategy;
|
|
196
|
+
}
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
if (credentials.clientId) {
|
|
200
|
+
this._oauthStrategy = resolveAuthStrategy(credentials, { allowedMethods: [method] });
|
|
201
|
+
return this._oauthStrategy;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
throw new Error(`No valid OAuth method available. Allowed methods: [${oauthMethods.join(', ')}].`);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Builds the scope-flexible OAuth strategy used for SCAPI, or `undefined`
|
|
208
|
+
* when the configured credentials are not eligible for `auto`-mode SCAPI.
|
|
209
|
+
*
|
|
210
|
+
* Only the stateless flows qualify, because only they can request arbitrary
|
|
211
|
+
* `sfcc.*` scopes from Account Manager per call (via the cascade / additional
|
|
212
|
+
* scopes hooks the SCAPI client factories rely on):
|
|
213
|
+
* - **client-credentials**: clientId + clientSecret.
|
|
214
|
+
* - **JWT Bearer**: clientId + cert/key paths.
|
|
215
|
+
*
|
|
216
|
+
* Honors `authMethods` ordering, defaulting to client-credentials before JWT
|
|
217
|
+
* to match the CLI's auth priority. Returns `undefined` for implicit- or
|
|
218
|
+
* basic-only configs.
|
|
219
|
+
*/
|
|
220
|
+
buildScapiAuthStrategy() {
|
|
221
|
+
return this.auth.oauth ? resolveSystemOAuthStrategy(this.auth.oauth, this.auth.authMethods) : undefined;
|
|
222
|
+
}
|
|
223
|
+
/** Builds a configured non-interactive OAuth strategy for SCAPI or OCAPI. */
|
|
224
|
+
buildSystemOAuthStrategy(method) {
|
|
225
|
+
return this.auth.oauth ? resolveSystemOAuthStrategy(this.auth.oauth, [method]) : undefined;
|
|
133
226
|
}
|
|
134
227
|
}
|
|
135
228
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instance/index.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instance/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OcapiRolesBackend } from './ocapi-backend.js';
|
|
2
|
+
import { ScapiRolesBackend } from './scapi-backend.js';
|
|
3
|
+
import { createDualBackend } from '../../clients/dual-backend-factory.js';
|
|
4
|
+
export function createRolesBackend(config) {
|
|
5
|
+
return createDualBackend(config, {
|
|
6
|
+
domainName: 'Roles',
|
|
7
|
+
Scapi: ScapiRolesBackend,
|
|
8
|
+
Ocapi: OcapiRolesBackend,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../../../src/operations/bm-roles/backend.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,iBAAiB,EAAyB,MAAM,uCAAuC,CAAC;AAIhG,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,iBAAiB,CAAe,MAAM,EAAE;QAC7C,UAAU,EAAE,OAAO;QACnB,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,iBAAiB;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -50,3 +50,9 @@
|
|
|
50
50
|
*/
|
|
51
51
|
export { listBmRoles, getBmRole, createBmRole, deleteBmRole, grantBmRole, revokeBmRole, getBmRolePermissions, setBmRolePermissions, } from './roles.js';
|
|
52
52
|
export type { BmRole, BmRoles, BmRolePermissions, ListBmRolesOptions, GetBmRoleOptions } from './roles.js';
|
|
53
|
+
export { createRolesBackend } from './backend.js';
|
|
54
|
+
export type { RolesBackendConfig } from './backend.js';
|
|
55
|
+
export { OcapiRolesBackend } from './ocapi-backend.js';
|
|
56
|
+
export { ScapiRolesBackend } from './scapi-backend.js';
|
|
57
|
+
export type { ScapiRolesBackendConfig } from './scapi-backend.js';
|
|
58
|
+
export type { RolesBackend, RoleInfo, RolePermissionsInfo, ListRolesResult, ListRolesOptions, CreateRoleInput, } from './types.js';
|
|
@@ -54,4 +54,8 @@
|
|
|
54
54
|
* @module operations/bm-roles
|
|
55
55
|
*/
|
|
56
56
|
export { listBmRoles, getBmRole, createBmRole, deleteBmRole, grantBmRole, revokeBmRole, getBmRolePermissions, setBmRolePermissions, } from './roles.js';
|
|
57
|
+
// Roles backend abstraction — supports OCAPI + SCAPI
|
|
58
|
+
export { createRolesBackend } from './backend.js';
|
|
59
|
+
export { OcapiRolesBackend } from './ocapi-backend.js';
|
|
60
|
+
export { ScapiRolesBackend } from './scapi-backend.js';
|
|
57
61
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/bm-roles/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/bm-roles/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAIpB,qDAAqD;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { B2CInstance } from '../../instance/index.js';
|
|
2
|
+
import type { RolesBackend, RoleInfo, ListRolesResult, ListRolesOptions, RolePermissionsInfo, CreateRoleInput } from './types.js';
|
|
3
|
+
export declare class OcapiRolesBackend implements RolesBackend {
|
|
4
|
+
private instance;
|
|
5
|
+
readonly name: "ocapi";
|
|
6
|
+
constructor(instance: B2CInstance);
|
|
7
|
+
listRoles(options?: ListRolesOptions): Promise<ListRolesResult>;
|
|
8
|
+
getRole(roleId: string, options?: {
|
|
9
|
+
expand?: ('users' | 'permissions')[];
|
|
10
|
+
}): Promise<RoleInfo>;
|
|
11
|
+
createRole(roleId: string, input?: CreateRoleInput): Promise<RoleInfo>;
|
|
12
|
+
deleteRole(roleId: string): Promise<void>;
|
|
13
|
+
getPermissions(roleId: string): Promise<RolePermissionsInfo>;
|
|
14
|
+
setPermissions(roleId: string, permissions: RolePermissionsInfo): Promise<RolePermissionsInfo>;
|
|
15
|
+
grantRole(roleId: string, login: string): Promise<void>;
|
|
16
|
+
revokeRole(roleId: string, login: string): Promise<void>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { listBmRoles as ocapiListBmRoles, getBmRole as ocapiGetBmRole, createBmRole as ocapiCreateBmRole, deleteBmRole as ocapiDeleteBmRole, getBmRolePermissions as ocapiGetBmRolePermissions, setBmRolePermissions as ocapiSetBmRolePermissions, grantBmRole as ocapiGrantBmRole, revokeBmRole as ocapiRevokeBmRole, } from './roles.js';
|
|
2
|
+
function mapOcapiRole(ocapi) {
|
|
3
|
+
return {
|
|
4
|
+
id: ocapi.id ?? '',
|
|
5
|
+
description: ocapi.description,
|
|
6
|
+
userCount: ocapi.user_count,
|
|
7
|
+
userManager: ocapi.user_manager,
|
|
8
|
+
// OCAPI returns permissions inline on the role when expanded, same as SCAPI.
|
|
9
|
+
// Map snake_case → camelCase to match the canonical RoleInfo shape so that
|
|
10
|
+
// callers see consistent data after a fallback from SCAPI to OCAPI.
|
|
11
|
+
permissions: ocapi.permissions ? mapOcapiPermissions(ocapi.permissions) : undefined,
|
|
12
|
+
_raw: ocapi,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function mapOcapiModulePermission(permission) {
|
|
16
|
+
return {
|
|
17
|
+
application: permission.application,
|
|
18
|
+
name: permission.name,
|
|
19
|
+
type: permission.type,
|
|
20
|
+
system: permission.system,
|
|
21
|
+
value: permission.value,
|
|
22
|
+
values: permission.values,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function mapOcapiFunctionalPermission(permission) {
|
|
26
|
+
return {
|
|
27
|
+
name: permission.name,
|
|
28
|
+
type: permission.type,
|
|
29
|
+
value: permission.value,
|
|
30
|
+
values: permission.values,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function mapOcapiLocalePermission(permission) {
|
|
34
|
+
return {
|
|
35
|
+
localeId: permission.locale_id,
|
|
36
|
+
type: permission.type,
|
|
37
|
+
value: permission.value,
|
|
38
|
+
values: permission.values,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function mapOcapiWebdavPermission(permission) {
|
|
42
|
+
return {
|
|
43
|
+
folder: permission.folder,
|
|
44
|
+
type: permission.type,
|
|
45
|
+
value: permission.value,
|
|
46
|
+
values: permission.values,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function mapOcapiPermissions(ocapi) {
|
|
50
|
+
// OCAPI uses snake_case for innermost permission fields (locale_id, etc.)
|
|
51
|
+
// while SCAPI uses camelCase (localeId). Convert at this boundary.
|
|
52
|
+
const result = {};
|
|
53
|
+
if (ocapi.module) {
|
|
54
|
+
result.module = {
|
|
55
|
+
organization: (ocapi.module.organization ?? []).map(mapOcapiModulePermission),
|
|
56
|
+
site: (ocapi.module.site ?? []).map(mapOcapiModulePermission),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
if (ocapi.functional) {
|
|
60
|
+
result.functional = {
|
|
61
|
+
organization: (ocapi.functional.organization ?? []).map(mapOcapiFunctionalPermission),
|
|
62
|
+
site: (ocapi.functional.site ?? []).map(mapOcapiFunctionalPermission),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
if (ocapi.locale) {
|
|
66
|
+
result.locale = {
|
|
67
|
+
unscoped: (ocapi.locale.unscoped ?? []).map(mapOcapiLocalePermission),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
if (ocapi.webdav) {
|
|
71
|
+
result.webdav = {
|
|
72
|
+
unscoped: (ocapi.webdav.unscoped ?? []).map(mapOcapiWebdavPermission),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
function mapScapiPermissionsToOcapi(perms) {
|
|
78
|
+
// Reverse: camelCase → snake_case for the inner locale field.
|
|
79
|
+
const result = {};
|
|
80
|
+
if (perms.module) {
|
|
81
|
+
result.module = {
|
|
82
|
+
organization: (perms.module.organization ?? []).map((permission) => ({ ...permission })),
|
|
83
|
+
site: (perms.module.site ?? []).map((permission) => ({ ...permission })),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (perms.functional) {
|
|
87
|
+
result.functional = {
|
|
88
|
+
organization: (perms.functional.organization ?? []).map((permission) => ({ ...permission })),
|
|
89
|
+
site: (perms.functional.site ?? []).map((permission) => ({ ...permission })),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
if (perms.locale) {
|
|
93
|
+
result.locale = {
|
|
94
|
+
unscoped: (perms.locale.unscoped ?? []).map((permission) => ({
|
|
95
|
+
locale_id: permission.localeId,
|
|
96
|
+
type: permission.type,
|
|
97
|
+
value: permission.value,
|
|
98
|
+
values: permission.values,
|
|
99
|
+
})),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
if (perms.webdav) {
|
|
103
|
+
result.webdav = {
|
|
104
|
+
unscoped: (perms.webdav.unscoped ?? []).map((permission) => ({ ...permission })),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
109
|
+
export class OcapiRolesBackend {
|
|
110
|
+
instance;
|
|
111
|
+
name = 'ocapi';
|
|
112
|
+
constructor(instance) {
|
|
113
|
+
this.instance = instance;
|
|
114
|
+
}
|
|
115
|
+
async listRoles(options = {}) {
|
|
116
|
+
const result = await ocapiListBmRoles(this.instance, { start: options.start, count: options.count });
|
|
117
|
+
const items = (result.data ?? []);
|
|
118
|
+
return {
|
|
119
|
+
total: result.total ?? 0,
|
|
120
|
+
start: result.start ?? 0,
|
|
121
|
+
count: result.count ?? items.length,
|
|
122
|
+
hits: items.map(mapOcapiRole),
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
async getRole(roleId, options) {
|
|
126
|
+
const role = await ocapiGetBmRole(this.instance, roleId, { expand: options?.expand });
|
|
127
|
+
return mapOcapiRole(role);
|
|
128
|
+
}
|
|
129
|
+
async createRole(roleId, input) {
|
|
130
|
+
const role = await ocapiCreateBmRole(this.instance, roleId, { description: input?.description });
|
|
131
|
+
return mapOcapiRole(role);
|
|
132
|
+
}
|
|
133
|
+
async deleteRole(roleId) {
|
|
134
|
+
await ocapiDeleteBmRole(this.instance, roleId);
|
|
135
|
+
}
|
|
136
|
+
async getPermissions(roleId) {
|
|
137
|
+
const perms = await ocapiGetBmRolePermissions(this.instance, roleId);
|
|
138
|
+
return mapOcapiPermissions(perms);
|
|
139
|
+
}
|
|
140
|
+
async setPermissions(roleId, permissions) {
|
|
141
|
+
const updated = await ocapiSetBmRolePermissions(this.instance, roleId, mapScapiPermissionsToOcapi(permissions));
|
|
142
|
+
return mapOcapiPermissions(updated);
|
|
143
|
+
}
|
|
144
|
+
async grantRole(roleId, login) {
|
|
145
|
+
await ocapiGrantBmRole(this.instance, roleId, login);
|
|
146
|
+
}
|
|
147
|
+
async revokeRole(roleId, login) {
|
|
148
|
+
await ocapiRevokeBmRole(this.instance, roleId, login);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=ocapi-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ocapi-backend.js","sourceRoot":"","sources":["../../../../src/operations/bm-roles/ocapi-backend.ts"],"names":[],"mappings":"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"}
|