@salesforce/b2c-cli 0.0.0-nightly.20260119053920
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 +222 -0
- package/bin/dev.cmd +3 -0
- package/bin/dev.js +17 -0
- package/bin/run.cmd +3 -0
- package/bin/run.js +17 -0
- package/dist/commands/_test/index.d.ts +6 -0
- package/dist/commands/_test/index.js +39 -0
- package/dist/commands/_test/index.js.map +1 -0
- package/dist/commands/auth/token.d.ts +16 -0
- package/dist/commands/auth/token.js +35 -0
- package/dist/commands/auth/token.js.map +1 -0
- package/dist/commands/code/activate.d.ts +33 -0
- package/dist/commands/code/activate.js +83 -0
- package/dist/commands/code/activate.js.map +1 -0
- package/dist/commands/code/delete.d.ts +33 -0
- package/dist/commands/code/delete.js +67 -0
- package/dist/commands/code/delete.js.map +1 -0
- package/dist/commands/code/deploy.d.ts +38 -0
- package/dist/commands/code/deploy.js +141 -0
- package/dist/commands/code/deploy.js.map +1 -0
- package/dist/commands/code/list.d.ts +8 -0
- package/dist/commands/code/list.js +64 -0
- package/dist/commands/code/list.js.map +1 -0
- package/dist/commands/code/watch.d.ts +34 -0
- package/dist/commands/code/watch.js +70 -0
- package/dist/commands/code/watch.js.map +1 -0
- package/dist/commands/docs/download.d.ts +35 -0
- package/dist/commands/docs/download.js +58 -0
- package/dist/commands/docs/download.js.map +1 -0
- package/dist/commands/docs/read.d.ts +29 -0
- package/dist/commands/docs/read.js +70 -0
- package/dist/commands/docs/read.js.map +1 -0
- package/dist/commands/docs/schema.d.ts +32 -0
- package/dist/commands/docs/schema.js +68 -0
- package/dist/commands/docs/schema.js.map +1 -0
- package/dist/commands/docs/search.d.ts +33 -0
- package/dist/commands/docs/search.js +102 -0
- package/dist/commands/docs/search.js.map +1 -0
- package/dist/commands/job/export.d.ts +50 -0
- package/dist/commands/job/export.js +270 -0
- package/dist/commands/job/export.js.map +1 -0
- package/dist/commands/job/import.d.ts +38 -0
- package/dist/commands/job/import.js +143 -0
- package/dist/commands/job/import.js.map +1 -0
- package/dist/commands/job/run.d.ts +45 -0
- package/dist/commands/job/run.js +205 -0
- package/dist/commands/job/run.js.map +1 -0
- package/dist/commands/job/search.d.ts +37 -0
- package/dist/commands/job/search.js +102 -0
- package/dist/commands/job/search.js.map +1 -0
- package/dist/commands/job/wait.d.ts +38 -0
- package/dist/commands/job/wait.js +85 -0
- package/dist/commands/job/wait.js.map +1 -0
- package/dist/commands/mrt/env/create.d.ts +41 -0
- package/dist/commands/mrt/env/create.js +226 -0
- package/dist/commands/mrt/env/create.js.map +1 -0
- package/dist/commands/mrt/env/delete.d.ts +34 -0
- package/dist/commands/mrt/env/delete.js +94 -0
- package/dist/commands/mrt/env/delete.js.map +1 -0
- package/dist/commands/mrt/env/var/delete.d.ts +34 -0
- package/dist/commands/mrt/env/var/delete.js +53 -0
- package/dist/commands/mrt/env/var/delete.js.map +1 -0
- package/dist/commands/mrt/env/var/list.d.ts +28 -0
- package/dist/commands/mrt/env/var/list.js +71 -0
- package/dist/commands/mrt/env/var/list.js.map +1 -0
- package/dist/commands/mrt/env/var/set.d.ts +35 -0
- package/dist/commands/mrt/env/var/set.js +84 -0
- package/dist/commands/mrt/env/var/set.js.map +1 -0
- package/dist/commands/mrt/push.d.ts +37 -0
- package/dist/commands/mrt/push.js +122 -0
- package/dist/commands/mrt/push.js.map +1 -0
- package/dist/commands/ods/create.d.ts +42 -0
- package/dist/commands/ods/create.js +255 -0
- package/dist/commands/ods/create.js.map +1 -0
- package/dist/commands/ods/delete.d.ts +15 -0
- package/dist/commands/ods/delete.js +86 -0
- package/dist/commands/ods/delete.js.map +1 -0
- package/dist/commands/ods/get.d.ts +17 -0
- package/dist/commands/ods/get.js +99 -0
- package/dist/commands/ods/get.js.map +1 -0
- package/dist/commands/ods/info.d.ts +27 -0
- package/dist/commands/ods/info.js +109 -0
- package/dist/commands/ods/info.js.map +1 -0
- package/dist/commands/ods/list.d.ts +31 -0
- package/dist/commands/ods/list.js +166 -0
- package/dist/commands/ods/list.js.map +1 -0
- package/dist/commands/ods/restart.d.ts +16 -0
- package/dist/commands/ods/restart.js +51 -0
- package/dist/commands/ods/restart.js.map +1 -0
- package/dist/commands/ods/start.d.ts +16 -0
- package/dist/commands/ods/start.js +51 -0
- package/dist/commands/ods/start.js.map +1 -0
- package/dist/commands/ods/stop.d.ts +16 -0
- package/dist/commands/ods/stop.js +51 -0
- package/dist/commands/ods/stop.js.map +1 -0
- package/dist/commands/scapi/custom/status.d.ts +81 -0
- package/dist/commands/scapi/custom/status.js +321 -0
- package/dist/commands/scapi/custom/status.js.map +1 -0
- package/dist/commands/scapi/schemas/get.d.ts +86 -0
- package/dist/commands/scapi/schemas/get.js +317 -0
- package/dist/commands/scapi/schemas/get.js.map +1 -0
- package/dist/commands/scapi/schemas/list.d.ts +48 -0
- package/dist/commands/scapi/schemas/list.js +148 -0
- package/dist/commands/scapi/schemas/list.js.map +1 -0
- package/dist/commands/sites/list.d.ts +10 -0
- package/dist/commands/sites/list.js +56 -0
- package/dist/commands/sites/list.js.map +1 -0
- package/dist/commands/slas/client/create.d.ts +38 -0
- package/dist/commands/slas/client/create.js +168 -0
- package/dist/commands/slas/client/create.js.map +1 -0
- package/dist/commands/slas/client/delete.d.ts +34 -0
- package/dist/commands/slas/client/delete.js +54 -0
- package/dist/commands/slas/client/delete.js.map +1 -0
- package/dist/commands/slas/client/get.d.ts +29 -0
- package/dist/commands/slas/client/get.js +51 -0
- package/dist/commands/slas/client/get.js.map +1 -0
- package/dist/commands/slas/client/list.d.ts +30 -0
- package/dist/commands/slas/client/list.js +64 -0
- package/dist/commands/slas/client/list.js.map +1 -0
- package/dist/commands/slas/client/open.d.ts +25 -0
- package/dist/commands/slas/client/open.js +56 -0
- package/dist/commands/slas/client/open.js.map +1 -0
- package/dist/commands/slas/client/update.d.ts +60 -0
- package/dist/commands/slas/client/update.js +183 -0
- package/dist/commands/slas/client/update.js.map +1 -0
- package/dist/commands/webdav/get.d.ts +41 -0
- package/dist/commands/webdav/get.js +61 -0
- package/dist/commands/webdav/get.js.map +1 -0
- package/dist/commands/webdav/ls.d.ts +17 -0
- package/dist/commands/webdav/ls.js +101 -0
- package/dist/commands/webdav/ls.js.map +1 -0
- package/dist/commands/webdav/mkdir.d.ts +19 -0
- package/dist/commands/webdav/mkdir.js +48 -0
- package/dist/commands/webdav/mkdir.js.map +1 -0
- package/dist/commands/webdav/put.d.ts +23 -0
- package/dist/commands/webdav/put.js +107 -0
- package/dist/commands/webdav/put.js.map +1 -0
- package/dist/commands/webdav/rm.d.ts +40 -0
- package/dist/commands/webdav/rm.js +67 -0
- package/dist/commands/webdav/rm.js.map +1 -0
- package/dist/commands/webdav/unzip.d.ts +15 -0
- package/dist/commands/webdav/unzip.js +48 -0
- package/dist/commands/webdav/unzip.js.map +1 -0
- package/dist/commands/webdav/zip.d.ts +15 -0
- package/dist/commands/webdav/zip.js +47 -0
- package/dist/commands/webdav/zip.js.map +1 -0
- package/dist/i18n/index.d.ts +29 -0
- package/dist/i18n/index.js +43 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/locales/de.d.ts +51 -0
- package/dist/i18n/locales/de.js +57 -0
- package/dist/i18n/locales/de.js.map +1 -0
- package/dist/i18n/locales/en.d.ts +118 -0
- package/dist/i18n/locales/en.js +124 -0
- package/dist/i18n/locales/en.js.map +1 -0
- package/dist/i18n/locales/index.d.ts +177 -0
- package/dist/i18n/locales/index.js +26 -0
- package/dist/i18n/locales/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/scapi/schemas.d.ts +40 -0
- package/dist/utils/scapi/schemas.js +49 -0
- package/dist/utils/scapi/schemas.js.map +1 -0
- package/dist/utils/slas/client.d.ts +65 -0
- package/dist/utils/slas/client.js +146 -0
- package/dist/utils/slas/client.js.map +1 -0
- package/oclif.manifest.json +10942 -0
- package/package.json +154 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { SlasClientCommand, type ClientOutput } from '../../../utils/slas/client.js';
|
|
2
|
+
export default class SlasClientCreate extends SlasClientCommand<typeof SlasClientCreate> {
|
|
3
|
+
static args: {
|
|
4
|
+
clientId: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static enableJsonFlag: boolean;
|
|
8
|
+
static examples: string[];
|
|
9
|
+
static flags: {
|
|
10
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
channels: import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
scopes: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'default-scopes': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
'redirect-uri': import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'callback-uri': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
secret: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
public: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
'create-tenant': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
28
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
29
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
32
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
33
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
34
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
35
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
36
|
+
};
|
|
37
|
+
run(): Promise<ClientOutput>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
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 } from '@oclif/core';
|
|
7
|
+
import { randomUUID } from 'node:crypto';
|
|
8
|
+
import { SlasClientCommand, normalizeClientResponse, printClientDetails, formatApiError, } from '../../../utils/slas/client.js';
|
|
9
|
+
import { t } from '../../../i18n/index.js';
|
|
10
|
+
const DEFAULT_SCOPES = [
|
|
11
|
+
'sfcc.shopper-baskets-orders.rw',
|
|
12
|
+
'sfcc.shopper-categories',
|
|
13
|
+
'sfcc.shopper-customers.login',
|
|
14
|
+
'sfcc.shopper-customers.register',
|
|
15
|
+
'sfcc.shopper-discovery-search',
|
|
16
|
+
'sfcc.shopper-gift-certificates',
|
|
17
|
+
'sfcc.shopper-myaccount.addresses.rw',
|
|
18
|
+
'sfcc.shopper-myaccount.baskets',
|
|
19
|
+
'sfcc.shopper-myaccount.orders',
|
|
20
|
+
'sfcc.shopper-myaccount.paymentinstruments.rw',
|
|
21
|
+
'sfcc.shopper-myaccount.productlists.rw',
|
|
22
|
+
'sfcc.shopper-myaccount.rw',
|
|
23
|
+
'sfcc.shopper-configurations',
|
|
24
|
+
'sfcc.shopper-product-search',
|
|
25
|
+
'sfcc.shopper-productlists',
|
|
26
|
+
'sfcc.shopper-products',
|
|
27
|
+
'sfcc.shopper-promotions',
|
|
28
|
+
'sfcc.shopper-stores',
|
|
29
|
+
];
|
|
30
|
+
export default class SlasClientCreate extends SlasClientCommand {
|
|
31
|
+
static args = {
|
|
32
|
+
clientId: Args.string({
|
|
33
|
+
description: 'SLAS client ID to create or update (generates UUID if omitted)',
|
|
34
|
+
required: false,
|
|
35
|
+
}),
|
|
36
|
+
};
|
|
37
|
+
static description = t('commands.slas.client.create.description', 'Create or update a SLAS client');
|
|
38
|
+
static enableJsonFlag = true;
|
|
39
|
+
static examples = [
|
|
40
|
+
'<%= config.bin %> <%= command.id %> --tenant-id abcd_123 --channels RefArch --scopes sfcc.shopper-products,sfcc.shopper-search --redirect-uri http://localhost:3000/callback',
|
|
41
|
+
'<%= config.bin %> <%= command.id %> my-client-id --tenant-id abcd_123 --name "My Client" --channels RefArch --scopes sfcc.shopper-products --redirect-uri http://localhost:3000/callback --public',
|
|
42
|
+
'<%= config.bin %> <%= command.id %> my-client-id --tenant-id abcd_123 --name "My Client" --channels RefArch --scopes sfcc.shopper-products --redirect-uri http://localhost:3000/callback --json',
|
|
43
|
+
'<%= config.bin %> <%= command.id %> --tenant-id abcd_123 --channels RefArch --default-scopes --redirect-uri http://localhost:3000/callback',
|
|
44
|
+
];
|
|
45
|
+
static flags = {
|
|
46
|
+
...SlasClientCommand.baseFlags,
|
|
47
|
+
name: Flags.string({
|
|
48
|
+
description: 'Display name for the client (generates timestamped name if omitted)',
|
|
49
|
+
}),
|
|
50
|
+
channels: Flags.string({
|
|
51
|
+
description: 'Site IDs/channels (comma-separated)',
|
|
52
|
+
required: true,
|
|
53
|
+
multiple: true,
|
|
54
|
+
multipleNonGreedy: true,
|
|
55
|
+
delimiter: ',',
|
|
56
|
+
}),
|
|
57
|
+
scopes: Flags.string({
|
|
58
|
+
description: 'OAuth scopes for the client (comma-separated)',
|
|
59
|
+
required: false,
|
|
60
|
+
multiple: true,
|
|
61
|
+
multipleNonGreedy: true,
|
|
62
|
+
delimiter: ',',
|
|
63
|
+
}),
|
|
64
|
+
'default-scopes': Flags.boolean({
|
|
65
|
+
description: 'Use default shopper scopes (alternative to --scopes)',
|
|
66
|
+
default: false,
|
|
67
|
+
}),
|
|
68
|
+
'redirect-uri': Flags.string({
|
|
69
|
+
description: 'Redirect URIs (comma-separated)',
|
|
70
|
+
required: true,
|
|
71
|
+
multiple: true,
|
|
72
|
+
multipleNonGreedy: true,
|
|
73
|
+
delimiter: ',',
|
|
74
|
+
}),
|
|
75
|
+
'callback-uri': Flags.string({
|
|
76
|
+
description: 'Callback URIs for passwordless login (comma-separated)',
|
|
77
|
+
multiple: true,
|
|
78
|
+
multipleNonGreedy: true,
|
|
79
|
+
delimiter: ',',
|
|
80
|
+
}),
|
|
81
|
+
secret: Flags.string({
|
|
82
|
+
description: 'Client secret for private clients (if omitted, one will be generated)',
|
|
83
|
+
}),
|
|
84
|
+
public: Flags.boolean({
|
|
85
|
+
description: 'Create a public client (default is private)',
|
|
86
|
+
default: false,
|
|
87
|
+
}),
|
|
88
|
+
'create-tenant': Flags.boolean({
|
|
89
|
+
description: 'Automatically create tenant if it does not exist',
|
|
90
|
+
default: true,
|
|
91
|
+
allowNo: true,
|
|
92
|
+
}),
|
|
93
|
+
};
|
|
94
|
+
async run() {
|
|
95
|
+
this.requireOAuthCredentials();
|
|
96
|
+
const { 'tenant-id': tenantId, name, channels, scopes, 'default-scopes': useDefaultScopes, 'redirect-uri': redirectUri, 'callback-uri': callbackUri, secret, public: isPublic, 'create-tenant': createTenant, } = this.flags;
|
|
97
|
+
// Validate that either --scopes or --default-scopes is provided
|
|
98
|
+
if (!scopes && !useDefaultScopes) {
|
|
99
|
+
this.error(t('commands.slas.client.create.scopesRequired', 'Either --scopes or --default-scopes must be provided'));
|
|
100
|
+
}
|
|
101
|
+
// Use provided client ID or generate a UUID
|
|
102
|
+
const clientId = this.args.clientId ?? randomUUID().toLowerCase();
|
|
103
|
+
// Use provided name or generate a timestamped name
|
|
104
|
+
const clientName = name ?? `b2c-cli client ${new Date().toISOString()}`;
|
|
105
|
+
// oclif handles comma-separation via delimiter option
|
|
106
|
+
const parsedChannels = channels;
|
|
107
|
+
const parsedScopes = useDefaultScopes ? DEFAULT_SCOPES : scopes;
|
|
108
|
+
const parsedRedirectUri = redirectUri;
|
|
109
|
+
const parsedCallbackUri = callbackUri;
|
|
110
|
+
if (!this.jsonEnabled()) {
|
|
111
|
+
this.log(t('commands.slas.client.create.creating', 'Creating/updating SLAS client {{clientId}}...', { clientId }));
|
|
112
|
+
}
|
|
113
|
+
const slasClient = this.getSlasClient();
|
|
114
|
+
// Ensure tenant exists before creating client (if enabled)
|
|
115
|
+
if (createTenant) {
|
|
116
|
+
await this.ensureTenantExists(slasClient, tenantId);
|
|
117
|
+
}
|
|
118
|
+
// Build body - secret should only be included for private clients
|
|
119
|
+
const body = {
|
|
120
|
+
clientId,
|
|
121
|
+
name: clientName,
|
|
122
|
+
channels: parsedChannels,
|
|
123
|
+
scopes: parsedScopes,
|
|
124
|
+
redirectUri: parsedRedirectUri,
|
|
125
|
+
callbackUri: parsedCallbackUri,
|
|
126
|
+
isPrivateClient: !isPublic,
|
|
127
|
+
};
|
|
128
|
+
// Only include secret for private clients
|
|
129
|
+
if (!isPublic) {
|
|
130
|
+
body.secret = secret ?? `sk_${randomUUID().replaceAll('-', '')}`;
|
|
131
|
+
}
|
|
132
|
+
const { data, error, response } = await slasClient.PUT('/tenants/{tenantId}/clients/{clientId}', {
|
|
133
|
+
params: {
|
|
134
|
+
path: { tenantId, clientId },
|
|
135
|
+
},
|
|
136
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
137
|
+
body: body,
|
|
138
|
+
});
|
|
139
|
+
if (error) {
|
|
140
|
+
this.error(t('commands.slas.client.create.error', 'Failed to create/update SLAS client: {{message}}', {
|
|
141
|
+
message: formatApiError(error),
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
const client = data;
|
|
145
|
+
const wasCreated = response.status === 201;
|
|
146
|
+
const output = normalizeClientResponse(client);
|
|
147
|
+
// Use our parsed values as fallback if API doesn't return them
|
|
148
|
+
if (output.scopes.length === 0)
|
|
149
|
+
output.scopes = parsedScopes;
|
|
150
|
+
if (output.channels.length === 0)
|
|
151
|
+
output.channels = parsedChannels;
|
|
152
|
+
if (!output.redirectUri)
|
|
153
|
+
output.redirectUri = parsedRedirectUri.join(', ');
|
|
154
|
+
if (this.jsonEnabled()) {
|
|
155
|
+
return output;
|
|
156
|
+
}
|
|
157
|
+
// Human-readable output
|
|
158
|
+
if (wasCreated) {
|
|
159
|
+
this.log(t('commands.slas.client.create.created', 'SLAS client created successfully.'));
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
this.log(t('commands.slas.client.create.updated', 'SLAS client updated successfully.'));
|
|
163
|
+
}
|
|
164
|
+
printClientDetails(output);
|
|
165
|
+
return output;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/slas/client/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { SlasClientCommand } from '../../../utils/slas/client.js';
|
|
2
|
+
interface DeleteOutput {
|
|
3
|
+
clientId: string;
|
|
4
|
+
deleted: boolean;
|
|
5
|
+
}
|
|
6
|
+
export default class SlasClientDelete extends SlasClientCommand<typeof SlasClientDelete> {
|
|
7
|
+
static args: {
|
|
8
|
+
clientId: 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
|
+
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
23
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
29
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
};
|
|
32
|
+
run(): Promise<DeleteOutput>;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
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 { SlasClientCommand, formatApiError } from '../../../utils/slas/client.js';
|
|
8
|
+
import { t } from '../../../i18n/index.js';
|
|
9
|
+
export default class SlasClientDelete extends SlasClientCommand {
|
|
10
|
+
static args = {
|
|
11
|
+
clientId: Args.string({
|
|
12
|
+
description: 'SLAS client ID to delete',
|
|
13
|
+
required: true,
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
static description = t('commands.slas.client.delete.description', 'Delete a SLAS client');
|
|
17
|
+
static enableJsonFlag = true;
|
|
18
|
+
static examples = [
|
|
19
|
+
'<%= config.bin %> <%= command.id %> my-client-id --tenant-id abcd_123',
|
|
20
|
+
'<%= config.bin %> <%= command.id %> my-client-id --tenant-id abcd_123 --json',
|
|
21
|
+
];
|
|
22
|
+
static flags = {
|
|
23
|
+
...SlasClientCommand.baseFlags,
|
|
24
|
+
};
|
|
25
|
+
async run() {
|
|
26
|
+
this.requireOAuthCredentials();
|
|
27
|
+
const { 'tenant-id': tenantId } = this.flags;
|
|
28
|
+
const { clientId } = this.args;
|
|
29
|
+
if (!this.jsonEnabled()) {
|
|
30
|
+
this.log(t('commands.slas.client.delete.deleting', 'Deleting SLAS client {{clientId}}...', { clientId }));
|
|
31
|
+
}
|
|
32
|
+
const slasClient = this.getSlasClient();
|
|
33
|
+
const { error } = await slasClient.DELETE('/tenants/{tenantId}/clients/{clientId}', {
|
|
34
|
+
params: {
|
|
35
|
+
path: { tenantId, clientId },
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
if (error) {
|
|
39
|
+
this.error(t('commands.slas.client.delete.error', 'Failed to delete SLAS client: {{message}}', {
|
|
40
|
+
message: formatApiError(error),
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
const output = {
|
|
44
|
+
clientId,
|
|
45
|
+
deleted: true,
|
|
46
|
+
};
|
|
47
|
+
if (this.jsonEnabled()) {
|
|
48
|
+
return output;
|
|
49
|
+
}
|
|
50
|
+
this.log(t('commands.slas.client.delete.success', 'SLAS client {{clientId}} deleted successfully.', { clientId }));
|
|
51
|
+
return output;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/slas/client/delete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;AAOzC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,iBAA0C;IACtF,MAAM,CAAC,IAAI,GAAG;QACZ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,yCAAyC,EAAE,sBAAsB,CAAC,CAAC;IAE1F,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,uEAAuE;QACvE,8EAA8E;KAC/E,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,iBAAiB,CAAC,SAAS;KAC/B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,sCAAsC,EAAE,sCAAsC,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC;QAC1G,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,wCAAwC,EAAE;YAChF,MAAM,EAAE;gBACN,IAAI,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAC;aAC3B;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,mCAAmC,EAAE,2CAA2C,EAAE;gBAClF,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAiB;YAC3B,QAAQ;YACR,OAAO,EAAE,IAAI;SACd,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC,EAAE,gDAAgD,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC;QAEjH,OAAO,MAAM,CAAC;IAChB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SlasClientCommand, type ClientOutput } from '../../../utils/slas/client.js';
|
|
2
|
+
export default class SlasClientGet extends SlasClientCommand<typeof SlasClientGet> {
|
|
3
|
+
static args: {
|
|
4
|
+
clientId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static enableJsonFlag: boolean;
|
|
8
|
+
static examples: string[];
|
|
9
|
+
static flags: {
|
|
10
|
+
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
|
+
};
|
|
28
|
+
run(): Promise<ClientOutput>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
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 { SlasClientCommand, normalizeClientResponse, printClientDetails, formatApiError, } from '../../../utils/slas/client.js';
|
|
8
|
+
import { t } from '../../../i18n/index.js';
|
|
9
|
+
export default class SlasClientGet extends SlasClientCommand {
|
|
10
|
+
static args = {
|
|
11
|
+
clientId: Args.string({
|
|
12
|
+
description: 'SLAS client ID to retrieve',
|
|
13
|
+
required: true,
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
static description = t('commands.slas.client.get.description', 'Get a SLAS client');
|
|
17
|
+
static enableJsonFlag = true;
|
|
18
|
+
static examples = [
|
|
19
|
+
'<%= config.bin %> <%= command.id %> my-client-id --tenant-id abcd_123',
|
|
20
|
+
'<%= config.bin %> <%= command.id %> my-client-id --tenant-id abcd_123 --json',
|
|
21
|
+
];
|
|
22
|
+
static flags = {
|
|
23
|
+
...SlasClientCommand.baseFlags,
|
|
24
|
+
};
|
|
25
|
+
async run() {
|
|
26
|
+
this.requireOAuthCredentials();
|
|
27
|
+
const { 'tenant-id': tenantId } = this.flags;
|
|
28
|
+
const { clientId } = this.args;
|
|
29
|
+
if (!this.jsonEnabled()) {
|
|
30
|
+
this.log(t('commands.slas.client.get.fetching', 'Fetching SLAS client {{clientId}}...', { clientId }));
|
|
31
|
+
}
|
|
32
|
+
const slasClient = this.getSlasClient();
|
|
33
|
+
const { data, error } = await slasClient.GET('/tenants/{tenantId}/clients/{clientId}', {
|
|
34
|
+
params: {
|
|
35
|
+
path: { tenantId, clientId },
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
if (error) {
|
|
39
|
+
this.error(t('commands.slas.client.get.error', 'Failed to get SLAS client: {{message}}', {
|
|
40
|
+
message: formatApiError(error),
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
const output = normalizeClientResponse(data);
|
|
44
|
+
if (this.jsonEnabled()) {
|
|
45
|
+
return output;
|
|
46
|
+
}
|
|
47
|
+
printClientDetails(output, false);
|
|
48
|
+
return output;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/slas/client/get.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,iBAAiB,EAGjB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,iBAAuC;IAChF,MAAM,CAAC,IAAI,GAAG;QACZ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,sCAAsC,EAAE,mBAAmB,CAAC,CAAC;IAEpF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,uEAAuE;QACvE,8EAA8E;KAC/E,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,iBAAiB,CAAC,SAAS;KAC/B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC,EAAE,sCAAsC,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,wCAAwC,EAAE;YACnF,MAAM,EAAE;gBACN,IAAI,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAC;aAC3B;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,gCAAgC,EAAE,wCAAwC,EAAE;gBAC5E,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAc,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAElC,OAAO,MAAM,CAAC;IAChB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SlasClientCommand, type ClientOutput } from '../../../utils/slas/client.js';
|
|
2
|
+
interface ClientListOutput {
|
|
3
|
+
clients: ClientOutput[];
|
|
4
|
+
}
|
|
5
|
+
export default class SlasClientList extends SlasClientCommand<typeof SlasClientList> {
|
|
6
|
+
static description: string;
|
|
7
|
+
static enableJsonFlag: boolean;
|
|
8
|
+
static examples: string[];
|
|
9
|
+
static flags: {
|
|
10
|
+
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
|
+
};
|
|
28
|
+
run(): Promise<ClientListOutput>;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
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 { createTable } from '@salesforce/b2c-tooling-sdk/cli';
|
|
7
|
+
import { SlasClientCommand, normalizeClientResponse, formatApiError, } from '../../../utils/slas/client.js';
|
|
8
|
+
import { t } from '../../../i18n/index.js';
|
|
9
|
+
const COLUMNS = {
|
|
10
|
+
clientId: {
|
|
11
|
+
header: 'Client ID',
|
|
12
|
+
get: (c) => c.clientId,
|
|
13
|
+
},
|
|
14
|
+
name: {
|
|
15
|
+
header: 'Name',
|
|
16
|
+
get: (c) => c.name,
|
|
17
|
+
},
|
|
18
|
+
isPrivate: {
|
|
19
|
+
header: 'Private',
|
|
20
|
+
get: (c) => String(c.isPrivateClient),
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
const DEFAULT_COLUMNS = ['clientId', 'name', 'isPrivate'];
|
|
24
|
+
export default class SlasClientList extends SlasClientCommand {
|
|
25
|
+
static description = t('commands.slas.client.list.description', 'List SLAS clients for a tenant');
|
|
26
|
+
static enableJsonFlag = true;
|
|
27
|
+
static examples = [
|
|
28
|
+
'<%= config.bin %> <%= command.id %> --tenant-id abcd_123',
|
|
29
|
+
'<%= config.bin %> <%= command.id %> --tenant-id abcd_123 --json',
|
|
30
|
+
];
|
|
31
|
+
static flags = {
|
|
32
|
+
...SlasClientCommand.baseFlags,
|
|
33
|
+
};
|
|
34
|
+
async run() {
|
|
35
|
+
this.requireOAuthCredentials();
|
|
36
|
+
const { 'tenant-id': tenantId } = this.flags;
|
|
37
|
+
if (!this.jsonEnabled()) {
|
|
38
|
+
this.log(t('commands.slas.client.list.fetching', 'Fetching SLAS clients for tenant {{tenantId}}...', { tenantId }));
|
|
39
|
+
}
|
|
40
|
+
const slasClient = this.getSlasClient();
|
|
41
|
+
const { data, error } = await slasClient.GET('/tenants/{tenantId}/clients', {
|
|
42
|
+
params: {
|
|
43
|
+
path: { tenantId },
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
if (error) {
|
|
47
|
+
this.error(t('commands.slas.client.list.error', 'Failed to list SLAS clients: {{message}}', {
|
|
48
|
+
message: formatApiError(error),
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
const clients = (data?.data ?? []).map((client) => normalizeClientResponse(client));
|
|
52
|
+
const output = { clients };
|
|
53
|
+
if (this.jsonEnabled()) {
|
|
54
|
+
return output;
|
|
55
|
+
}
|
|
56
|
+
if (clients.length === 0) {
|
|
57
|
+
this.log(t('commands.slas.client.list.noClients', 'No SLAS clients found.'));
|
|
58
|
+
return output;
|
|
59
|
+
}
|
|
60
|
+
createTable(COLUMNS).render(clients, DEFAULT_COLUMNS);
|
|
61
|
+
return output;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/slas/client/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,WAAW,EAAiB,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACL,iBAAiB,EAGjB,uBAAuB,EACvB,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;AAMzC,MAAM,OAAO,GAA4C;IACvD,QAAQ,EAAE;QACR,MAAM,EAAE,WAAW;QACnB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ;KACvB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;KACnB;IACD,SAAS,EAAE;QACT,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;KACtC;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,iBAAwC;IAClF,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,uCAAuC,EAAE,gCAAgC,CAAC,CAAC;IAElG,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,0DAA0D;QAC1D,iEAAiE;KAClE,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,iBAAiB,CAAC,SAAS;KAC/B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,oCAAoC,EAAE,kDAAkD,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,6BAA6B,EAAE;YACxE,MAAM,EAAE;gBACN,IAAI,EAAE,EAAC,QAAQ,EAAC;aACjB;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,iCAAiC,EAAE,0CAA0C,EAAE;gBAC/E,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,CAAE,IAA0B,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3G,MAAM,MAAM,GAAqB,EAAC,OAAO,EAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC,EAAE,wBAAwB,CAAC,CAAC,CAAC;YAC7E,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAEtD,OAAO,MAAM,CAAC;IAChB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
export default class SlasClientOpen extends BaseCommand<typeof SlasClientOpen> {
|
|
3
|
+
static args: {
|
|
4
|
+
clientId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
};
|
|
22
|
+
run(): Promise<{
|
|
23
|
+
url: string;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
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 } from '@oclif/core';
|
|
7
|
+
import { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { t } from '../../../i18n/index.js';
|
|
9
|
+
async function openBrowser(url) {
|
|
10
|
+
try {
|
|
11
|
+
const open = await import('open');
|
|
12
|
+
await open.default(url);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
// If open fails, the URL will still be printed to console
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export default class SlasClientOpen extends BaseCommand {
|
|
19
|
+
static args = {
|
|
20
|
+
clientId: Args.string({
|
|
21
|
+
description: 'SLAS client ID to open in the admin UI',
|
|
22
|
+
required: true,
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
static description = t('commands.slas.client.open.description', 'Open the SLAS Admin UI for a client');
|
|
26
|
+
static examples = [
|
|
27
|
+
'<%= config.bin %> <%= command.id %> my-client-id --tenant-id abcd_123',
|
|
28
|
+
'<%= config.bin %> <%= command.id %> my-client-id --tenant-id abcd_123 --short-code kv7kzm78',
|
|
29
|
+
];
|
|
30
|
+
static flags = {
|
|
31
|
+
...BaseCommand.baseFlags,
|
|
32
|
+
'tenant-id': Flags.string({
|
|
33
|
+
description: 'SLAS tenant ID (organization ID)',
|
|
34
|
+
env: 'SFCC_TENANT_ID',
|
|
35
|
+
required: true,
|
|
36
|
+
}),
|
|
37
|
+
'short-code': Flags.string({
|
|
38
|
+
description: 'SCAPI short code',
|
|
39
|
+
env: 'SFCC_SHORTCODE',
|
|
40
|
+
}),
|
|
41
|
+
};
|
|
42
|
+
async run() {
|
|
43
|
+
const { 'tenant-id': tenantId, 'short-code': shortCodeFlag } = this.flags;
|
|
44
|
+
const { clientId } = this.args;
|
|
45
|
+
const shortCode = shortCodeFlag ?? this.resolvedConfig.values.shortCode;
|
|
46
|
+
if (!shortCode) {
|
|
47
|
+
this.error(t('error.shortCodeRequired', 'SCAPI short code required. Provide --short-code, set SFCC_SHORTCODE, or configure short-code in dw.json.'));
|
|
48
|
+
}
|
|
49
|
+
const url = `https://${shortCode}.api.commercecloud.salesforce.com/shopper/auth-admin/v1/ui/client?clientId=${encodeURIComponent(clientId)}&tenantId=${encodeURIComponent(tenantId)}`;
|
|
50
|
+
this.log(t('commands.slas.client.open.opening', 'Opening SLAS Admin UI...'));
|
|
51
|
+
this.log(url);
|
|
52
|
+
await openBrowser(url);
|
|
53
|
+
return { url };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=open.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../../src/commands/slas/client/open.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;AAEzC,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAkC;IAC5E,MAAM,CAAC,IAAI,GAAG;QACZ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,uCAAuC,EAAE,qCAAqC,CAAC,CAAC;IAEvG,MAAM,CAAC,QAAQ,GAAG;QAChB,uEAAuE;QACvE,6FAA6F;KAC9F,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,WAAW,CAAC,SAAS;QACxB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,kCAAkC;YAC/C,GAAG,EAAE,gBAAgB;YACrB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,kBAAkB;YAC/B,GAAG,EAAE,gBAAgB;SACtB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACxE,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAE7B,MAAM,SAAS,GAAG,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC;QAExE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CACR,CAAC,CACC,yBAAyB,EACzB,0GAA0G,CAC3G,CACF,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,SAAS,8EAA8E,kBAAkB,CAAC,QAAQ,CAAC,aAAa,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAEtL,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC,EAAE,0BAA0B,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QAEvB,OAAO,EAAC,GAAG,EAAC,CAAC;IACf,CAAC"}
|