@pnp/cli-microsoft365 6.3.0-beta.64eb7da → 6.3.0-beta.861847a
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/.eslintrc.js +4 -0
- package/dist/Command.js +4 -4
- package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
- package/dist/m365/planner/commands/roster/roster-member-add.js +113 -0
- package/dist/m365/planner/commands/roster/roster-member-list.js +54 -0
- package/dist/m365/planner/commands/task/task-add.js +3 -0
- package/dist/m365/planner/commands.js +2 -0
- package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +76 -0
- package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +47 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +77 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +8 -8
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +44 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +97 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +90 -0
- package/dist/m365/purview/commands.js +7 -1
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +95 -0
- package/dist/m365/spo/commands/file/GraphFileDetails.js +0 -1
- package/dist/m365/spo/commands/file/file-sharinglink-add.js +2 -22
- package/dist/m365/spo/commands/file/file-sharinglink-clear.js +137 -0
- package/dist/m365/spo/commands/file/file-sharinglink-get.js +2 -25
- package/dist/m365/spo/commands/file/file-sharinglink-list.js +7 -28
- package/dist/m365/spo/commands/file/file-sharinglink-remove.js +2 -25
- package/dist/m365/spo/commands/file/file-sharinglink-set.js +104 -0
- package/dist/m365/spo/commands/listitem/listitem-add.js +2 -1
- package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +6 -0
- package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +179 -0
- package/dist/m365/spo/commands.js +4 -0
- package/dist/utils/spo.js +28 -0
- package/docs/docs/cmd/pa/app/app-get.md +24 -0
- package/docs/docs/cmd/pa/app/app-list.md +21 -0
- package/docs/docs/cmd/pa/connector/connector-list.md +17 -0
- package/docs/docs/cmd/pa/environment/environment-get.md +18 -0
- package/docs/docs/cmd/pa/environment/environment-list.md +19 -0
- package/docs/docs/cmd/planner/roster/roster-member-add.md +87 -0
- package/docs/docs/cmd/planner/roster/roster-member-list.md +76 -0
- package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.md +43 -0
- package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.md +43 -0
- package/docs/docs/cmd/pp/card/card-clone.md +12 -0
- package/docs/docs/cmd/pp/card/card-get.md +49 -0
- package/docs/docs/cmd/pp/card/card-list.md +49 -0
- package/docs/docs/cmd/pp/chatbot/chatbot-get.md +55 -0
- package/docs/docs/cmd/pp/chatbot/chatbot-list.md +36 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-get.md +30 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +30 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.md +30 -0
- package/docs/docs/cmd/pp/environment/environment-get.md +19 -0
- package/docs/docs/cmd/pp/environment/environment-list.md +19 -0
- package/docs/docs/cmd/pp/gateway/gateway-get.md +19 -0
- package/docs/docs/cmd/pp/gateway/gateway-list.md +19 -0
- package/docs/docs/cmd/pp/managementapp/managementapp-add.md +12 -0
- package/docs/docs/cmd/pp/managementapp/managementapp-list.md +12 -0
- package/docs/docs/cmd/pp/solution/solution-get.md +14 -0
- package/docs/docs/cmd/pp/solution/solution-list.md +14 -0
- package/docs/docs/cmd/pp/solution/solution-publisher-get.md +20 -1
- package/docs/docs/cmd/pp/solution/solution-publisher-list.md +18 -0
- package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +21 -0
- package/docs/docs/cmd/purview/retentionevent/retentionevent-get.md +132 -0
- package/docs/docs/cmd/purview/retentionevent/retentionevent-list.md +107 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.md +106 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.md +97 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.md +43 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.md +43 -0
- package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +56 -0
- package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +46 -0
- package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-set.md +104 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-add.md +3 -0
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.md +59 -0
- package/package.json +1 -1
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _SpoFileSharingLinkSetCommand_instances, _SpoFileSharingLinkSetCommand_initTelemetry, _SpoFileSharingLinkSetCommand_initOptions, _SpoFileSharingLinkSetCommand_initValidators, _SpoFileSharingLinkSetCommand_initOptionSets;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const request_1 = require("../../../../request");
|
|
19
|
+
const validation_1 = require("../../../../utils/validation");
|
|
20
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
21
|
+
const commands_1 = require("../../commands");
|
|
22
|
+
const spo_1 = require("../../../../utils/spo");
|
|
23
|
+
class SpoFileSharingLinkSetCommand extends SpoCommand_1.default {
|
|
24
|
+
get name() {
|
|
25
|
+
return commands_1.default.FILE_SHARINGLINK_SET;
|
|
26
|
+
}
|
|
27
|
+
get description() {
|
|
28
|
+
return 'Updates a sharing link of a file';
|
|
29
|
+
}
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
_SpoFileSharingLinkSetCommand_instances.add(this);
|
|
33
|
+
__classPrivateFieldGet(this, _SpoFileSharingLinkSetCommand_instances, "m", _SpoFileSharingLinkSetCommand_initTelemetry).call(this);
|
|
34
|
+
__classPrivateFieldGet(this, _SpoFileSharingLinkSetCommand_instances, "m", _SpoFileSharingLinkSetCommand_initOptions).call(this);
|
|
35
|
+
__classPrivateFieldGet(this, _SpoFileSharingLinkSetCommand_instances, "m", _SpoFileSharingLinkSetCommand_initValidators).call(this);
|
|
36
|
+
__classPrivateFieldGet(this, _SpoFileSharingLinkSetCommand_instances, "m", _SpoFileSharingLinkSetCommand_initOptionSets).call(this);
|
|
37
|
+
}
|
|
38
|
+
commandAction(logger, args) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
if (this.verbose) {
|
|
41
|
+
logger.logToStderr(`Updating sharing link of file ${args.options.fileId || args.options.fileUrl}...`);
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const fileDetails = yield spo_1.spo.getVroomFileDetails(args.options.webUrl, args.options.fileId, args.options.fileUrl);
|
|
45
|
+
const requestOptions = {
|
|
46
|
+
url: `https://graph.microsoft.com/v1.0/sites/${fileDetails.SiteId}/drives/${fileDetails.VroomDriveID}/items/${fileDetails.VroomItemID}/permissions/${args.options.id}`,
|
|
47
|
+
headers: {
|
|
48
|
+
accept: 'application/json;odata.metadata=none'
|
|
49
|
+
},
|
|
50
|
+
responseType: 'json',
|
|
51
|
+
data: {
|
|
52
|
+
expirationDateTime: args.options.expirationDateTime
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const sharingLink = yield request_1.default.patch(requestOptions);
|
|
56
|
+
logger.log(sharingLink);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
this.handleRejectedODataJsonPromise(err);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
_SpoFileSharingLinkSetCommand_instances = new WeakSet(), _SpoFileSharingLinkSetCommand_initTelemetry = function _SpoFileSharingLinkSetCommand_initTelemetry() {
|
|
65
|
+
this.telemetry.push((args) => {
|
|
66
|
+
Object.assign(this.telemetryProperties, {
|
|
67
|
+
fileId: typeof args.options.fileId !== 'undefined',
|
|
68
|
+
fileUrl: typeof args.options.fileUrl !== 'undefined'
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}, _SpoFileSharingLinkSetCommand_initOptions = function _SpoFileSharingLinkSetCommand_initOptions() {
|
|
72
|
+
this.options.unshift({
|
|
73
|
+
option: '-u, --webUrl <webUrl>'
|
|
74
|
+
}, {
|
|
75
|
+
option: '--fileId [fileId]'
|
|
76
|
+
}, {
|
|
77
|
+
option: '--fileUrl [fileUrl]'
|
|
78
|
+
}, {
|
|
79
|
+
option: '--id <id>'
|
|
80
|
+
}, {
|
|
81
|
+
option: '--expirationDateTime <expirationDateTime>'
|
|
82
|
+
});
|
|
83
|
+
}, _SpoFileSharingLinkSetCommand_initValidators = function _SpoFileSharingLinkSetCommand_initValidators() {
|
|
84
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
86
|
+
if (isValidSharePointUrl !== true) {
|
|
87
|
+
return isValidSharePointUrl;
|
|
88
|
+
}
|
|
89
|
+
if (args.options.fileId && !validation_1.validation.isValidGuid(args.options.fileId)) {
|
|
90
|
+
return `${args.options.fileId} is not a valid GUID`;
|
|
91
|
+
}
|
|
92
|
+
if (!validation_1.validation.isValidGuid(args.options.id)) {
|
|
93
|
+
return `${args.options.id} is not a valid GUID`;
|
|
94
|
+
}
|
|
95
|
+
if (!validation_1.validation.isValidISODateTime(args.options.expirationDateTime)) {
|
|
96
|
+
return `'${args.options.expirationDateTime}' is not a valid ISO date string`;
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
99
|
+
}));
|
|
100
|
+
}, _SpoFileSharingLinkSetCommand_initOptionSets = function _SpoFileSharingLinkSetCommand_initOptionSets() {
|
|
101
|
+
this.optionSets.push({ options: ['fileId', 'fileUrl'] });
|
|
102
|
+
};
|
|
103
|
+
module.exports = new SpoFileSharingLinkSetCommand();
|
|
104
|
+
//# sourceMappingURL=file-sharinglink-set.js.map
|
|
@@ -53,6 +53,9 @@ class SpoSiteDesignAddCommand extends SpoCommand_1.default {
|
|
|
53
53
|
if (args.options.previewImageAltText) {
|
|
54
54
|
info.PreviewImageAltText = args.options.previewImageAltText;
|
|
55
55
|
}
|
|
56
|
+
if (args.options.thumbnailUrl) {
|
|
57
|
+
info.ThumbnailUrl = args.options.thumbnailUrl;
|
|
58
|
+
}
|
|
56
59
|
if (args.options.isDefault) {
|
|
57
60
|
info.IsDefault = true;
|
|
58
61
|
}
|
|
@@ -83,6 +86,7 @@ _SpoSiteDesignAddCommand_instances = new WeakSet(), _SpoSiteDesignAddCommand_ini
|
|
|
83
86
|
description: (!(!args.options.description)).toString(),
|
|
84
87
|
previewImageUrl: (!(!args.options.previewImageUrl)).toString(),
|
|
85
88
|
previewImageAltText: (!(!args.options.previewImageAltText)).toString(),
|
|
89
|
+
thumbnailUrl: (!(!args.options.thumbnailUrl)).toString(),
|
|
86
90
|
isDefault: args.options.isDefault || false
|
|
87
91
|
});
|
|
88
92
|
});
|
|
@@ -100,6 +104,8 @@ _SpoSiteDesignAddCommand_instances = new WeakSet(), _SpoSiteDesignAddCommand_ini
|
|
|
100
104
|
option: '-m, --previewImageUrl [previewImageUrl]'
|
|
101
105
|
}, {
|
|
102
106
|
option: '-a, --previewImageAltText [previewImageAltText]'
|
|
107
|
+
}, {
|
|
108
|
+
option: '--thumbnailUrl [thumbnailUrl]'
|
|
103
109
|
}, {
|
|
104
110
|
option: '--isDefault'
|
|
105
111
|
});
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _SpoTenantApplicationCustomizerAddCommand_instances, _SpoTenantApplicationCustomizerAddCommand_initTelemetry, _SpoTenantApplicationCustomizerAddCommand_initOptions, _SpoTenantApplicationCustomizerAddCommand_initValidators;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const validation_1 = require("../../../../utils/validation");
|
|
19
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
20
|
+
const commands_1 = require("../../commands");
|
|
21
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
22
|
+
const spoTenantAppCatalogUrlGetCommand = require("../tenant/tenant-appcatalogurl-get");
|
|
23
|
+
const spoListItemAddCommand = require("../listitem/listitem-add");
|
|
24
|
+
const spoListItemListCommand = require("../listitem/listitem-list");
|
|
25
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
26
|
+
class SpoTenantApplicationCustomizerAddCommand extends SpoCommand_1.default {
|
|
27
|
+
get name() {
|
|
28
|
+
return commands_1.default.TENANT_APPLICATIONCUSTOMIZER_ADD;
|
|
29
|
+
}
|
|
30
|
+
get description() {
|
|
31
|
+
return 'Add an application customizer as a tenant wide extension.';
|
|
32
|
+
}
|
|
33
|
+
constructor() {
|
|
34
|
+
super();
|
|
35
|
+
_SpoTenantApplicationCustomizerAddCommand_instances.add(this);
|
|
36
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerAddCommand_instances, "m", _SpoTenantApplicationCustomizerAddCommand_initTelemetry).call(this);
|
|
37
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerAddCommand_instances, "m", _SpoTenantApplicationCustomizerAddCommand_initOptions).call(this);
|
|
38
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerAddCommand_instances, "m", _SpoTenantApplicationCustomizerAddCommand_initValidators).call(this);
|
|
39
|
+
}
|
|
40
|
+
commandAction(logger, args) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
try {
|
|
43
|
+
const appCatalogUrl = yield this.getAppCatalogUrl(logger);
|
|
44
|
+
const componentManifest = yield this.getComponentManifest(appCatalogUrl, args.options.clientSideComponentId, logger);
|
|
45
|
+
const clientComponentManifest = JSON.parse(componentManifest.ClientComponentManifest);
|
|
46
|
+
if (clientComponentManifest.extensionType !== "ApplicationCustomizer") {
|
|
47
|
+
throw `The extension type of this component is not of type 'ApplicationCustomizer' but of type '${clientComponentManifest.extensionType}'`;
|
|
48
|
+
}
|
|
49
|
+
const solution = yield this.getSolutionFromAppCatalog(appCatalogUrl, componentManifest.SolutionId, logger);
|
|
50
|
+
if (!solution.ContainsTenantWideExtension) {
|
|
51
|
+
throw `The solution does not contain an extension that can be deployed to all sites. Make sure that you've entered the correct component Id.`;
|
|
52
|
+
}
|
|
53
|
+
else if (!solution.SkipFeatureDeployment) {
|
|
54
|
+
throw 'The solution has not been deployed to all sites. Make sure to deploy this solution to all sites.';
|
|
55
|
+
}
|
|
56
|
+
yield this.addTenantWideExtension(appCatalogUrl, args.options, logger);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
this.handleRejectedODataJsonPromise(err);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
getAppCatalogUrl(logger) {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
const spoTenantAppCatalogUrlGetCommandOutput = yield Cli_1.Cli.executeCommandWithOutput(spoTenantAppCatalogUrlGetCommand, { options: { output: 'text', _: [] } });
|
|
66
|
+
if (this.verbose) {
|
|
67
|
+
logger.logToStderr(spoTenantAppCatalogUrlGetCommandOutput.stderr);
|
|
68
|
+
}
|
|
69
|
+
const appCatalogUrl = spoTenantAppCatalogUrlGetCommandOutput.stdout;
|
|
70
|
+
if (!appCatalogUrl) {
|
|
71
|
+
throw 'Cannot add tenant-wide application customizer as app catalog cannot be found';
|
|
72
|
+
}
|
|
73
|
+
if (this.verbose) {
|
|
74
|
+
logger.logToStderr(`Got tenant app catalog url: ${appCatalogUrl}`);
|
|
75
|
+
}
|
|
76
|
+
return appCatalogUrl;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
getComponentManifest(appCatalogUrl, clientSideComponentId, logger) {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
if (this.verbose) {
|
|
82
|
+
logger.logToStderr('Retrieving component manifest item from the ComponentManifests list on the app catalog site so that we get the solution id');
|
|
83
|
+
}
|
|
84
|
+
const camlQuery = `<View><ViewFields><FieldRef Name='ClientComponentId'></FieldRef><FieldRef Name='SolutionId'></FieldRef><FieldRef Name='ClientComponentManifest'></FieldRef></ViewFields><Query><Where><Eq><FieldRef Name='ClientComponentId' /><Value Type='Guid'>${clientSideComponentId}</Value></Eq></Where></Query></View>`;
|
|
85
|
+
const commandOptions = {
|
|
86
|
+
webUrl: appCatalogUrl,
|
|
87
|
+
listUrl: `${urlUtil_1.urlUtil.getServerRelativeSiteUrl(appCatalogUrl)}/Lists/ComponentManifests`,
|
|
88
|
+
camlQuery: camlQuery,
|
|
89
|
+
verbose: this.verbose,
|
|
90
|
+
debug: this.debug,
|
|
91
|
+
output: 'json'
|
|
92
|
+
};
|
|
93
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(spoListItemListCommand, { options: Object.assign(Object.assign({}, commandOptions), { _: [] }) });
|
|
94
|
+
if (this.verbose) {
|
|
95
|
+
logger.logToStderr(output.stderr);
|
|
96
|
+
}
|
|
97
|
+
const outputParsed = JSON.parse(output.stdout);
|
|
98
|
+
if (outputParsed.length === 0) {
|
|
99
|
+
throw 'No component found with the specified clientSideComponentId found in the component manifest list. Make sure that the application is added to the application catalog';
|
|
100
|
+
}
|
|
101
|
+
return outputParsed[0];
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
getSolutionFromAppCatalog(appCatalogUrl, solutionId, logger) {
|
|
105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
if (this.verbose) {
|
|
107
|
+
logger.logToStderr(`Retrieving solution with id ${solutionId} from the application catalog`);
|
|
108
|
+
}
|
|
109
|
+
const camlQuery = `<View><ViewFields><FieldRef Name='SkipFeatureDeployment'></FieldRef><FieldRef Name='ContainsTenantWideExtension'></FieldRef></ViewFields><Query><Where><Eq><FieldRef Name='AppProductID' /><Value Type='Guid'>${solutionId}</Value></Eq></Where></Query></View>`;
|
|
110
|
+
const commandOptions = {
|
|
111
|
+
webUrl: appCatalogUrl,
|
|
112
|
+
listUrl: `${urlUtil_1.urlUtil.getServerRelativeSiteUrl(appCatalogUrl)}/AppCatalog`,
|
|
113
|
+
camlQuery: camlQuery,
|
|
114
|
+
verbose: this.verbose,
|
|
115
|
+
debug: this.debug,
|
|
116
|
+
output: 'json'
|
|
117
|
+
};
|
|
118
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(spoListItemListCommand, { options: Object.assign(Object.assign({}, commandOptions), { _: [] }) });
|
|
119
|
+
if (this.verbose) {
|
|
120
|
+
logger.logToStderr(output.stderr);
|
|
121
|
+
}
|
|
122
|
+
const outputParsed = JSON.parse(output.stdout);
|
|
123
|
+
if (outputParsed.length === 0) {
|
|
124
|
+
throw `No component found with the solution id ${solutionId}. Make sure that the solution is available in the app catalog`;
|
|
125
|
+
}
|
|
126
|
+
return outputParsed[0];
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
addTenantWideExtension(appCatalogUrl, options, logger) {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
if (this.verbose) {
|
|
132
|
+
logger.logToStderr('Pre-checks finished. Adding tenant wide extension to the TenantWideExtensions list');
|
|
133
|
+
}
|
|
134
|
+
const commandOptions = {
|
|
135
|
+
webUrl: appCatalogUrl,
|
|
136
|
+
listUrl: `${urlUtil_1.urlUtil.getServerRelativeSiteUrl(appCatalogUrl)}/Lists/TenantWideExtensions`,
|
|
137
|
+
Title: options.title,
|
|
138
|
+
TenantWideExtensionComponentId: options.clientSideComponentId,
|
|
139
|
+
TenantWideExtensionLocation: 'ClientSideExtension.ApplicationCustomizer',
|
|
140
|
+
TenantWideExtensionSequence: 0,
|
|
141
|
+
TenantWideExtensionListTemplate: 0,
|
|
142
|
+
TenantWideExtensionComponentProperties: options.clientSideComponentProperties || '',
|
|
143
|
+
TenantWideExtensionWebTemplate: options.webTemplate || '',
|
|
144
|
+
TenantWideExtensionDisabled: false,
|
|
145
|
+
verbose: this.verbose,
|
|
146
|
+
debug: this.debug,
|
|
147
|
+
output: options.output
|
|
148
|
+
};
|
|
149
|
+
yield Cli_1.Cli.executeCommand(spoListItemAddCommand, { options: Object.assign(Object.assign({}, commandOptions), { _: [] }) });
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
_SpoTenantApplicationCustomizerAddCommand_instances = new WeakSet(), _SpoTenantApplicationCustomizerAddCommand_initTelemetry = function _SpoTenantApplicationCustomizerAddCommand_initTelemetry() {
|
|
154
|
+
this.telemetry.push((args) => {
|
|
155
|
+
Object.assign(this.telemetryProperties, {
|
|
156
|
+
clientSideComponentProperties: typeof args.options.clientSideComponentProperties !== 'undefined',
|
|
157
|
+
webTemplate: typeof args.options.webTemplate !== 'undefined'
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
}, _SpoTenantApplicationCustomizerAddCommand_initOptions = function _SpoTenantApplicationCustomizerAddCommand_initOptions() {
|
|
161
|
+
this.options.unshift({
|
|
162
|
+
option: '-t, --title <title>'
|
|
163
|
+
}, {
|
|
164
|
+
option: '-i, --clientSideComponentId <clientSideComponentId>'
|
|
165
|
+
}, {
|
|
166
|
+
option: '-p, --clientSideComponentProperties [clientSideComponentProperties]'
|
|
167
|
+
}, {
|
|
168
|
+
option: '-w, --webTemplate [webTemplate]'
|
|
169
|
+
});
|
|
170
|
+
}, _SpoTenantApplicationCustomizerAddCommand_initValidators = function _SpoTenantApplicationCustomizerAddCommand_initValidators() {
|
|
171
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
172
|
+
if (!validation_1.validation.isValidGuid(args.options.clientSideComponentId)) {
|
|
173
|
+
return `${args.options.clientSideComponentId} is not a valid GUID`;
|
|
174
|
+
}
|
|
175
|
+
return true;
|
|
176
|
+
}));
|
|
177
|
+
};
|
|
178
|
+
module.exports = new SpoTenantApplicationCustomizerAddCommand();
|
|
179
|
+
//# sourceMappingURL=tenant-applicationcustomizer-add.js.map
|
|
@@ -13,6 +13,7 @@ exports.default = {
|
|
|
13
13
|
APP_TEAMSPACKAGE_DOWNLOAD: `${prefix} app teamspackage download`,
|
|
14
14
|
APP_UNINSTALL: `${prefix} app uninstall`,
|
|
15
15
|
APP_UPGRADE: `${prefix} app upgrade`,
|
|
16
|
+
APPLICATIONCUSTOMIZER_ADD: `${prefix} applicationcustomizer add`,
|
|
16
17
|
APPPAGE_ADD: `${prefix} apppage add`,
|
|
17
18
|
APPPAGE_SET: `${prefix} apppage set`,
|
|
18
19
|
CDN_GET: `${prefix} cdn get`,
|
|
@@ -65,9 +66,11 @@ exports.default = {
|
|
|
65
66
|
FILE_ROLEINHERITANCE_RESET: `${prefix} file roleinheritance reset`,
|
|
66
67
|
FILE_SHARINGINFO_GET: `${prefix} file sharinginfo get`,
|
|
67
68
|
FILE_SHARINGLINK_ADD: `${prefix} file sharinglink add`,
|
|
69
|
+
FILE_SHARINGLINK_CLEAR: `${prefix} file sharinglink clear`,
|
|
68
70
|
FILE_SHARINGLINK_GET: `${prefix} file sharinglink get`,
|
|
69
71
|
FILE_SHARINGLINK_LIST: `${prefix} file sharinglink list`,
|
|
70
72
|
FILE_SHARINGLINK_REMOVE: `${prefix} file sharinglink remove`,
|
|
73
|
+
FILE_SHARINGLINK_SET: `${prefix} file sharinglink set`,
|
|
71
74
|
FILE_VERSION_CLEAR: `${prefix} file version clear`,
|
|
72
75
|
FILE_VERSION_GET: `${prefix} file version get`,
|
|
73
76
|
FILE_VERSION_LIST: `${prefix} file version list`,
|
|
@@ -274,6 +277,7 @@ exports.default = {
|
|
|
274
277
|
STORAGEENTITY_REMOVE: `${prefix} storageentity remove`,
|
|
275
278
|
TENANT_APPCATALOG_ADD: `${prefix} tenant appcatalog add`,
|
|
276
279
|
TENANT_APPCATALOGURL_GET: `${prefix} tenant appcatalogurl get`,
|
|
280
|
+
TENANT_APPLICATIONCUSTOMIZER_ADD: `${prefix} tenant applicationcustomizer add`,
|
|
277
281
|
TENANT_RECYCLEBINITEM_LIST: `${prefix} tenant recyclebinitem list`,
|
|
278
282
|
TENANT_RECYCLEBINITEM_REMOVE: `${prefix} tenant recyclebinitem remove`,
|
|
279
283
|
TENANT_RECYCLEBINITEM_RESTORE: `${prefix} tenant recyclebinitem restore`,
|
package/dist/utils/spo.js
CHANGED
|
@@ -456,6 +456,34 @@ exports.spo = {
|
|
|
456
456
|
reject('Cannot proceed. Folder _ObjectIdentity_ not found'); // this is not suppose to happen
|
|
457
457
|
}, (err) => { reject(err); });
|
|
458
458
|
});
|
|
459
|
+
},
|
|
460
|
+
/**
|
|
461
|
+
* Retrieves the SiteId, VroomItemId and VroomDriveId from a specific file.
|
|
462
|
+
* @param webUrl Web url
|
|
463
|
+
* @param fileId GUID ID of the file
|
|
464
|
+
* @param fileUrl Decoded URL of the file
|
|
465
|
+
*/
|
|
466
|
+
getVroomFileDetails(webUrl, fileId, fileUrl) {
|
|
467
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
468
|
+
let requestUrl = `${webUrl}/_api/web/`;
|
|
469
|
+
if (fileUrl) {
|
|
470
|
+
const fileServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(webUrl, fileUrl);
|
|
471
|
+
requestUrl += `GetFileByServerRelativePath(decodedUrl='${formatting_1.formatting.encodeQueryParameter(fileServerRelativeUrl)}')`;
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
requestUrl += `GetFileById('${fileId}')`;
|
|
475
|
+
}
|
|
476
|
+
requestUrl += '?$select=SiteId,VroomItemId,VroomDriveId';
|
|
477
|
+
const requestOptions = {
|
|
478
|
+
url: requestUrl,
|
|
479
|
+
headers: {
|
|
480
|
+
accept: 'application/json;odata=nometadata'
|
|
481
|
+
},
|
|
482
|
+
responseType: 'json'
|
|
483
|
+
};
|
|
484
|
+
const res = yield request_1.default.get(requestOptions);
|
|
485
|
+
return res;
|
|
486
|
+
});
|
|
459
487
|
}
|
|
460
488
|
};
|
|
461
489
|
//# sourceMappingURL=spo.js.map
|
|
@@ -222,3 +222,27 @@ m365 pa app get --displayName App
|
|
|
222
222
|
name,displayName,description,appVersion,owner
|
|
223
223
|
37ea6004-f07b-46ca-8ef3-a256b67b4dbb,PowerApps Application,App Description,2022-10-25T21:28:12Z,user@tenant.onmicrosoft.com
|
|
224
224
|
```
|
|
225
|
+
|
|
226
|
+
=== "Markdown"
|
|
227
|
+
|
|
228
|
+
```md
|
|
229
|
+
# pa app get --displayName "PowerApps Application"
|
|
230
|
+
|
|
231
|
+
Date: 9/1/2023
|
|
232
|
+
|
|
233
|
+
## PowerApps Application (/providers/Microsoft.PowerApps/apps/fe36f75e-c103-410b-a18a-2bf6df06ac3a)
|
|
234
|
+
|
|
235
|
+
Property | Value
|
|
236
|
+
---------|-------
|
|
237
|
+
name | fe36f75e-c103-410b-a18a-2bf6df06ac3a
|
|
238
|
+
id | /providers/Microsoft.PowerApps/apps/fe36f75e-c103-410b-a18a-2bf6df06ac3a
|
|
239
|
+
type | Microsoft.PowerApps/apps
|
|
240
|
+
tags | {"primaryDeviceWidth":"1366","primaryDeviceHeight":"768","supportsPortrait":"true","supportsLandscape":"true","primaryFormFactor":"Tablet","publisherVersion":"3.22102.32","minimumRequiredApiVersion":"2.2.0","hasComponent":"false","hasUnlockedComponent":"false","isUnifiedRootApp":"false","sienaVersion":"20221025T212812Z-3.22102.32.0"}
|
|
241
|
+
properties | {"appVersion":"2022-10-25T21:28:12Z","lastDraftVersion":"2022-10-25T21:28:12Z","lifeCycleId":"Published","status":"Ready","createdByClientVersion":{"major":3,"minor":22102,"build":32,"revision":0,"majorRevision":0,"minorRevision":0},"minClientVersion":{"major":3,"minor":22102,"build":32,"revision":0,"majorRevision":0,"minorRevision":0},"owner":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"createdBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"lastModifiedBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"lastPublishedBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"backgroundColor":"RGBA(0,176,240,1)","backgroundImageUri":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/logoSmallFile?sv=2018-03-28&sr=c&sig=cOkbwChyhCO%2BEJpqMDRxrXaxRoPD1TbTy%2B%2BFkdJEOjI%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","teamsColorIconUrl":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000ze297221f3dc643ed9686b72b22d9a414/teamscoloricon.png?sv=2018-03-28&sr=c&sig=Fhk8E0LO4Lw0mHvNawCF5Ld7GHzPHo9l7RxvZbeZY48%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","teamsOutlineIconUrl":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000ze297221f3dc643ed9686b72b22d9a414/teamsoutlineicon.png?sv=2018-03-28&sr=c&sig=Fhk8E0LO4Lw0mHvNawCF5Ld7GHzPHo9l7RxvZbeZY48%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","displayName":"Test application","description":"","commitMessage":"","appUris":{"documentUri":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/document.msapp?sv=2018-03-28&sr=c&sig=laSGdpZL03POyAABXvdsyxv8YDDB8JPZIBccztIe39Q%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/document.msapp?sv=2018-03-28&sr=c&sig=laSGdpZL03POyAABXvdsyxv8YDDB8JPZIBccztIe39Q%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"imageUris":[],"additionalUris":[]},"createdTime":"2022-10-25T21:28:12.7171469Z","lastModifiedTime":"2022-10-25T21:28:12.7456297Z","lastPublishTime":"2022-10-25T21:28:12Z","sharedGroupsCount":0,"sharedUsersCount":0,"appOpenProtocolUri":"ms-apps:///providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb","appOpenUri":"https://apps.powerapps.com/play/e/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc","appPlayUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d","appPlayEmbeddedUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc&telemetryLocation=eu","appPlayTeamsUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&source=teamstab&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc&telemetryLocation=eu&locale={locale}&channelId={channelId}&channelType={channelType}&chatId={chatId}&groupId={groupId}&hostClientType={hostClientType}&isFullScreen={isFullScreen}&entityId={entityId}&subEntityId={subEntityId}&teamId={teamId}&teamType={teamType}&theme={theme}&userTeamRole={userTeamRole}","userAppMetadata":{"favorite":"NotSpecified","includeInAppsList":true},"isFeaturedApp":false,"bypassConsent":false,"isHeroApp":false,"environment":{"id":"/providers/Microsoft.PowerApps/environments/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d","name":"default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d"},"appPackageDetails":{"playerPackage":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"webPackage":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"unauthenticatedWebPackage":{"value":"https://pafeblobprodam.blob.core.windows.net/alt20221025t000000z529d41282a634bf6b94383dde5a8d52c/20221025T212824Z/index.web.html"},"documentServerVersion":{"major":3,"minor":22102,"build":33,"revision":0,"majorRevision":0,"minorRevision":0},"appPackageResourcesKind":"Split","packagePropertiesJson":"{\"cdnUrl\":\"https://content.powerapps.com/resource/app\",\"preLoadIdx\":\"https://content.powerapps.com/resource/app/kdfj31mdao7t9/preloadindex.web.html\",\"id\":\"638023301009567627\",\"v\":2.1}","id":"20221025t000000zac5237a2672a4782ad5a7d71040c032bhttps://pafeblobprodam.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rlhttps://pafeblobprodam.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rlhttps://pafeblobprodam.blob.core.windows.net/alt20221025t000000z529d41282a634bf6b94383dde5a8d52c/20221025T212824Z/index.web.html"},"almMode":"Environment","performanceOptimizationEnabled":true,"unauthenticatedWebPackageHint":"296b0ef7-b4d0-4124-b835-f9c220a1f4bc","canConsumeAppPass":true,"enableModernRuntimeMode":false,"executionRestrictions":{"isTeamsOnly":false,"dataLossPreventionEvaluationResult":{"status":"Compliant","lastEvaluationDate":"2022-10-25T21:28:30.2281817Z","violations":[],"violationsByPolicy":[],"violationErrorMessage":"De app gebruikt de volgende connectors:."}},"appPlanClassification":"Standard","usesPremiumApi":false,"usesOnlyGrandfatheredPremiumApis":true,"usesCustomApi":false,"usesOnPremiseGateway":false,"usesPcfExternalServiceUsage":false,"isCustomizable":true}
|
|
242
|
+
appLocation | europe
|
|
243
|
+
appType | ClassicCanvasApp
|
|
244
|
+
displayName | PowerApps Application
|
|
245
|
+
description | App Description
|
|
246
|
+
appVersion | 2022-10-25T21:28:12Z
|
|
247
|
+
owner | user@tenant.onmicrosoft.com
|
|
248
|
+
```
|
|
@@ -221,3 +221,24 @@ m365 pa app list --environment Default-d87a7535-dd31-4437-bfe1-95340acd55c5 --as
|
|
|
221
221
|
name,displayName
|
|
222
222
|
37ea6004-f07b-46ca-8ef3-a256b67b4dbb,"PowerApps Application"
|
|
223
223
|
```
|
|
224
|
+
|
|
225
|
+
=== "Markdown"
|
|
226
|
+
|
|
227
|
+
```md
|
|
228
|
+
# pa app list
|
|
229
|
+
|
|
230
|
+
Date: 9/1/2023
|
|
231
|
+
|
|
232
|
+
## PowerApps Application (/providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb)
|
|
233
|
+
|
|
234
|
+
Property | Value
|
|
235
|
+
---------|-------
|
|
236
|
+
name | 37ea6004-f07b-46ca-8ef3-a256b67b4dbb
|
|
237
|
+
id | /providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb
|
|
238
|
+
type | Microsoft.PowerApps/apps
|
|
239
|
+
tags | {"primaryDeviceWidth":"1366","primaryDeviceHeight":"768","supportsPortrait":"true","supportsLandscape":"true","primaryFormFactor":"Tablet","publisherVersion":"3.22102.32","minimumRequiredApiVersion":"2.2.0","hasComponent":"false","hasUnlockedComponent":"false","isUnifiedRootApp":"false","sienaVersion":"20221025T212812Z-3.22102.32.0"}
|
|
240
|
+
properties | {"appVersion":"2022-10-25T21:28:12Z","lastDraftVersion":"2022-10-25T21:28:12Z","lifeCycleId":"Published","status":"Ready","createdByClientVersion":{"major":3,"minor":22102,"build":32,"revision":0,"majorRevision":0,"minorRevision":0},"minClientVersion":{"major":3,"minor":22102,"build":32,"revision":0,"majorRevision":0,"minorRevision":0},"owner":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"createdBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"lastModifiedBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"lastPublishedBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"backgroundColor":"RGBA(0,176,240,1)","backgroundImageUri":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/logoSmallFile?sv=2018-03-28&sr=c&sig=cOkbwChyhCO%2BEJpqMDRxrXaxRoPD1TbTy%2B%2BFkdJEOjI%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","teamsColorIconUrl":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000ze297221f3dc643ed9686b72b22d9a414/teamscoloricon.png?sv=2018-03-28&sr=c&sig=Fhk8E0LO4Lw0mHvNawCF5Ld7GHzPHo9l7RxvZbeZY48%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","teamsOutlineIconUrl":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000ze297221f3dc643ed9686b72b22d9a414/teamsoutlineicon.png?sv=2018-03-28&sr=c&sig=Fhk8E0LO4Lw0mHvNawCF5Ld7GHzPHo9l7RxvZbeZY48%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","displayName":"Test application","description":"","commitMessage":"","appUris":{"documentUri":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/document.msapp?sv=2018-03-28&sr=c&sig=laSGdpZL03POyAABXvdsyxv8YDDB8JPZIBccztIe39Q%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/document.msapp?sv=2018-03-28&sr=c&sig=laSGdpZL03POyAABXvdsyxv8YDDB8JPZIBccztIe39Q%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"imageUris":[],"additionalUris":[]},"createdTime":"2022-10-25T21:28:12.7171469Z","lastModifiedTime":"2022-10-25T21:28:12.7456297Z","lastPublishTime":"2022-10-25T21:28:12Z","sharedGroupsCount":0,"sharedUsersCount":0,"appOpenProtocolUri":"ms-apps:///providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb","appOpenUri":"https://apps.powerapps.com/play/e/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc","appPlayUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d","appPlayEmbeddedUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc&telemetryLocation=eu","appPlayTeamsUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&source=teamstab&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc&telemetryLocation=eu&locale={locale}&channelId={channelId}&channelType={channelType}&chatId={chatId}&groupId={groupId}&hostClientType={hostClientType}&isFullScreen={isFullScreen}&entityId={entityId}&subEntityId={subEntityId}&teamId={teamId}&teamType={teamType}&theme={theme}&userTeamRole={userTeamRole}","userAppMetadata":{"favorite":"NotSpecified","includeInAppsList":true},"isFeaturedApp":false,"bypassConsent":false,"isHeroApp":false,"environment":{"id":"/providers/Microsoft.PowerApps/environments/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d","name":"default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d"},"appPackageDetails":{"playerPackage":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"webPackage":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"unauthenticatedWebPackage":{"value":"https://pafeblobprodam.blob.core.windows.net/alt20221025t000000z529d41282a634bf6b94383dde5a8d52c/20221025T212824Z/index.web.html"},"documentServerVersion":{"major":3,"minor":22102,"build":33,"revision":0,"majorRevision":0,"minorRevision":0},"appPackageResourcesKind":"Split","packagePropertiesJson":"{\"cdnUrl\":\"https://content.powerapps.com/resource/app\",\"preLoadIdx\":\"https://content.powerapps.com/resource/app/kdfj31mdao7t9/preloadindex.web.html\",\"id\":\"638023301009567627\",\"v\":2.1}","id":"20221025t000000zac5237a2672a4782ad5a7d71040c032bhttps://pafeblobprodam.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rlhttps://pafeblobprodam.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rlhttps://pafeblobprodam.blob.core.windows.net/alt20221025t000000z529d41282a634bf6b94383dde5a8d52c/20221025T212824Z/index.web.html"},"almMode":"Environment","performanceOptimizationEnabled":true,"unauthenticatedWebPackageHint":"296b0ef7-b4d0-4124-b835-f9c220a1f4bc","canConsumeAppPass":true,"enableModernRuntimeMode":false,"executionRestrictions":{"isTeamsOnly":false,"dataLossPreventionEvaluationResult":{"status":"Compliant","lastEvaluationDate":"2022-10-25T21:28:30.2281817Z","violations":[],"violationsByPolicy":[],"violationErrorMessage":"De app gebruikt de volgende connectors: ."}},"appPlanClassification":"Standard","usesPremiumApi":false,"usesOnlyGrandfatheredPremiumApis":true,"usesCustomApi":false,"usesOnPremiseGateway":false,"usesPcfExternalServiceUsage":false,"isCustomizable":true}
|
|
241
|
+
appLocation | europe
|
|
242
|
+
appType | ClassicCanvasApp
|
|
243
|
+
displayName | PowerApps Application
|
|
244
|
+
```
|
|
@@ -122,3 +122,20 @@ m365 pa connector list --environmentName Default-d87a7535-dd31-4437-bfe1-95340ac
|
|
|
122
122
|
name,displayName
|
|
123
123
|
shared_my-20connector-5f0027f520b23e81c1-5f9888a90360086012,My connector
|
|
124
124
|
```
|
|
125
|
+
|
|
126
|
+
=== "Markdown"
|
|
127
|
+
|
|
128
|
+
```md
|
|
129
|
+
# pa connector list --environmentName "Default-0d645e38-ec52-4a4f-ac58-65f2ac4015f6"
|
|
130
|
+
|
|
131
|
+
Date: 9/1/2023
|
|
132
|
+
|
|
133
|
+
## My connector (/providers/Microsoft.PowerApps/apis/shared_my-20connector-5f0027f520b23e81c1-5f9888a90360086012)
|
|
134
|
+
|
|
135
|
+
Property | Value
|
|
136
|
+
---------|-------
|
|
137
|
+
name | shared_my-20connector-5f0027f520b23e81c1-5f9888a90360086012
|
|
138
|
+
id | /providers/Microsoft.PowerApps/apis/shared_my-20connector-5f0027f520b23e81c1-5f9888a90360086012
|
|
139
|
+
type | Microsoft.PowerApps/apis
|
|
140
|
+
properties | {"displayName":"My connector","iconUri":"https://az787822.vo.msecnd.net/defaulticons/api-dedicated.png","iconBrandColor":"#007ee5","contact":{},"license":{},"apiEnvironment":"Shared","isCustomApi":true,"connectionParameters":{},"runtimeUrls":["https://europe-002.azure-apim.net/apim/my-20connector-5f0027f520b23e81c1-5f9888a90360086012"],"primaryRuntimeUrl":"https://europe-002.azure-apim.net/apim/my-20connector-5f0027f520b23e81c1-5f9888a90360086012","metadata":{"source":"powerapps-user-defined","brandColor":"#007ee5","contact":{},"license":{},"publisherUrl":null,"serviceUrl":null,"documentationUrl":null,"environmentName":"Default-0d645e38-ec52-4a4f-ac58-65f2ac4015f6","xrmConnectorId":null,"almMode":"Environment","createdBy":"{\"id\":\"03043611-d01e-4e58-9fbe-1a18ecb861d8\",\"displayName\":\"MOD Administrator\",\"email\":\"admin@contoso.OnMicrosoft.com\",\"type\":\"User\",\"tenantId\":\"0d645e38-ec52-4a4f-ac58-65f2ac4015f6\",\"userPrincipalName\":\"admin@contoso.onmicrosoft.com\"}","modifiedBy":"{\"id\":\"03043611-d01e-4e58-9fbe-1a18ecb861d8\",\"displayName\":\"MOD Administrator\",\"email\":\"admin@contoso.OnMicrosoft.com\",\"type\":\"User\",\"tenantId\":\"0d645e38-ec52-4a4f-ac58-65f2ac4015f6\",\"userPrincipalName\":\"admin@contoso.onmicrosoft.com\"}","allowSharing":false},"capabilities":[],"description":"","apiDefinitions":{"originalSwaggerUrl":"https://paeu2weu8.blob.core.windows.net/api-swagger-files/my-20connector-5f0027f520b23e81c1-5f9888a90360086012.json_original?sv=2018-03-28&sr=b&sig=cOkjAecgpr6sSznMpDqiZitUOpVvVDJRCOZfe3VmReU%3D&se=2019-12-05T19%3A53%3A49Z&sp=r","modifiedSwaggerUrl":"https://paeu2weu8.blob.core.windows.net/api-swagger-files/my-20connector-5f0027f520b23e81c1-5f9888a90360086012.json?sv=2018-03-28&sr=b&sig=rkpKHP8K%2F2yNBIUQcVN%2B0ZPjnP9sECrM%2FfoZMG%2BJZX0%3D&se=2019-12-05T19%3A53%3A49Z&sp=r"},"createdBy":{"id":"03043611-d01e-4e58-9fbe-1a18ecb861d8","displayName":"MOD Administrator","email":"admin@contoso.OnMicrosoft.com","type":"User","tenantId":"0d645e38-ec52-4a4f-ac58-65f2ac4015f6","userPrincipalName":"admin@contoso.onmicrosoft.com"},"modifiedBy":{"id":"03043611-d01e-4e58-9fbe-1a18ecb861d8","displayName":"MOD Administrator","email":"admin@contoso.OnMicrosoft.com","type":"User","tenantId":"0d645e38-ec52-4a4f-ac58-65f2ac4015f6","userPrincipalName":"admin@contoso.onmicrosoft.com"},"createdTime":"2019-12-05T18:45:03.4615313Z","changedTime":"2019-12-05T18:45:03.4615313Z","environment":{"id":"/providers/Microsoft.PowerApps/environments/Default-0d645e38-ec52-4a4f-ac58-65f2ac4015f6","name":"Default-0d645e38-ec52-4a4f-ac58-65f2ac4015f6"},"tier":"Standard","publisher":"MOD Administrator","almMode":"Environment"}
|
|
141
|
+
```
|
|
@@ -141,4 +141,22 @@ m365 pa environment get --name Default-d87a7535-dd31-4437-bfe1-95340acd55c5
|
|
|
141
141
|
name,id,location,displayName,provisioningState,environmentSku,azureRegionHint,isDefault
|
|
142
142
|
Default-e1dd4030-a657-480a-8a0e-c1b1eec51e2e,/providers/Microsoft.PowerApps/environments/Default-e1dd4030-a657-480a-8a0e-c1b1eec51e2e,europe,environmentName (default),Succeeded,Default,westeurope,1
|
|
143
143
|
```
|
|
144
|
+
|
|
145
|
+
=== "Markdown"
|
|
144
146
|
|
|
147
|
+
```md
|
|
148
|
+
# pa environment get --name "Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d"
|
|
149
|
+
|
|
150
|
+
Date: 9/1/2023
|
|
151
|
+
|
|
152
|
+
## environmentName (default) (org6633050c) (/providers/Microsoft.PowerApps/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d)
|
|
153
|
+
|
|
154
|
+
Property | Value
|
|
155
|
+
---------|-------
|
|
156
|
+
id | /providers/Microsoft.PowerApps/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d
|
|
157
|
+
name | Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d
|
|
158
|
+
location | europe
|
|
159
|
+
type | Microsoft.PowerApps/environments
|
|
160
|
+
properties | {"azureRegionHint":"westeurope","displayName":"contoso (default) (org6633049a)","createdTime":"2020-03-12T13:39:17.9876946Z","createdBy":{"id":"SYSTEM","displayName":"SYSTEM","type":"NotSpecified"},"provisioningState":"Succeeded","creationType":"DefaultTenant","environmentSku":"Default","environmentType":"Production","isDefault":true,"runtimeEndpoints":{"microsoft.BusinessAppPlatform":"https://europe.api.bap.microsoft.com","microsoft.CommonDataModel":"https://europe.api.cds.microsoft.com","microsoft.PowerApps":"https://europe.api.powerapps.com","microsoft.PowerAppsAdvisor":"https://europe.api.advisor.powerapps.com","microsoft.PowerVirtualAgents":"https://powervamg.eu-il109.gateway.prod.island.powerapps.com","microsoft.ApiManagement":"https://management.EUROPE.azure-apihub.net","microsoft.Flow":"https://emea.api.flow.microsoft.com"},"linkedEnvironmentMetadata":{"type":"Dynamics365Instance","resourceId":"5041ef46-5a1c-4a0f-a185-6bb49b5c6686","friendlyName":"contoso (default)","uniqueName":"unq5041ef465a1c4a0fa1856bb49b5c6","domainName":"org6633049a","version":"9.2.22101.00168","instanceUrl":"https://org6633049a.crm4.dynamics.com/","instanceApiUrl":"https://org6633049a.api.crm4.dynamics.com","baseLanguage":1033,"instanceState":"Ready","createdTime":"2021-10-08T09:50:41.283Z","modifiedTime":"2022-10-29T14:04:14.0720726Z","hostNameSuffix":"crm4.dynamics.com","bapSolutionId":"00000001-0000-0000-0001-00000000009b","creationTemplates":["D365_CDS"],"webApiVersion":"v9.0","platformSku":"Standard"},"retentionPeriod":"P7D","lifecycleAuthority":"Environment","states":{"management":{"id":"NotSpecified"},"runtime":{"runtimeReasonCode":"NotSpecified","requestedBy":{"displayName":"SYSTEM","type":"NotSpecified"},"id":"Enabled"}},"updateCadence":{"id":"Frequent"},"connectedGroups":[],"protectionStatus":{"keyManagedBy":"Microsoft"},"trialScenarioType":"None","cluster":{"category":"Prod","number":"109","uriSuffix":"eu-il109.gateway.prod.island","geoShortName":"EU","environment":"Prod"},"governanceConfiguration":{"protectionLevel":"Basic"}}
|
|
161
|
+
displayName | contoso (default) (org6633049a)
|
|
162
|
+
```
|
|
@@ -133,3 +133,22 @@ m365 pa environment list
|
|
|
133
133
|
name,displayName
|
|
134
134
|
Default-e1dd4030-a657-480a-8a0e-c1b1eec51e2e,environmentName (default) (org6633050c)
|
|
135
135
|
```
|
|
136
|
+
|
|
137
|
+
=== "Markdown"
|
|
138
|
+
|
|
139
|
+
```md
|
|
140
|
+
# pa environment list
|
|
141
|
+
|
|
142
|
+
Date: 9/1/2023
|
|
143
|
+
|
|
144
|
+
## environmentName (default) (org6633050c) (/providers/Microsoft.PowerApps/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d)
|
|
145
|
+
|
|
146
|
+
Property | Value
|
|
147
|
+
---------|-------
|
|
148
|
+
id | /providers/Microsoft.PowerApps/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d
|
|
149
|
+
name | Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d
|
|
150
|
+
location | europe
|
|
151
|
+
type | Microsoft.PowerApps/environments
|
|
152
|
+
properties | {"azureRegionHint":"westeurope","displayName":"contoso (default) (org6633049a)","createdTime":"2020-03-12T13:39:17.9876946Z","createdBy":{"id":"SYSTEM","displayName":"SYSTEM","type":"NotSpecified"},"provisioningState":"Succeeded","creationType":"DefaultTenant","environmentSku":"Default","environmentType":"Production","isDefault":true,"runtimeEndpoints":{"microsoft.BusinessAppPlatform":"https://europe.api.bap.microsoft.com","microsoft.CommonDataModel":"https://europe.api.cds.microsoft.com","microsoft.PowerApps":"https://europe.api.powerapps.com","microsoft.PowerAppsAdvisor":"https://europe.api.advisor.powerapps.com","microsoft.PowerVirtualAgents":"https://powervamg.eu-il109.gateway.prod.island.powerapps.com","microsoft.ApiManagement":"https://management.EUROPE.azure-apihub.net","microsoft.Flow":"https://emea.api.flow.microsoft.com"},"linkedEnvironmentMetadata":{"type":"Dynamics365Instance","resourceId":"5041ef46-5a1c-4a0f-a185-6bb49b5c6686","friendlyName":"contoso (default)","uniqueName":"unq5041ef465a1c4a0fa1856bb49b5c6","domainName":"org6633049a","version":"9.2.22101.00168","instanceUrl":"https://org6633049a.crm4.dynamics.com/","instanceApiUrl":"https://org6633049a.api.crm4.dynamics.com","baseLanguage":1033,"instanceState":"Ready","createdTime":"2021-10-08T09:50:41.283Z","modifiedTime":"2022-10-29T14:04:14.0720726Z","hostNameSuffix":"crm4.dynamics.com","bapSolutionId":"00000001-0000-0000-0001-00000000009b","creationTemplates":["D365_CDS"],"webApiVersion":"v9.0","platformSku":"Standard"},"retentionPeriod":"P7D","lifecycleAuthority":"Environment","states":{"management":{"id":"NotSpecified"},"runtime":{"runtimeReasonCode":"NotSpecified","requestedBy":{"displayName":"SYSTEM","type":"NotSpecified"},"id":"Enabled"}},"updateCadence":{"id":"Frequent"},"connectedGroups":[],"protectionStatus":{"keyManagedBy":"Microsoft"},"trialScenarioType":"None","cluster":{"category":"Prod","number":"109","uriSuffix":"eu-il109.gateway.prod.island","geoShortName":"EU","environment":"Prod"},"governanceConfiguration":{"protectionLevel":"Basic"}}
|
|
153
|
+
displayName | contoso (default) (org6633049a)
|
|
154
|
+
```
|