@pnp/cli-microsoft365 10.6.0-beta.7205e34 → 10.6.0-beta.807bbab
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/m365/pp/commands/card/card-clone.js +7 -1
- package/dist/m365/pp/commands/card/card-get.js +5 -2
- package/dist/m365/pp/commands/card/card-remove.js +7 -1
- package/dist/m365/pp/commands/solution/solution-get.js +5 -11
- package/dist/m365/pp/commands/solution/solution-publish.js +6 -16
- package/dist/m365/pp/commands/solution/solution-remove.js +4 -13
- package/dist/utils/powerPlatform.js +25 -4
- package/npm-shrinkwrap.json +515 -479
- package/package.json +14 -14
|
@@ -35,13 +35,19 @@ class PpCardCloneCommand extends PowerPlatformCommand {
|
|
|
35
35
|
if (args.options.id) {
|
|
36
36
|
return args.options.id;
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
if (this.verbose) {
|
|
39
|
+
await logger.logToStderr(`Retrieving the card Id for card '${args.options.name}'`);
|
|
40
|
+
}
|
|
41
|
+
const card = await powerPlatform.getCardByName(dynamicsApiUrl, args.options.name);
|
|
39
42
|
return card.cardid;
|
|
40
43
|
}
|
|
41
44
|
async cloneCard(args, logger) {
|
|
42
45
|
try {
|
|
43
46
|
const dynamicsApiUrl = await powerPlatform.getDynamicsInstanceApiUrl(args.options.environmentName, args.options.asAdmin);
|
|
44
47
|
const cardId = await this.getCardId(args, dynamicsApiUrl, logger);
|
|
48
|
+
if (this.verbose) {
|
|
49
|
+
await logger.logToStderr(`Cloning the card with id '${cardId}'`);
|
|
50
|
+
}
|
|
45
51
|
const requestOptions = {
|
|
46
52
|
url: `${dynamicsApiUrl}/api/data/v9.1/CardCreateClone`,
|
|
47
53
|
headers: {
|
|
@@ -39,10 +39,13 @@ class PpCardGetCommand extends PowerPlatformCommand {
|
|
|
39
39
|
}
|
|
40
40
|
async getCard(dynamicsApiUrl, options, logger) {
|
|
41
41
|
if (options.name) {
|
|
42
|
-
|
|
42
|
+
if (this.verbose) {
|
|
43
|
+
await logger.logToStderr(`Retrieving the card with name '${options.name}'`);
|
|
44
|
+
}
|
|
45
|
+
return await powerPlatform.getCardByName(dynamicsApiUrl, options.name);
|
|
43
46
|
}
|
|
44
47
|
if (this.verbose) {
|
|
45
|
-
await logger.logToStderr(`Retrieving the card with id ${options.id}`);
|
|
48
|
+
await logger.logToStderr(`Retrieving the card with id '${options.id}'`);
|
|
46
49
|
}
|
|
47
50
|
const requestOptions = {
|
|
48
51
|
url: `${dynamicsApiUrl}/api/data/v9.1/cards(${options.id})`,
|
|
@@ -43,13 +43,19 @@ class PpCardRemoveCommand extends PowerPlatformCommand {
|
|
|
43
43
|
if (args.options.id) {
|
|
44
44
|
return args.options.id;
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
if (this.verbose) {
|
|
47
|
+
await logger.logToStderr(`Retrieving the card with name '${args.options.name}'`);
|
|
48
|
+
}
|
|
49
|
+
const card = await powerPlatform.getCardByName(dynamicsApiUrl, args.options.name);
|
|
47
50
|
return card.cardid;
|
|
48
51
|
}
|
|
49
52
|
async deleteCard(args, logger) {
|
|
50
53
|
try {
|
|
51
54
|
const dynamicsApiUrl = await powerPlatform.getDynamicsInstanceApiUrl(args.options.environmentName, args.options.asAdmin);
|
|
52
55
|
const cardId = await this.getCardId(args, dynamicsApiUrl, logger);
|
|
56
|
+
if (this.verbose) {
|
|
57
|
+
await logger.logToStderr(`Deleting card with Id '${cardId}'`);
|
|
58
|
+
}
|
|
53
59
|
const requestOptions = {
|
|
54
60
|
url: `${dynamicsApiUrl}/api/data/v9.1/cards(${cardId})`,
|
|
55
61
|
headers: {
|
|
@@ -49,23 +49,17 @@ class PpSolutionGetCommand extends PowerPlatformCommand {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
async getSolution(dynamicsApiUrl, options) {
|
|
52
|
+
if (options.name) {
|
|
53
|
+
return powerPlatform.getSolutionByName(dynamicsApiUrl, options.name);
|
|
54
|
+
}
|
|
52
55
|
const requestOptions = {
|
|
53
56
|
headers: {
|
|
54
57
|
accept: 'application/json;odata.metadata=none'
|
|
55
58
|
},
|
|
56
59
|
responseType: 'json'
|
|
57
60
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const result = await request.get(requestOptions);
|
|
61
|
-
return result;
|
|
62
|
-
}
|
|
63
|
-
requestOptions.url = `${dynamicsApiUrl}/api/data/v9.0/solutions?$filter=isvisible eq true and uniquename eq \'${options.name}\'&$expand=publisherid($select=friendlyname)&$select=solutionid,uniquename,version,publisherid,installedon,solutionpackageversion,friendlyname,versionnumber&api-version=9.1`;
|
|
64
|
-
const result = await request.get(requestOptions);
|
|
65
|
-
if (result.value.length === 0) {
|
|
66
|
-
throw `The specified solution '${options.name}' does not exist.`;
|
|
67
|
-
}
|
|
68
|
-
return result.value[0];
|
|
61
|
+
requestOptions.url = `${dynamicsApiUrl}/api/data/v9.0/solutions(${options.id})?$expand=publisherid($select=friendlyname)&$select=solutionid,uniquename,version,publisherid,installedon,solutionpackageversion,friendlyname,versionnumber&api-version=9.1`;
|
|
62
|
+
return request.get(requestOptions);
|
|
69
63
|
}
|
|
70
64
|
}
|
|
71
65
|
_PpSolutionGetCommand_instances = new WeakSet(), _PpSolutionGetCommand_initTelemetry = function _PpSolutionGetCommand_initTelemetry() {
|
|
@@ -4,14 +4,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
6
|
var _PpSolutionPublishCommand_instances, _PpSolutionPublishCommand_initTelemetry, _PpSolutionPublishCommand_initOptions, _PpSolutionPublishCommand_initOptionSets, _PpSolutionPublishCommand_initValidators;
|
|
7
|
-
import { cli } from '../../../../cli/cli.js';
|
|
8
7
|
import request from '../../../../request.js';
|
|
9
8
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
9
|
import { powerPlatform } from '../../../../utils/powerPlatform.js';
|
|
11
10
|
import { validation } from '../../../../utils/validation.js';
|
|
12
11
|
import PowerPlatformCommand from '../../../base/PowerPlatformCommand.js';
|
|
13
12
|
import commands from '../../commands.js';
|
|
14
|
-
import ppSolutionGetCommand from './solution-get.js';
|
|
15
13
|
class PpSolutionPublishCommand extends PowerPlatformCommand {
|
|
16
14
|
get name() {
|
|
17
15
|
return commands.SOLUTION_PUBLISH;
|
|
@@ -29,8 +27,8 @@ class PpSolutionPublishCommand extends PowerPlatformCommand {
|
|
|
29
27
|
}
|
|
30
28
|
async commandAction(logger, args) {
|
|
31
29
|
try {
|
|
32
|
-
const dynamicsApiUrl = await powerPlatform.getDynamicsInstanceApiUrl(args.options.
|
|
33
|
-
const solutionId = await this.getSolutionId(args, logger);
|
|
30
|
+
const dynamicsApiUrl = await powerPlatform.getDynamicsInstanceApiUrl(args.options.environment, args.options.asAdmin);
|
|
31
|
+
const solutionId = await this.getSolutionId(args, dynamicsApiUrl, logger);
|
|
34
32
|
const solutionComponents = await this.getSolutionComponents(dynamicsApiUrl, solutionId, logger);
|
|
35
33
|
const parameterXml = await this.buildXmlRequestObject(solutionComponents, logger);
|
|
36
34
|
const requestOptions = {
|
|
@@ -71,23 +69,15 @@ class PpSolutionPublishCommand extends PowerPlatformCommand {
|
|
|
71
69
|
const response = await request.get(requestOptions);
|
|
72
70
|
return response.value;
|
|
73
71
|
}
|
|
74
|
-
async getSolutionId(args, logger) {
|
|
72
|
+
async getSolutionId(args, dynamicsApiUrl, logger) {
|
|
75
73
|
if (args.options.id) {
|
|
76
74
|
return args.options.id;
|
|
77
75
|
}
|
|
78
76
|
if (this.verbose) {
|
|
79
|
-
await logger.logToStderr(`Retrieving solutionId
|
|
77
|
+
await logger.logToStderr(`Retrieving solutionId...`);
|
|
80
78
|
}
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
name: args.options.name,
|
|
84
|
-
output: 'json',
|
|
85
|
-
debug: this.debug,
|
|
86
|
-
verbose: this.verbose
|
|
87
|
-
};
|
|
88
|
-
const output = await cli.executeCommandWithOutput(ppSolutionGetCommand, { options: { ...options, _: [] } });
|
|
89
|
-
const getSolutionOutput = JSON.parse(output.stdout);
|
|
90
|
-
return getSolutionOutput.solutionid;
|
|
79
|
+
const solution = await powerPlatform.getSolutionByName(dynamicsApiUrl, args.options.name);
|
|
80
|
+
return solution.solutionid;
|
|
91
81
|
}
|
|
92
82
|
async buildXmlRequestObject(solutionComponents, logger) {
|
|
93
83
|
if (this.verbose) {
|
|
@@ -10,7 +10,6 @@ import { powerPlatform } from '../../../../utils/powerPlatform.js';
|
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
11
|
import PowerPlatformCommand from '../../../base/PowerPlatformCommand.js';
|
|
12
12
|
import commands from '../../commands.js';
|
|
13
|
-
import ppSolutionGetCommand from './solution-get.js';
|
|
14
13
|
class PpSolutionRemoveCommand extends PowerPlatformCommand {
|
|
15
14
|
get name() {
|
|
16
15
|
return commands.SOLUTION_REMOVE;
|
|
@@ -40,25 +39,17 @@ class PpSolutionRemoveCommand extends PowerPlatformCommand {
|
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
|
-
async getSolutionId(args) {
|
|
42
|
+
async getSolutionId(args, dynamicsApiUrl) {
|
|
44
43
|
if (args.options.id) {
|
|
45
44
|
return args.options.id;
|
|
46
45
|
}
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
name: args.options.name,
|
|
50
|
-
output: 'json',
|
|
51
|
-
debug: this.debug,
|
|
52
|
-
verbose: this.verbose
|
|
53
|
-
};
|
|
54
|
-
const output = await cli.executeCommandWithOutput(ppSolutionGetCommand, { options: { ...options, _: [] } });
|
|
55
|
-
const getSolutionOutput = JSON.parse(output.stdout);
|
|
56
|
-
return getSolutionOutput.solutionid;
|
|
46
|
+
const solution = await powerPlatform.getSolutionByName(dynamicsApiUrl, args.options.name);
|
|
47
|
+
return solution.solutionid;
|
|
57
48
|
}
|
|
58
49
|
async deleteSolution(args) {
|
|
59
50
|
try {
|
|
60
51
|
const dynamicsApiUrl = await powerPlatform.getDynamicsInstanceApiUrl(args.options.environmentName, args.options.asAdmin);
|
|
61
|
-
const solutionId = await this.getSolutionId(args);
|
|
52
|
+
const solutionId = await this.getSolutionId(args, dynamicsApiUrl);
|
|
62
53
|
const requestOptions = {
|
|
63
54
|
url: `${dynamicsApiUrl}/api/data/v9.1/solutions(${solutionId})`,
|
|
64
55
|
headers: {
|
|
@@ -71,10 +71,7 @@ export const powerPlatform = {
|
|
|
71
71
|
* @param logger The logger object
|
|
72
72
|
* @param verbose Set for verbose logging
|
|
73
73
|
*/
|
|
74
|
-
async getCardByName(dynamicsApiUrl, name
|
|
75
|
-
if (verbose && logger) {
|
|
76
|
-
await logger.logToStderr(`Retrieving the card with name ${name}`);
|
|
77
|
-
}
|
|
74
|
+
async getCardByName(dynamicsApiUrl, name) {
|
|
78
75
|
const requestOptions = {
|
|
79
76
|
url: `${dynamicsApiUrl}/api/data/v9.1/cards?$filter=name eq '${name}'`,
|
|
80
77
|
headers: {
|
|
@@ -91,6 +88,30 @@ export const powerPlatform = {
|
|
|
91
88
|
return cli.handleMultipleResultsFound(`Multiple cards with name '${name}' found.`, resultAsKeyValuePair);
|
|
92
89
|
}
|
|
93
90
|
return result.value[0];
|
|
91
|
+
},
|
|
92
|
+
/**
|
|
93
|
+
* Get a solution by name
|
|
94
|
+
* Returns the solution object
|
|
95
|
+
* @param dynamicsApiUrl The dynamics api url of the environment
|
|
96
|
+
* @param name The name of the solution
|
|
97
|
+
*/
|
|
98
|
+
async getSolutionByName(dynamicsApiUrl, name) {
|
|
99
|
+
const requestOptions = {
|
|
100
|
+
url: `${dynamicsApiUrl}/api/data/v9.0/solutions?$filter=isvisible eq true and uniquename eq \'${name}\'&$expand=publisherid($select=friendlyname)&$select=solutionid,uniquename,version,publisherid,installedon,solutionpackageversion,friendlyname,versionnumber&api-version=9.1`,
|
|
101
|
+
headers: {
|
|
102
|
+
accept: 'application/json;odata.metadata=none'
|
|
103
|
+
},
|
|
104
|
+
responseType: 'json'
|
|
105
|
+
};
|
|
106
|
+
const result = await request.get(requestOptions);
|
|
107
|
+
if (result.value.length === 0) {
|
|
108
|
+
throw Error(`The specified solution '${name}' does not exist.`);
|
|
109
|
+
}
|
|
110
|
+
if (result.value.length > 1) {
|
|
111
|
+
const resultAsKeyValuePair = formatting.convertArrayToHashTable('solutionid', result.value);
|
|
112
|
+
return cli.handleMultipleResultsFound(`Multiple solutions with name '${name}' found.`, resultAsKeyValuePair);
|
|
113
|
+
}
|
|
114
|
+
return result.value[0];
|
|
94
115
|
}
|
|
95
116
|
};
|
|
96
117
|
//# sourceMappingURL=powerPlatform.js.map
|