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.
Files changed (71) hide show
  1. package/README.md +18 -16
  2. package/lib/commands/prodly/checkin.d.ts +20 -0
  3. package/lib/commands/prodly/checkin.js +130 -0
  4. package/lib/commands/prodly/checkin.js.map +1 -0
  5. package/lib/commands/prodly/checkout.d.ts +21 -0
  6. package/lib/commands/prodly/checkout.js +137 -0
  7. package/lib/commands/prodly/checkout.js.map +1 -0
  8. package/lib/commands/prodly/deploy.d.ts +26 -0
  9. package/lib/commands/prodly/deploy.js +264 -0
  10. package/lib/commands/prodly/deploy.js.map +1 -0
  11. package/lib/commands/prodly/jobs.d.ts +15 -0
  12. package/lib/commands/prodly/jobs.js +33 -0
  13. package/lib/commands/prodly/jobs.js.map +1 -0
  14. package/lib/commands/prodly/manage.d.ts +24 -0
  15. package/lib/commands/prodly/manage.js +167 -0
  16. package/lib/commands/prodly/manage.js.map +1 -0
  17. package/lib/commands/prodly/version.d.ts +16 -0
  18. package/lib/commands/prodly/version.js +88 -0
  19. package/lib/commands/prodly/version.js.map +1 -0
  20. package/lib/constants/index.d.ts +5 -0
  21. package/lib/constants/index.js +6 -0
  22. package/lib/constants/index.js.map +1 -0
  23. package/lib/helpers/index.d.ts +6 -0
  24. package/lib/helpers/index.js +17 -0
  25. package/lib/helpers/index.js.map +1 -0
  26. package/lib/index.d.ts +2 -0
  27. package/lib/index.js +2 -0
  28. package/lib/index.js.map +1 -0
  29. package/lib/services/connections.d.ts +7 -0
  30. package/lib/services/connections.js +109 -0
  31. package/lib/services/connections.js.map +1 -0
  32. package/lib/services/connections.types.d.ts +31 -0
  33. package/lib/services/connections.types.js +2 -0
  34. package/lib/services/connections.types.js.map +1 -0
  35. package/lib/services/jobs.d.ts +4 -0
  36. package/lib/services/jobs.js +26 -0
  37. package/lib/services/jobs.js.map +1 -0
  38. package/lib/services/jobs.types.d.ts +13 -0
  39. package/lib/services/jobs.types.js +2 -0
  40. package/lib/services/jobs.types.js.map +1 -0
  41. package/lib/services/manage-instances.d.ts +9 -0
  42. package/lib/services/manage-instances.js +116 -0
  43. package/lib/services/manage-instances.js.map +1 -0
  44. package/lib/services/manage-instances.types.d.ts +58 -0
  45. package/lib/services/manage-instances.types.js +2 -0
  46. package/lib/services/manage-instances.types.js.map +1 -0
  47. package/lib/services/queries.d.ts +8 -0
  48. package/lib/services/queries.js +54 -0
  49. package/lib/services/queries.js.map +1 -0
  50. package/lib/types/generic.d.ts +5 -0
  51. package/lib/types/generic.js +2 -0
  52. package/lib/types/generic.js.map +1 -0
  53. package/lib/types/prodly.d.ts +69 -0
  54. package/lib/types/prodly.js +2 -0
  55. package/lib/types/prodly.js.map +1 -0
  56. package/lib/types/salesforce.d.ts +14 -0
  57. package/lib/types/salesforce.js +2 -0
  58. package/lib/types/salesforce.js.map +1 -0
  59. package/lib/utils/index.d.ts +2 -0
  60. package/lib/utils/index.js +3 -0
  61. package/lib/utils/index.js.map +1 -0
  62. package/messages/prodly.checkin.md +1 -1
  63. package/messages/prodly.checkout.md +1 -1
  64. package/messages/prodly.deploy.md +2 -2
  65. package/messages/prodly.json +1 -0
  66. package/messages/prodly.manage.md +1 -1
  67. package/messages/prodly.version.md +3 -0
  68. package/npm-shrinkwrap.json +1715 -1090
  69. package/oclif.lock +2327 -2091
  70. package/oclif.manifest.json +708 -2
  71. 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
+ }