@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,321 @@
|
|
|
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 { Command, Flags, ux } from '@oclif/core';
|
|
7
|
+
import { OAuthCommand, TableRenderer } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { createCustomApisClient, toOrganizationId } from '@salesforce/b2c-tooling-sdk';
|
|
9
|
+
import { t } from '../../../i18n/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Maps security scheme to human-readable API type.
|
|
12
|
+
*/
|
|
13
|
+
function getApiType(securityScheme) {
|
|
14
|
+
switch (securityScheme) {
|
|
15
|
+
case 'AmOAuth2': {
|
|
16
|
+
return 'Admin';
|
|
17
|
+
}
|
|
18
|
+
case 'ShopperToken': {
|
|
19
|
+
return 'Shopper';
|
|
20
|
+
}
|
|
21
|
+
default: {
|
|
22
|
+
return securityScheme || '-';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Creates a unique key for grouping endpoints.
|
|
28
|
+
*/
|
|
29
|
+
function getEndpointKey(endpoint) {
|
|
30
|
+
return [
|
|
31
|
+
endpoint.apiName,
|
|
32
|
+
endpoint.apiVersion,
|
|
33
|
+
endpoint.cartridgeName,
|
|
34
|
+
endpoint.endpointPath,
|
|
35
|
+
endpoint.httpMethod,
|
|
36
|
+
endpoint.status,
|
|
37
|
+
endpoint.securityScheme,
|
|
38
|
+
].join('|');
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Rolls up endpoints by combining those with the same key into a single entry with multiple siteIds.
|
|
42
|
+
*/
|
|
43
|
+
function rollUpEndpoints(endpoints) {
|
|
44
|
+
const grouped = new Map();
|
|
45
|
+
for (const endpoint of endpoints) {
|
|
46
|
+
const key = getEndpointKey(endpoint);
|
|
47
|
+
const existing = grouped.get(key);
|
|
48
|
+
if (existing) {
|
|
49
|
+
// Add site to existing entry if not already present
|
|
50
|
+
if (endpoint.siteId && !existing.siteIds.includes(endpoint.siteId)) {
|
|
51
|
+
existing.siteIds.push(endpoint.siteId);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// Create new rolled-up entry
|
|
56
|
+
const { siteId, ...rest } = endpoint;
|
|
57
|
+
grouped.set(key, {
|
|
58
|
+
...rest,
|
|
59
|
+
siteIds: siteId ? [siteId] : [],
|
|
60
|
+
type: getApiType(endpoint.securityScheme),
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return [...grouped.values()];
|
|
65
|
+
}
|
|
66
|
+
const COLUMNS = {
|
|
67
|
+
type: {
|
|
68
|
+
header: 'Type',
|
|
69
|
+
get: (e) => e.type,
|
|
70
|
+
},
|
|
71
|
+
apiName: {
|
|
72
|
+
header: 'API Name',
|
|
73
|
+
get: (e) => e.apiName || '-',
|
|
74
|
+
},
|
|
75
|
+
apiVersion: {
|
|
76
|
+
header: 'Version',
|
|
77
|
+
get: (e) => e.apiVersion || '-',
|
|
78
|
+
},
|
|
79
|
+
cartridgeName: {
|
|
80
|
+
header: 'Cartridge',
|
|
81
|
+
get: (e) => e.cartridgeName || '-',
|
|
82
|
+
},
|
|
83
|
+
endpointPath: {
|
|
84
|
+
header: 'Path',
|
|
85
|
+
get: (e) => e.endpointPath || '-',
|
|
86
|
+
},
|
|
87
|
+
httpMethod: {
|
|
88
|
+
header: 'Method',
|
|
89
|
+
get: (e) => e.httpMethod || '-',
|
|
90
|
+
},
|
|
91
|
+
status: {
|
|
92
|
+
header: 'Status',
|
|
93
|
+
get: (e) => e.status || '-',
|
|
94
|
+
},
|
|
95
|
+
sites: {
|
|
96
|
+
header: 'Sites',
|
|
97
|
+
get: (e) => (e.siteIds.length > 0 ? e.siteIds.join(', ') : '-'),
|
|
98
|
+
extended: true,
|
|
99
|
+
},
|
|
100
|
+
securityScheme: {
|
|
101
|
+
header: 'Security',
|
|
102
|
+
get: (e) => e.securityScheme || '-',
|
|
103
|
+
extended: true,
|
|
104
|
+
},
|
|
105
|
+
operationId: {
|
|
106
|
+
header: 'Operation ID',
|
|
107
|
+
get: (e) => e.operationId || '-',
|
|
108
|
+
extended: true,
|
|
109
|
+
},
|
|
110
|
+
schemaFile: {
|
|
111
|
+
header: 'Schema File',
|
|
112
|
+
get: (e) => e.schemaFile || '-',
|
|
113
|
+
extended: true,
|
|
114
|
+
},
|
|
115
|
+
implementationScript: {
|
|
116
|
+
header: 'Script',
|
|
117
|
+
get: (e) => e.implementationScript || '-',
|
|
118
|
+
extended: true,
|
|
119
|
+
},
|
|
120
|
+
errorReason: {
|
|
121
|
+
header: 'Error Reason',
|
|
122
|
+
get: (e) => e.errorReason || '-',
|
|
123
|
+
extended: true,
|
|
124
|
+
},
|
|
125
|
+
id: {
|
|
126
|
+
header: 'ID',
|
|
127
|
+
get: (e) => e.id || '-',
|
|
128
|
+
extended: true,
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
/** Default columns shown without --extended */
|
|
132
|
+
const DEFAULT_COLUMNS = ['type', 'apiName', 'endpointPath', 'httpMethod', 'status'];
|
|
133
|
+
const tableRenderer = new TableRenderer(COLUMNS);
|
|
134
|
+
/**
|
|
135
|
+
* Base command for SCAPI Custom API operations.
|
|
136
|
+
*/
|
|
137
|
+
class ScapiCustomCommand extends OAuthCommand {
|
|
138
|
+
static baseFlags = {
|
|
139
|
+
...OAuthCommand.baseFlags,
|
|
140
|
+
'tenant-id': Flags.string({
|
|
141
|
+
description: 'Organization/tenant ID',
|
|
142
|
+
env: 'SFCC_TENANT_ID',
|
|
143
|
+
required: true,
|
|
144
|
+
}),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Command to get the status of Custom API endpoints.
|
|
149
|
+
*/
|
|
150
|
+
export default class ScapiCustomStatus extends ScapiCustomCommand {
|
|
151
|
+
static description = t('commands.scapi.custom.status.description', 'Get the status of Custom API endpoints');
|
|
152
|
+
static enableJsonFlag = true;
|
|
153
|
+
static examples = [
|
|
154
|
+
'<%= config.bin %> <%= command.id %> --tenant-id f_ecom_zzxy_prd',
|
|
155
|
+
'<%= config.bin %> <%= command.id %> --tenant-id f_ecom_zzxy_prd --status active',
|
|
156
|
+
'<%= config.bin %> <%= command.id %> --tenant-id f_ecom_zzxy_prd --group-by type',
|
|
157
|
+
'<%= config.bin %> <%= command.id %> --tenant-id f_ecom_zzxy_prd --group-by site',
|
|
158
|
+
'<%= config.bin %> <%= command.id %> --tenant-id f_ecom_zzxy_prd --extended',
|
|
159
|
+
'<%= config.bin %> <%= command.id %> --tenant-id f_ecom_zzxy_prd --columns type,apiName,status,sites',
|
|
160
|
+
'<%= config.bin %> <%= command.id %> --tenant-id f_ecom_zzxy_prd --json',
|
|
161
|
+
];
|
|
162
|
+
static flags = {
|
|
163
|
+
...ScapiCustomCommand.baseFlags,
|
|
164
|
+
status: Flags.string({
|
|
165
|
+
char: 's',
|
|
166
|
+
description: 'Filter by endpoint status',
|
|
167
|
+
options: ['active', 'not_registered'],
|
|
168
|
+
}),
|
|
169
|
+
'group-by': Flags.string({
|
|
170
|
+
char: 'g',
|
|
171
|
+
description: 'Group output by field (type or site)',
|
|
172
|
+
options: ['type', 'site'],
|
|
173
|
+
}),
|
|
174
|
+
columns: Flags.string({
|
|
175
|
+
char: 'c',
|
|
176
|
+
description: `Columns to display (comma-separated). Available: ${Object.keys(COLUMNS).join(', ')}`,
|
|
177
|
+
}),
|
|
178
|
+
extended: Flags.boolean({
|
|
179
|
+
char: 'x',
|
|
180
|
+
description: 'Show all columns including extended fields',
|
|
181
|
+
default: false,
|
|
182
|
+
}),
|
|
183
|
+
};
|
|
184
|
+
async run() {
|
|
185
|
+
this.requireOAuthCredentials();
|
|
186
|
+
const { 'tenant-id': tenantId, status, 'group-by': groupBy } = this.flags;
|
|
187
|
+
const { shortCode } = this.resolvedConfig.values;
|
|
188
|
+
if (!shortCode) {
|
|
189
|
+
this.error(t('error.shortCodeRequired', 'SCAPI short code required. Provide --short-code, set SFCC_SHORTCODE, or configure short-code in dw.json.'));
|
|
190
|
+
}
|
|
191
|
+
if (!this.jsonEnabled()) {
|
|
192
|
+
this.log(t('commands.scapi.custom.status.fetching', 'Fetching Custom API endpoints for {{tenantId}}...', { tenantId }));
|
|
193
|
+
}
|
|
194
|
+
const oauthStrategy = this.getOAuthStrategy();
|
|
195
|
+
const client = createCustomApisClient({ shortCode, tenantId }, oauthStrategy);
|
|
196
|
+
// Ensure organizationId has the required f_ecom_ prefix
|
|
197
|
+
const organizationId = toOrganizationId(tenantId);
|
|
198
|
+
const { data, error } = await client.GET('/organizations/{organizationId}/endpoints', {
|
|
199
|
+
params: {
|
|
200
|
+
path: { organizationId },
|
|
201
|
+
query: status ? { status: status } : undefined,
|
|
202
|
+
},
|
|
203
|
+
});
|
|
204
|
+
if (error) {
|
|
205
|
+
this.error(t('commands.scapi.custom.status.error', 'Failed to fetch Custom API endpoints: {{message}}', {
|
|
206
|
+
message: typeof error === 'object' ? JSON.stringify(error) : String(error),
|
|
207
|
+
}));
|
|
208
|
+
}
|
|
209
|
+
const endpoints = data?.data ?? [];
|
|
210
|
+
const response = {
|
|
211
|
+
total: data?.total ?? endpoints.length,
|
|
212
|
+
activeCodeVersion: data?.activeCodeVersion,
|
|
213
|
+
data: endpoints,
|
|
214
|
+
};
|
|
215
|
+
if (this.jsonEnabled()) {
|
|
216
|
+
return response;
|
|
217
|
+
}
|
|
218
|
+
if (endpoints.length === 0) {
|
|
219
|
+
this.log(t('commands.scapi.custom.status.noEndpoints', 'No Custom API endpoints found.'));
|
|
220
|
+
return response;
|
|
221
|
+
}
|
|
222
|
+
if (data?.activeCodeVersion) {
|
|
223
|
+
this.log(t('commands.scapi.custom.status.codeVersion', 'Active code version: {{version}}', {
|
|
224
|
+
version: data.activeCodeVersion,
|
|
225
|
+
}));
|
|
226
|
+
}
|
|
227
|
+
// Roll up endpoints to combine duplicate entries with different siteIds
|
|
228
|
+
const rolledUp = rollUpEndpoints(endpoints);
|
|
229
|
+
this.log(t('commands.scapi.custom.status.count', 'Found {{count}} endpoint(s):', {
|
|
230
|
+
count: rolledUp.length,
|
|
231
|
+
}));
|
|
232
|
+
this.log('');
|
|
233
|
+
// Render with optional grouping
|
|
234
|
+
this.renderEndpoints(rolledUp, groupBy);
|
|
235
|
+
return response;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Determines which columns to display based on flags.
|
|
239
|
+
*/
|
|
240
|
+
getSelectedColumns() {
|
|
241
|
+
const columnsFlag = this.flags.columns;
|
|
242
|
+
const extended = this.flags.extended;
|
|
243
|
+
if (columnsFlag) {
|
|
244
|
+
// User specified explicit columns
|
|
245
|
+
const requested = columnsFlag.split(',').map((c) => c.trim());
|
|
246
|
+
const valid = tableRenderer.validateColumnKeys(requested);
|
|
247
|
+
if (valid.length === 0) {
|
|
248
|
+
this.warn(`No valid columns specified. Available: ${tableRenderer.getColumnKeys().join(', ')}`);
|
|
249
|
+
return DEFAULT_COLUMNS;
|
|
250
|
+
}
|
|
251
|
+
return valid;
|
|
252
|
+
}
|
|
253
|
+
if (extended) {
|
|
254
|
+
// Show all columns
|
|
255
|
+
return tableRenderer.getColumnKeys();
|
|
256
|
+
}
|
|
257
|
+
// Default columns (non-extended)
|
|
258
|
+
return DEFAULT_COLUMNS;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Groups endpoints by a key function.
|
|
262
|
+
*/
|
|
263
|
+
groupEndpointsBy(endpoints, keyFn) {
|
|
264
|
+
const groups = new Map();
|
|
265
|
+
for (const endpoint of endpoints) {
|
|
266
|
+
const key = keyFn(endpoint);
|
|
267
|
+
const group = groups.get(key) || [];
|
|
268
|
+
group.push(endpoint);
|
|
269
|
+
groups.set(key, group);
|
|
270
|
+
}
|
|
271
|
+
return groups;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Renders endpoints, optionally grouped by type or site.
|
|
275
|
+
*/
|
|
276
|
+
renderEndpoints(endpoints, groupBy) {
|
|
277
|
+
const columns = this.getSelectedColumns();
|
|
278
|
+
if (!groupBy) {
|
|
279
|
+
// No grouping - render flat table
|
|
280
|
+
tableRenderer.render(endpoints, columns);
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
if (groupBy === 'type') {
|
|
284
|
+
// Group by API type (Admin/Shopper)
|
|
285
|
+
const grouped = this.groupEndpointsBy(endpoints, (e) => e.type);
|
|
286
|
+
for (const [type, items] of grouped) {
|
|
287
|
+
ux.stdout(`${type} APIs:\n`);
|
|
288
|
+
tableRenderer.render(items, columns.filter((c) => c !== 'type'));
|
|
289
|
+
ux.stdout('\n');
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
else if (groupBy === 'site') {
|
|
293
|
+
// Group by site - each endpoint may appear under multiple sites
|
|
294
|
+
const siteGroups = new Map();
|
|
295
|
+
for (const endpoint of endpoints) {
|
|
296
|
+
if (endpoint.siteIds.length === 0) {
|
|
297
|
+
// No site - put in "Global" group
|
|
298
|
+
const group = siteGroups.get('Global') || [];
|
|
299
|
+
group.push(endpoint);
|
|
300
|
+
siteGroups.set('Global', group);
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
for (const siteId of endpoint.siteIds) {
|
|
304
|
+
const group = siteGroups.get(siteId) || [];
|
|
305
|
+
group.push(endpoint);
|
|
306
|
+
siteGroups.set(siteId, group);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
// Sort site names
|
|
311
|
+
const sortedSites = [...siteGroups.keys()].sort();
|
|
312
|
+
for (const site of sortedSites) {
|
|
313
|
+
const items = siteGroups.get(site);
|
|
314
|
+
ux.stdout(`Site: ${site}\n`);
|
|
315
|
+
tableRenderer.render(items, columns.filter((c) => c !== 'sites'));
|
|
316
|
+
ux.stdout('\n');
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/commands/scapi/custom/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { ScapiSchemasCommand } from '../../../utils/scapi/schemas.js';
|
|
2
|
+
/**
|
|
3
|
+
* Response type for the get command when using --json flag.
|
|
4
|
+
*/
|
|
5
|
+
interface GetOutput {
|
|
6
|
+
apiFamily: string;
|
|
7
|
+
apiName: string;
|
|
8
|
+
apiVersion: string;
|
|
9
|
+
schema: Record<string, unknown>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Command to get a specific SCAPI schema.
|
|
13
|
+
*
|
|
14
|
+
* By default, outputs collapsed schema for context efficiency (ideal for agentic use).
|
|
15
|
+
* Use --expand-* flags to selectively expand specific paths, schemas, or examples.
|
|
16
|
+
* Use --expand-all to get the full, unmodified schema.
|
|
17
|
+
*/
|
|
18
|
+
export default class ScapiSchemasGet extends ScapiSchemasCommand<typeof ScapiSchemasGet> {
|
|
19
|
+
static args: {
|
|
20
|
+
apiFamily: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
21
|
+
apiName: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
22
|
+
apiVersion: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
23
|
+
};
|
|
24
|
+
static description: string;
|
|
25
|
+
static enableJsonFlag: boolean;
|
|
26
|
+
static examples: string[];
|
|
27
|
+
static flags: {
|
|
28
|
+
'expand-paths': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
29
|
+
'expand-schemas': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
|
+
'expand-examples': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
'expand-custom-properties': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
32
|
+
'expand-all': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
33
|
+
'list-paths': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
34
|
+
'list-schemas': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
35
|
+
'list-examples': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
36
|
+
yaml: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
37
|
+
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
38
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
39
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
40
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
41
|
+
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
42
|
+
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
43
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
44
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
45
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
46
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
47
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
48
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
49
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
50
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
51
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
52
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
53
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
54
|
+
};
|
|
55
|
+
run(): Promise<GetOutput | null | string[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Build expansion info string for the log message.
|
|
58
|
+
*/
|
|
59
|
+
private getExpansionInfo;
|
|
60
|
+
/**
|
|
61
|
+
* Check if a value is a non-empty object (not an array).
|
|
62
|
+
*/
|
|
63
|
+
private isNonEmptyObject;
|
|
64
|
+
/**
|
|
65
|
+
* Output a list of items (paths, schemas, or examples).
|
|
66
|
+
*/
|
|
67
|
+
private outputList;
|
|
68
|
+
/**
|
|
69
|
+
* Serialize object to YAML format.
|
|
70
|
+
* Uses a simple JSON-to-YAML conversion for basic YAML output.
|
|
71
|
+
*/
|
|
72
|
+
private serializeToYaml;
|
|
73
|
+
/**
|
|
74
|
+
* Serialize an array to YAML format.
|
|
75
|
+
*/
|
|
76
|
+
private serializeYamlArray;
|
|
77
|
+
/**
|
|
78
|
+
* Serialize an object to YAML format.
|
|
79
|
+
*/
|
|
80
|
+
private serializeYamlObject;
|
|
81
|
+
/**
|
|
82
|
+
* Serialize a string value to YAML, quoting if necessary.
|
|
83
|
+
*/
|
|
84
|
+
private serializeYamlString;
|
|
85
|
+
}
|
|
86
|
+
export {};
|