@salesforce/b2c-cli 0.10.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -7
- package/dist/commands/bm/roles/create.d.ts +14 -0
- package/dist/commands/bm/roles/create.js +44 -0
- package/dist/commands/bm/roles/create.js.map +1 -0
- package/dist/commands/bm/roles/delete.d.ts +16 -0
- package/dist/commands/bm/roles/delete.js +37 -0
- package/dist/commands/bm/roles/delete.js.map +1 -0
- package/dist/commands/bm/roles/get.d.ts +15 -0
- package/dist/commands/bm/roles/get.js +73 -0
- package/dist/commands/bm/roles/get.js.map +1 -0
- package/dist/commands/bm/roles/grant.d.ts +16 -0
- package/dist/commands/bm/roles/grant.js +52 -0
- package/dist/commands/bm/roles/grant.js.map +1 -0
- package/dist/commands/bm/roles/list.d.ts +12 -0
- package/dist/commands/bm/roles/list.js +73 -0
- package/dist/commands/bm/roles/list.js.map +1 -0
- package/dist/commands/bm/roles/permissions/get.d.ts +15 -0
- package/dist/commands/bm/roles/permissions/get.js +99 -0
- package/dist/commands/bm/roles/permissions/get.js.map +1 -0
- package/dist/commands/bm/roles/permissions/set.d.ts +14 -0
- package/dist/commands/bm/roles/permissions/set.js +56 -0
- package/dist/commands/bm/roles/permissions/set.js.map +1 -0
- package/dist/commands/bm/roles/revoke.d.ts +20 -0
- package/dist/commands/bm/roles/revoke.js +53 -0
- package/dist/commands/bm/roles/revoke.js.map +1 -0
- package/dist/commands/code/delete.d.ts +1 -5
- package/dist/commands/code/delete.js +2 -17
- package/dist/commands/code/delete.js.map +1 -1
- package/dist/commands/content/export.js +1 -1
- package/dist/commands/content/export.js.map +1 -1
- package/dist/commands/content/list.js +1 -1
- package/dist/commands/content/list.js.map +1 -1
- package/dist/commands/job/export.js +4 -5
- package/dist/commands/job/export.js.map +1 -1
- package/dist/commands/job/import.js +4 -5
- package/dist/commands/job/import.js.map +1 -1
- package/dist/commands/job/run.d.ts +1 -0
- package/dist/commands/job/run.js +13 -7
- package/dist/commands/job/run.js.map +1 -1
- package/dist/commands/job/wait.js +5 -6
- package/dist/commands/job/wait.js.map +1 -1
- package/dist/commands/mrt/bundle/deploy.d.ts +14 -2
- package/dist/commands/mrt/bundle/deploy.js +66 -4
- package/dist/commands/mrt/bundle/deploy.js.map +1 -1
- package/dist/commands/mrt/env/create.d.ts +2 -0
- package/dist/commands/mrt/env/create.js +16 -6
- package/dist/commands/mrt/env/create.js.map +1 -1
- package/dist/commands/mrt/env/delete.d.ts +1 -5
- package/dist/commands/mrt/env/delete.js +2 -17
- package/dist/commands/mrt/env/delete.js.map +1 -1
- package/dist/commands/mrt/env/redirect/clone.js +1 -16
- package/dist/commands/mrt/env/redirect/clone.js.map +1 -1
- package/dist/commands/mrt/env/redirect/delete.js +1 -16
- package/dist/commands/mrt/env/redirect/delete.js.map +1 -1
- package/dist/commands/mrt/project/delete.js +2 -17
- package/dist/commands/mrt/project/delete.js.map +1 -1
- package/dist/commands/mrt/project/member/remove.js +1 -16
- package/dist/commands/mrt/project/member/remove.js.map +1 -1
- package/dist/commands/mrt/project/notification/delete.js +1 -16
- package/dist/commands/mrt/project/notification/delete.js.map +1 -1
- package/dist/commands/mrt/save-credentials.d.ts +35 -0
- package/dist/commands/mrt/save-credentials.js +97 -0
- package/dist/commands/mrt/save-credentials.js.map +1 -0
- package/dist/commands/mrt/user/api-key.d.ts +0 -1
- package/dist/commands/mrt/user/api-key.js +2 -14
- package/dist/commands/mrt/user/api-key.js.map +1 -1
- package/dist/commands/sandbox/delete.js +2 -17
- package/dist/commands/sandbox/delete.js.map +1 -1
- package/dist/commands/sandbox/update.d.ts +1 -0
- package/dist/commands/sandbox/update.js +18 -5
- package/dist/commands/sandbox/update.js.map +1 -1
- package/dist/commands/scapi/replications/get.d.ts +12 -0
- package/dist/commands/scapi/replications/get.js +74 -0
- package/dist/commands/scapi/replications/get.js.map +1 -0
- package/dist/commands/scapi/replications/list.d.ts +18 -0
- package/dist/commands/scapi/replications/list.js +119 -0
- package/dist/commands/scapi/replications/list.js.map +1 -0
- package/dist/commands/scapi/replications/publish.d.ts +16 -0
- package/dist/commands/scapi/replications/publish.js +100 -0
- package/dist/commands/scapi/replications/publish.js.map +1 -0
- package/dist/commands/scapi/replications/wait.d.ts +15 -0
- package/dist/commands/scapi/replications/wait.js +77 -0
- package/dist/commands/scapi/replications/wait.js.map +1 -0
- package/dist/commands/setup/inspect.d.ts +2 -0
- package/dist/commands/setup/inspect.js +24 -1
- package/dist/commands/setup/inspect.js.map +1 -1
- package/dist/commands/sites/cartridges/add.d.ts +19 -0
- package/dist/commands/sites/cartridges/add.js +93 -0
- package/dist/commands/sites/cartridges/add.js.map +1 -0
- package/dist/commands/sites/cartridges/list.d.ts +14 -0
- package/dist/commands/sites/cartridges/list.js +63 -0
- package/dist/commands/sites/cartridges/list.js.map +1 -0
- package/dist/commands/sites/cartridges/remove.d.ts +17 -0
- package/dist/commands/sites/cartridges/remove.js +76 -0
- package/dist/commands/sites/cartridges/remove.js.map +1 -0
- package/dist/commands/sites/cartridges/set.d.ts +17 -0
- package/dist/commands/sites/cartridges/set.js +73 -0
- package/dist/commands/sites/cartridges/set.js.map +1 -0
- package/dist/commands/webdav/rm.d.ts +4 -0
- package/dist/commands/webdav/rm.js +3 -17
- package/dist/commands/webdav/rm.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +27 -0
- package/dist/i18n/locales/en.js +28 -1
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/index.d.ts +27 -0
- package/dist/prompts.d.ts +12 -0
- package/dist/prompts.js +34 -0
- package/dist/prompts.js.map +1 -0
- package/dist/utils/ecdn/base-command.d.ts +0 -5
- package/dist/utils/ecdn/base-command.js +1 -12
- package/dist/utils/ecdn/base-command.js.map +1 -1
- package/dist/utils/scapi/replications.d.ts +20 -0
- package/dist/utils/scapi/replications.js +37 -0
- package/dist/utils/scapi/replications.js.map +1 -0
- package/dist/utils/scapi/schemas.d.ts +0 -5
- package/dist/utils/scapi/schemas.js +1 -12
- package/dist/utils/scapi/schemas.js.map +1 -1
- package/dist/utils/slas/client.js +2 -2
- package/dist/utils/slas/client.js.map +1 -1
- package/oclif.manifest.json +10624 -5338
- package/package.json +21 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key.js","sourceRoot":"","sources":["../../../../src/commands/mrt/user/api-key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"api-key.js","sourceRoot":"","sources":["../../../../src/commands/mrt/user/api-key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAoB,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAC,CAAC,EAAE,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAgC;IACzE,MAAM,CAAC,WAAW,GAAG,QAAQ,CAC3B,CAAC,CAAC,uCAAuC,EAAE,kEAAkE,CAAC,EAC9G,oCAAoC,CACrC,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,qCAAqC;QACrC,2CAA2C;QAC3C,4CAA4C;KAC7C,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,UAAU,CAAC,SAAS;QACvB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,CAAC,CACC,mCAAmC,EACnC,mGAAmG,CACpG,CACF,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B;YACE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS;SAC7C,EACD,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC,EAAE,sCAAsC,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC,EAAE,2BAA2B,EAAE,EAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC;YACxG,IAAI,CAAC,GAAG,CACN,CAAC,CACC,mCAAmC,EACnC,yFAAyF,CAC1F,CACF,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC"}
|
|
@@ -3,26 +3,11 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2
|
|
4
4
|
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
5
|
*/
|
|
6
|
-
import * as readline from 'node:readline';
|
|
7
6
|
import { Args, Flags } from '@oclif/core';
|
|
8
7
|
import { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
9
8
|
import { getApiErrorMessage, SandboxPollingError, SandboxPollingTimeoutError, SandboxTerminalStateError, waitForSandbox, } from '@salesforce/b2c-tooling-sdk';
|
|
10
9
|
import { t, withDocs } from '../../i18n/index.js';
|
|
11
|
-
|
|
12
|
-
* Simple confirmation prompt.
|
|
13
|
-
*/
|
|
14
|
-
async function confirm(message) {
|
|
15
|
-
const rl = readline.createInterface({
|
|
16
|
-
input: process.stdin,
|
|
17
|
-
output: process.stderr,
|
|
18
|
-
});
|
|
19
|
-
return new Promise((resolve) => {
|
|
20
|
-
rl.question(`${message} `, (answer) => {
|
|
21
|
-
rl.close();
|
|
22
|
-
resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
}
|
|
10
|
+
import { confirm } from '../../prompts.js';
|
|
26
11
|
/**
|
|
27
12
|
* Command to delete an on-demand sandbox.
|
|
28
13
|
*/
|
|
@@ -82,7 +67,7 @@ export default class SandboxDelete extends OdsCommand {
|
|
|
82
67
|
const sandboxInfo = `${sandbox.realm}/${sandbox.instance || sandboxId}`;
|
|
83
68
|
// Confirm deletion unless --force is used
|
|
84
69
|
if (!this.flags.force) {
|
|
85
|
-
const confirmed = await confirm(t('commands.sandbox.delete.confirm', 'Are you sure you want to delete sandbox "{{sandboxInfo}}"?
|
|
70
|
+
const confirmed = await confirm(t('commands.sandbox.delete.confirm', 'Are you sure you want to delete sandbox "{{sandboxInfo}}"?', {
|
|
86
71
|
sandboxInfo,
|
|
87
72
|
}));
|
|
88
73
|
if (!confirmed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/sandbox/delete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/sandbox/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export default class SandboxUpdate extends OdsCommand<typeof SandboxUpdate> {
|
|
|
15
15
|
static flags: {
|
|
16
16
|
ttl: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
17
|
'auto-scheduled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
'resource-profile': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
19
|
tags: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
20
|
emails: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
21
|
};
|
|
@@ -19,16 +19,17 @@ export default class SandboxUpdate extends OdsCommand {
|
|
|
19
19
|
required: true,
|
|
20
20
|
}),
|
|
21
21
|
};
|
|
22
|
-
static description = withDocs(t('commands.sandbox.update.description', 'Update a sandbox (extend TTL, change scheduling, update tags or emails)'), '/cli/sandbox.html#b2c-sandbox-update');
|
|
22
|
+
static description = withDocs(t('commands.sandbox.update.description', 'Update a sandbox (extend TTL, change scheduling, update resource xprofile, tags, or emails)'), '/cli/sandbox.html#b2c-sandbox-update');
|
|
23
23
|
static enableJsonFlag = true;
|
|
24
24
|
static examples = [
|
|
25
25
|
'<%= config.bin %> <%= command.id %> zzzv-123 --ttl 48',
|
|
26
26
|
'<%= config.bin %> <%= command.id %> zzzv-123 --ttl 0',
|
|
27
27
|
'<%= config.bin %> <%= command.id %> zzzv-123 --auto-scheduled',
|
|
28
28
|
'<%= config.bin %> <%= command.id %> zzzv-123 --no-auto-scheduled',
|
|
29
|
+
'<%= config.bin %> <%= command.id %> zzzv-123 --resource-profile large',
|
|
29
30
|
'<%= config.bin %> <%= command.id %> zzzv-123 --tags tag1,tag2',
|
|
30
31
|
'<%= config.bin %> <%= command.id %> zzzv-123 --emails user@example.com,dev@example.com',
|
|
31
|
-
'<%= config.bin %> <%= command.id %> zzzv-123 --ttl 48 --tags ci,nightly --json',
|
|
32
|
+
'<%= config.bin %> <%= command.id %> zzzv-123 --ttl 48 --resource-profile xlarge --tags ci,nightly --json',
|
|
32
33
|
];
|
|
33
34
|
static flags = {
|
|
34
35
|
ttl: Flags.integer({
|
|
@@ -38,6 +39,10 @@ export default class SandboxUpdate extends OdsCommand {
|
|
|
38
39
|
description: 'Enable or disable automatic start/stop scheduling',
|
|
39
40
|
allowNo: true,
|
|
40
41
|
}),
|
|
42
|
+
'resource-profile': Flags.string({
|
|
43
|
+
description: 'Resource profile (medium, large, xlarge, xxlarge)',
|
|
44
|
+
options: ['medium', 'large', 'xlarge', 'xxlarge'],
|
|
45
|
+
}),
|
|
41
46
|
tags: Flags.string({
|
|
42
47
|
description: 'Comma-separated list of tags',
|
|
43
48
|
}),
|
|
@@ -47,10 +52,14 @@ export default class SandboxUpdate extends OdsCommand {
|
|
|
47
52
|
};
|
|
48
53
|
async run() {
|
|
49
54
|
const sandboxId = await this.resolveSandboxId(this.args.sandboxId);
|
|
50
|
-
const { ttl, 'auto-scheduled': autoScheduled, tags, emails } = this.flags;
|
|
55
|
+
const { ttl, 'auto-scheduled': autoScheduled, 'resource-profile': resourceProfile, tags, emails } = this.flags;
|
|
51
56
|
// Require at least one update flag
|
|
52
|
-
if (ttl === undefined &&
|
|
53
|
-
|
|
57
|
+
if (ttl === undefined &&
|
|
58
|
+
autoScheduled === undefined &&
|
|
59
|
+
resourceProfile === undefined &&
|
|
60
|
+
tags === undefined &&
|
|
61
|
+
emails === undefined) {
|
|
62
|
+
this.error('At least one update flag is required. Use --ttl, --auto-scheduled, --resource-profile, --tags, or --emails.');
|
|
54
63
|
}
|
|
55
64
|
const body = {};
|
|
56
65
|
if (ttl !== undefined) {
|
|
@@ -59,6 +68,9 @@ export default class SandboxUpdate extends OdsCommand {
|
|
|
59
68
|
if (autoScheduled !== undefined) {
|
|
60
69
|
body.autoScheduled = autoScheduled;
|
|
61
70
|
}
|
|
71
|
+
if (resourceProfile !== undefined) {
|
|
72
|
+
body.resourceProfile = resourceProfile;
|
|
73
|
+
}
|
|
62
74
|
if (tags !== undefined) {
|
|
63
75
|
body.tags = tags.split(',').map((tag) => tag.trim());
|
|
64
76
|
}
|
|
@@ -91,6 +103,7 @@ export default class SandboxUpdate extends OdsCommand {
|
|
|
91
103
|
['Realm', sandbox.realm],
|
|
92
104
|
['Instance', sandbox.instance],
|
|
93
105
|
['State', sandbox.state],
|
|
106
|
+
['Profile', sandbox.resourceProfile],
|
|
94
107
|
['Auto Scheduled', sandbox.autoScheduled?.toString()],
|
|
95
108
|
['EOL', sandbox.eol ? new Date(sandbox.eol).toLocaleString() : undefined],
|
|
96
109
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/sandbox/update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,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;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/sandbox/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GranularReplicationsCommand } from '../../../utils/scapi/replications.js';
|
|
2
|
+
import { type PublishProcessResponse } from '@salesforce/b2c-tooling-sdk';
|
|
3
|
+
export default class ReplicationsGet extends GranularReplicationsCommand<typeof ReplicationsGet> {
|
|
4
|
+
static args: {
|
|
5
|
+
'process-id': import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static description: string;
|
|
8
|
+
static enableJsonFlag: boolean;
|
|
9
|
+
static examples: string[];
|
|
10
|
+
run(): Promise<PublishProcessResponse>;
|
|
11
|
+
private printProcessDetails;
|
|
12
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
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, ux } from '@oclif/core';
|
|
7
|
+
import cliui from 'cliui';
|
|
8
|
+
import { GranularReplicationsCommand } from '../../../utils/scapi/replications.js';
|
|
9
|
+
import { getApiErrorMessage } from '@salesforce/b2c-tooling-sdk';
|
|
10
|
+
import { t, withDocs } from '../../../i18n/index.js';
|
|
11
|
+
export default class ReplicationsGet extends GranularReplicationsCommand {
|
|
12
|
+
static args = {
|
|
13
|
+
'process-id': Args.string({
|
|
14
|
+
description: 'Publish process ID',
|
|
15
|
+
required: true,
|
|
16
|
+
}),
|
|
17
|
+
};
|
|
18
|
+
static description = withDocs(t('commands.replications.get.description', 'Get granular replication process details'), '/cli/replications.html#get');
|
|
19
|
+
static enableJsonFlag = true;
|
|
20
|
+
static examples = [
|
|
21
|
+
'<%= config.bin %> <%= command.id %> <process-id>',
|
|
22
|
+
'<%= config.bin %> <%= command.id %> xmRhi7394HymoeRkfwAAAZeg3WiM',
|
|
23
|
+
];
|
|
24
|
+
async run() {
|
|
25
|
+
this.requireOAuthCredentials();
|
|
26
|
+
const processId = this.args['process-id'];
|
|
27
|
+
const organizationId = this.getOrganizationId();
|
|
28
|
+
const result = await this.granularReplicationsClient.GET('/organizations/{organizationId}/granular-processes/{id}', {
|
|
29
|
+
params: {
|
|
30
|
+
path: { organizationId, id: processId },
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
if (!result.data) {
|
|
34
|
+
const message = getApiErrorMessage(result.error, result.response);
|
|
35
|
+
this.error(t('commands.replications.get.error', 'Failed to get replication process: {{message}}', { message }));
|
|
36
|
+
}
|
|
37
|
+
if (this.jsonEnabled())
|
|
38
|
+
return result.data;
|
|
39
|
+
this.printProcessDetails(result.data);
|
|
40
|
+
return result.data;
|
|
41
|
+
}
|
|
42
|
+
printProcessDetails(processData) {
|
|
43
|
+
const ui = cliui({ width: process.stdout.columns || 80 });
|
|
44
|
+
ui.div({ text: 'Replication Process Details', padding: [1, 0, 0, 0] });
|
|
45
|
+
ui.div('─'.repeat(60));
|
|
46
|
+
ui.div({ text: `ID: ${processData.id}`, padding: [1, 0, 0, 0] });
|
|
47
|
+
ui.div({ text: `Status: ${processData.status}` });
|
|
48
|
+
ui.div({ text: `Started: ${processData.startTime}` });
|
|
49
|
+
if (processData.endTime)
|
|
50
|
+
ui.div({ text: `Completed: ${processData.endTime}` });
|
|
51
|
+
ui.div({ text: `Initiated By: ${processData.initiatedBy}` });
|
|
52
|
+
if (processData.productItem) {
|
|
53
|
+
ui.div({ text: '\nEntity: Product', padding: [1, 0, 0, 0] });
|
|
54
|
+
ui.div({ text: `Product ID: ${processData.productItem.productId}` });
|
|
55
|
+
}
|
|
56
|
+
else if (processData.priceTableItem) {
|
|
57
|
+
ui.div({ text: '\nEntity: Price Table', padding: [1, 0, 0, 0] });
|
|
58
|
+
ui.div({ text: `Price Table ID: ${processData.priceTableItem.priceTableId}` });
|
|
59
|
+
}
|
|
60
|
+
else if (processData.contentAssetItem) {
|
|
61
|
+
ui.div({ text: '\nEntity: Content Asset', padding: [1, 0, 0, 0] });
|
|
62
|
+
ui.div({ text: `Content ID: ${processData.contentAssetItem.contentId}` });
|
|
63
|
+
ui.div({ text: `Type: ${processData.contentAssetItem.type}` });
|
|
64
|
+
if (processData.contentAssetItem.type === 'private') {
|
|
65
|
+
ui.div({ text: `Site ID: ${processData.contentAssetItem.siteId}` });
|
|
66
|
+
}
|
|
67
|
+
if (processData.contentAssetItem.type === 'shared') {
|
|
68
|
+
ui.div({ text: `Library ID: ${processData.contentAssetItem.libraryId}` });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
ux.stdout(ui.toString());
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/scapi/replications/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { GranularReplicationsCommand } from '../../../utils/scapi/replications.js';
|
|
2
|
+
import { type PublishProcessListResponse } from '@salesforce/b2c-tooling-sdk';
|
|
3
|
+
export default class ReplicationsList extends GranularReplicationsCommand<typeof ReplicationsList> {
|
|
4
|
+
static description: string;
|
|
5
|
+
static enableJsonFlag: boolean;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static flags: {
|
|
8
|
+
limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
offset: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
columns: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
extended: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<PublishProcessListResponse>;
|
|
14
|
+
/**
|
|
15
|
+
* Determines which columns to display based on flags.
|
|
16
|
+
*/
|
|
17
|
+
private getSelectedColumns;
|
|
18
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Flags, ux } from '@oclif/core';
|
|
7
|
+
import { GranularReplicationsCommand } from '../../../utils/scapi/replications.js';
|
|
8
|
+
import { TableRenderer } from '@salesforce/b2c-tooling-sdk/cli';
|
|
9
|
+
import { getApiErrorMessage, } from '@salesforce/b2c-tooling-sdk';
|
|
10
|
+
import { t, withDocs } from '../../../i18n/index.js';
|
|
11
|
+
const COLUMNS = {
|
|
12
|
+
id: { header: 'ID', get: (p) => p.id || '-' },
|
|
13
|
+
status: { header: 'Status', get: (p) => p.status || '-' },
|
|
14
|
+
startTime: { header: 'Started', get: (p) => p.startTime || '-' },
|
|
15
|
+
endTime: { header: 'Completed', get: (p) => p.endTime || '-' },
|
|
16
|
+
initiatedBy: { header: 'Initiated By', get: (p) => p.initiatedBy || '-' },
|
|
17
|
+
entityType: {
|
|
18
|
+
header: 'Entity Type',
|
|
19
|
+
get(p) {
|
|
20
|
+
if (p.productItem)
|
|
21
|
+
return 'Product';
|
|
22
|
+
if (p.priceTableItem)
|
|
23
|
+
return 'Price Table';
|
|
24
|
+
if (p.contentAssetItem)
|
|
25
|
+
return 'Content Asset';
|
|
26
|
+
return '-';
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
entityId: {
|
|
30
|
+
header: 'Entity ID',
|
|
31
|
+
get(p) {
|
|
32
|
+
if (p.productItem)
|
|
33
|
+
return p.productItem.productId;
|
|
34
|
+
if (p.priceTableItem)
|
|
35
|
+
return p.priceTableItem.priceTableId;
|
|
36
|
+
if (p.contentAssetItem)
|
|
37
|
+
return p.contentAssetItem.contentId;
|
|
38
|
+
return '-';
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
const DEFAULT_COLUMNS = ['id', 'status', 'entityType', 'entityId', 'startTime'];
|
|
43
|
+
const tableRenderer = new TableRenderer(COLUMNS);
|
|
44
|
+
export default class ReplicationsList extends GranularReplicationsCommand {
|
|
45
|
+
static description = withDocs(t('commands.replications.list.description', 'List granular replication processes'), '/cli/replications.html#list');
|
|
46
|
+
static enableJsonFlag = true;
|
|
47
|
+
static examples = [
|
|
48
|
+
'<%= config.bin %> <%= command.id %>',
|
|
49
|
+
'<%= config.bin %> <%= command.id %> --limit 50',
|
|
50
|
+
'<%= config.bin %> <%= command.id %> --extended',
|
|
51
|
+
];
|
|
52
|
+
static flags = {
|
|
53
|
+
limit: Flags.integer({
|
|
54
|
+
char: 'l',
|
|
55
|
+
description: 'Maximum number of results',
|
|
56
|
+
default: 20,
|
|
57
|
+
}),
|
|
58
|
+
offset: Flags.integer({
|
|
59
|
+
char: 'o',
|
|
60
|
+
description: 'Result offset for pagination',
|
|
61
|
+
default: 0,
|
|
62
|
+
}),
|
|
63
|
+
columns: Flags.string({
|
|
64
|
+
char: 'c',
|
|
65
|
+
description: 'Columns to display (comma-separated)',
|
|
66
|
+
}),
|
|
67
|
+
extended: Flags.boolean({
|
|
68
|
+
char: 'x',
|
|
69
|
+
description: 'Show all columns',
|
|
70
|
+
default: false,
|
|
71
|
+
}),
|
|
72
|
+
};
|
|
73
|
+
async run() {
|
|
74
|
+
this.requireOAuthCredentials();
|
|
75
|
+
const { limit, offset } = this.flags;
|
|
76
|
+
const organizationId = this.getOrganizationId();
|
|
77
|
+
const result = await this.granularReplicationsClient.GET('/organizations/{organizationId}/granular-processes', {
|
|
78
|
+
params: {
|
|
79
|
+
path: { organizationId },
|
|
80
|
+
query: { limit, offset },
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
if (!result.data) {
|
|
84
|
+
const message = getApiErrorMessage(result.error, result.response);
|
|
85
|
+
this.error(t('commands.replications.list.error', 'Failed to list replication processes: {{message}}', { message }));
|
|
86
|
+
}
|
|
87
|
+
if (this.jsonEnabled())
|
|
88
|
+
return result.data;
|
|
89
|
+
const processes = result.data.data || [];
|
|
90
|
+
const columns = this.getSelectedColumns();
|
|
91
|
+
ux.stdout('\n');
|
|
92
|
+
tableRenderer.render(processes, columns);
|
|
93
|
+
ux.stdout(t('commands.replications.list.total', '\nTotal: {{total}} processes', { total: result.data.total }) + '\n');
|
|
94
|
+
return result.data;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Determines which columns to display based on flags.
|
|
98
|
+
*/
|
|
99
|
+
getSelectedColumns() {
|
|
100
|
+
const columnsFlag = this.flags.columns;
|
|
101
|
+
const extended = this.flags.extended;
|
|
102
|
+
if (columnsFlag) {
|
|
103
|
+
const requested = columnsFlag.split(',').map((c) => c.trim());
|
|
104
|
+
const valid = tableRenderer.validateColumnKeys(requested);
|
|
105
|
+
if (valid.length === 0) {
|
|
106
|
+
this.warn(`No valid columns specified. Available: ${tableRenderer.getColumnKeys().join(', ')}`);
|
|
107
|
+
return DEFAULT_COLUMNS;
|
|
108
|
+
}
|
|
109
|
+
return valid;
|
|
110
|
+
}
|
|
111
|
+
if (extended) {
|
|
112
|
+
// Show all columns
|
|
113
|
+
return Object.keys(COLUMNS);
|
|
114
|
+
}
|
|
115
|
+
// Show default columns
|
|
116
|
+
return DEFAULT_COLUMNS;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/scapi/replications/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GranularReplicationsCommand } from '../../../utils/scapi/replications.js';
|
|
2
|
+
import { type PublishIdResponse } from '@salesforce/b2c-tooling-sdk';
|
|
3
|
+
export default class ReplicationsPublish extends GranularReplicationsCommand<typeof ReplicationsPublish> {
|
|
4
|
+
static description: string;
|
|
5
|
+
static enableJsonFlag: boolean;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static flags: {
|
|
8
|
+
'product-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'price-table-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'content-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'content-type': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'site-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'library-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<PublishIdResponse>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Flags } from '@oclif/core';
|
|
7
|
+
import { GranularReplicationsCommand } from '../../../utils/scapi/replications.js';
|
|
8
|
+
import { getApiErrorMessage } from '@salesforce/b2c-tooling-sdk';
|
|
9
|
+
import { t, withDocs } from '../../../i18n/index.js';
|
|
10
|
+
export default class ReplicationsPublish extends GranularReplicationsCommand {
|
|
11
|
+
static description = withDocs(t('commands.replications.publish.description', 'Queue an item for granular replication (publish to production)'), '/cli/replications.html#publish');
|
|
12
|
+
static enableJsonFlag = true;
|
|
13
|
+
static examples = [
|
|
14
|
+
'# Publish a product',
|
|
15
|
+
'<%= config.bin %> <%= command.id %> --product-id PROD-123',
|
|
16
|
+
'',
|
|
17
|
+
'# Publish a price table',
|
|
18
|
+
'<%= config.bin %> <%= command.id %> --price-table-id usd-list-prices',
|
|
19
|
+
'',
|
|
20
|
+
'# Publish content asset from private library',
|
|
21
|
+
'<%= config.bin %> <%= command.id %> --content-id hero-banner --content-type private --site-id RefArch',
|
|
22
|
+
'',
|
|
23
|
+
'# Publish content asset from shared library',
|
|
24
|
+
'<%= config.bin %> <%= command.id %> --content-id footer-links --content-type shared --library-id SharedLibrary',
|
|
25
|
+
];
|
|
26
|
+
static flags = {
|
|
27
|
+
'product-id': Flags.string({
|
|
28
|
+
description: 'Product ID (SKU) to publish',
|
|
29
|
+
exclusive: ['price-table-id', 'content-id'],
|
|
30
|
+
}),
|
|
31
|
+
'price-table-id': Flags.string({
|
|
32
|
+
description: 'Price table ID to publish',
|
|
33
|
+
exclusive: ['product-id', 'content-id'],
|
|
34
|
+
}),
|
|
35
|
+
'content-id': Flags.string({
|
|
36
|
+
description: 'Content asset ID to publish',
|
|
37
|
+
exclusive: ['product-id', 'price-table-id'],
|
|
38
|
+
dependsOn: ['content-type'],
|
|
39
|
+
}),
|
|
40
|
+
'content-type': Flags.string({
|
|
41
|
+
description: 'Content asset library type',
|
|
42
|
+
options: ['private', 'shared'],
|
|
43
|
+
dependsOn: ['content-id'],
|
|
44
|
+
}),
|
|
45
|
+
'site-id': Flags.string({
|
|
46
|
+
description: 'Site ID (required for private content assets)',
|
|
47
|
+
}),
|
|
48
|
+
'library-id': Flags.string({
|
|
49
|
+
description: 'Library ID (required for shared content assets)',
|
|
50
|
+
}),
|
|
51
|
+
};
|
|
52
|
+
async run() {
|
|
53
|
+
this.requireOAuthCredentials();
|
|
54
|
+
const { 'product-id': productId, 'price-table-id': priceTableId, 'content-id': contentId, 'content-type': contentType, 'site-id': siteId, 'library-id': libraryId, } = this.flags;
|
|
55
|
+
// Validate entity type provided
|
|
56
|
+
if (!productId && !priceTableId && !contentId) {
|
|
57
|
+
this.error(t('commands.replications.publish.no-entity', 'Must specify --product-id, --price-table-id, or --content-id'));
|
|
58
|
+
}
|
|
59
|
+
let body;
|
|
60
|
+
if (productId) {
|
|
61
|
+
body = { product: { productId } };
|
|
62
|
+
}
|
|
63
|
+
else if (priceTableId) {
|
|
64
|
+
body = { priceTable: { priceTableId } };
|
|
65
|
+
}
|
|
66
|
+
else if (contentId) {
|
|
67
|
+
if (contentType === 'private') {
|
|
68
|
+
if (!siteId) {
|
|
69
|
+
this.error(t('commands.replications.publish.site-required', '--site-id required for private content assets'));
|
|
70
|
+
}
|
|
71
|
+
body = { contentAsset: { contentId, type: 'private', siteId } };
|
|
72
|
+
}
|
|
73
|
+
else if (contentType === 'shared') {
|
|
74
|
+
if (!libraryId) {
|
|
75
|
+
this.error(t('commands.replications.publish.library-required', '--library-id required for shared content assets'));
|
|
76
|
+
}
|
|
77
|
+
body = { contentAsset: { contentId, type: 'shared', libraryId } };
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (!body) {
|
|
81
|
+
this.error(t('commands.replications.publish.no-entity', 'Must specify --product-id, --price-table-id, or --content-id'));
|
|
82
|
+
}
|
|
83
|
+
const organizationId = this.getOrganizationId();
|
|
84
|
+
const result = await this.granularReplicationsClient.POST('/organizations/{organizationId}/granular-processes', {
|
|
85
|
+
params: { path: { organizationId } },
|
|
86
|
+
body,
|
|
87
|
+
});
|
|
88
|
+
if (!result.data) {
|
|
89
|
+
const message = getApiErrorMessage(result.error, result.response);
|
|
90
|
+
this.error(t('commands.replications.publish.error', 'Failed to queue item for publishing: {{message}}', { message }));
|
|
91
|
+
}
|
|
92
|
+
if (!this.jsonEnabled()) {
|
|
93
|
+
this.log(t('commands.replications.publish.success', 'Item queued for publishing. Process ID: {{id}}', {
|
|
94
|
+
id: result.data.id,
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
return result.data;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/scapi/replications/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GranularReplicationsCommand } from '../../../utils/scapi/replications.js';
|
|
2
|
+
import { type PublishProcessResponse } from '@salesforce/b2c-tooling-sdk';
|
|
3
|
+
export default class ReplicationsWait extends GranularReplicationsCommand<typeof ReplicationsWait> {
|
|
4
|
+
static args: {
|
|
5
|
+
'process-id': import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static description: string;
|
|
8
|
+
static enableJsonFlag: boolean;
|
|
9
|
+
static examples: string[];
|
|
10
|
+
static flags: {
|
|
11
|
+
timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
interval: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<PublishProcessResponse>;
|
|
15
|
+
}
|