prodlysfcli 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +40 -6
  2. package/messages/prodly.checkout.md +6 -6
  3. package/messages/prodly.json +11 -3
  4. package/messages/prodly.version.md +12 -0
  5. package/npm-shrinkwrap.json +4477 -8830
  6. package/oclif.lock +3206 -5092
  7. package/oclif.manifest.json +2 -566
  8. package/package.json +10 -10
  9. package/lib/commands/prodly/checkin.d.ts +0 -20
  10. package/lib/commands/prodly/checkin.js +0 -130
  11. package/lib/commands/prodly/checkin.js.map +0 -1
  12. package/lib/commands/prodly/checkout.d.ts +0 -21
  13. package/lib/commands/prodly/checkout.js +0 -137
  14. package/lib/commands/prodly/checkout.js.map +0 -1
  15. package/lib/commands/prodly/deploy.d.ts +0 -26
  16. package/lib/commands/prodly/deploy.js +0 -263
  17. package/lib/commands/prodly/deploy.js.map +0 -1
  18. package/lib/commands/prodly/jobs.d.ts +0 -15
  19. package/lib/commands/prodly/jobs.js +0 -33
  20. package/lib/commands/prodly/jobs.js.map +0 -1
  21. package/lib/commands/prodly/manage.d.ts +0 -24
  22. package/lib/commands/prodly/manage.js +0 -167
  23. package/lib/commands/prodly/manage.js.map +0 -1
  24. package/lib/constants/index.d.ts +0 -5
  25. package/lib/constants/index.js +0 -6
  26. package/lib/constants/index.js.map +0 -1
  27. package/lib/helpers/index.d.ts +0 -6
  28. package/lib/helpers/index.js +0 -17
  29. package/lib/helpers/index.js.map +0 -1
  30. package/lib/index.d.ts +0 -2
  31. package/lib/index.js +0 -2
  32. package/lib/index.js.map +0 -1
  33. package/lib/services/connections.d.ts +0 -7
  34. package/lib/services/connections.js +0 -109
  35. package/lib/services/connections.js.map +0 -1
  36. package/lib/services/connections.types.d.ts +0 -31
  37. package/lib/services/connections.types.js +0 -2
  38. package/lib/services/connections.types.js.map +0 -1
  39. package/lib/services/jobs.d.ts +0 -4
  40. package/lib/services/jobs.js +0 -26
  41. package/lib/services/jobs.js.map +0 -1
  42. package/lib/services/jobs.types.d.ts +0 -13
  43. package/lib/services/jobs.types.js +0 -2
  44. package/lib/services/jobs.types.js.map +0 -1
  45. package/lib/services/manage-instances.d.ts +0 -7
  46. package/lib/services/manage-instances.js +0 -94
  47. package/lib/services/manage-instances.js.map +0 -1
  48. package/lib/services/manage-instances.types.d.ts +0 -40
  49. package/lib/services/manage-instances.types.js +0 -2
  50. package/lib/services/manage-instances.types.js.map +0 -1
  51. package/lib/services/queries.d.ts +0 -8
  52. package/lib/services/queries.js +0 -54
  53. package/lib/services/queries.js.map +0 -1
  54. package/lib/types/generic.d.ts +0 -7
  55. package/lib/types/generic.js +0 -2
  56. package/lib/types/generic.js.map +0 -1
  57. package/lib/types/prodly.d.ts +0 -69
  58. package/lib/types/prodly.js +0 -2
  59. package/lib/types/prodly.js.map +0 -1
  60. package/lib/types/salesforce.d.ts +0 -14
  61. package/lib/types/salesforce.js +0 -2
  62. package/lib/types/salesforce.js.map +0 -1
  63. package/lib/utils/index.d.ts +0 -2
  64. package/lib/utils/index.js +0 -3
  65. package/lib/utils/index.js.map +0 -1
