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
package/README.md CHANGED
@@ -81,7 +81,7 @@ EXAMPLES
81
81
  Save managed data to the branch associated with the managed instance identified by the target username.
82
82
  The instance should be managed by the Prodly account associated with the provided DevHub control org.
83
83
 
84
- $ sf prodly:checkin -u test-utxac7gbati9@example.com
84
+ $ sf prodly:checkin --target-org test-utxac7gbati9@example.com
85
85
  Save managed data to the branch associated with the managed instance identified by the target username.
86
86
  The instance should be managed by the Prodly account associated with the default DevHub control org.
87
87
 
@@ -120,16 +120,16 @@ DESCRIPTION
120
120
  Deploy data from a VCS repository branch to a Salesforce environment.
121
121
 
122
122
  EXAMPLES
123
- $ sf prodly:checkin --target-org test-utxac7gbati9@example.com --target-dev-hub jsmith@acme.com
124
- Save managed data to the branch associated with the managed instance identified by the target username.
123
+ $ sf prodly:checkout --target-org test-utxac7gbati9@example.com --target-dev-hub jsmith@acme.com
124
+ Deploy managed data to the managed instance identified by the target org from the associated branch.
125
125
  The instance should be managed by the Prodly account associated with the provided DevHub control org.
126
126
 
127
- $ sf prodly:checkin -u test-utxac7gbati9@example.com
128
- Save managed data to the branch associated with the managed instance identified by the target username.
127
+ $ sf prodly:checkout --target-org test-utxac7gbati9@example.com
128
+ Deploy managed data to the managed instance org identified by the target username from the associated branch.
129
129
  The instance should be managed by the Prodly account associated with the default DevHub control org.
130
130
 
131
- $ sf prodly:checkin -i f50616b6-57b1-4941-802f-ee0e2506f217
132
- Save managed data to the branch associated with the managed instance identified by the provided ID.
131
+ $ sf prodly:checkout -i f50616b6-57b1-4941-802f-ee0e2506f217
132
+ Deploy managed data to the managed instance org from the associated branch.
133
133
  The instance should be managed by the Prodly account associated with the default DevHub control org.
134
134
  ```
135
135
 
@@ -165,14 +165,14 @@ DESCRIPTION
165
165
  Deploy data from one Salesforce environment directly to another Salesforce environment.
166
166
 
167
167
  EXAMPLES
168
- $ sf prodly:deploy -n scratchorg -u FixesScratchOrg -v MainDevHub
168
+ $ sf prodly:deploy -n scratchorg --target-org FixesScratchOrg -v MainDevHub
169
169
  Command output... deploying from the dev hub, the control org, to the scratch org, auto managed with provided name.
170
170
  Command output...
171
171
 
172
172
  $ sf prodly:deploy --target-org test-utxac7gbati9@example.com --target-dev-hub jsmith@acme.com
173
173
  Command output... deploying from the dev hub, the control org, to the scratch org. Long param names.
174
174
 
175
- $ sf prodly:deploy -u test-utxac7gbati9@example.com -v jsmith@acme.com -d "UAT Sandbox Connection"
175
+ $ sf prodly:deploy --target-org test-utxac7gbati9@example.com -v jsmith@acme.com -d "UAT Sandbox Connection"
176
176
  Command output... deploying from the scratch org to the UAT sandbox, using the named connection record in the dev hub, control org.
177
177
 
178
178
  $ sf prodly:deploy --target-org test-utxac7gbati9@example.com --target-dev-hub jsmith@acme.com --source "UAT Sandbox Connection"
@@ -217,7 +217,7 @@ EXAMPLES
217
217
  $ sf prodly:manage -m --target-org test-utxac7gbati9@example.com --target-dev-hub jsmith@acme.com
218
218
  Manage the org associated with the target username under the Prodly account associated with the provided DevHub control org.
219
219
 
220
- $ sf prodly:manage -m -u test-utxac7gbati9@example.com -n dev7sbx
220
+ $ sf prodly:manage -m --target-org test-utxac7gbati9@example.com -n dev7sbx
221
221
  Manage and version the org associated with the target username under the Prodly account associated with the default DevHub control org.
222
222
 
223
223
  ```
@@ -250,17 +250,19 @@ EXAMPLES
250
250
 
