prodlysfcli 1.2.0 → 1.2.3
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 +18 -16
- package/lib/commands/prodly/checkin.d.ts +20 -0
- package/lib/commands/prodly/checkin.js +130 -0
- package/lib/commands/prodly/checkin.js.map +1 -0
- package/lib/commands/prodly/checkout.d.ts +21 -0
- package/lib/commands/prodly/checkout.js +137 -0
- package/lib/commands/prodly/checkout.js.map +1 -0
- package/lib/commands/prodly/deploy.d.ts +26 -0
- package/lib/commands/prodly/deploy.js +264 -0
- package/lib/commands/prodly/deploy.js.map +1 -0
- package/lib/commands/prodly/jobs.d.ts +15 -0
- package/lib/commands/prodly/jobs.js +33 -0
- package/lib/commands/prodly/jobs.js.map +1 -0
- package/lib/commands/prodly/manage.d.ts +24 -0
- package/lib/commands/prodly/manage.js +167 -0
- package/lib/commands/prodly/manage.js.map +1 -0
- package/lib/commands/prodly/version.d.ts +16 -0
- package/lib/commands/prodly/version.js +88 -0
- package/lib/commands/prodly/version.js.map +1 -0
- package/lib/constants/index.d.ts +5 -0
- package/lib/constants/index.js +6 -0
- package/lib/constants/index.js.map +1 -0
- package/lib/helpers/index.d.ts +6 -0
- package/lib/helpers/index.js +17 -0
- package/lib/helpers/index.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib/services/connections.d.ts +7 -0
- package/lib/services/connections.js +109 -0
- package/lib/services/connections.js.map +1 -0
- package/lib/services/connections.types.d.ts +31 -0
- package/lib/services/connections.types.js +2 -0
- package/lib/services/connections.types.js.map +1 -0
- package/lib/services/jobs.d.ts +4 -0
- package/lib/services/jobs.js +26 -0
- package/lib/services/jobs.js.map +1 -0
- package/lib/services/jobs.types.d.ts +13 -0
- package/lib/services/jobs.types.js +2 -0
- package/lib/services/jobs.types.js.map +1 -0
- package/lib/services/manage-instances.d.ts +9 -0
- package/lib/services/manage-instances.js +116 -0
- package/lib/services/manage-instances.js.map +1 -0
- package/lib/services/manage-instances.types.d.ts +58 -0
- package/lib/services/manage-instances.types.js +2 -0
- package/lib/services/manage-instances.types.js.map +1 -0
- package/lib/services/queries.d.ts +8 -0
- package/lib/services/queries.js +54 -0
- package/lib/services/queries.js.map +1 -0
- package/lib/types/generic.d.ts +5 -0
- package/lib/types/generic.js +2 -0
- package/lib/types/generic.js.map +1 -0
- package/lib/types/prodly.d.ts +69 -0
- package/lib/types/prodly.js +2 -0
- package/lib/types/prodly.js.map +1 -0
- package/lib/types/salesforce.d.ts +14 -0
- package/lib/types/salesforce.js +2 -0
- package/lib/types/salesforce.js.map +1 -0
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.js +3 -0
- package/lib/utils/index.js.map +1 -0
- package/messages/prodly.checkin.md +1 -1
- package/messages/prodly.checkout.md +1 -1
- package/messages/prodly.deploy.md +2 -2
- package/messages/prodly.json +1 -0
- package/messages/prodly.manage.md +1 -1
- package/messages/prodly.version.md +3 -0
- package/npm-shrinkwrap.json +1715 -1090
- package/oclif.lock +2327 -2091
- package/oclif.manifest.json +708 -2
- package/package.json +10 -10
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/* eslint-disable complexity */
|
|
2
|
+
import { Messages, SfError } from '@salesforce/core';
|
|
3
|
+
import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
|
|
4
|
+
import { constructQueryFilter } from '../../helpers/index.js';
|
|
5
|
+
import { createConnection, getConnectionId, updateConnection } from '../../services/connections.js';
|
|
6
|
+
import { getManagedInstance, manageInstance } from '../../services/manage-instances.js';
|
|
7
|
+
import { getDeploymentEntityId } from '../../services/queries.js';
|
|
8
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
9
|
+
const commandMessages = Messages.loadMessages('prodlysfcli', 'prodly.deploy');
|
|
10
|
+
const prodlyMessages = Messages.loadMessages('prodlysfcli', 'prodly');
|
|
11
|
+
export default class ProdlyDeploy extends SfCommand {
|
|
12
|
+
static summary = commandMessages.getMessage('summary');
|
|
13
|
+
static description = prodlyMessages.getMessage('descriptionDeployCommand');
|
|
14
|
+
static examples = commandMessages.getMessages('examples');
|
|
15
|
+
static flags = {
|
|
16
|
+
'target-dev-hub': Flags.requiredHub(),
|
|
17
|
+
'target-org': Flags.requiredOrg(),
|
|
18
|
+
dataset: Flags.string({ char: 't', summary: prodlyMessages.getMessage('dataSetFlagDescription') }),
|
|
19
|
+
deactivate: Flags.boolean({ char: 'e', summary: prodlyMessages.getMessage('deactivateFlagDescription') }),
|
|
20
|
+
destination: Flags.string({ char: 'd', summary: prodlyMessages.getMessage('destinationFlagDescription') }),
|
|
21
|
+
filter: Flags.string({ char: 'q', summary: prodlyMessages.getMessage('queryFilterFlagDescription') }),
|
|
22
|
+
label: Flags.string({ char: 'b', summary: prodlyMessages.getMessage('instanceNameFlagDescription') }),
|
|
23
|
+
name: Flags.string({ char: 'n', summary: prodlyMessages.getMessage('deplomentNameFlagDescription') }),
|
|
24
|
+
notes: Flags.string({ char: 'z', summary: prodlyMessages.getMessage('notesFlagDescription') }),
|
|
25
|
+
plan: Flags.string({ char: 'p', summary: prodlyMessages.getMessage('deploymentPlanFlagDescription') }),
|
|
26
|
+
simulation: Flags.boolean({ char: 'l', summary: prodlyMessages.getMessage('simulationFlagDescription') }),
|
|
27
|
+
source: Flags.string({ char: 's', summary: prodlyMessages.getMessage('sourceFlagDescription') }),
|
|
28
|
+
};
|
|
29
|
+
async run() {
|
|
30
|
+
const { flags } = await this.parse(ProdlyDeploy);
|
|
31
|
+
const { dataset: datasetFlag, deactivate: deactivateFlag, destination: destinationFlag, filter: queryFilterFlag, label: labelFlag, name: deploymentNameFlag, notes: deploymentNotesFlag, plan: planFlag, simulation: simulationFlag, source: sourceFlag, } = flags;
|
|
32
|
+
const isOrgSpecified = sourceFlag !== undefined || destinationFlag !== undefined;
|
|
33
|
+
this.log('Deployment name flag: ' + deploymentNameFlag);
|
|
34
|
+
this.log('Deployment description flag: ' + deploymentNotesFlag);
|
|
35
|
+
this.log('Source instance flag: ' + sourceFlag);
|
|
36
|
+
this.log('Destination instance flag: ' + destinationFlag);
|
|
37
|
+
this.log('Data set flag: ' + datasetFlag);
|
|
38
|
+
this.log('Deployment plan flag: ' + planFlag);
|
|
39
|
+
this.log('Instance name flag: ' + labelFlag);
|
|
40
|
+
this.log('Deactivate flag: ' + deactivateFlag);
|
|
41
|
+
this.log('Simulation flag: ' + simulationFlag);
|
|
42
|
+
this.log('Query filter flag: ' + queryFilterFlag);
|
|
43
|
+
if (!datasetFlag && !planFlag) {
|
|
44
|
+
throw new SfError(prodlyMessages.getMessage('errorNoDatasetAndPlanFlags', []));
|
|
45
|
+
}
|
|
46
|
+
if (datasetFlag && planFlag) {
|
|
47
|
+
throw new SfError(prodlyMessages.getMessage('errorDatasetAndPlanFlags', []));
|
|
48
|
+
}
|
|
49
|
+
if (!datasetFlag && queryFilterFlag) {
|
|
50
|
+
throw new SfError(prodlyMessages.getMessage('errorQueryFilterFlag', []));
|
|
51
|
+
}
|
|
52
|
+
const org = flags['target-org'];
|
|
53
|
+
const hubOrg = flags['target-dev-hub'];
|
|
54
|
+
const hubConn = hubOrg.getConnection();
|
|
55
|
+
const print = (message, ...args) => this.log(message, ...args);
|
|
56
|
+
let sourceInstanceId;
|
|
57
|
+
let destinationInstanceId;
|
|
58
|
+
let dataSetId;
|
|
59
|
+
let deploymentPlanId;
|
|
60
|
+
// Four posibilities:
|
|
61
|
+
// 1. Source and destination instance params are provided, deploy from source to destination instance
|
|
62
|
+
// 2. Source instance and dx org param are provided, deploy from source instance to dx org instance
|
|
63
|
+
// 3. Destination instance and dx org param are provided, deploy from dx org instance to destination instance
|
|
64
|
+
// 4. Only dx org param is provided, deploy from devhub/control org to the destination instance.
|
|
65
|
+
//
|
|
66
|
+
// Any auto managed instances, and its associated auto created connections, will only contain a short lived refresh token
|
|
67
|
+
// This means that for any subsequent deployments the refresh token needs to be updated with the latest
|
|
68
|
+
// Which can only happen if we have a provided target username parameter for the instance org
|
|
69
|
+
// So only the source or destination instance can be an auto managed
|
|
70
|
+
// Set source mamanaged instance
|
|
71
|
+
if (sourceFlag) {
|
|
72
|
+
// Source and/or destination is a managed instance and the other is a DX managed org
|
|
73
|
+
this.log(`Source managed instance parameter is specified: ${sourceFlag}`);
|
|
74
|
+
// Source is a managed instance, use the managed instance ID
|
|
75
|
+
sourceInstanceId = sourceFlag;
|
|
76
|
+
}
|
|
77
|
+
else if (isOrgSpecified) {
|
|
78
|
+
// Source is a DX managed org
|
|
79
|
+
this.log(`Source managed instance parameter is not specified, finding or creating managed instance by org ID: ${org.getOrgId()}`);
|
|
80
|
+
// Check if a managed instance exist with the same org ID
|
|
81
|
+
let managedInstance = await getManagedInstance({ hubConn, orgId: org.getOrgId(), print });
|
|
82
|
+
this.log(`Retrieved managed instance: ${JSON.stringify(managedInstance)}`);
|
|
83
|
+
if (managedInstance) {
|
|
84
|
+
// If exists, use that managed instance ID
|
|
85
|
+
this.log(`Managed instance found, using it, with ID: ${managedInstance.id}`);
|
|
86
|
+
sourceInstanceId = managedInstance.id;
|
|
87
|
+
// Update the connection with the latest access token
|
|
88
|
+
this.log('Updating the connection with the latest access token');
|
|
89
|
+
await updateConnection({ connectionId: managedInstance.connectionId, hubConn, org });
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this.log('Managed instance for the org does not exist, managing instance.');
|
|
93
|
+
// If doesn't exist, query for an active connection to the org
|
|
94
|
+
let connectionId = await getConnectionId({ hubConn, orgId: org.getOrgId(), print });
|
|
95
|
+
this.log(`Retrieved connection ID: ${connectionId ?? ''}`);
|
|
96
|
+
if (!connectionId) {
|
|
97
|
+
// If a connection doesn't exist, create it, then use it to manage the new instance
|
|
98
|
+
this.log('Connection does not exist, creating.');
|
|
99
|
+
connectionId = await createConnection({ hubConn, name: labelFlag, org });
|
|
100
|
+
this.log(`Created connection with record ID: ${connectionId ?? ''}`);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
// Update the connection with the latest access token
|
|
104
|
+
this.log('Updating the connection with the latest access token');
|
|
105
|
+
await updateConnection({ connectionId, hubConn, org });
|
|
106
|
+
}
|
|
107
|
+
// Connection exists, use it to manage the new instance
|
|
108
|
+
const orgId = org.getOrgId();
|
|
109
|
+
const { managedInstance: newManagedInstance } = await manageInstance({
|
|
110
|
+
body: {
|
|
111
|
+
platformInstance: {
|
|
112
|
+
platformInstanceId: orgId,
|
|
113
|
+
connectionId,
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
hubConn,
|
|
117
|
+
orgId,
|
|
118
|
+
});
|
|
119
|
+
managedInstance = newManagedInstance;
|
|
120
|
+
this.log(`New managed instance: ${managedInstance.id}`);
|
|
121
|
+
sourceInstanceId = managedInstance.id;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
// Source is the dev hub/control org
|
|
126
|
+
this.log(`Source and Destination not specified, setting hub as the source, org ID: ${hubConn.getAuthInfoFields().orgId ?? ''}`);
|
|
127
|
+
const managedInstance = await getManagedInstance({ hubConn, orgId: hubConn.getAuthInfoFields().orgId, print });
|
|
128
|
+
this.log(`Retrieved managed instance ID for the control org: ${managedInstance?.id ?? ''}`);
|
|
129
|
+
if (!managedInstance) {
|
|
130
|
+
throw new SfError('No managed instance found for the devhub/control org.');
|
|
131
|
+
}
|
|
132
|
+
sourceInstanceId = managedInstance.id;
|
|
133
|
+
}
|
|
134
|
+
if (destinationFlag) {
|
|
135
|
+
this.log('Destination managed instance parameter is specified: ', sourceFlag);
|
|
136
|
+
// Destination is a managed instance, use the managed instance ID
|
|
137
|
+
destinationInstanceId = destinationFlag;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
// Destination is a DX managed org
|
|
141
|
+
this.log(`Destination managed instance parameter is not specified, finding or creating managed instance by org ID: ${org.getOrgId()}`);
|
|
142
|
+
// Check if a managed instance exist with the same org ID
|
|
143
|
+
let managedInstance = await getManagedInstance({ hubConn, orgId: org.getOrgId(), print });
|
|
144
|
+
this.log('Retrieved managed instance: ', JSON.stringify(managedInstance));
|
|
145
|
+
if (managedInstance) {
|
|
146
|
+
// If exists, use that managed instance ID
|
|
147
|
+
this.log(`Managed instance found, using it, with ID: ${managedInstance?.id}`);
|
|
148
|
+
destinationInstanceId = managedInstance?.id;
|
|
149
|
+
// Update the connection with the latest access token
|
|
150
|
+
this.log('Updating the connection with the latest access token');
|
|
151
|
+
await updateConnection({ connectionId: managedInstance.connectionId, hubConn, org });
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
this.log('Managed instance for the org does not exist, managing instance.');
|
|
155
|
+
// If doesn't exist, query for an active connection to the org
|
|
156
|
+
let connectionId = await getConnectionId({ hubConn, orgId: org.getOrgId(), print });
|
|
157
|
+
this.log('Retrieved connection ID: ', connectionId);
|
|
158
|
+
if (!connectionId) {
|
|
159
|
+
// If a connection doesn't exist, create it, then use it to manage the new instance
|
|
160
|
+
this.log('Connection does not exist, creating.');
|
|
161
|
+
connectionId = await createConnection({ hubConn, name: labelFlag, org });
|
|
162
|
+
this.log(`Created connection with record ID: ${connectionId ?? ''}`);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
// Update the connection with the latest access token
|
|
166
|
+
this.log('Updating the connection with the latest access token');
|
|
167
|
+
await updateConnection({ connectionId, hubConn, org });
|
|
168
|
+
}
|
|
169
|
+
// Connection exists, use it to manage the new instance
|
|
170
|
+
const orgId = org.getOrgId();
|
|
171
|
+
const body = {
|
|
172
|
+
platformInstance: {
|
|
173
|
+
platformInstanceId: orgId,
|
|
174
|
+
connectionId,
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
const { managedInstance: newManagedInstance } = await manageInstance({
|
|
178
|
+
body,
|
|
179
|
+
hubConn,
|
|
180
|
+
orgId,
|
|
181
|
+
});
|
|
182
|
+
managedInstance = newManagedInstance;
|
|
183
|
+
this.log(`New managed instance ID: ${managedInstance.id}`);
|
|
184
|
+
destinationInstanceId = managedInstance.id;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
this.log('Refreshing org session auth');
|
|
188
|
+
try {
|
|
189
|
+
await org.refreshAuth();
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
// Target username not valid or not specified, refresh failed
|
|
193
|
+
}
|
|
194
|
+
// Retrieve the data set or deployment plan to deploy
|
|
195
|
+
this.log('Retrieving data set or deployment plan to deploy.');
|
|
196
|
+
if (datasetFlag) {
|
|
197
|
+
dataSetId = await getDeploymentEntityId({
|
|
198
|
+
dataEntityFlag: datasetFlag,
|
|
199
|
+
dataEntityType: 'PDRI__DataSet__c',
|
|
200
|
+
hubConn,
|
|
201
|
+
print,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
else if (planFlag) {
|
|
205
|
+
deploymentPlanId = await getDeploymentEntityId({
|
|
206
|
+
dataEntityFlag: planFlag,
|
|
207
|
+
dataEntityType: 'PDRI__Deployment_Plan__c',
|
|
208
|
+
hubConn,
|
|
209
|
+
print,
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
this.log('Launching deployment.');
|
|
213
|
+
const jobId = await this.deploy({
|
|
214
|
+
dataSetId,
|
|
215
|
+
deactivateAllEvents: deactivateFlag,
|
|
216
|
+
deploymentName: deploymentNameFlag,
|
|
217
|
+
deploymentNotes: deploymentNotesFlag,
|
|
218
|
+
deploymentPlanId,
|
|
219
|
+
destinationInstanceId,
|
|
220
|
+
hubConn,
|
|
221
|
+
queryFilter: queryFilterFlag,
|
|
222
|
+
simulation: simulationFlag,
|
|
223
|
+
sourceInstanceId,
|
|
224
|
+
});
|
|
225
|
+
this.log(`Deployment launched with Job ID: ${jobId}`);
|
|
226
|
+
// Return an object to be displayed with --json
|
|
227
|
+
return { jobId, message: 'Deployment launched' };
|
|
228
|
+
}
|
|
229
|
+
async deploy({ dataSetId, deactivateAllEvents, deploymentName, deploymentNotes, deploymentPlanId, destinationInstanceId, hubConn, queryFilter, simulation, sourceInstanceId, }) {
|
|
230
|
+
this.log('Invoking deployment.');
|
|
231
|
+
const path = `/services/apexrest/PDRI/v1/instances/${destinationInstanceId}/deploy`;
|
|
232
|
+
const eventControlOptions = {
|
|
233
|
+
deactivateAll: !!deactivateAllEvents,
|
|
234
|
+
};
|
|
235
|
+
const dataDeploymentOptions = {
|
|
236
|
+
dataSetId,
|
|
237
|
+
deploymentPlanId,
|
|
238
|
+
simulation: simulation ?? false,
|
|
239
|
+
eventControlOptions,
|
|
240
|
+
queryFilter: constructQueryFilter(queryFilter),
|
|
241
|
+
};
|
|
242
|
+
const sourceOptions = {
|
|
243
|
+
managedInstanceId: sourceInstanceId,
|
|
244
|
+
};
|
|
245
|
+
const deployInstance = {
|
|
246
|
+
deploymentName,
|
|
247
|
+
deploymentNotes,
|
|
248
|
+
engagementId: null,
|
|
249
|
+
data: [dataDeploymentOptions],
|
|
250
|
+
metadata: {},
|
|
251
|
+
source: sourceOptions,
|
|
252
|
+
};
|
|
253
|
+
const request = {
|
|
254
|
+
body: JSON.stringify(deployInstance),
|
|
255
|
+
method: 'POST',
|
|
256
|
+
url: path,
|
|
257
|
+
};
|
|
258
|
+
const res = await hubConn.request(request);
|
|
259
|
+
const jobsWrapper = JSON.parse(res);
|
|
260
|
+
const jobId = jobsWrapper.jobs[0].id;
|
|
261
|
+
return jobId;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/prodly/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
import { Job } from '../../types/prodly.js';
|
|
3
|
+
export type JobsResult = {
|
|
4
|
+
job: Job;
|
|
5
|
+
};
|
|
6
|
+
export default class ProdlyJobs extends SfCommand<JobsResult> {
|
|
7
|
+
static readonly summary: string;
|
|
8
|
+
static readonly description: string;
|
|
9
|
+
static readonly examples: string[];
|
|
10
|
+
static readonly flags: {
|
|
11
|
+
'target-dev-hub': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
job: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<JobsResult>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Messages } from '@salesforce/core';
|
|
2
|
+
import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
|
|
3
|
+
import { getJob } from '../../services/jobs.js';
|
|
4
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
5
|
+
const commandMessages = Messages.loadMessages('prodlysfcli', 'prodly.jobs');
|
|
6
|
+
const prodlyMessages = Messages.loadMessages('prodlysfcli', 'prodly');
|
|
7
|
+
export default class ProdlyJobs extends SfCommand {
|
|
8
|
+
static summary = commandMessages.getMessage('summary');
|
|
9
|
+
static description = prodlyMessages.getMessage('descriptionJobsCommand');
|
|
10
|
+
static examples = commandMessages.getMessages('examples');
|
|
11
|
+
static flags = {
|
|
12
|
+
'target-dev-hub': Flags.requiredHub(),
|
|
13
|
+
job: Flags.string({
|
|
14
|
+
char: 'j',
|
|
15
|
+
required: true,
|
|
16
|
+
summary: prodlyMessages.getMessage('jobIdFlagSummary'),
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
const { flags } = await this.parse(ProdlyJobs);
|
|
21
|
+
const jobId = flags.job;
|
|
22
|
+
const hubOrg = flags['target-dev-hub'];
|
|
23
|
+
const hubConn = hubOrg.getConnection();
|
|
24
|
+
this.log(`Getting job with Id "${jobId}"`);
|
|
25
|
+
const job = await getJob({ hubConn, jobId });
|
|
26
|
+
if (!job) {
|
|
27
|
+
throw new Error(prodlyMessages.getMessage('errorJobNotFound'));
|
|
28
|
+
}
|
|
29
|
+
this.log(`Job Status: ${job.status}`);
|
|
30
|
+
return { job };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=jobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/commands/prodly/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAC5E,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAMtE,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAqB;IACpD,MAAM,CAAU,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,CAAU,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAClF,MAAM,CAAU,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEnE,MAAM,CAAU,KAAK,GAAG;QAC7B,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE;QACrC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC;SACvD,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
import { JSONObject } from '../../types/generic.js';
|
|
3
|
+
export type ProdlyManageResult = {
|
|
4
|
+
path: string;
|
|
5
|
+
};
|
|
6
|
+
export default class ProdlyManage extends SfCommand<JSONObject> {
|
|
7
|
+
static readonly summary: string;
|
|
8
|
+
static readonly description: string;
|
|
9
|
+
static readonly examples: string[];
|
|
10
|
+
static readonly flags: {
|
|
11
|
+
'target-dev-hub': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
comment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
connection: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
label: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
list: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
manage: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
print: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
unmanage: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
version: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
};
|
|
23
|
+
run(): Promise<JSONObject>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { Messages, SfError } from '@salesforce/core';
|
|
2
|
+
import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
|
|
3
|
+
import { createConnection, queryConnection, queryConnections } from '../../services/connections.js';
|
|
4
|
+
import { getManagedInstance, getManagedInstances, manageInstanceAsync, unmanageInstance, } from '../../services/manage-instances.js';
|
|
5
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
6
|
+
const commandMessages = Messages.loadMessages('prodlysfcli', 'prodly.manage');
|
|
7
|
+
const prodlyMessages = Messages.loadMessages('prodlysfcli', 'prodly');
|
|
8
|
+
export default class ProdlyManage extends SfCommand {
|
|
9
|
+
static summary = commandMessages.getMessage('summary');
|
|
10
|
+
static description = prodlyMessages.getMessage('descriptionManageCommand');
|
|
11
|
+
static examples = commandMessages.getMessages('examples');
|
|
12
|
+
static flags = {
|
|
13
|
+
'target-dev-hub': Flags.requiredHub(),
|
|
14
|
+
'target-org': Flags.requiredOrg(),
|
|
15
|
+
comment: Flags.string({ char: 'c', summary: prodlyMessages.getMessage('commentFlagDescription') }),
|
|
16
|
+
connection: Flags.string({ char: 'n', summary: prodlyMessages.getMessage('connectionFlagDescription') }),
|
|
17
|
+
instance: Flags.string({ char: 'i', summary: prodlyMessages.getMessage('instanceFlagDescription') }),
|
|
18
|
+
label: Flags.string({ char: 'b', summary: prodlyMessages.getMessage('instanceNameFlagDescription') }),
|
|
19
|
+
list: Flags.boolean({ char: 'l', summary: prodlyMessages.getMessage('listFlagDescription') }),
|
|
20
|
+
manage: Flags.boolean({ char: 'm', summary: prodlyMessages.getMessage('manageFlagDescription') }),
|
|
21
|
+
print: Flags.boolean({ char: 'p', summary: prodlyMessages.getMessage('printFlagDescription') }),
|
|
22
|
+
unmanage: Flags.boolean({ char: 'x', summary: prodlyMessages.getMessage('unmanageFlagDescription') }),
|
|
23
|
+
version: Flags.boolean({ char: 's', summary: prodlyMessages.getMessage('versionFlagDescription') }),
|
|
24
|
+
};
|
|
25
|
+
// eslint-disable-next-line complexity
|
|
26
|
+
async run() {
|
|
27
|
+
const { flags } = await this.parse(ProdlyManage);
|
|
28
|
+
const { comment: commentFlag, connection: connectionFlag, instance: instanceFlag, label: labelFlag, list: listFlag, manage: manageFlag, print: printFlag, unmanage: unmanageFlag, version: versionFlag, } = flags;
|
|
29
|
+
this.log('List flag: ' + listFlag);
|
|
30
|
+
this.log('Print flag: ' + printFlag);
|
|
31
|
+
this.log('Manage flag: ' + manageFlag);
|
|
32
|
+
this.log('Instance flag: ' + instanceFlag);
|
|
33
|
+
this.log('Instance name flag: ' + labelFlag);
|
|
34
|
+
this.log('Unmanage flag: ' + unmanageFlag);
|
|
35
|
+
this.log('Version flag: ' + versionFlag);
|
|
36
|
+
this.log('Comment flag: ' + commentFlag);
|
|
37
|
+
this.log('Connection flag: ' + connectionFlag);
|
|
38
|
+
if (!listFlag && !manageFlag && !unmanageFlag) {
|
|
39
|
+
throw new SfError(prodlyMessages.getMessage('errorNoManageFlags', []));
|
|
40
|
+
}
|
|
41
|
+
if (listFlag && manageFlag) {
|
|
42
|
+
throw new SfError(prodlyMessages.getMessage('errorMultipleManageFlags', []));
|
|
43
|
+
}
|
|
44
|
+
if (manageFlag && !labelFlag) {
|
|
45
|
+
throw new SfError(prodlyMessages.getMessage('errorManageLabelFlag', []));
|
|
46
|
+
}
|
|
47
|
+
if (!listFlag && printFlag) {
|
|
48
|
+
throw new SfError(prodlyMessages.getMessage('errorPrintFlagNoListFlag', []));
|
|
49
|
+
}
|
|
50
|
+
if (!manageFlag && versionFlag) {
|
|
51
|
+
throw new SfError(prodlyMessages.getMessage('errorVersionFlagNoManageFlag', []));
|
|
52
|
+
}
|
|
53
|
+
const org = flags['target-org'];
|
|
54
|
+
const hubOrg = flags['target-dev-hub'];
|
|
55
|
+
const hubConn = hubOrg.getConnection();
|
|
56
|
+
const print = (message, ...args) => this.log(message, ...args);
|
|
57
|
+
if (listFlag) {
|
|
58
|
+
this.log('Listing managed instances.');
|
|
59
|
+
const managedInstances = await getManagedInstances({ hubConn, print });
|
|
60
|
+
const connectionIds = managedInstances.instances
|
|
61
|
+
.map((instance) => instance.connectionId)
|
|
62
|
+
.filter((connectionId) => connectionId);
|
|
63
|
+
const connections = await queryConnections({ connectionIds, hubConn, print });
|
|
64
|
+
managedInstances.instances.forEach((instance) => {
|
|
65
|
+
const connection = instance.connectionId ? connections.get(instance.connectionId) : null;
|
|
66
|
+
const connectionName = connection ? connection.Name : '';
|
|
67
|
+
const instanceUrl = connection ? connection.PDRI__Instance_URL__c : '';
|
|
68
|
+
instance.instanceName = connectionName;
|
|
69
|
+
instance.instanceUrl = instanceUrl;
|
|
70
|
+
});
|
|
71
|
+
if (printFlag) {
|
|
72
|
+
this.log('Printing managed instances.\n');
|
|
73
|
+
managedInstances.instances.forEach((instance) => {
|
|
74
|
+
const connection = instance.connectionId ? connections.get(instance.connectionId) : null;
|
|
75
|
+
const connectionName = connection ? connection.Name : '';
|
|
76
|
+
const instanceUrl = connection ? connection.PDRI__Instance_URL__c : '';
|
|
77
|
+
this.log('Managed Instance');
|
|
78
|
+
this.log(`Instance ID: ${instance.id}`);
|
|
79
|
+
this.log(`Instance Name: ${connectionName}`);
|
|
80
|
+
this.log(`Control Instance: ${instance.controlInstance}`);
|
|
81
|
+
this.log(`Salesforce Org ID: ${instance.platformInstanceId}`);
|
|
82
|
+
this.log(`Connection Record ID: ${instance.connectionId}`);
|
|
83
|
+
this.log(`Instance Type ${instance.instanceType}`);
|
|
84
|
+
this.log(`Instance URL ${instanceUrl}\n`);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return managedInstances;
|
|
88
|
+
}
|
|
89
|
+
if (manageFlag) {
|
|
90
|
+
this.log('Managing instance.');
|
|
91
|
+
this.log('Refreshing org session auth');
|
|
92
|
+
await org.refreshAuth();
|
|
93
|
+
let connectionId = null;
|
|
94
|
+
if (connectionFlag) {
|
|
95
|
+
this.log('Connection to use for the managed instances provided: ' + connectionFlag);
|
|
96
|
+
const connection = await queryConnection({ connectionNameOrId: connectionFlag, hubConn, print });
|
|
97
|
+
connectionId = connection.Id;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.log('Creating connection.');
|
|
101
|
+
connectionId = await createConnection({ name: labelFlag, org, hubConn });
|
|
102
|
+
this.log('Created connection with record ID: ', connectionId);
|
|
103
|
+
}
|
|
104
|
+
const orgId = org.getOrgId();
|
|
105
|
+
const body = {
|
|
106
|
+
platformInstance: {
|
|
107
|
+
platformInstanceId: orgId,
|
|
108
|
+
connectionId,
|
|
109
|
+
instanceName: labelFlag,
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
if (versionFlag) {
|
|
113
|
+
if (print)
|
|
114
|
+
print('Versioning is enabled.');
|
|
115
|
+
body.options = { checkin: true, checkout: true };
|
|
116
|
+
if (commentFlag)
|
|
117
|
+
body.options.commitMessage = commentFlag;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
body.options = { checkin: false, checkout: false, environmentExists: false };
|
|
121
|
+
}
|
|
122
|
+
this.log(`Managing instance for org ID: ${orgId}`);
|
|
123
|
+
this.log('Manage instance body:');
|
|
124
|
+
this.log(JSON.stringify(body));
|
|
125
|
+
const jobId = await manageInstanceAsync({ body, hubConn, print });
|
|
126
|
+
this.log(`Manage Instance launched with Job ID: ${jobId}`);
|
|
127
|
+
return { jobId, message: 'Manage Instance launched' };
|
|
128
|
+
}
|
|
129
|
+
if (unmanageFlag) {
|
|
130
|
+
this.log('Unmanaging instance.');
|
|
131
|
+
let mangedInstanceId = '';
|
|
132
|
+
if (instanceFlag) {
|
|
133
|
+
// Use provided managed instance
|
|
134
|
+
this.log(`Managed instance ID provided, using instance with id ${instanceFlag}`);
|
|
135
|
+
mangedInstanceId = instanceFlag;
|
|
136
|
+
}
|
|
137
|
+
else if (connectionFlag) {
|
|
138
|
+
this.log(`Connection to use for the managed instances provided: ${connectionFlag}`);
|
|
139
|
+
const connection = await queryConnection({ connectionNameOrId: connectionFlag, hubConn, print });
|
|
140
|
+
const orgId = connection.PDRI__OrganizationId__c;
|
|
141
|
+
// Retrieve the managed instance associated with target org
|
|
142
|
+
// DevHub control org is never used as the default
|
|
143
|
+
const managedInstance = await getManagedInstance({ hubConn, orgId, print });
|
|
144
|
+
if (!managedInstance) {
|
|
145
|
+
throw new SfError(prodlyMessages.getMessage('errorManagedInstaceNotFound'));
|
|
146
|
+
}
|
|
147
|
+
mangedInstanceId = managedInstance.id;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
throw new SfError(prodlyMessages.getMessage('errorManagedInstaceNotProvided'));
|
|
151
|
+
}
|
|
152
|
+
const readline = await import('node:readline/promises');
|
|
153
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout, prompt: '>' });
|
|
154
|
+
const answer = await rl.question(prodlyMessages.getMessage('unmanageInstancePrompt'));
|
|
155
|
+
rl.close();
|
|
156
|
+
if (answer.trim() === mangedInstanceId) {
|
|
157
|
+
await unmanageInstance({ instanceId: mangedInstanceId, hubConn, print });
|
|
158
|
+
this.log(`Successfully Unmanaged Instance with Id: ${mangedInstanceId}`);
|
|
159
|
+
return { message: `Successfully Unmanaged Instance with Id: ${mangedInstanceId}` };
|
|
160
|
+
}
|
|
161
|
+
this.log(`Unmanage Instance with Id ${mangedInstanceId} aborted`);
|
|
162
|
+
return { message: `Unmanage Instance with Id ${mangedInstanceId} aborted` };
|
|
163
|
+
}
|
|
164
|
+
return {};
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=manage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage.js","sourceRoot":"","sources":["../../../src/commands/prodly/manage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
import { JSONObject } from '../../types/generic.js';
|
|
3
|
+
export default class ProdlyVersion extends SfCommand<JSONObject> {
|
|
4
|
+
static readonly summary: string;
|
|
5
|
+
static readonly description: string;
|
|
6
|
+
static readonly examples: string[];
|
|
7
|
+
static readonly flags: {
|
|
8
|
+
'new-branch': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'source-branch': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'target-dev-hub': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
unlink: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<JSONObject>;
|
|
16
|
+
}
|