@@ -1,130 +0,0 @@
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('commandDescription');
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkin.js","sourceRoot":"","sources":["../../../src/commands/prodly/checkin.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
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/lib/interfaces/parser.js").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
- 'target-org': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
- branch: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
- dataset: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
- deactivate: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
13
- filter: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
- instance: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
15
- name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
16
- notes: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
17
- plan: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
18
- };
19
- run(): Promise<JSONObject>;
20
- private checkoutInstance;
21
- }
@@ -1,137 +0,0 @@
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('commandDescription');
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/commands/prodly/checkout.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
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/lib/interfaces/parser.js").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
- 'target-org': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
- dataset: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
- deactivate: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
15
- destination: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
16
- filter: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
17
- label: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
18
- name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
19
- notes: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
20
- plan: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
21
- simulation: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
22
- source: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
23
- };
24
- run(): Promise<JSONObject>;
25
- private deploy;
26
- }
@@ -1,263 +0,0 @@
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 { createConnection, getConnectionId, updateConnection } from '../../services/connections.js';
5
- import { getManagedInstance, manageInstance } 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.deploy');
9
- const prodlyMessages = Messages.loadMessages('prodlysfcli', 'prodly');
10
- export default class ProdlyDeploy extends SfCommand {
11
- static summary = commandMessages.getMessage('summary');
12
- static description = prodlyMessages.getMessage('commandDescription');
13
- static examples = commandMessages.getMessages('examples');
14
- static flags = {
15
- 'target-dev-hub': Flags.requiredHub(),
16
- 'target-org': Flags.requiredOrg(),
17
- dataset: Flags.string({ char: 't', summary: prodlyMessages.getMessage('dataSetFlagDescription') }),
18
- deactivate: Flags.boolean({ char: 'e', summary: prodlyMessages.getMessage('deactivateFlagDescription') }),
19
- destination: Flags.string({ char: 'd', summary: prodlyMessages.getMessage('destinationFlagDescription') }),
20
- filter: Flags.string({ char: 'q', summary: prodlyMessages.getMessage('queryFilterFlagDescription') }),
21
- label: Flags.string({ char: 'b', summary: prodlyMessages.getMessage('instanceNameFlagDescription') }),
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
- simulation: Flags.boolean({ char: 'l', summary: prodlyMessages.getMessage('simulationFlagDescription') }),
26
- source: Flags.string({ char: 's', summary: prodlyMessages.getMessage('sourceFlagDescription') }),
27
- };
28
- async run() {
29
- const { flags } = await this.parse(ProdlyDeploy);
30
- const { dataset: datasetFlag, deactivate: deactivateFlag, destination: destinationFlag, filter: queryFilterFlag, label: labelFlag, name: deploymentNameFlag, notes: deploymentNotesFlag, plan: planFlag, simulation: simulationFlag, source: sourceFlag, } = flags;
31
- const isOrgSpecified = sourceFlag !== undefined || destinationFlag !== undefined;
32
- this.log('Deployment name flag: ' + deploymentNameFlag);
33
- this.log('Deployment description flag: ' + deploymentNotesFlag);
34
- this.log('Source instance flag: ' + sourceFlag);
35
- this.log('Destination instance flag: ' + destinationFlag);
36
- this.log('Data set flag: ' + datasetFlag);
37
- this.log('Deployment plan flag: ' + planFlag);
38
- this.log('Instance name flag: ' + labelFlag);
39
- this.log('Deactivate flag: ' + deactivateFlag);
40
- this.log('Simulation flag: ' + simulationFlag);
41
- this.log('Query filter flag: ' + queryFilterFlag);
42
- if (!datasetFlag && !planFlag) {
43
- throw new SfError(prodlyMessages.getMessage('errorNoDatasetAndPlanFlags', []));
44
- }
45
- if (datasetFlag && planFlag) {
46
- throw new SfError(prodlyMessages.getMessage('errorDatasetAndPlanFlags', []));
47
- }
48
- if (!datasetFlag && queryFilterFlag) {
49
- throw new SfError(prodlyMessages.getMessage('errorQueryFilterFlag', []));
50
- }
51
- const org = flags['target-org'];
52
- const hubOrg = flags['target-dev-hub'];
53
- const hubConn = hubOrg.getConnection();
54
- const print = (message, ...args) => this.log(message, ...args);
55
- let sourceInstanceId;
56
- let destinationInstanceId;
57
- let dataSetId;
58
- let deploymentPlanId;
59
- // Four posibilities:
60
- // 1. Source and destination instance params are provided, deploy from source to destination instance
61
- // 2. Source instance and dx org param are provided, deploy from source instance to dx org instance
62
- // 3. Destination instance and dx org param are provided, deploy from dx org instance to destination instance
63
- // 4. Only dx org param is provided, deploy from devhub/control org to the destination instance.
64
- //
65
- // Any auto managed instances, and its associated auto created connections, will only contain a short lived refresh token
66
- // This means that for any subsequent deployments the refresh token needs to be updated with the latest
67
- // Which can only happen if we have a provided target username parameter for the instance org
68
- // So only the source or destination instance can be an auto managed
69
- // Set source mamanaged instance
70
- if (sourceFlag) {
71
- // Source and/or destination is a managed instance and the other is a DX managed org
72
- this.log(`Source managed instance parameter is specified: ${sourceFlag}`);
73
- // Source is a managed instance, use the managed instance ID
74
- sourceInstanceId = sourceFlag;
75
- }
76
- else if (isOrgSpecified) {
77
- // Source is a DX managed org
78
- this.log(`Source managed instance parameter is not specified, finding or creating managed instance by org ID: ${org.getOrgId()}`);
79
- // Check if a managed instance exist with the same org ID
80
- let managedInstance = await getManagedInstance({ hubConn, orgId: org.getOrgId(), print });
81
- this.log(`Retrieved managed instance: ${JSON.stringify(managedInstance)}`);
82
- if (managedInstance) {
83
- // If exists, use that managed instance ID
84
- this.log(`Managed instance found, using it, with ID: ${managedInstance.id}`);
85
- sourceInstanceId = managedInstance.id;
86
- // Update the connection with the latest access token
87
- this.log('Updating the connection with the latest access token');
88
- await updateConnection({ connectionId: managedInstance.connectionId, hubConn, org });
89
- }
90
- else {
91
- this.log('Managed instance for the org does not exist, managing instance.');
92
- // If doesn't exist, query for an active connection to the org
93
- let connectionId = await getConnectionId({ hubConn, orgId: org.getOrgId(), print });
94
- this.log(`Retrieved connection ID: ${connectionId}`);
95
- if (!connectionId) {
96
- // If a connection doesn't exist, create it, then use it to manage the new instance
97
- this.log('Connection does not exist, creating.');
98
- connectionId = await createConnection({ hubConn, name: labelFlag, org });
99
- this.log(`Created connection with record ID: ${connectionId}`);
100
- }
101
- else {
102
- // Update the connection with the latest access token
103
- this.log('Updating the connection with the latest access token');
104
- await updateConnection({ connectionId, hubConn, org });
105
- }
106
- // Connection exists, use it to manage the new instance
107
- const orgId = org.getOrgId();
108
- const { managedInstance: newManagedInstance } = await manageInstance({
109
- body: {
110
- platformInstance: {
111
- platformInstanceId: orgId,
112
- connectionId,
113
- },
114
- },
115
- hubConn,
116
- orgId,
117
- });
118
- managedInstance = newManagedInstance;
119
- this.log(`New managed instance: ${managedInstance.id}`);
120
- sourceInstanceId = managedInstance.id;
121
- }
122
- }
123
- else {
124
- // Source is the dev hub/control org
125
- this.log(`Source and Destination not specified, setting hub as the source, org ID: ${hubConn.getAuthInfoFields().orgId}`);
126
- const managedInstance = await getManagedInstance({ hubConn, orgId: hubConn.getAuthInfoFields().orgId, print });
127
- this.log(`Retrieved managed instance ID for the control org: ${managedInstance?.id}`);
128
- if (!managedInstance) {
129
- throw new SfError('No managed instance found for the devhub/control org.');
130
- }
131
- sourceInstanceId = managedInstance.id;
132
- }
133
- if (destinationFlag) {
134
- this.log('Destination managed instance parameter is specified: ', sourceFlag);
135
- // Destination is a managed instance, use the managed instance ID
136
- destinationInstanceId = destinationFlag;
137
- }
138
- else {
139
- // Destination is a DX managed org
140
- this.log(`Destination managed instance parameter is not specified, finding or creating managed instance by org ID: ${org.getOrgId()}`);
141
- // Check if a managed instance exist with the same org ID
142
- let managedInstance = await getManagedInstance({ hubConn, orgId: org.getOrgId(), print });
143
- this.log('Retrieved managed instance: ', JSON.stringify(managedInstance));
144
- if (managedInstance) {
145
- // If exists, use that managed instance ID
146
- this.log(`Managed instance found, using it, with ID: ${managedInstance?.id}`);
147
- destinationInstanceId = managedInstance?.id;
148
- // Update the connection with the latest access token
149
- this.log('Updating the connection with the latest access token');
150
- await updateConnection({ connectionId: managedInstance.connectionId, hubConn, org });
151
- }
152
- else {
153
- this.log('Managed instance for the org does not exist, managing instance.');
154
- // If doesn't exist, query for an active connection to the org
155
- let connectionId = await getConnectionId({ hubConn, orgId: org.getOrgId(), print });
156
- this.log('Retrieved connection ID: ', connectionId);
157
- if (!connectionId) {
158
- // If a connection doesn't exist, create it, then use it to manage the new instance
159
- this.log('Connection does not exist, creating.');
160
- connectionId = await createConnection({ hubConn, name: labelFlag, org });
161
- this.log(`Created connection with record ID: ${connectionId}`);
162
- }
163
- else {
164
- // Update the connection with the latest access token
165
- this.log('Updating the connection with the latest access token');
166
- await updateConnection({ connectionId, hubConn, org });
167
- }
168
- // Connection exists, use it to manage the new instance
169
- const orgId = org.getOrgId();
170
- const body = {
171
- platformInstance: {
172
- platformInstanceId: orgId,
173
- connectionId,
174
- },
175
- };
176
- const { managedInstance: newManagedInstance } = await manageInstance({
177
- body,
178
- hubConn,
179
- orgId,
180
- });
181
- managedInstance = newManagedInstance;
182
- this.log(`New managed instance ID: ${managedInstance.id}`);
183
- destinationInstanceId = managedInstance.id;
184
- }
185
- }
186
- this.log('Refreshing org session auth');
187
- try {
188
- await org.refreshAuth();
189
- }
190
- catch {
191
- // Target username not valid or not specified, refresh failed
192
- }
193
- // Retrieve the data set or deployment plan to deploy
194
- this.log('Retrieving data set or deployment plan to deploy.');
195
- if (datasetFlag) {
196
- dataSetId = await getDeploymentEntityId({
197
- dataEntityFlag: datasetFlag,
198
- dataEntityType: 'PDRI__DataSet__c',
199
- hubConn,
200
- print,
201
- });
202
- }
203
- else if (planFlag) {
204
- deploymentPlanId = await getDeploymentEntityId({
205
- dataEntityFlag: planFlag,
206
- dataEntityType: 'PDRI__Deployment_Plan__c',
207
- hubConn,
208
- print,
209
- });
210
- }
211
- this.log('Launching deployment.');
212
- const jobId = await this.deploy({
213
- dataSetId,
214
- deactivateAllEvents: deactivateFlag,
215
- deploymentName: deploymentNameFlag,
216
- deploymentNotes: deploymentNotesFlag,
217
- deploymentPlanId,
218
- destinationInstanceId,
219
- hubConn,
220
- queryFilter: queryFilterFlag,
221
- simulation: simulationFlag,
222
- sourceInstanceId,
223
- });
224
- this.log(`Deployment launched with Job ID: ${jobId}`);
225
- // Return an object to be displayed with --json
226
- return { jobId, message: 'Deployment launched' };
227
- }
228
- async deploy({ dataSetId, deactivateAllEvents, deploymentName, deploymentNotes, deploymentPlanId, destinationInstanceId, hubConn, queryFilter, simulation, sourceInstanceId, }) {
229
- this.log('Invoking deployment.');
230
- const path = `/services/apexrest/PDRI/v1/instances/${destinationInstanceId}/deploy`;
231
- const eventControlOptions = {
232
- deactivateAll: !!deactivateAllEvents,
233
- };
234
- const dataDeploymentOptions = {
235
- dataSetId,
236
- deploymentPlanId,
237
- simulation: simulation ?? false,
238
- eventControlOptions,
239
- queryFilter: constructQueryFilter(queryFilter),
240
- };
241
- const sourceOptions = {
242
- managedInstanceId: sourceInstanceId,
243
- };
244
- const deployInstance = {
245
- deploymentName,
246
- deploymentNotes,
247
- engagementId: null,
248
- data: [dataDeploymentOptions],
249
- metadata: {},
250
- source: sourceOptions,
251
- };
252
- const request = {
253
- body: JSON.stringify(deployInstance),
254
- method: 'POST',
255
- url: path,
256
- };
257
- const res = await hubConn.request(request);
258
- const jobsWrapper = JSON.parse(res);
259
- const jobId = jobsWrapper.jobs[0].id;
260
- return jobId;
261
- }
262
- }
263
- //# sourceMappingURL=deploy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/prodly/deploy.ts"],"names":[],"mappings":"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"}