251
251
  ```
252
252
  USAGE
253
- $ sf prodly:version -s <value> -v <value> -o <value> [--json] [-b <value>] [-i <value>]
253
+ $ sf prodly:version -v <value> -o <value> [--json] [-b <value>] [-s <value>] [-i <value>]
254
+ [-x]
254
255
 
255
256
  FLAGS
256
257
  -b, --new-branch=<value> if provided it creates a new branch based on the source branch that will be used for
257
258
  version control
258
259
  -i, --instance=<value> managed instance ID on which to perform the action
259
- -o, --target-org=<value> (required) [default: aandreou@prodly.co.appopsqa3] Username or alias of the target org.
260
- Not required if the `target-org` configuration variable is already set.
261
- -s, --source-branch=<value> (required) the version control branch or the base for the new branch (if provided)
262
- -v, --target-dev-hub=<value> (required) [default: aandreou@prodly.co.appopsqa3] Username or alias of the Dev Hub org.
263
- Not required if the `target-dev-hub` configuration variable is already set.
260
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
261
+ configuration variable is already set.
262
+ -s, --source-branch=<value> the version control branch or the base for the new branch (if provided)
263
+ -v, --target-dev-hub=<value> (required) Username or alias of the Dev Hub org. Not required if the `target-dev-hub`
264
+ configuration variable is already set.
265
+ -x, --unlink unlink the branch from the managed instance
264
266
 
265
267
  GLOBAL FLAGS
266
268
  --json Format output as json.
@@ -0,0 +1,20 @@
1
+ import { SfCommand } from '@salesforce/sf-plugins-core';
2
+ import { JSONObject } from '../../types/generic.js';
3
+ export default class ProdlyCheckin extends SfCommand<JSONObject> {
4
+ static readonly summary: string;
5
+ static readonly description: string;
6
+ static readonly examples: string[];
7
+ static readonly flags: {
8
+ 'target-dev-hub': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
10
+ branch: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ comment: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ dataset: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ filter: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ notes: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ plan: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ };
18
+ run(): Promise<JSONObject>;
19
+ private checkinInstance;
20
+ }
@@ -0,0 +1,130 @@
1
+ import { Messages, SfError } from '@salesforce/core';
2
+ import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
3
+ import { constructQueryFilter } from '../../helpers/index.js';
4
+ import { updateConnection } from '../../services/connections.js';
5
+ import { getManagedInstance } from '../../services/manage-instances.js';
6
+ import { getDeploymentEntityId } from '../../services/queries.js';
7
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
8
+ const commandMessages = Messages.loadMessages('prodlysfcli', 'prodly.checkin');
9
+ const prodlyMessages = Messages.loadMessages('prodlysfcli', 'prodly');
10
+ export default class ProdlyCheckin extends SfCommand {
11
+ static summary = commandMessages.getMessage('summary');
12
+ static description = prodlyMessages.getMessage('descriptionCheckinCommand');
13
+ static examples = commandMessages.getMessages('examples');
14
+ static flags = {
15
+ 'target-dev-hub': Flags.requiredHub(),
16
+ 'target-org': Flags.requiredOrg(),
17
+ branch: Flags.string({ char: 'b', summary: prodlyMessages.getMessage('branchFlagDescription') }),
18
+ comment: Flags.string({ char: 'c', required: true, summary: prodlyMessages.getMessage('commentFlagDescription') }),
19
+ dataset: Flags.string({ char: 't', summary: prodlyMessages.getMessage('dataSetFlagDescription') }),
20
+ filter: Flags.string({ char: 'q', summary: prodlyMessages.getMessage('queryFilterFlagDescription') }),
21
+ instance: Flags.string({ char: 'i', summary: prodlyMessages.getMessage('instanceFlagDescription') }),
22
+ notes: Flags.string({ char: 'z', summary: prodlyMessages.getMessage('notesFlagDescription') }),
23
+ plan: Flags.string({ char: 'p', summary: prodlyMessages.getMessage('deploymentPlanFlagDescription') }),
24
+ };
25
+ async run() {
26
+ const { flags } = await this.parse(ProdlyCheckin);
27
+ const { branch: branchFlag, comment: commentFlag, dataset: datasetFlag, filter: queryFilterFlag, instance: instanceFlag, notes: deploymentNotesFlag, plan: planFlag, } = flags;
28
+ this.log('Instance flag: ' + instanceFlag);
29
+ this.log('Deployment description flag: ' + deploymentNotesFlag);
30
+ this.log('Comment flag: ' + commentFlag);
31
+ this.log('Branch flag: ' + branchFlag);
32
+ this.log('Data set flag: ' + datasetFlag);
33
+ this.log('Deployment plan flag: ' + planFlag);
34
+ this.log('Query filter flag: ' + queryFilterFlag);
35
+ if (!datasetFlag && !planFlag) {
36
+ throw new SfError(prodlyMessages.getMessage('errorNoDatasetAndPlanFlags', []));
37
+ }
38
+ if (!datasetFlag && queryFilterFlag) {
39
+ throw new SfError(prodlyMessages.getMessage('errorQueryFilterFlag', []));
40
+ }
41
+ const org = flags['target-org'];
42
+ const hubOrg = flags['target-dev-hub'];
43
+ const hubConn = hubOrg.getConnection();
44
+ const print = (message, ...args) => this.log(message, ...args);
45
+ let mangedInstanceId = null;
46
+ let dataSetId;
47
+ let deploymentPlanId;
48
+ // Retrieve the data set or deployment plan to deploy
49
+ this.log('Retrieving data set or deployment plan to deploy.');
50
+ if (datasetFlag) {
51
+ dataSetId = await getDeploymentEntityId({
52
+ dataEntityFlag: datasetFlag,
53
+ dataEntityType: 'PDRI__DataSet__c',
54
+ hubConn,
55
+ print,
56
+ });
57
+ }
58
+ else if (planFlag) {
59
+ deploymentPlanId = await getDeploymentEntityId({
60
+ dataEntityFlag: planFlag,
61
+ dataEntityType: 'PDRI__Deployment_Plan__c',
62
+ hubConn,
63
+ print,
64
+ });
65
+ }
66
+ this.log(`Data set ID: ${dataSetId ?? ''}`);
67
+ this.log(`Deployment plan ID: ${deploymentPlanId ?? ''}`);
68
+ // Check if instance is provided
69
+ if (instanceFlag) {
70
+ // Use provided managed instance
71
+ this.log(`Managed instance ID provided, using instance with id ${instanceFlag}`);
72
+ mangedInstanceId = instanceFlag;
73
+ }
74
+ else {
75
+ // Retrieve the managed instance associated with target org
76
+ // DevHub control org is never used as the default
77
+ const managedInstance = await getManagedInstance({ hubConn, orgId: org.getOrgId(), print });
78
+ if (!managedInstance) {
79
+ throw new SfError(prodlyMessages.getMessage('errorManagedInstaceNotFound'));
80
+ }
81
+ this.log(`Managed instance ID retrieved, using instance with id ${managedInstance.id}`);
82
+ mangedInstanceId = managedInstance.id;
83
+ this.log('Refreshing org session auth');
84
+ try {
85
+ await org.refreshAuth();
86
+ }
87
+ catch {
88
+ // Target username not valid or not specified, refresh failed
89
+ }
90
+ // Update the connection with the latest access token
91
+ this.log('Updating the connection with the latest access token');
92
+ await updateConnection({ connectionId: managedInstance.connectionId, hubConn, org });
93
+ }
94
+ // Perform the checkin
95
+ const jobId = await this.checkinInstance({
96
+ branchFlag,
97
+ comment: commentFlag,
98
+ dataSetId,
99
+ deploymentNotes: deploymentNotesFlag,
100
+ deploymentPlanId,
101
+ filter: queryFilterFlag,
102
+ hubConn,
103
+ mangedInstanceId,
104
+ });
105
+ this.log(`Checkin launched with Job ID: ${jobId}`);
106
+ return { jobId, message: 'Checkin launched' };
107
+ }
108
+ async checkinInstance({ branchFlag, comment, dataSetId, deploymentNotes, deploymentPlanId, filter, hubConn, mangedInstanceId, }) {
109
+ this.log(`Performing checkin for managed instance with id ${mangedInstanceId}.`);
110
+ const path = `/services/apexrest/PDRI/v1/instances/${mangedInstanceId}/checkin`;
111
+ const checkinInstance = {
112
+ branchName: branchFlag,
113
+ datasetId: dataSetId,
114
+ deploymentNotes,
115
+ deploymentPlanId,
116
+ options: { commitMessage: comment },
117
+ queryFilter: constructQueryFilter(filter),
118
+ };
119
+ const request = {
120
+ body: JSON.stringify(checkinInstance),
121
+ method: 'POST',
122
+ url: path,
123
+ };
124
+ const res = await hubConn.request(request);
125
+ const jobsWrapper = JSON.parse(res);
126
+ const jobId = jobsWrapper.jobs[0].id;
127
+ return jobId;
128
+ }
129
+ }
130
+ //# sourceMappingURL=checkin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkin.js","sourceRoot":"","sources":["../../../src/commands/prodly/checkin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { SfCommand } from '@salesforce/sf-plugins-core';
2
+ import { JSONObject } from '../../types/generic.js';
3
+ export default class ProdlyCheckout extends SfCommand<JSONObject> {
4
+ static readonly summary: string;
5
+ static readonly description: string;
6
+ static readonly examples: string[];
7
+ static readonly flags: {
8
+ 'target-dev-hub': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
10
+ branch: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ dataset: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ deactivate: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ filter: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ notes: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ plan: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ };
19
+ run(): Promise<JSONObject>;
20
+ private checkoutInstance;
21
+ }
@@ -0,0 +1,137 @@
1
+ import { Messages, SfError } from '@salesforce/core';
2
+ import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
3
+ import { constructQueryFilter } from '../../helpers/index.js';
4
+ import { updateConnection } from '../../services/connections.js';
5
+ import { getManagedInstance } from '../../services/manage-instances.js';
6
+ import { getDeploymentEntityId } from '../../services/queries.js';
7
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
8
+ const commandMessages = Messages.loadMessages('prodlysfcli', 'prodly.checkout');
9
+ const prodlyMessages = Messages.loadMessages('prodlysfcli', 'prodly');
10
+ export default class ProdlyCheckout extends SfCommand {
11
+ static summary = commandMessages.getMessage('summary');
12
+ static description = prodlyMessages.getMessage('descriptionCheckoutCommand');
13
+ static examples = commandMessages.getMessages('examples');
14
+ static flags = {
15
+ 'target-dev-hub': Flags.requiredHub(),
16
+ 'target-org': Flags.requiredOrg(),
17
+ branch: Flags.string({ char: 'b', summary: prodlyMessages.getMessage('branchFlagDescription') }),
18
+ dataset: Flags.string({ char: 't', summary: prodlyMessages.getMessage('dataSetFlagDescription') }),
19
+ deactivate: Flags.boolean({ char: 'e', summary: prodlyMessages.getMessage('deactivateFlagDescription') }),
20
+ filter: Flags.string({ char: 'q', summary: prodlyMessages.getMessage('queryFilterFlagDescription') }),
21
+ instance: Flags.string({ char: 'i', summary: prodlyMessages.getMessage('instanceFlagDescription') }),
22
+ name: Flags.string({ char: 'n', summary: prodlyMessages.getMessage('deplomentNameFlagDescription') }),
23
+ notes: Flags.string({ char: 'z', summary: prodlyMessages.getMessage('notesFlagDescription') }),
24
+ plan: Flags.string({ char: 'p', summary: prodlyMessages.getMessage('deploymentPlanFlagDescription') }),
25
+ };
26
+ async run() {
27
+ const { flags } = await this.parse(ProdlyCheckout);
28
+ const { branch: branchFlag, dataset: datasetFlag, deactivate: deactivateFlag, filter: queryFilterFlag, instance: instanceFlag, name: deploymentNameFlag, notes: deploymentNotesFlag, plan: planFlag, } = flags;
29
+ this.log('Deployment name flag: ' + deploymentNameFlag);
30
+ this.log('Instance flag: ' + instanceFlag);
31
+ this.log('Deactivate flag: ' + deactivateFlag);
32
+ this.log('Deployment description flag: ' + deploymentNotesFlag);
33
+ this.log('Branch flag: ' + branchFlag);
34
+ this.log('Data set flag: ' + datasetFlag);
35
+ this.log('Deployment plan flag: ' + planFlag);
36
+ this.log('Query filter flag: ' + queryFilterFlag);
37
+ if (!datasetFlag && !planFlag) {
38
+ throw new SfError(prodlyMessages.getMessage('errorNoDatasetAndPlanFlags', []));
39
+ }
40
+ if (!deploymentNameFlag) {
41
+ throw new SfError(prodlyMessages.getMessage('errorDeploymentNameFlag', []));
42
+ }
43
+ if (!datasetFlag && queryFilterFlag) {
44
+ throw new SfError(prodlyMessages.getMessage('errorQueryFilterFlag', []));
45
+ }
46
+ const org = flags['target-org'];
47
+ const hubOrg = flags['target-dev-hub'];
48
+ const hubConn = hubOrg.getConnection();
49
+ const print = (message, ...args) => this.log(message, ...args);
50
+ let mangedInstanceId = null;
51
+ let dataSetId;
52
+ let deploymentPlanId;
53
+ // Retrieve the data set or deployment plan to deploy
54
+ this.log('Retrieving data set or deployment plan to deploy.');
55
+ if (datasetFlag !== undefined) {
56
+ dataSetId = await getDeploymentEntityId({
57
+ dataEntityFlag: datasetFlag,
58
+ dataEntityType: 'PDRI__DataSet__c',
59
+ hubConn,
60
+ print,
61
+ });
62
+ }
63
+ else if (planFlag !== undefined) {
64
+ deploymentPlanId = await getDeploymentEntityId({
65
+ dataEntityFlag: planFlag,
66
+ dataEntityType: 'PDRI__Deployment_Plan__c',
67
+ hubConn,
68
+ print,
69
+ });
70
+ }
71
+ this.log('Data set ID: ' + dataSetId);
72
+ this.log('Deployment plan ID: ' + deploymentPlanId);
73
+ // Check if instance is provided
74
+ if (instanceFlag !== undefined) {
75
+ // Use provided managed instance
76
+ this.log(`Managed instance ID provided, using instance with id ${instanceFlag}`);
77
+ mangedInstanceId = instanceFlag;
78
+ }
79
+ else {
80
+ // Retrieve the managed instance associated with target org
81
+ // DevHub control org is never used as the default
82
+ const managedInstance = await getManagedInstance({ orgId: org.getOrgId(), hubConn, print });
83
+ if (!managedInstance) {
84
+ throw new SfError(prodlyMessages.getMessage('errorManagedInstaceNotFound'));
85
+ }
86
+ this.log(`Managed instance ID retrieved, using instance with id ${managedInstance.id}`);
87
+ mangedInstanceId = managedInstance.id;
88
+ this.log('Refreshing org session auth');
89
+ try {
90
+ await org.refreshAuth();
91
+ }
92
+ catch {
93
+ // console.log('Target username not valid or not specified, refresh failed');
94
+ }
95
+ // Update the connection with the latest access token
96
+ this.log('Updating the connection with the latest access token');
97
+ await updateConnection({ connectionId: managedInstance.connectionId, org, hubConn });
98
+ }
99
+ // Perform the checkout
100
+ const jobId = await this.checkoutInstance({
101
+ branchFlag,
102
+ dataSetId,
103
+ deactivateAllEvents: deactivateFlag,
104
+ deploymentNameFlag,
105
+ deploymentNotes: deploymentNotesFlag,
106
+ deploymentPlanId,
107
+ filter: queryFilterFlag,
108
+ hubConn,
109
+ mangedInstanceId,
110
+ });
111
+ this.log(`Checkout launched with Job ID: ${jobId}`);
112
+ return { jobId, message: 'Checkout launched' };
113
+ }
114
+ async checkoutInstance({ branchFlag, dataSetId, deactivateAllEvents, deploymentNameFlag, deploymentNotes, deploymentPlanId, filter, hubConn, mangedInstanceId, }) {
115
+ this.log(`Performing checkout for managed instance with id ${mangedInstanceId}.`);
116
+ const path = `/services/apexrest/PDRI/v1/instances/${mangedInstanceId}/checkout`;
117
+ const checkoutInstance = {
118
+ branchName: branchFlag,
119
+ datasetId: dataSetId,
120
+ deactivateAll: deactivateAllEvents === undefined ? false : true,
121
+ deploymentName: deploymentNameFlag,
122
+ deploymentNotes,
123
+ deploymentPlanId,
124
+ queryFilter: constructQueryFilter(filter),
125
+ };
126
+ const request = {
127
+ body: JSON.stringify(checkoutInstance),
128
+ method: 'POST',
129
+ url: path,
130
+ };
131
+ const res = await hubConn.request(request);
132
+ const jobsWrapper = JSON.parse(res);
133
+ const jobId = jobsWrapper.jobs[0].id;
134
+ return jobId;
135
+ }
136
+ }
137
+ //# sourceMappingURL=checkout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/commands/prodly/checkout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { SfCommand } from '@salesforce/sf-plugins-core';
2
+ import { JSONObject } from '../../types/generic.js';
3
+ export type ProdlyDeployResult = {
4
+ path: string;
5
+ };
6
+ export default class ProdlyDeploy 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
+ dataset: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ deactivate: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ destination: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ filter: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ label: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ notes: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ plan: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ simulation: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ source: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ };
24
+ run(): Promise<JSONObject>;
25
+ private deploy;
26
+ }