@salesforce/b2c-cli 0.3.0 → 0.4.1
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/README.md +70 -1
- package/bin/dev.cmd +3 -0
- package/bin/dev.js +14 -1
- package/dist/commands/am/clients/create.d.ts +28 -0
- package/dist/commands/am/clients/create.js +158 -0
- package/dist/commands/am/clients/create.js.map +1 -0
- package/dist/commands/am/clients/delete.d.ts +13 -0
- package/dist/commands/am/clients/delete.js +29 -0
- package/dist/commands/am/clients/delete.js.map +1 -0
- package/dist/commands/am/clients/get.d.ts +26 -0
- package/dist/commands/am/clients/get.js +186 -0
- package/dist/commands/am/clients/get.js.map +1 -0
- package/dist/commands/am/clients/list.d.ts +18 -0
- package/dist/commands/am/clients/list.js +139 -0
- package/dist/commands/am/clients/list.js.map +1 -0
- package/dist/commands/am/clients/password.d.ts +16 -0
- package/dist/commands/am/clients/password.js +51 -0
- package/dist/commands/am/clients/password.js.map +1 -0
- package/dist/commands/am/clients/update.d.ts +34 -0
- package/dist/commands/am/clients/update.js +146 -0
- package/dist/commands/am/clients/update.js.map +1 -0
- package/dist/commands/am/orgs/get.d.ts +23 -0
- package/dist/commands/am/orgs/get.js +175 -0
- package/dist/commands/am/orgs/get.js.map +1 -0
- package/dist/commands/am/orgs/list.d.ts +18 -0
- package/dist/commands/am/orgs/list.js +149 -0
- package/dist/commands/am/orgs/list.js.map +1 -0
- package/dist/commands/am/roles/get.d.ts +15 -0
- package/dist/commands/am/roles/get.js +63 -0
- package/dist/commands/am/roles/get.js.map +1 -0
- package/dist/commands/am/roles/grant.d.ts +18 -0
- package/dist/commands/am/roles/grant.js +72 -0
- package/dist/commands/am/roles/grant.js.map +1 -0
- package/dist/commands/am/roles/list.d.ts +22 -0
- package/dist/commands/am/roles/list.js +142 -0
- package/dist/commands/am/roles/list.js.map +1 -0
- package/dist/commands/am/roles/revoke.d.ts +18 -0
- package/dist/commands/am/roles/revoke.js +72 -0
- package/dist/commands/am/roles/revoke.js.map +1 -0
- package/dist/commands/am/users/create.d.ts +17 -0
- package/dist/commands/am/users/create.js +67 -0
- package/dist/commands/am/users/create.js.map +1 -0
- package/dist/commands/am/users/delete.d.ts +16 -0
- package/dist/commands/am/users/delete.js +63 -0
- package/dist/commands/am/users/delete.js.map +1 -0
- package/dist/commands/am/users/get.d.ts +18 -0
- package/dist/commands/am/users/get.js +96 -0
- package/dist/commands/am/users/get.js.map +1 -0
- package/dist/commands/am/users/list.d.ts +21 -0
- package/dist/commands/am/users/list.js +162 -0
- package/dist/commands/am/users/list.js.map +1 -0
- package/dist/commands/am/users/reset.d.ts +13 -0
- package/dist/commands/am/users/reset.js +43 -0
- package/dist/commands/am/users/reset.js.map +1 -0
- package/dist/commands/am/users/update.d.ts +18 -0
- package/dist/commands/am/users/update.js +63 -0
- package/dist/commands/am/users/update.js.map +1 -0
- package/dist/commands/auth/token.js +1 -1
- package/dist/commands/auth/token.js.map +1 -1
- package/dist/commands/code/activate.d.ts +2 -1
- package/dist/commands/code/delete.d.ts +2 -1
- package/dist/commands/code/deploy.d.ts +2 -1
- package/dist/commands/code/watch.d.ts +2 -1
- package/dist/commands/content/export.d.ts +57 -0
- package/dist/commands/content/export.js +217 -0
- package/dist/commands/content/export.js.map +1 -0
- package/dist/commands/content/list.d.ts +56 -0
- package/dist/commands/content/list.js +133 -0
- package/dist/commands/content/list.js.map +1 -0
- package/dist/commands/docs/download.d.ts +2 -1
- package/dist/commands/ecdn/cache/purge.d.ts +2 -1
- package/dist/commands/ecdn/certificates/add.d.ts +2 -1
- package/dist/commands/ecdn/certificates/delete.d.ts +2 -1
- package/dist/commands/ecdn/certificates/list.d.ts +2 -1
- package/dist/commands/ecdn/certificates/update.d.ts +2 -1
- package/dist/commands/ecdn/certificates/validate.d.ts +2 -1
- package/dist/commands/ecdn/cipher-suites/get.d.ts +2 -1
- package/dist/commands/ecdn/cipher-suites/update.d.ts +2 -1
- package/dist/commands/ecdn/logpush/jobs/create.d.ts +2 -1
- package/dist/commands/ecdn/logpush/jobs/delete.d.ts +2 -1
- package/dist/commands/ecdn/logpush/jobs/get.d.ts +2 -1
- package/dist/commands/ecdn/logpush/jobs/list.d.ts +2 -1
- package/dist/commands/ecdn/logpush/jobs/update.d.ts +2 -1
- package/dist/commands/ecdn/logpush/ownership.d.ts +2 -1
- package/dist/commands/ecdn/mrt-rules/create.d.ts +2 -1
- package/dist/commands/ecdn/mrt-rules/delete.d.ts +2 -1
- package/dist/commands/ecdn/mrt-rules/get.d.ts +2 -1
- package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +2 -1
- package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +2 -1
- package/dist/commands/ecdn/mrt-rules/update.d.ts +2 -1
- package/dist/commands/ecdn/mtls/create.d.ts +2 -1
- package/dist/commands/ecdn/mtls/delete.d.ts +2 -1
- package/dist/commands/ecdn/mtls/get.d.ts +2 -1
- package/dist/commands/ecdn/mtls/list.d.ts +2 -1
- package/dist/commands/ecdn/origin-headers/delete.d.ts +2 -1
- package/dist/commands/ecdn/origin-headers/get.d.ts +2 -1
- package/dist/commands/ecdn/origin-headers/set.d.ts +2 -1
- package/dist/commands/ecdn/page-shield/notifications/create.d.ts +2 -1
- package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +2 -1
- package/dist/commands/ecdn/page-shield/notifications/list.d.ts +2 -1
- package/dist/commands/ecdn/page-shield/policies/create.d.ts +2 -1
- package/dist/commands/ecdn/page-shield/policies/delete.d.ts +2 -1
- package/dist/commands/ecdn/page-shield/policies/get.d.ts +2 -1
- package/dist/commands/ecdn/page-shield/policies/list.d.ts +2 -1
- package/dist/commands/ecdn/page-shield/policies/update.d.ts +2 -1
- package/dist/commands/ecdn/page-shield/scripts/get.d.ts +2 -1
- package/dist/commands/ecdn/page-shield/scripts/list.d.ts +2 -1
- package/dist/commands/ecdn/security/get.d.ts +2 -1
- package/dist/commands/ecdn/security/update.d.ts +2 -1
- package/dist/commands/ecdn/speed/get.d.ts +2 -1
- package/dist/commands/ecdn/speed/update.d.ts +2 -1
- package/dist/commands/ecdn/waf/groups/list.d.ts +2 -1
- package/dist/commands/ecdn/waf/groups/update.d.ts +2 -1
- package/dist/commands/ecdn/waf/managed-rules/list.d.ts +2 -1
- package/dist/commands/ecdn/waf/managed-rules/update.d.ts +2 -1
- package/dist/commands/ecdn/waf/migrate.d.ts +2 -1
- package/dist/commands/ecdn/waf/owasp/get.d.ts +2 -1
- package/dist/commands/ecdn/waf/owasp/update.d.ts +2 -1
- package/dist/commands/ecdn/waf/rules/get.d.ts +2 -1
- package/dist/commands/ecdn/waf/rules/list.d.ts +2 -1
- package/dist/commands/ecdn/waf/rules/update.d.ts +2 -1
- package/dist/commands/ecdn/waf/rulesets/list.d.ts +2 -1
- package/dist/commands/ecdn/waf/rulesets/update.d.ts +2 -1
- package/dist/commands/ecdn/zones/create.d.ts +2 -1
- package/dist/commands/ecdn/zones/list.d.ts +2 -1
- package/dist/commands/job/export.d.ts +2 -1
- package/dist/commands/job/import.d.ts +2 -1
- package/dist/commands/job/run.d.ts +2 -1
- package/dist/commands/job/search.d.ts +2 -1
- package/dist/commands/job/wait.d.ts +2 -1
- package/dist/commands/logs/get.d.ts +2 -1
- package/dist/commands/logs/list.d.ts +2 -1
- package/dist/commands/logs/tail.d.ts +2 -1
- package/dist/commands/mrt/bundle/deploy.js +24 -4
- package/dist/commands/mrt/bundle/deploy.js.map +1 -1
- package/dist/commands/mrt/tail-logs.d.ts +27 -0
- package/dist/commands/mrt/tail-logs.js +137 -0
- package/dist/commands/mrt/tail-logs.js.map +1 -0
- package/dist/commands/{ods → sandbox}/create.d.ts +8 -14
- package/dist/commands/{ods → sandbox}/create.js +112 -102
- package/dist/commands/sandbox/create.js.map +1 -0
- package/dist/commands/sandbox/delete.d.ts +19 -0
- package/dist/commands/sandbox/delete.js +141 -0
- package/dist/commands/sandbox/delete.js.map +1 -0
- package/dist/commands/{ods → sandbox}/get.d.ts +2 -1
- package/dist/commands/{ods → sandbox}/get.js +5 -4
- package/dist/commands/sandbox/get.js.map +1 -0
- package/dist/commands/{ods → sandbox}/info.d.ts +2 -1
- package/dist/commands/{ods → sandbox}/info.js +6 -5
- package/dist/commands/sandbox/info.js.map +1 -0
- package/dist/commands/{ods → sandbox}/list.d.ts +2 -1
- package/dist/commands/{ods → sandbox}/list.js +6 -5
- package/dist/commands/sandbox/list.js.map +1 -0
- package/dist/commands/{ods → sandbox}/restart.d.ts +7 -1
- package/dist/commands/sandbox/restart.js +107 -0
- package/dist/commands/sandbox/restart.js.map +1 -0
- package/dist/commands/{ods → sandbox}/start.d.ts +7 -1
- package/dist/commands/sandbox/start.js +108 -0
- package/dist/commands/sandbox/start.js.map +1 -0
- package/dist/commands/{ods → sandbox}/stop.d.ts +7 -1
- package/dist/commands/sandbox/stop.js +107 -0
- package/dist/commands/sandbox/stop.js.map +1 -0
- package/dist/commands/scaffold/generate.d.ts +22 -0
- package/dist/commands/scaffold/generate.js +74 -0
- package/dist/commands/scaffold/generate.js.map +1 -0
- package/dist/commands/scaffold/index.d.ts +24 -0
- package/dist/commands/scaffold/index.js +80 -0
- package/dist/commands/scaffold/index.js.map +1 -0
- package/dist/commands/scaffold/info.d.ts +24 -0
- package/dist/commands/scaffold/info.js +89 -0
- package/dist/commands/scaffold/info.js.map +1 -0
- package/dist/commands/scaffold/init.d.ts +29 -0
- package/dist/commands/scaffold/init.js +221 -0
- package/dist/commands/scaffold/init.js.map +1 -0
- package/dist/commands/scaffold/list.d.ts +38 -0
- package/dist/commands/scaffold/list.js +131 -0
- package/dist/commands/scaffold/list.js.map +1 -0
- package/dist/commands/scaffold/search.d.ts +32 -0
- package/dist/commands/scaffold/search.js +97 -0
- package/dist/commands/scaffold/search.js.map +1 -0
- package/dist/commands/scaffold/validate.d.ts +24 -0
- package/dist/commands/scaffold/validate.js +74 -0
- package/dist/commands/scaffold/validate.js.map +1 -0
- package/dist/commands/scapi/custom/status.d.ts +2 -1
- package/dist/commands/scapi/schemas/get.d.ts +2 -1
- package/dist/commands/scapi/schemas/list.d.ts +2 -1
- package/dist/commands/setup/index.d.ts +12 -0
- package/dist/commands/setup/index.js +34 -0
- package/dist/commands/setup/index.js.map +1 -0
- package/dist/commands/setup/{config.d.ts → inspect.d.ts} +5 -4
- package/dist/commands/setup/{config.js → inspect.js} +5 -3
- package/dist/commands/setup/inspect.js.map +1 -0
- package/dist/commands/setup/instance/create.d.ts +43 -0
- package/dist/commands/setup/instance/create.js +269 -0
- package/dist/commands/setup/instance/create.js.map +1 -0
- package/dist/commands/setup/instance/index.d.ts +9 -0
- package/dist/commands/setup/instance/index.js +22 -0
- package/dist/commands/setup/instance/index.js.map +1 -0
- package/dist/commands/setup/instance/list.d.ts +31 -0
- package/dist/commands/setup/instance/list.js +68 -0
- package/dist/commands/setup/instance/list.js.map +1 -0
- package/dist/commands/setup/instance/remove.d.ts +34 -0
- package/dist/commands/setup/instance/remove.js +75 -0
- package/dist/commands/setup/instance/remove.js.map +1 -0
- package/dist/commands/setup/instance/set-active.d.ts +33 -0
- package/dist/commands/setup/instance/set-active.js +78 -0
- package/dist/commands/setup/instance/set-active.js.map +1 -0
- package/dist/commands/slas/client/create.d.ts +2 -1
- package/dist/commands/slas/client/create.js +1 -0
- package/dist/commands/slas/client/create.js.map +1 -1
- package/dist/commands/slas/client/delete.d.ts +2 -1
- package/dist/commands/slas/client/get.d.ts +2 -1
- package/dist/commands/slas/client/list.d.ts +2 -1
- package/dist/commands/slas/client/list.js +8 -3
- package/dist/commands/slas/client/list.js.map +1 -1
- package/dist/commands/slas/client/update.d.ts +2 -1
- package/dist/commands/webdav/get.d.ts +2 -1
- package/dist/commands/webdav/rm.d.ts +2 -1
- package/dist/i18n/locales/en.d.ts +42 -0
- package/dist/i18n/locales/en.js +42 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/index.d.ts +42 -0
- package/dist/lib/scaffold/generate-helper.d.ts +47 -0
- package/dist/lib/scaffold/generate-helper.js +271 -0
- package/dist/lib/scaffold/generate-helper.js.map +1 -0
- package/dist/lib/scaffold/source-resolver.d.ts +25 -0
- package/dist/lib/scaffold/source-resolver.js +37 -0
- package/dist/lib/scaffold/source-resolver.js.map +1 -0
- package/dist/utils/am/resolve-org.d.ts +11 -0
- package/dist/utils/am/resolve-org.js +15 -0
- package/dist/utils/am/resolve-org.js.map +1 -0
- package/dist/utils/am/user-display.d.ts +5 -0
- package/dist/utils/am/user-display.js +100 -0
- package/dist/utils/am/user-display.js.map +1 -0
- package/dist/utils/ecdn/zone-command.d.ts +2 -1
- package/dist/utils/mrt-logs/format.d.ts +28 -0
- package/dist/utils/mrt-logs/format.js +90 -0
- package/dist/utils/mrt-logs/format.js.map +1 -0
- package/dist/utils/mrt-logs/index.d.ts +1 -0
- package/dist/utils/mrt-logs/index.js +7 -0
- package/dist/utils/mrt-logs/index.js.map +1 -0
- package/dist/utils/slas/client.d.ts +7 -0
- package/dist/utils/slas/client.js +26 -13
- package/dist/utils/slas/client.js.map +1 -1
- package/oclif.manifest.json +14039 -5107
- package/package.json +61 -19
- package/dist/commands/ods/create.js.map +0 -1
- package/dist/commands/ods/delete.d.ts +0 -15
- package/dist/commands/ods/delete.js +0 -86
- package/dist/commands/ods/delete.js.map +0 -1
- package/dist/commands/ods/get.js.map +0 -1
- package/dist/commands/ods/info.js.map +0 -1
- package/dist/commands/ods/list.js.map +0 -1
- package/dist/commands/ods/restart.js +0 -51
- package/dist/commands/ods/restart.js.map +0 -1
- package/dist/commands/ods/start.js +0 -51
- package/dist/commands/ods/start.js.map +0 -1
- package/dist/commands/ods/stop.js +0 -51
- package/dist/commands/ods/stop.js.map +0 -1
- package/dist/commands/setup/config.js.map +0 -1
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ npm install -g @salesforce/b2c-cli
|
|
|
18
18
|
### Homebrew (macOS/Linux)
|
|
19
19
|
|
|
20
20
|
```sh
|
|
21
|
-
brew tap SalesforceCommerceCloud/
|
|
21
|
+
brew tap SalesforceCommerceCloud/tools
|
|
22
22
|
brew install b2c-cli
|
|
23
23
|
```
|
|
24
24
|
|
|
@@ -186,6 +186,75 @@ List and inspect storefront sites.
|
|
|
186
186
|
b2c sites list
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
+
### User Management (Account Manager)
|
|
190
|
+
|
|
191
|
+
Manage users in Account Manager.
|
|
192
|
+
|
|
193
|
+
```sh
|
|
194
|
+
# List users with pagination
|
|
195
|
+
b2c am users list --page 0 --size 20
|
|
196
|
+
|
|
197
|
+
# Get user details by email
|
|
198
|
+
b2c am users get user@example.com
|
|
199
|
+
|
|
200
|
+
# Create a new user
|
|
201
|
+
b2c am users create --org org-id --mail user@example.com --first-name John --last-name Doe
|
|
202
|
+
|
|
203
|
+
# Update a user
|
|
204
|
+
b2c am users update user@example.com --first-name Jane
|
|
205
|
+
|
|
206
|
+
# Reset a user to INITIAL state
|
|
207
|
+
b2c am users reset user@example.com
|
|
208
|
+
|
|
209
|
+
# Delete (disable) a user
|
|
210
|
+
b2c am users delete user@example.com
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Role Management (Account Manager)
|
|
214
|
+
|
|
215
|
+
Manage roles and role assignments in Account Manager.
|
|
216
|
+
|
|
217
|
+
```sh
|
|
218
|
+
# List roles with pagination
|
|
219
|
+
b2c am roles list --page 0 --size 20 --target-type User
|
|
220
|
+
|
|
221
|
+
# Get role details
|
|
222
|
+
b2c am roles get bm-admin
|
|
223
|
+
|
|
224
|
+
# Grant a role to a user
|
|
225
|
+
b2c am roles grant user@example.com --role bm-admin
|
|
226
|
+
|
|
227
|
+
# Grant a role with tenant scope
|
|
228
|
+
b2c am roles grant user@example.com --role bm-admin --scope "tenant1,tenant2"
|
|
229
|
+
|
|
230
|
+
# Revoke a role from a user
|
|
231
|
+
b2c am roles revoke user@example.com --role bm-admin
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Organization Management (Account Manager)
|
|
235
|
+
|
|
236
|
+
Manage organizations in Account Manager.
|
|
237
|
+
|
|
238
|
+
```sh
|
|
239
|
+
# List organizations with pagination
|
|
240
|
+
b2c am orgs list --page 0 --size 25
|
|
241
|
+
|
|
242
|
+
# List all organizations
|
|
243
|
+
b2c am orgs list --all
|
|
244
|
+
|
|
245
|
+
# Get organization details by ID
|
|
246
|
+
b2c am orgs get org-123
|
|
247
|
+
|
|
248
|
+
# Get organization details by name
|
|
249
|
+
b2c am orgs get "My Organization"
|
|
250
|
+
|
|
251
|
+
# Get audit logs for an organization
|
|
252
|
+
b2c am orgs audit org-123
|
|
253
|
+
|
|
254
|
+
# Get audit logs with extended columns
|
|
255
|
+
b2c am orgs audit org-123 --extended
|
|
256
|
+
```
|
|
257
|
+
|
|
189
258
|
### Authentication
|
|
190
259
|
|
|
191
260
|
Get OAuth tokens for scripting.
|
package/bin/dev.cmd
CHANGED
package/bin/dev.js
CHANGED
|
@@ -5,13 +5,26 @@
|
|
|
5
5
|
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
// Load .env file if present (Node.js native support)
|
|
8
|
+
// Load .env file if present (Node.js native support; same as main run.js)
|
|
9
|
+
// For development, place .env in the package directory and run from there.
|
|
9
10
|
try {
|
|
10
11
|
process.loadEnvFile();
|
|
11
12
|
} catch {
|
|
12
13
|
// .env file not found or not readable, continue without it
|
|
13
14
|
}
|
|
14
15
|
|
|
16
|
+
// Disable telemetry by default in development when both vars are unset.
|
|
17
|
+
// Set SFCC_DISABLE_TELEMETRY=false (or SF_DISABLE_TELEMETRY=false) in .env to enable COMMAND_START/COMMAND_SUCCESS.
|
|
18
|
+
const userWantsTelemetryEnabled =
|
|
19
|
+
process.env.SF_DISABLE_TELEMETRY === 'false' || process.env.SFCC_DISABLE_TELEMETRY === 'false';
|
|
20
|
+
if (userWantsTelemetryEnabled) {
|
|
21
|
+
process.env.SF_DISABLE_TELEMETRY = 'false';
|
|
22
|
+
process.env.SFCC_DISABLE_TELEMETRY = 'false';
|
|
23
|
+
} else {
|
|
24
|
+
process.env.SF_DISABLE_TELEMETRY = 'true';
|
|
25
|
+
process.env.SFCC_DISABLE_TELEMETRY = 'true';
|
|
26
|
+
}
|
|
27
|
+
|
|
15
28
|
import {execute} from '@oclif/core';
|
|
16
29
|
|
|
17
30
|
await execute({development: true, dir: import.meta.url});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
import { type AccountManagerApiClient } from '@salesforce/b2c-tooling-sdk';
|
|
3
|
+
/**
|
|
4
|
+
* Command to create an Account Manager API client.
|
|
5
|
+
*/
|
|
6
|
+
export default class ClientCreate extends AmCommand<typeof ClientCreate> {
|
|
7
|
+
static description: string;
|
|
8
|
+
static enableJsonFlag: boolean;
|
|
9
|
+
static examples: string[];
|
|
10
|
+
static flags: {
|
|
11
|
+
name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
orgs: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
password: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
roles: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'role-tenant-filter': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
active: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
'redirect-urls': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
scopes: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
'default-scopes': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
'version-control': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
'token-endpoint-auth-method': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'jwt-public-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
};
|
|
25
|
+
run(): Promise<AccountManagerApiClient>;
|
|
26
|
+
private buildCreateBody;
|
|
27
|
+
private validateCreateInput;
|
|
28
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Flags } from '@oclif/core';
|
|
7
|
+
import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { isValidRoleTenantFilter } from '@salesforce/b2c-tooling-sdk';
|
|
9
|
+
import { t } from '../../../i18n/index.js';
|
|
10
|
+
import { resolveOrgId } from '../../../utils/am/resolve-org.js';
|
|
11
|
+
function splitCommaSeparated(s) {
|
|
12
|
+
return s
|
|
13
|
+
.split(',')
|
|
14
|
+
.map((x) => x.trim())
|
|
15
|
+
.filter(Boolean);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Command to create an Account Manager API client.
|
|
19
|
+
*/
|
|
20
|
+
export default class ClientCreate extends AmCommand {
|
|
21
|
+
static description = t('commands.client.create.description', 'Create an Account Manager API client');
|
|
22
|
+
static enableJsonFlag = true;
|
|
23
|
+
static examples = [
|
|
24
|
+
'<%= config.bin %> <%= command.id %> --name my-client --orgs org-id-1 --password "SecureP@ss123"',
|
|
25
|
+
'<%= config.bin %> <%= command.id %> --name my-client --orgs "My Organization" --password "SecureP@ss123" --roles SALESFORCE_COMMERCE_API',
|
|
26
|
+
];
|
|
27
|
+
static flags = {
|
|
28
|
+
name: Flags.string({
|
|
29
|
+
char: 'n',
|
|
30
|
+
description: 'API client name',
|
|
31
|
+
required: true,
|
|
32
|
+
}),
|
|
33
|
+
description: Flags.string({
|
|
34
|
+
char: 'd',
|
|
35
|
+
description: 'Description of the API client',
|
|
36
|
+
}),
|
|
37
|
+
orgs: Flags.string({
|
|
38
|
+
char: 'o',
|
|
39
|
+
description: 'Comma-separated organization IDs or names',
|
|
40
|
+
required: true,
|
|
41
|
+
}),
|
|
42
|
+
password: Flags.string({
|
|
43
|
+
char: 'p',
|
|
44
|
+
description: 'Password for the API client (12–128 characters)',
|
|
45
|
+
required: true,
|
|
46
|
+
}),
|
|
47
|
+
roles: Flags.string({
|
|
48
|
+
char: 'r',
|
|
49
|
+
description: 'Comma-separated role IDs (e.g. SALESFORCE_COMMERCE_API)',
|
|
50
|
+
}),
|
|
51
|
+
'role-tenant-filter': Flags.string({
|
|
52
|
+
description: 'Role tenant filter (format: ROLE:realm_instance,realm_instance;ROLE2:... e.g. SALESFORCE_COMMERCE_API:abcd_prd)',
|
|
53
|
+
}),
|
|
54
|
+
active: Flags.boolean({
|
|
55
|
+
description: 'Create as active (default: false)',
|
|
56
|
+
default: false,
|
|
57
|
+
}),
|
|
58
|
+
'redirect-urls': Flags.string({
|
|
59
|
+
description: 'Comma-separated list of allowed redirect URLs for OAuth flows',
|
|
60
|
+
}),
|
|
61
|
+
scopes: Flags.string({
|
|
62
|
+
description: 'Comma-separated OAuth scopes available to this API client',
|
|
63
|
+
}),
|
|
64
|
+
'default-scopes': Flags.string({
|
|
65
|
+
description: 'Comma-separated default OAuth scopes granted to this API client',
|
|
66
|
+
}),
|
|
67
|
+
'version-control': Flags.string({
|
|
68
|
+
description: 'Comma-separated version control system identifiers',
|
|
69
|
+
}),
|
|
70
|
+
'token-endpoint-auth-method': Flags.string({
|
|
71
|
+
description: 'Token endpoint auth method: private_key_jwt, client_secret_post, client_secret_basic, or none',
|
|
72
|
+
options: ['private_key_jwt', 'client_secret_post', 'client_secret_basic', 'none'],
|
|
73
|
+
}),
|
|
74
|
+
'jwt-public-key': Flags.string({
|
|
75
|
+
description: 'Public key for JWT authentication (PEM or inline)',
|
|
76
|
+
}),
|
|
77
|
+
};
|
|
78
|
+
async run() {
|
|
79
|
+
const flags = this.flags;
|
|
80
|
+
const nameTrimmed = flags.name.trim();
|
|
81
|
+
const orgInputs = splitCommaSeparated(flags.orgs);
|
|
82
|
+
this.validateCreateInput(flags, nameTrimmed, orgInputs);
|
|
83
|
+
const orgIds = await Promise.all(orgInputs.map((o) => resolveOrgId(this.accountManagerClient, o)));
|
|
84
|
+
const body = this.buildCreateBody(flags, nameTrimmed, orgIds);
|
|
85
|
+
this.log(t('commands.client.create.creating', 'Creating API client {{name}}...', { name: flags.name }));
|
|
86
|
+
const client = await this.accountManagerClient.createApiClient(body);
|
|
87
|
+
this.log(t('commands.client.create.success', 'API client {{name}} created successfully.', {
|
|
88
|
+
name: client.name ?? flags.name,
|
|
89
|
+
}));
|
|
90
|
+
return client;
|
|
91
|
+
}
|
|
92
|
+
buildCreateBody(flags, nameTrimmed, orgIds) {
|
|
93
|
+
const body = {
|
|
94
|
+
name: nameTrimmed,
|
|
95
|
+
organizations: orgIds,
|
|
96
|
+
password: flags.password,
|
|
97
|
+
active: flags.active,
|
|
98
|
+
};
|
|
99
|
+
if (flags.description !== undefined && flags.description.trim().length > 0) {
|
|
100
|
+
body.description = flags.description.trim();
|
|
101
|
+
}
|
|
102
|
+
if (flags.roles) {
|
|
103
|
+
body.roles = splitCommaSeparated(flags.roles);
|
|
104
|
+
}
|
|
105
|
+
const rtf = flags['role-tenant-filter'];
|
|
106
|
+
if (rtf !== undefined && rtf.trim().length > 0) {
|
|
107
|
+
body.roleTenantFilter = rtf.trim();
|
|
108
|
+
}
|
|
109
|
+
if (flags['redirect-urls']) {
|
|
110
|
+
body.redirectUrls = splitCommaSeparated(flags['redirect-urls']);
|
|
111
|
+
}
|
|
112
|
+
if (flags.scopes) {
|
|
113
|
+
body.scopes = splitCommaSeparated(flags.scopes);
|
|
114
|
+
}
|
|
115
|
+
if (flags['default-scopes']) {
|
|
116
|
+
body.defaultScopes = splitCommaSeparated(flags['default-scopes']);
|
|
117
|
+
}
|
|
118
|
+
if (flags['version-control']) {
|
|
119
|
+
body.versionControl = splitCommaSeparated(flags['version-control']);
|
|
120
|
+
}
|
|
121
|
+
if (flags['token-endpoint-auth-method']) {
|
|
122
|
+
body.tokenEndpointAuthMethod = flags['token-endpoint-auth-method'];
|
|
123
|
+
}
|
|
124
|
+
if (flags['jwt-public-key'] !== undefined) {
|
|
125
|
+
body.jwtPublicKey = flags['jwt-public-key'].trim().length > 0 ? flags['jwt-public-key'].trim() : null;
|
|
126
|
+
}
|
|
127
|
+
return body;
|
|
128
|
+
}
|
|
129
|
+
validateCreateInput(flags, nameTrimmed, orgIds) {
|
|
130
|
+
if (nameTrimmed.length === 0) {
|
|
131
|
+
this.error(t('commands.client.create.nameRequired', 'API client name cannot be empty'));
|
|
132
|
+
}
|
|
133
|
+
if (nameTrimmed.length > 200) {
|
|
134
|
+
this.error(t('commands.client.create.nameMaxLength', 'Name must be at most 200 characters (received {{length}})', {
|
|
135
|
+
length: nameTrimmed.length,
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
138
|
+
if (flags.description !== undefined && flags.description.length > 256) {
|
|
139
|
+
this.error(t('commands.client.create.descriptionMaxLength', 'Description must be at most 256 characters (received {{length}})', { length: flags.description.length }));
|
|
140
|
+
}
|
|
141
|
+
if (flags.password.length < 12) {
|
|
142
|
+
this.error(t('commands.client.create.passwordMinLength', 'Password must be at least 12 characters (API requirement)'));
|
|
143
|
+
}
|
|
144
|
+
if (flags.password.length > 128) {
|
|
145
|
+
this.error(t('commands.client.create.passwordMaxLength', 'Password must be at most 128 characters (received {{length}})', {
|
|
146
|
+
length: flags.password.length,
|
|
147
|
+
}));
|
|
148
|
+
}
|
|
149
|
+
const rtf = flags['role-tenant-filter'];
|
|
150
|
+
if (rtf !== undefined && rtf.length > 0 && !isValidRoleTenantFilter(rtf)) {
|
|
151
|
+
this.error(t('commands.client.create.invalidRoleTenantFilter', 'Role tenant filter must match pattern: ROLE:realm_instance(,realm_instance)*(;ROLE:...)* (e.g. SALESFORCE_COMMERCE_API:abcd_prd)'));
|
|
152
|
+
}
|
|
153
|
+
if (orgIds.length === 0) {
|
|
154
|
+
this.error(t('commands.client.create.noOrgs', 'At least one organization is required'));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/am/clients/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
/**
|
|
3
|
+
* Command to delete an Account Manager API client.
|
|
4
|
+
* The API client must have been disabled for at least 7 days before it can be deleted.
|
|
5
|
+
*/
|
|
6
|
+
export default class ClientDelete extends AmCommand<typeof ClientDelete> {
|
|
7
|
+
static args: {
|
|
8
|
+
'api-client-id': import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
9
|
+
};
|
|
10
|
+
static description: string;
|
|
11
|
+
static examples: string[];
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Args } from '@oclif/core';
|
|
7
|
+
import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { t } from '../../../i18n/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* Command to delete an Account Manager API client.
|
|
11
|
+
* The API client must have been disabled for at least 7 days before it can be deleted.
|
|
12
|
+
*/
|
|
13
|
+
export default class ClientDelete extends AmCommand {
|
|
14
|
+
static args = {
|
|
15
|
+
'api-client-id': Args.string({
|
|
16
|
+
description: 'API client ID (UUID)',
|
|
17
|
+
required: true,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
static description = t('commands.client.delete.description', 'Delete an Account Manager API client (must be disabled 7+ days)');
|
|
21
|
+
static examples = ['<%= config.bin %> <%= command.id %> <api-client-id>'];
|
|
22
|
+
async run() {
|
|
23
|
+
const apiClientId = this.args['api-client-id'];
|
|
24
|
+
this.log(t('commands.client.delete.deleting', 'Deleting API client {{id}}...', { id: apiClientId }));
|
|
25
|
+
await this.accountManagerClient.deleteApiClient(apiClientId);
|
|
26
|
+
this.log(t('commands.client.delete.success', 'API client {{id}} deleted successfully.', { id: apiClientId }));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/am/clients/delete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAA8B;IACtE,MAAM,CAAC,IAAI,GAAG;QACZ,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC;YAC3B,WAAW,EAAE,sBAAsB;YACnC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,CAAC,CACpB,oCAAoC,EACpC,iEAAiE,CAClE,CAAC;IAEF,MAAM,CAAC,QAAQ,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAE1E,KAAK,CAAC,GAAG;QACP,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAiC,EAAE,+BAA+B,EAAE,EAAC,EAAE,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC;QAEnG,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAE7D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC,EAAE,yCAAyC,EAAE,EAAC,EAAE,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC;IAC9G,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
import type { AccountManagerApiClient } from '@salesforce/b2c-tooling-sdk';
|
|
3
|
+
/**
|
|
4
|
+
* Command to get details of a single Account Manager API client.
|
|
5
|
+
*/
|
|
6
|
+
export default class ClientGet extends AmCommand<typeof ClientGet> {
|
|
7
|
+
static args: {
|
|
8
|
+
'api-client-id': import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
9
|
+
};
|
|
10
|
+
static description: string;
|
|
11
|
+
static enableJsonFlag: boolean;
|
|
12
|
+
static examples: string[];
|
|
13
|
+
static flags: {
|
|
14
|
+
expand: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<AccountManagerApiClient>;
|
|
17
|
+
private printBasicFields;
|
|
18
|
+
private printClientDetails;
|
|
19
|
+
private printDefaultScopes;
|
|
20
|
+
private printOrganizations;
|
|
21
|
+
private printRedirectUrls;
|
|
22
|
+
private printRoles;
|
|
23
|
+
private printRoleTenantFilters;
|
|
24
|
+
private printScopes;
|
|
25
|
+
private printVersionControl;
|
|
26
|
+
}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Args, Flags, ux } from '@oclif/core';
|
|
7
|
+
import cliui from 'cliui';
|
|
8
|
+
import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
9
|
+
import { t } from '../../../i18n/index.js';
|
|
10
|
+
const VALID_EXPAND_VALUES = ['organizations', 'roles'];
|
|
11
|
+
/**
|
|
12
|
+
* Command to get details of a single Account Manager API client.
|
|
13
|
+
*/
|
|
14
|
+
export default class ClientGet extends AmCommand {
|
|
15
|
+
static args = {
|
|
16
|
+
'api-client-id': Args.string({
|
|
17
|
+
description: 'API client ID (UUID)',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
};
|
|
21
|
+
static description = t('commands.client.get.description', 'Get details of an Account Manager API client');
|
|
22
|
+
static enableJsonFlag = true;
|
|
23
|
+
static examples = [
|
|
24
|
+
'<%= config.bin %> <%= command.id %> <api-client-id>',
|
|
25
|
+
'<%= config.bin %> <%= command.id %> <api-client-id> --json',
|
|
26
|
+
'<%= config.bin %> <%= command.id %> <api-client-id> --expand organizations,roles',
|
|
27
|
+
];
|
|
28
|
+
static flags = {
|
|
29
|
+
expand: Flags.string({
|
|
30
|
+
description: t('flags.expand.client.description', 'Comma-separated list of fields to expand. Valid values: organizations, roles'),
|
|
31
|
+
}),
|
|
32
|
+
};
|
|
33
|
+
async run() {
|
|
34
|
+
const apiClientId = this.args['api-client-id'];
|
|
35
|
+
const expandRaw = this.flags.expand;
|
|
36
|
+
let expand;
|
|
37
|
+
if (expandRaw) {
|
|
38
|
+
const values = expandRaw
|
|
39
|
+
.split(',')
|
|
40
|
+
.map((v) => v.trim())
|
|
41
|
+
.filter(Boolean);
|
|
42
|
+
const invalid = [];
|
|
43
|
+
const valid = [];
|
|
44
|
+
for (const value of values) {
|
|
45
|
+
if (VALID_EXPAND_VALUES.includes(value)) {
|
|
46
|
+
valid.push(value);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
invalid.push(value);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (invalid.length > 0) {
|
|
53
|
+
this.error(t('commands.client.get.invalidExpand', 'Invalid expand value(s): {{invalid}}. Valid values are: {{valid}}', {
|
|
54
|
+
invalid: invalid.join(', '),
|
|
55
|
+
valid: VALID_EXPAND_VALUES.join(', '),
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
if (valid.length > 0) {
|
|
59
|
+
expand = valid;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
this.log(t('commands.client.get.fetching', 'Fetching API client {{id}}...', { id: apiClientId }));
|
|
63
|
+
let client;
|
|
64
|
+
try {
|
|
65
|
+
client = await this.accountManagerClient.getApiClient(apiClientId, expand);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
if (error instanceof Error && error.message.includes('not found')) {
|
|
69
|
+
this.error(t('commands.client.get.notFound', 'API client {{id}} not found', { id: apiClientId }));
|
|
70
|
+
}
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
if (this.jsonEnabled()) {
|
|
74
|
+
return client;
|
|
75
|
+
}
|
|
76
|
+
this.printClientDetails(client);
|
|
77
|
+
return client;
|
|
78
|
+
}
|
|
79
|
+
printBasicFields(ui, c) {
|
|
80
|
+
const passwordModified = c.passwordModificationTimestamp !== null && c.passwordModificationTimestamp !== undefined
|
|
81
|
+
? new Date(c.passwordModificationTimestamp).toLocaleString()
|
|
82
|
+
: undefined;
|
|
83
|
+
const fields = [
|
|
84
|
+
['ID', c.id],
|
|
85
|
+
['Name', c.name],
|
|
86
|
+
['Description', c.description ?? undefined],
|
|
87
|
+
['Active', c.active ? 'Yes' : 'No'],
|
|
88
|
+
['Auth Method', c.tokenEndpointAuthMethod ?? undefined],
|
|
89
|
+
['Created', c.createdAt ? new Date(c.createdAt).toLocaleString() : undefined],
|
|
90
|
+
['Password Modified', passwordModified],
|
|
91
|
+
['Last Authenticated', c.lastAuthenticatedDate ?? undefined],
|
|
92
|
+
['Disabled', c.disabledTimestamp ? new Date(c.disabledTimestamp).toLocaleString() : undefined],
|
|
93
|
+
];
|
|
94
|
+
for (const [label, value] of fields) {
|
|
95
|
+
if (value !== undefined) {
|
|
96
|
+
ui.div({ text: `${label}:`, width: 25, padding: [0, 2, 0, 0] }, { text: value, padding: [0, 0, 0, 0] });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
printClientDetails(c) {
|
|
101
|
+
const ui = cliui({ width: process.stdout.columns || 80 });
|
|
102
|
+
ui.div({ text: 'API Client Details', padding: [1, 0, 0, 0] });
|
|
103
|
+
ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
|
|
104
|
+
this.printBasicFields(ui, c);
|
|
105
|
+
this.printRedirectUrls(ui, c);
|
|
106
|
+
this.printScopes(ui, c);
|
|
107
|
+
this.printDefaultScopes(ui, c);
|
|
108
|
+
this.printOrganizations(ui, c);
|
|
109
|
+
this.printRoles(ui, c);
|
|
110
|
+
this.printRoleTenantFilters(ui, c);
|
|
111
|
+
this.printVersionControl(ui, c);
|
|
112
|
+
ux.stdout(ui.toString());
|
|
113
|
+
}
|
|
114
|
+
printDefaultScopes(ui, c) {
|
|
115
|
+
if (c.defaultScopes === undefined || c.defaultScopes.length === 0) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
ui.div({ text: 'Default Scopes', padding: [2, 0, 0, 0] });
|
|
119
|
+
ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
|
|
120
|
+
ui.div({ text: 'Default Scopes:', width: 25, padding: [0, 2, 0, 0] }, { text: c.defaultScopes.join(', '), padding: [0, 0, 0, 0] });
|
|
121
|
+
}
|
|
122
|
+
printOrganizations(ui, c) {
|
|
123
|
+
if (c.organizations === undefined || c.organizations.length === 0) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
ui.div({ text: 'Organizations', padding: [2, 0, 0, 0] });
|
|
127
|
+
ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
|
|
128
|
+
const orgIds = c.organizations.map((o) => (typeof o === 'string' ? o : o.id || 'Unknown'));
|
|
129
|
+
ui.div({ text: 'Organization IDs:', width: 25, padding: [0, 2, 0, 0] }, { text: orgIds.join(', '), padding: [0, 0, 0, 0] });
|
|
130
|
+
}
|
|
131
|
+
printRedirectUrls(ui, c) {
|
|
132
|
+
if (c.redirectUrls === undefined || c.redirectUrls.length === 0) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
ui.div({ text: 'Redirect URLs', padding: [2, 0, 0, 0] });
|
|
136
|
+
ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
|
|
137
|
+
ui.div({ text: 'URLs:', width: 25, padding: [0, 2, 0, 0] }, { text: c.redirectUrls.join(', '), padding: [0, 0, 0, 0] });
|
|
138
|
+
}
|
|
139
|
+
printRoles(ui, c) {
|
|
140
|
+
if (c.roles === undefined || c.roles.length === 0) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
ui.div({ text: 'Roles', padding: [2, 0, 0, 0] });
|
|
144
|
+
ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
|
|
145
|
+
const roleNames = c.roles.map((r) => typeof r === 'string'
|
|
146
|
+
? r
|
|
147
|
+
: r.roleEnumName || r.id || 'Unknown');
|
|
148
|
+
ui.div({ text: 'Role IDs:', width: 25, padding: [0, 2, 0, 0] }, { text: roleNames.join(', '), padding: [0, 0, 0, 0] });
|
|
149
|
+
}
|
|
150
|
+
printRoleTenantFilters(ui, c) {
|
|
151
|
+
const map = c.roleTenantFilterMap;
|
|
152
|
+
const hasMap = map !== undefined && typeof map === 'object' && Object.keys(map).length > 0;
|
|
153
|
+
const filterStr = typeof c.roleTenantFilter === 'string' && c.roleTenantFilter.length > 0 ? c.roleTenantFilter : undefined;
|
|
154
|
+
if (!hasMap && !filterStr) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
ui.div({ text: 'Role Tenant Filters', padding: [2, 0, 0, 0] });
|
|
158
|
+
ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
|
|
159
|
+
if (hasMap) {
|
|
160
|
+
for (const [roleId, filter] of Object.entries(map)) {
|
|
161
|
+
const filterValue = typeof filter === 'string' ? filter : JSON.stringify(filter);
|
|
162
|
+
ui.div({ text: `${roleId}:`, width: 30, padding: [0, 2, 0, 0] }, { text: filterValue, padding: [0, 0, 0, 0] });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else if (filterStr) {
|
|
166
|
+
ui.div({ text: 'Filter:', width: 25, padding: [0, 2, 0, 0] }, { text: filterStr, padding: [0, 0, 0, 0] });
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
printScopes(ui, c) {
|
|
170
|
+
if (c.scopes === undefined || c.scopes.length === 0) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
ui.div({ text: 'Scopes', padding: [2, 0, 0, 0] });
|
|
174
|
+
ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
|
|
175
|
+
ui.div({ text: 'Scopes:', width: 25, padding: [0, 2, 0, 0] }, { text: c.scopes.join(', '), padding: [0, 0, 0, 0] });
|
|
176
|
+
}
|
|
177
|
+
printVersionControl(ui, c) {
|
|
178
|
+
if (c.versionControl === undefined || c.versionControl.length === 0) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
ui.div({ text: 'Version Control', padding: [2, 0, 0, 0] });
|
|
182
|
+
ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
|
|
183
|
+
ui.div({ text: 'Identifiers:', width: 25, padding: [0, 2, 0, 0] }, { text: c.versionControl.join(', '), padding: [0, 0, 0, 0] });
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/am/clients/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
import type { APIClientCollection } from '@salesforce/b2c-tooling-sdk';
|
|
3
|
+
/**
|
|
4
|
+
* Command to list Account Manager API clients.
|
|
5
|
+
*/
|
|
6
|
+
export default class ClientList extends AmCommand<typeof ClientList> {
|
|
7
|
+
static description: string;
|
|
8
|
+
static enableJsonFlag: boolean;
|
|
9
|
+
static examples: string[];
|
|
10
|
+
static flags: {
|
|
11
|
+
size: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
page: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
columns: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
extended: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<APIClientCollection>;
|
|
17
|
+
private getSelectedColumns;
|
|
18
|
+
}
|