@salesforce/b2c-cli 0.4.1 → 0.5.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/dist/commands/cip/describe.d.ts +48 -0
- package/dist/commands/cip/describe.js +70 -0
- package/dist/commands/cip/describe.js.map +1 -0
- package/dist/commands/cip/query.d.ts +46 -0
- package/dist/commands/cip/query.js +81 -0
- package/dist/commands/cip/query.js.map +1 -0
- package/dist/commands/cip/report/customer-registration-trends.d.ts +37 -0
- package/dist/commands/cip/report/customer-registration-trends.js +22 -0
- package/dist/commands/cip/report/customer-registration-trends.js.map +1 -0
- package/dist/commands/cip/report/ocapi-requests.d.ts +37 -0
- package/dist/commands/cip/report/ocapi-requests.js +22 -0
- package/dist/commands/cip/report/ocapi-requests.js.map +1 -0
- package/dist/commands/cip/report/payment-method-performance.d.ts +37 -0
- package/dist/commands/cip/report/payment-method-performance.js +22 -0
- package/dist/commands/cip/report/payment-method-performance.js.map +1 -0
- package/dist/commands/cip/report/product-co-purchase-analysis.d.ts +37 -0
- package/dist/commands/cip/report/product-co-purchase-analysis.js +22 -0
- package/dist/commands/cip/report/product-co-purchase-analysis.js.map +1 -0
- package/dist/commands/cip/report/promotion-discount-analysis.d.ts +36 -0
- package/dist/commands/cip/report/promotion-discount-analysis.js +20 -0
- package/dist/commands/cip/report/promotion-discount-analysis.js.map +1 -0
- package/dist/commands/cip/report/sales-analytics.d.ts +37 -0
- package/dist/commands/cip/report/sales-analytics.js +22 -0
- package/dist/commands/cip/report/sales-analytics.js.map +1 -0
- package/dist/commands/cip/report/sales-summary.d.ts +37 -0
- package/dist/commands/cip/report/sales-summary.js +22 -0
- package/dist/commands/cip/report/sales-summary.js.map +1 -0
- package/dist/commands/cip/report/search-query-performance.d.ts +38 -0
- package/dist/commands/cip/report/search-query-performance.js +35 -0
- package/dist/commands/cip/report/search-query-performance.js.map +1 -0
- package/dist/commands/cip/report/top-referrers.d.ts +38 -0
- package/dist/commands/cip/report/top-referrers.js +23 -0
- package/dist/commands/cip/report/top-referrers.js.map +1 -0
- package/dist/commands/cip/report/top-selling-products.d.ts +37 -0
- package/dist/commands/cip/report/top-selling-products.js +22 -0
- package/dist/commands/cip/report/top-selling-products.js.map +1 -0
- package/dist/commands/cip/report.d.ts +9 -0
- package/dist/commands/cip/report.js +22 -0
- package/dist/commands/cip/report.js.map +1 -0
- package/dist/commands/cip/tables.d.ts +45 -0
- package/dist/commands/cip/tables.js +70 -0
- package/dist/commands/cip/tables.js.map +1 -0
- 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 +2 -1
- package/dist/commands/content/list.d.ts +2 -1
- package/dist/commands/docs/download.d.ts +2 -1
- package/dist/commands/docs/read.d.ts +2 -1
- package/dist/commands/docs/schema.d.ts +2 -1
- package/dist/commands/docs/search.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 +5 -2
- package/dist/commands/job/export.js +22 -19
- package/dist/commands/job/export.js.map +1 -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.d.ts +2 -1
- package/dist/commands/mrt/bundle/download.d.ts +2 -1
- package/dist/commands/mrt/bundle/history.d.ts +2 -1
- package/dist/commands/mrt/bundle/list.d.ts +2 -1
- package/dist/commands/mrt/env/access-control/list.d.ts +2 -1
- package/dist/commands/mrt/env/b2c.d.ts +2 -1
- package/dist/commands/mrt/env/create.d.ts +2 -1
- package/dist/commands/mrt/env/delete.d.ts +2 -1
- package/dist/commands/mrt/env/get.d.ts +2 -1
- package/dist/commands/mrt/env/invalidate.d.ts +2 -1
- package/dist/commands/mrt/env/list.d.ts +2 -1
- package/dist/commands/mrt/env/redirect/clone.d.ts +2 -1
- package/dist/commands/mrt/env/redirect/create.d.ts +2 -1
- package/dist/commands/mrt/env/redirect/delete.d.ts +2 -1
- package/dist/commands/mrt/env/redirect/list.d.ts +2 -1
- package/dist/commands/mrt/env/update.d.ts +2 -1
- package/dist/commands/mrt/env/var/delete.d.ts +2 -1
- package/dist/commands/mrt/env/var/list.d.ts +2 -1
- package/dist/commands/mrt/env/var/set.d.ts +2 -1
- package/dist/commands/mrt/org/b2c.d.ts +2 -1
- package/dist/commands/mrt/org/list.d.ts +2 -1
- package/dist/commands/mrt/project/create.d.ts +2 -1
- package/dist/commands/mrt/project/delete.d.ts +2 -1
- package/dist/commands/mrt/project/get.d.ts +2 -1
- package/dist/commands/mrt/project/list.d.ts +2 -1
- package/dist/commands/mrt/project/member/add.d.ts +2 -1
- package/dist/commands/mrt/project/member/get.d.ts +2 -1
- package/dist/commands/mrt/project/member/list.d.ts +2 -1
- package/dist/commands/mrt/project/member/remove.d.ts +2 -1
- package/dist/commands/mrt/project/member/update.d.ts +2 -1
- package/dist/commands/mrt/project/notification/create.d.ts +2 -1
- package/dist/commands/mrt/project/notification/delete.d.ts +2 -1
- package/dist/commands/mrt/project/notification/get.d.ts +2 -1
- package/dist/commands/mrt/project/notification/list.d.ts +2 -1
- package/dist/commands/mrt/project/notification/update.d.ts +2 -1
- package/dist/commands/mrt/project/update.d.ts +2 -1
- package/dist/commands/mrt/tail-logs.d.ts +2 -1
- package/dist/commands/mrt/user/api-key.d.ts +2 -1
- package/dist/commands/mrt/user/email-prefs.d.ts +2 -1
- package/dist/commands/mrt/user/profile.d.ts +2 -1
- package/dist/commands/sandbox/alias/create.d.ts +23 -0
- package/dist/commands/sandbox/alias/create.js +98 -0
- package/dist/commands/sandbox/alias/create.js.map +1 -0
- package/dist/commands/sandbox/alias/delete.d.ts +21 -0
- package/dist/commands/sandbox/alias/delete.js +75 -0
- package/dist/commands/sandbox/alias/delete.js.map +1 -0
- package/dist/commands/sandbox/alias/list.d.ts +22 -0
- package/dist/commands/sandbox/alias/list.js +132 -0
- package/dist/commands/sandbox/alias/list.js.map +1 -0
- package/dist/commands/sandbox/ips.d.ts +19 -0
- package/dist/commands/sandbox/ips.js +74 -0
- package/dist/commands/sandbox/ips.js.map +1 -0
- package/dist/commands/sandbox/list.d.ts +2 -1
- package/dist/commands/sandbox/list.js +14 -2
- package/dist/commands/sandbox/list.js.map +1 -1
- package/dist/commands/sandbox/realm/get.d.ts +24 -0
- package/dist/commands/sandbox/realm/get.js +126 -0
- package/dist/commands/sandbox/realm/get.js.map +1 -0
- package/dist/commands/sandbox/realm/list.d.ts +24 -0
- package/dist/commands/sandbox/realm/list.js +85 -0
- package/dist/commands/sandbox/realm/list.js.map +1 -0
- package/dist/commands/sandbox/realm/update.d.ts +23 -0
- package/dist/commands/sandbox/realm/update.js +114 -0
- package/dist/commands/sandbox/realm/update.js.map +1 -0
- package/dist/commands/sandbox/realm/usage.d.ts +24 -0
- package/dist/commands/sandbox/realm/usage.js +122 -0
- package/dist/commands/sandbox/realm/usage.js.map +1 -0
- package/dist/commands/sandbox/reset.d.ts +23 -0
- package/dist/commands/sandbox/reset.js +106 -0
- package/dist/commands/sandbox/reset.js.map +1 -0
- package/dist/commands/sandbox/usage.d.ts +22 -0
- package/dist/commands/sandbox/usage.js +109 -0
- package/dist/commands/sandbox/usage.js.map +1 -0
- package/dist/commands/scaffold/generate.js +1 -1
- package/dist/commands/scaffold/info.js +1 -1
- package/dist/commands/scaffold/list.js +1 -1
- package/dist/commands/scaffold/search.js +1 -1
- package/dist/commands/scapi/custom/status.d.ts +2 -1
- package/dist/commands/scapi/custom/status.js +1 -16
- package/dist/commands/scapi/custom/status.js.map +1 -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/ide/index.d.ts +9 -0
- package/dist/commands/setup/ide/index.js +18 -0
- package/dist/commands/setup/ide/index.js.map +1 -0
- package/dist/commands/setup/ide/prophet.d.ts +38 -0
- package/dist/commands/setup/ide/prophet.js +320 -0
- package/dist/commands/setup/ide/prophet.js.map +1 -0
- package/dist/commands/setup/index.js +6 -2
- package/dist/commands/setup/index.js.map +1 -1
- package/dist/commands/setup/inspect.d.ts +2 -1
- package/dist/commands/setup/instance/create.d.ts +2 -1
- package/dist/commands/setup/instance/list.d.ts +2 -1
- package/dist/commands/setup/instance/remove.d.ts +2 -1
- package/dist/commands/setup/instance/set-active.d.ts +2 -1
- package/dist/commands/setup/skills.d.ts +2 -1
- package/dist/commands/slas/client/create.d.ts +2 -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/open.d.ts +2 -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/utils/cip/command.d.ts +40 -0
- package/dist/utils/cip/command.js +110 -0
- package/dist/utils/cip/command.js.map +1 -0
- package/dist/utils/cip/format.d.ts +3 -0
- package/dist/utils/cip/format.js +54 -0
- package/dist/utils/cip/format.js.map +1 -0
- package/dist/utils/cip/report-command.d.ts +34 -0
- package/dist/utils/cip/report-command.js +131 -0
- package/dist/utils/cip/report-command.js.map +1 -0
- package/dist/utils/cip/report-flags.d.ts +10 -0
- package/dist/utils/cip/report-flags.js +23 -0
- package/dist/utils/cip/report-flags.js.map +1 -0
- package/dist/utils/ecdn/zone-command.d.ts +2 -1
- package/oclif.manifest.json +16264 -6557
- package/package.json +13 -5
|
@@ -0,0 +1,122 @@
|
|
|
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 { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { getApiErrorMessage } from '@salesforce/b2c-tooling-sdk';
|
|
9
|
+
import { t, withDocs } from '../../../i18n/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Show realm-level usage information.
|
|
12
|
+
*/
|
|
13
|
+
export default class SandboxRealmUsage extends OdsCommand {
|
|
14
|
+
static aliases = ['ods:realm:usage', 'realm:usage'];
|
|
15
|
+
static args = {
|
|
16
|
+
realm: Args.string({
|
|
17
|
+
description: 'Realm ID (four-letter ID)',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
};
|
|
21
|
+
static description = withDocs(t('commands.realm.usage.description', 'Show usage information for a realm'), '/cli/realm.html#b2c-realm-usage');
|
|
22
|
+
static enableJsonFlag = true;
|
|
23
|
+
static examples = [
|
|
24
|
+
'<%= config.bin %> <%= command.id %> zzzz',
|
|
25
|
+
'<%= config.bin %> <%= command.id %> zzzz --from 2026-02-08 --to 2026-02-11',
|
|
26
|
+
'<%= config.bin %> <%= command.id %> zzzz --granularity daily',
|
|
27
|
+
'<%= config.bin %> <%= command.id %> zzzz --detailed-report --json',
|
|
28
|
+
];
|
|
29
|
+
static flags = {
|
|
30
|
+
from: Flags.string({
|
|
31
|
+
description: 'Earliest date to include in usage (ISO 8601, defaults to 30 days in the past if omitted by the API)',
|
|
32
|
+
}),
|
|
33
|
+
to: Flags.string({
|
|
34
|
+
description: 'Latest date to include in usage (ISO 8601, defaults to today if omitted by the API)',
|
|
35
|
+
}),
|
|
36
|
+
granularity: Flags.string({
|
|
37
|
+
description: 'Granularity of usage data (daily, weekly, monthly)',
|
|
38
|
+
}),
|
|
39
|
+
'detailed-report': Flags.boolean({
|
|
40
|
+
description: 'Include detailed usage information in the response',
|
|
41
|
+
default: false,
|
|
42
|
+
}),
|
|
43
|
+
};
|
|
44
|
+
async run() {
|
|
45
|
+
const { args, flags } = await this.parse(SandboxRealmUsage);
|
|
46
|
+
const realm = args.realm;
|
|
47
|
+
const host = this.odsHost;
|
|
48
|
+
this.log(t('commands.realm.usage.fetching', 'Fetching realm usage for {{realm}} from {{host}}...', {
|
|
49
|
+
realm,
|
|
50
|
+
host,
|
|
51
|
+
}));
|
|
52
|
+
const result = await this.odsClient.GET('/realms/{realm}/usage', {
|
|
53
|
+
params: {
|
|
54
|
+
path: { realm },
|
|
55
|
+
query: {
|
|
56
|
+
from: flags.from,
|
|
57
|
+
to: flags.to,
|
|
58
|
+
detailedReport: flags['detailed-report'],
|
|
59
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
60
|
+
granularity: flags.granularity,
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
if (result.error) {
|
|
65
|
+
this.error(t('commands.realm.usage.error', 'Failed to fetch realm usage: {{message}}', {
|
|
66
|
+
message: getApiErrorMessage(result.error, result.response),
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
const data = result.data?.data;
|
|
70
|
+
if (!data) {
|
|
71
|
+
this.log(t('commands.realm.usage.noData', 'No usage data was returned for this realm.'));
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
if (this.jsonEnabled()) {
|
|
75
|
+
return result.data;
|
|
76
|
+
}
|
|
77
|
+
this.printRealmUsageSummary(data);
|
|
78
|
+
return data;
|
|
79
|
+
}
|
|
80
|
+
printRealmUsageSummary(usage) {
|
|
81
|
+
console.log('Realm Usage Summary');
|
|
82
|
+
console.log('───────────────────');
|
|
83
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
84
|
+
const anyUsage = usage;
|
|
85
|
+
const metrics = [
|
|
86
|
+
['Active sandboxes', anyUsage.activeSandboxes],
|
|
87
|
+
['Created sandboxes', anyUsage.createdSandboxes],
|
|
88
|
+
['Deleted sandboxes', anyUsage.deletedSandboxes],
|
|
89
|
+
['Minutes up', anyUsage.minutesUp],
|
|
90
|
+
['Minutes down', anyUsage.minutesDown],
|
|
91
|
+
['Sandbox seconds', anyUsage.sandboxSeconds],
|
|
92
|
+
];
|
|
93
|
+
let hasSummaryMetric = false;
|
|
94
|
+
for (const [label, value] of metrics) {
|
|
95
|
+
if (value !== undefined) {
|
|
96
|
+
hasSummaryMetric = true;
|
|
97
|
+
console.log(`${label}: ${value}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (anyUsage.minutesUpByProfile && anyUsage.minutesUpByProfile.length > 0) {
|
|
101
|
+
console.log();
|
|
102
|
+
console.log('Minutes up by profile:');
|
|
103
|
+
for (const item of anyUsage.minutesUpByProfile) {
|
|
104
|
+
if (item.profile && item.minutes !== undefined) {
|
|
105
|
+
console.log(` ${item.profile}: ${item.minutes} minutes`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const hasDetailedData = (anyUsage.granularUsage && anyUsage.granularUsage.length > 0) ||
|
|
110
|
+
(anyUsage.sandboxDetails && anyUsage.sandboxDetails.length > 0);
|
|
111
|
+
if (!hasSummaryMetric &&
|
|
112
|
+
!hasDetailedData &&
|
|
113
|
+
!(anyUsage.minutesUpByProfile && anyUsage.minutesUpByProfile.length > 0)) {
|
|
114
|
+
console.log(t('commands.realm.usage.emptyPeriod', 'No usage data was returned for this realm in the requested period.'));
|
|
115
|
+
}
|
|
116
|
+
else if (hasDetailedData) {
|
|
117
|
+
console.log();
|
|
118
|
+
console.log(t('commands.realm.usage.detailedHint', 'Detailed usage data is available; re-run with --json to see full details.'));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../../src/commands/sandbox/realm/usage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAqB,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAC,CAAC,EAAE,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAInD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAoC;IACjF,MAAM,CAAC,OAAO,GAAG,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAEpD,MAAM,CAAC,IAAI,GAAG;QACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAC3B,CAAC,CAAC,kCAAkC,EAAE,oCAAoC,CAAC,EAC3E,iCAAiC,CAClC,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,0CAA0C;QAC1C,4EAA4E;QAC5E,8DAA8D;QAC9D,mEAAmE;KACpE,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EACT,qGAAqG;SACxG,CAAC;QACF,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,qFAAqF;SACnG,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,oDAAoD;SAClE,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE,KAAK;SACf,CAAC;KACM,CAAC;IAEX,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,+BAA+B,EAAE,qDAAqD,EAAE;YACxF,KAAK;YACL,IAAI;SACL,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,EAAE;YAC/D,MAAM,EAAE;gBACN,IAAI,EAAE,EAAC,KAAK,EAAC;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC;oBACxC,8DAA8D;oBAC9D,WAAW,EAAE,KAAK,CAAC,WAAkB;iBACtC;aACF;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,4BAA4B,EAAE,0CAA0C,EAAE;gBAC1E,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;aAC3D,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAI,MAAM,CAAC,IAAmE,EAAE,IAAI,CAAC;QAE/F,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B,EAAE,4CAA4C,CAAC,CAAC,CAAC;YACzF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,IAAsD,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,KAAsB;QACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAEnC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAEnC,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,KAAY,CAAC;QAE9B,MAAM,OAAO,GAAwC;YACnD,CAAC,kBAAkB,EAAE,QAAQ,CAAC,eAAe,CAAC;YAC9C,CAAC,mBAAmB,EAAE,QAAQ,CAAC,gBAAgB,CAAC;YAChD,CAAC,mBAAmB,EAAE,QAAQ,CAAC,gBAAgB,CAAC;YAChD,CAAC,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC;YAClC,CAAC,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC;YACtC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,cAAc,CAAC;SAC7C,CAAC;QAEF,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,gBAAgB,GAAG,IAAI,CAAC;gBAExB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAC/C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GACnB,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7D,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAElE,IACE,CAAC,gBAAgB;YACjB,CAAC,eAAe;YAChB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,EACxE,CAAC;YACD,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,kCAAkC,EAAE,oEAAoE,CAAC,CAC5G,CAAC;QACJ,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,OAAO,CAAC,GAAG,CACT,CAAC,CACC,mCAAmC,EACnC,2EAA2E,CAC5E,CACF,CAAC;QACJ,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
import { type OdsComponents } from '@salesforce/b2c-tooling-sdk';
|
|
3
|
+
type SandboxOperationModel = OdsComponents['schemas']['SandboxOperationModel'];
|
|
4
|
+
/**
|
|
5
|
+
* Command to reset an on-demand sandbox to clean state.
|
|
6
|
+
*/
|
|
7
|
+
export default class SandboxReset extends OdsCommand<typeof SandboxReset> {
|
|
8
|
+
static aliases: string[];
|
|
9
|
+
static args: {
|
|
10
|
+
sandboxId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
11
|
+
};
|
|
12
|
+
static description: string;
|
|
13
|
+
static enableJsonFlag: boolean;
|
|
14
|
+
static examples: string[];
|
|
15
|
+
static flags: {
|
|
16
|
+
wait: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
'poll-interval': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
};
|
|
21
|
+
run(): Promise<SandboxOperationModel>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,106 @@
|
|
|
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 { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { getApiErrorMessage, waitForSandbox } from '@salesforce/b2c-tooling-sdk';
|
|
9
|
+
import { t, withDocs } from '../../i18n/index.js';
|
|
10
|
+
import { confirm } from '@inquirer/prompts';
|
|
11
|
+
/**
|
|
12
|
+
* Command to reset an on-demand sandbox to clean state.
|
|
13
|
+
*/
|
|
14
|
+
export default class SandboxReset extends OdsCommand {
|
|
15
|
+
static aliases = ['ods:reset'];
|
|
16
|
+
static args = {
|
|
17
|
+
sandboxId: Args.string({
|
|
18
|
+
description: 'Sandbox ID (UUID or realm-instance, e.g., abcd-123)',
|
|
19
|
+
required: true,
|
|
20
|
+
}),
|
|
21
|
+
};
|
|
22
|
+
static description = withDocs(t('commands.sandbox.reset.description', 'Reset a sandbox to clean state (clears all data and code but preserves configuration)'), '/cli/sandbox.html#b2c-sandbox-reset');
|
|
23
|
+
static enableJsonFlag = true;
|
|
24
|
+
static examples = [
|
|
25
|
+
'<%= config.bin %> <%= command.id %> abc12345-1234-1234-1234-abc123456789',
|
|
26
|
+
'<%= config.bin %> <%= command.id %> zzzv-123',
|
|
27
|
+
'<%= config.bin %> <%= command.id %> zzzv-123 --wait',
|
|
28
|
+
'<%= config.bin %> <%= command.id %> zzzv-123 --force --json',
|
|
29
|
+
];
|
|
30
|
+
static flags = {
|
|
31
|
+
wait: Flags.boolean({
|
|
32
|
+
char: 'w',
|
|
33
|
+
description: 'Wait for the sandbox to reach started state after reset',
|
|
34
|
+
default: false,
|
|
35
|
+
}),
|
|
36
|
+
'poll-interval': Flags.integer({
|
|
37
|
+
description: 'Polling interval in seconds when using --wait',
|
|
38
|
+
default: 10,
|
|
39
|
+
dependsOn: ['wait'],
|
|
40
|
+
}),
|
|
41
|
+
timeout: Flags.integer({
|
|
42
|
+
description: 'Maximum time to wait in seconds when using --wait (0 for no timeout)',
|
|
43
|
+
default: 600,
|
|
44
|
+
dependsOn: ['wait'],
|
|
45
|
+
}),
|
|
46
|
+
force: Flags.boolean({
|
|
47
|
+
char: 'f',
|
|
48
|
+
description: 'Skip confirmation prompt',
|
|
49
|
+
default: false,
|
|
50
|
+
}),
|
|
51
|
+
};
|
|
52
|
+
async run() {
|
|
53
|
+
const sandboxId = await this.resolveSandboxId(this.args.sandboxId);
|
|
54
|
+
const { wait, 'poll-interval': pollInterval, timeout, force } = this.flags;
|
|
55
|
+
// Confirmation prompt (skip if --force or --json)
|
|
56
|
+
if (!force && !this.jsonEnabled()) {
|
|
57
|
+
const confirmed = await confirm({
|
|
58
|
+
message: `⚠️ Reset will permanently delete all data and code in sandbox ${this.args.sandboxId}. Continue?`,
|
|
59
|
+
default: false,
|
|
60
|
+
});
|
|
61
|
+
if (!confirmed) {
|
|
62
|
+
this.log(t('commands.sandbox.reset.cancelled', 'Reset cancelled'));
|
|
63
|
+
this.exit(0);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
this.log(t('commands.sandbox.reset.resetting', 'Resetting sandbox {{sandboxId}}...', { sandboxId }));
|
|
67
|
+
const result = await this.odsClient.POST('/sandboxes/{sandboxId}/operations', {
|
|
68
|
+
params: {
|
|
69
|
+
path: { sandboxId },
|
|
70
|
+
},
|
|
71
|
+
body: {
|
|
72
|
+
operation: 'reset',
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
if (!result.data?.data) {
|
|
76
|
+
const message = getApiErrorMessage(result.error, result.response);
|
|
77
|
+
this.error(`Failed to reset sandbox: ${message}`);
|
|
78
|
+
}
|
|
79
|
+
const operation = result.data.data;
|
|
80
|
+
if (wait) {
|
|
81
|
+
await waitForSandbox(this.odsClient, {
|
|
82
|
+
sandboxId,
|
|
83
|
+
targetState: 'started',
|
|
84
|
+
pollIntervalSeconds: pollInterval,
|
|
85
|
+
timeoutSeconds: timeout,
|
|
86
|
+
onPoll: (info) => {
|
|
87
|
+
this.log(t('commands.sandbox.reset.polling', '[{{elapsed}}s] State: {{state}}', {
|
|
88
|
+
state: info.state,
|
|
89
|
+
elapsed: info.elapsedSeconds,
|
|
90
|
+
}));
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
if (wait) {
|
|
95
|
+
this.log(t('commands.sandbox.reset.completed', 'Sandbox reset completed and is now started'));
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.log(t('commands.sandbox.reset.triggered', 'Reset operation {{operationState}}. Sandbox state: {{sandboxState}}', {
|
|
99
|
+
operationState: operation.operationState,
|
|
100
|
+
sandboxState: operation.sandboxState || 'unknown',
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
return operation;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=reset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/commands/sandbox/reset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
import { type OdsComponents } from '@salesforce/b2c-tooling-sdk';
|
|
3
|
+
type SandboxUsageModel = OdsComponents['schemas']['SandboxUsageModel'];
|
|
4
|
+
/**
|
|
5
|
+
* Show sandbox-level usage information.
|
|
6
|
+
*/
|
|
7
|
+
export default class SandboxUsage extends OdsCommand<typeof SandboxUsage> {
|
|
8
|
+
static aliases: string[];
|
|
9
|
+
static args: {
|
|
10
|
+
sandboxId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
11
|
+
};
|
|
12
|
+
static description: string;
|
|
13
|
+
static enableJsonFlag: boolean;
|
|
14
|
+
static examples: string[];
|
|
15
|
+
static flags: {
|
|
16
|
+
readonly from: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
readonly to: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<OdsComponents['schemas']['SandboxUsageResponse'] | SandboxUsageModel | undefined>;
|
|
20
|
+
private printSandboxUsageSummary;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
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 { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { getApiErrorMessage } from '@salesforce/b2c-tooling-sdk';
|
|
9
|
+
import { t, withDocs } from '../../i18n/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Show sandbox-level usage information.
|
|
12
|
+
*/
|
|
13
|
+
export default class SandboxUsage extends OdsCommand {
|
|
14
|
+
static aliases = ['ods:usage'];
|
|
15
|
+
static args = {
|
|
16
|
+
sandboxId: Args.string({
|
|
17
|
+
description: 'Sandbox ID (UUID or realm-instance, e.g., zzzz-001)',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
};
|
|
21
|
+
static description = withDocs(t('commands.sandbox.usage.description', 'Show usage information for a specific sandbox'), '/cli/sandbox.html#b2c-sandbox-usage');
|
|
22
|
+
static enableJsonFlag = true;
|
|
23
|
+
static examples = [
|
|
24
|
+
'<%= config.bin %> <%= command.id %> zzzz-001',
|
|
25
|
+
'<%= config.bin %> <%= command.id %> zzzz-001 --from 2026-02-08 --to 2026-02-11',
|
|
26
|
+
'<%= config.bin %> <%= command.id %> zzzz-001 --from 2026-02-08 --to 2026-02-11 --json',
|
|
27
|
+
];
|
|
28
|
+
static flags = {
|
|
29
|
+
from: Flags.string({
|
|
30
|
+
description: 'Start date for usage data (ISO 8601 format, e.g., 2024-01-01)',
|
|
31
|
+
}),
|
|
32
|
+
to: Flags.string({
|
|
33
|
+
description: 'End date for usage data (ISO 8601 format, e.g., 2024-12-31)',
|
|
34
|
+
}),
|
|
35
|
+
};
|
|
36
|
+
async run() {
|
|
37
|
+
const { args, flags } = await this.parse(SandboxUsage);
|
|
38
|
+
const rawId = args.sandboxId;
|
|
39
|
+
const host = this.odsHost;
|
|
40
|
+
const sandboxId = await this.resolveSandboxId(rawId);
|
|
41
|
+
this.log(t('commands.sandbox.usage.fetching', 'Fetching sandbox usage for {{sandboxId}} from {{host}}...', {
|
|
42
|
+
sandboxId,
|
|
43
|
+
host,
|
|
44
|
+
}));
|
|
45
|
+
const result = await this.odsClient.GET('/sandboxes/{sandboxId}/usage', {
|
|
46
|
+
params: {
|
|
47
|
+
path: { sandboxId },
|
|
48
|
+
query: {
|
|
49
|
+
from: flags.from,
|
|
50
|
+
to: flags.to,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
if (result.error) {
|
|
55
|
+
this.error(t('commands.sandbox.usage.error', 'Failed to fetch sandbox usage: {{message}}', {
|
|
56
|
+
message: getApiErrorMessage(result.error, result.response),
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
const data = result.data?.data;
|
|
60
|
+
if (!data) {
|
|
61
|
+
this.log(t('commands.sandbox.usage.noData', 'No usage data was returned for this sandbox.'));
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
if (this.jsonEnabled()) {
|
|
65
|
+
return result.data;
|
|
66
|
+
}
|
|
67
|
+
this.printSandboxUsageSummary(data);
|
|
68
|
+
return data;
|
|
69
|
+
}
|
|
70
|
+
printSandboxUsageSummary(usage) {
|
|
71
|
+
console.log('Sandbox Usage Summary');
|
|
72
|
+
console.log('─────────────────────');
|
|
73
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
74
|
+
const anyUsage = usage;
|
|
75
|
+
const metrics = [
|
|
76
|
+
['Sandbox seconds', anyUsage.sandboxSeconds],
|
|
77
|
+
['Minutes up', anyUsage.minutesUp],
|
|
78
|
+
['Minutes down', anyUsage.minutesDown],
|
|
79
|
+
];
|
|
80
|
+
let hasSummaryMetric = false;
|
|
81
|
+
for (const [label, value] of metrics) {
|
|
82
|
+
if (value !== undefined) {
|
|
83
|
+
hasSummaryMetric = true;
|
|
84
|
+
console.log(`${label}: ${value}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (anyUsage.minutesUpByProfile && anyUsage.minutesUpByProfile.length > 0) {
|
|
88
|
+
console.log();
|
|
89
|
+
console.log('Minutes up by profile:');
|
|
90
|
+
for (const item of anyUsage.minutesUpByProfile) {
|
|
91
|
+
if (item.profile && item.minutes !== undefined) {
|
|
92
|
+
console.log(` ${item.profile}: ${item.minutes} minutes`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const hasDetailedData = (anyUsage.granularUsage && anyUsage.granularUsage.length > 0) ||
|
|
97
|
+
(anyUsage.history && anyUsage.history.length > 0);
|
|
98
|
+
if (!hasSummaryMetric &&
|
|
99
|
+
!hasDetailedData &&
|
|
100
|
+
!(anyUsage.minutesUpByProfile && anyUsage.minutesUpByProfile.length > 0)) {
|
|
101
|
+
console.log(t('commands.sandbox.usage.emptyPeriod', 'No usage data was returned for this sandbox in the requested period.'));
|
|
102
|
+
}
|
|
103
|
+
else if (hasDetailedData) {
|
|
104
|
+
console.log();
|
|
105
|
+
console.log(t('commands.sandbox.usage.detailedHint', 'Detailed usage data is available; re-run with --json to see full details.'));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/commands/sandbox/usage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAqB,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAC,CAAC,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAIhD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAA+B;IACvE,MAAM,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;IAE/B,MAAM,CAAC,IAAI,GAAG;QACZ,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,qDAAqD;YAClE,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAC3B,CAAC,CAAC,oCAAoC,EAAE,+CAA+C,CAAC,EACxF,qCAAqC,CACtC,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,8CAA8C;QAC9C,gFAAgF;QAChF,uFAAuF;KACxF,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,+DAA+D;SAC7E,CAAC;QACF,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,6DAA6D;SAC3E,CAAC;KACM,CAAC;IAEX,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,iCAAiC,EAAE,2DAA2D,EAAE;YAChG,SAAS;YACT,IAAI;SACL,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,8BAA8B,EAAE;YACtE,MAAM,EAAE;gBACN,IAAI,EAAE,EAAC,SAAS,EAAC;gBACjB,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,EAAE,EAAE,KAAK,CAAC,EAAE;iBACb;aACF;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,8BAA8B,EAAE,4CAA4C,EAAE;gBAC9E,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;aAC3D,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAI,MAAM,CAAC,IAAqE,EAAE,IAAI,CAAC;QAEjG,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,+BAA+B,EAAE,8CAA8C,CAAC,CAAC,CAAC;YAC7F,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,IAAwD,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,wBAAwB,CAAC,KAAwB;QACvD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAErC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAErC,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,KAAY,CAAC;QAE9B,MAAM,OAAO,GAAwC;YACnD,CAAC,iBAAiB,EAAE,QAAQ,CAAC,cAAc,CAAC;YAC5C,CAAC,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC;YAClC,CAAC,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC;SACvC,CAAC;QAEF,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,gBAAgB,GAAG,IAAI,CAAC;gBAExB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAC/C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GACnB,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7D,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpD,IACE,CAAC,gBAAgB;YACjB,CAAC,eAAe;YAChB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,EACxE,CAAC;YACD,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,oCAAoC,EAAE,sEAAsE,CAAC,CAChH,CAAC;QACJ,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,OAAO,CAAC,GAAG,CACT,CAAC,CACC,qCAAqC,EACrC,2EAA2E,CAC5E,CACF,CAAC;QACJ,CAAC;IACH,CAAC"}
|
|
@@ -51,7 +51,7 @@ export default class ScaffoldGenerate extends BaseCommand {
|
|
|
51
51
|
}),
|
|
52
52
|
};
|
|
53
53
|
async run() {
|
|
54
|
-
const projectRoot = this.flags['
|
|
54
|
+
const projectRoot = this.flags['project-directory'] || process.cwd();
|
|
55
55
|
const response = await executeScaffoldGenerate({
|
|
56
56
|
scaffoldId: this.args.scaffoldId,
|
|
57
57
|
name: this.flags.name,
|
|
@@ -27,7 +27,7 @@ export default class ScaffoldInfo extends BaseCommand {
|
|
|
27
27
|
async run() {
|
|
28
28
|
const { scaffoldId } = this.args;
|
|
29
29
|
const registry = createScaffoldRegistry();
|
|
30
|
-
const projectRoot = this.flags['
|
|
30
|
+
const projectRoot = this.flags['project-directory'] || process.cwd();
|
|
31
31
|
const scaffold = await registry.getScaffold(scaffoldId, {
|
|
32
32
|
projectRoot,
|
|
33
33
|
});
|
|
@@ -73,7 +73,7 @@ export default class ScaffoldList extends BaseCommand {
|
|
|
73
73
|
const registry = createScaffoldRegistry();
|
|
74
74
|
const category = this.flags.category;
|
|
75
75
|
const source = this.flags.source;
|
|
76
|
-
const projectRoot = this.flags['
|
|
76
|
+
const projectRoot = this.flags['project-directory'] || process.cwd();
|
|
77
77
|
const scaffolds = await registry.getScaffolds({
|
|
78
78
|
category,
|
|
79
79
|
sources: source ? [source] : undefined,
|
|
@@ -60,7 +60,7 @@ export default class ScaffoldSearch extends BaseCommand {
|
|
|
60
60
|
const { query } = this.args;
|
|
61
61
|
const registry = createScaffoldRegistry();
|
|
62
62
|
const category = this.flags.category;
|
|
63
|
-
const projectRoot = this.flags['
|
|
63
|
+
const projectRoot = this.flags['project-directory'] || process.cwd();
|
|
64
64
|
const scaffolds = await registry.searchScaffolds(query, {
|
|
65
65
|
category,
|
|
66
66
|
projectRoot,
|
|
@@ -38,10 +38,11 @@ export default class ScapiCustomStatus extends ScapiCustomCommand<typeof ScapiCu
|
|
|
38
38
|
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
39
39
|
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
40
40
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
41
|
+
jsonl: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
41
42
|
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
42
43
|
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
43
44
|
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
44
|
-
'
|
|
45
|
+
'project-directory': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
45
46
|
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
46
47
|
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
47
48
|
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -6,23 +6,8 @@
|
|
|
6
6
|
import { Command, Flags, ux } from '@oclif/core';
|
|
7
7
|
import { OAuthCommand, TableRenderer } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
8
|
import { createCustomApisClient, getApiErrorMessage, toOrganizationId, } from '@salesforce/b2c-tooling-sdk';
|
|
9
|
+
import { getApiType } from '@salesforce/b2c-tooling-sdk/schemas';
|
|
9
10
|
import { t, withDocs } 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
11
|
/**
|
|
27
12
|
* Creates a unique key for grouping endpoints.
|
|
28
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/commands/scapi/custom/status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAC,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAE,aAAa,EAAiB,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/commands/scapi/custom/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,10 +45,11 @@ export default class ScapiSchemasGet extends ScapiSchemasCommand<typeof ScapiSch
|
|
|
45
45
|
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
46
46
|
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
47
47
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
48
|
+
jsonl: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
48
49
|
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
49
50
|
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
50
51
|
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
51
|
-
'
|
|
52
|
+
'project-directory': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
52
53
|
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
53
54
|
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
54
55
|
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -32,10 +32,11 @@ export default class ScapiSchemasList extends ScapiSchemasCommand<typeof ScapiSc
|
|
|
32
32
|
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
33
33
|
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
34
34
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
35
|
+
jsonl: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
35
36
|
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
36
37
|
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
37
38
|
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
38
|
-
'
|
|
39
|
+
'project-directory': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
39
40
|
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
40
41
|
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
41
42
|
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
/**
|
|
3
|
+
* Default setup ide command - shows topic help for IDE integration subcommands.
|
|
4
|
+
*/
|
|
5
|
+
export default class SetupIdeIndex extends BaseCommand<typeof SetupIdeIndex> {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
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 { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
7
|
+
import { withDocs } from '../../../i18n/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Default setup ide command - shows topic help for IDE integration subcommands.
|
|
10
|
+
*/
|
|
11
|
+
export default class SetupIdeIndex extends BaseCommand {
|
|
12
|
+
static description = withDocs('Set up IDE integrations that consume B2C CLI configuration', '/cli/setup.html#b2c-setup-ide');
|
|
13
|
+
static examples = ['<%= config.bin %> setup ide prophet'];
|
|
14
|
+
async run() {
|
|
15
|
+
await this.config.runCommand('help', ['setup', 'ide']);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/setup/ide/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAiC;IAC1E,MAAM,CAAC,WAAW,GAAG,QAAQ,CAC3B,4DAA4D,EAC5D,+BAA+B,CAChC,CAAC;IAEF,MAAM,CAAC,QAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAE1D,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC"}
|