@pnp/cli-microsoft365 9.1.0 → 10.0.0-beta.0b765ef
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/cli/cli.js +1 -1
- package/dist/m365/app/commands/permission/permission-add.js +9 -9
- package/dist/m365/cli/commands/cli-consent.js +3 -7
- package/dist/m365/cli/commands/cli-doctor.js +2 -2
- package/dist/m365/cli/commands/config/config-set.js +0 -1
- package/dist/m365/cli/commands.js +1 -2
- package/dist/m365/commands/setupPresets.js +2 -4
- package/dist/m365/commands/status.js +2 -2
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-add.js +13 -13
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-get.js +18 -18
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-list.js +1 -1
- package/dist/m365/entra/commands/group/{group-user-add.js → group-member-add.js} +18 -18
- package/dist/m365/entra/commands/group/{group-user-list.js → group-member-list.js} +21 -21
- package/dist/m365/entra/commands/group/{group-user-set.js → group-member-set.js} +19 -19
- package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +4 -4
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-list.js +3 -3
- package/dist/m365/entra/commands/m365group/m365group-set.js +24 -16
- package/dist/m365/entra/commands/m365group/m365group-user-add.js +5 -12
- package/dist/m365/entra/commands/m365group/m365group-user-list.js +6 -9
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-list.js +3 -12
- package/dist/m365/entra/commands.js +3 -3
- package/dist/m365/flow/commands/environment/environment-list.js +1 -1
- package/dist/m365/outlook/commands/message/message-get.js +11 -11
- package/dist/m365/pa/commands/app/app-list.js +1 -6
- package/dist/m365/pa/commands/connector/connector-list.js +1 -6
- package/dist/m365/pa/commands/environment/environment-list.js +1 -1
- package/dist/m365/pp/commands/environment/environment-list.js +1 -1
- package/dist/m365/spfx/commands/project/DeployWorkflow.js +1 -1
- package/dist/m365/spfx/commands/project/project-github-workflow-add.js +1 -10
- package/dist/m365/spo/commands/app/app-instance-list.js +3 -18
- package/dist/m365/spo/commands/app/app-list.js +1 -8
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-get.js +0 -1
- package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +8 -8
- package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +2 -2
- package/dist/m365/spo/commands/feature/feature-list.js +1 -8
- package/dist/m365/spo/commands/file/file-copy.js +59 -34
- package/dist/m365/spo/commands/file/file-move.js +55 -33
- package/dist/m365/spo/commands/folder/folder-set.js +0 -4
- package/dist/m365/spo/commands/list/list-list.js +1 -4
- package/dist/m365/spo/commands/list/list-webhook-list.js +1 -6
- package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +1 -8
- package/dist/m365/spo/commands/page/page-list.js +1 -1
- package/dist/m365/spo/commands/page/page-template-list.js +1 -3
- package/dist/m365/spo/commands/site/site-appcatalog-remove.js +48 -24
- package/dist/m365/spo/commands/site/site-remove.js +1 -7
- package/dist/m365/spo/commands/sitescript/sitescript-get.js +3 -2
- package/dist/m365/spo/commands/sitescript/sitescript-list.js +1 -3
- package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +2 -22
- package/dist/m365/spo/commands/{site/site-rename.js → tenant/tenant-site-rename.js} +29 -32
- package/dist/m365/spo/commands/theme/theme-list.js +1 -1
- package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +1 -6
- package/dist/m365/spo/commands.js +1 -2
- package/dist/m365/teams/commands/tab/tab-list.js +5 -3
- package/dist/m365/viva/commands/engage/engage-group-list.js +0 -5
- package/dist/m365/viva/commands/engage/engage-group-user-add.js +0 -5
- package/dist/m365/viva/commands/engage/engage-group-user-remove.js +0 -5
- package/dist/m365/viva/commands/engage/engage-message-add.js +0 -5
- package/dist/m365/viva/commands/engage/engage-message-get.js +0 -5
- package/dist/m365/viva/commands/engage/engage-message-like-set.js +0 -5
- package/dist/m365/viva/commands/engage/engage-message-list.js +0 -5
- package/dist/m365/viva/commands/engage/engage-message-remove.js +0 -5
- package/dist/m365/viva/commands/engage/engage-network-list.js +0 -5
- package/dist/m365/viva/commands/engage/engage-report-activitycounts.js +0 -8
- package/dist/m365/viva/commands/engage/engage-report-activityusercounts.js +0 -8
- package/dist/m365/viva/commands/engage/engage-report-activityuserdetail.js +0 -8
- package/dist/m365/viva/commands/engage/engage-report-deviceusagedistributionusercounts.js +0 -8
- package/dist/m365/viva/commands/engage/engage-report-deviceusageusercounts.js +0 -8
- package/dist/m365/viva/commands/engage/engage-report-deviceusageuserdetail.js +0 -8
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitycounts.js +0 -8
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitydetail.js +0 -8
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitygroupcounts.js +0 -8
- package/dist/m365/viva/commands/engage/engage-search.js +0 -5
- package/dist/m365/viva/commands/engage/engage-user-get.js +0 -5
- package/dist/m365/viva/commands/engage/engage-user-list.js +0 -5
- package/dist/settingsNames.js +0 -1
- package/dist/utils/spo.js +76 -0
- package/docs/docs/_clisettings.mdx +0 -1
- package/docs/docs/cmd/app/permission/permission-add.mdx +5 -5
- package/docs/docs/cmd/cli/cli-consent.mdx +1 -1
- package/docs/docs/cmd/cli/cli-doctor.mdx +24 -23
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-add.mdx +12 -12
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-get.mdx +14 -14
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-list.mdx +5 -5
- package/docs/docs/cmd/entra/group/group-member-add.mdx +62 -0
- package/docs/docs/cmd/entra/group/{group-user-list.mdx → group-member-list.mdx} +17 -17
- package/docs/docs/cmd/entra/group/group-member-set.mdx +62 -0
- package/docs/docs/cmd/entra/m365group/m365group-conversation-post-list.mdx +5 -5
- package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-list.mdx +3 -3
- package/docs/docs/cmd/entra/m365group/m365group-set.mdx +9 -6
- package/docs/docs/cmd/entra/m365group/m365group-user-add.mdx +0 -3
- package/docs/docs/cmd/entra/m365group/m365group-user-list.mdx +1 -1
- package/docs/docs/cmd/outlook/message/message-get.mdx +5 -5
- package/docs/docs/cmd/setup.mdx +1 -3
- package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +11 -12
- package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-get.mdx +6 -5
- package/docs/docs/cmd/spo/contenttype/contenttype-field-remove.mdx +7 -7
- package/docs/docs/cmd/spo/contenttype/contenttype-field-set.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-copy.mdx +119 -12
- package/docs/docs/cmd/spo/file/file-move.mdx +116 -9
- package/docs/docs/cmd/spo/folder/folder-set.mdx +0 -6
- package/docs/docs/cmd/spo/list/list-list.mdx +5 -7
- package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +11 -2
- package/docs/docs/cmd/spo/site/site-remove.mdx +0 -3
- package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +14 -1
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.mdx +2 -49
- package/docs/docs/cmd/spo/{site/site-rename.mdx → tenant/tenant-site-rename.mdx} +7 -7
- package/docs/docs/cmd/teams/tab/tab-list.mdx +1 -2
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
- package/dist/m365/cli/commands/cli-reconsent.js +0 -29
- package/dist/m365/viva/commands/engage/yammerCommands.js +0 -25
- package/docs/docs/cmd/cli/cli-reconsent.mdx +0 -62
- package/docs/docs/cmd/entra/group/group-user-add.mdx +0 -62
- package/docs/docs/cmd/entra/group/group-user-set.mdx +0 -62
|
@@ -32,7 +32,7 @@ class EntraM365GroupRecycleBinItemListCommand extends GraphCommand {
|
|
|
32
32
|
await this.showDeprecationWarning(logger, aadCommands.M365GROUP_RECYCLEBINITEM_LIST, commands.M365GROUP_RECYCLEBINITEM_LIST);
|
|
33
33
|
try {
|
|
34
34
|
const filter = `?$filter=groupTypes/any(c:c+eq+'Unified')`;
|
|
35
|
-
const displayNameFilter = args.options.
|
|
35
|
+
const displayNameFilter = args.options.groupName ? ` and startswith(DisplayName,'${formatting.encodeQueryParameter(args.options.groupName).replace(/'/g, `''`)}')` : '';
|
|
36
36
|
const mailNicknameFilter = args.options.groupMailNickname ? ` and startswith(MailNickname,'${formatting.encodeQueryParameter(args.options.groupMailNickname).replace(/'/g, `''`)}')` : '';
|
|
37
37
|
const topCount = '&$top=100';
|
|
38
38
|
const endpoint = `${this.resource}/v1.0/directory/deletedItems/Microsoft.Graph.Group${filter}${displayNameFilter}${mailNicknameFilter}${topCount}`;
|
|
@@ -47,13 +47,13 @@ class EntraM365GroupRecycleBinItemListCommand extends GraphCommand {
|
|
|
47
47
|
_EntraM365GroupRecycleBinItemListCommand_instances = new WeakSet(), _EntraM365GroupRecycleBinItemListCommand_initTelemetry = function _EntraM365GroupRecycleBinItemListCommand_initTelemetry() {
|
|
48
48
|
this.telemetry.push((args) => {
|
|
49
49
|
Object.assign(this.telemetryProperties, {
|
|
50
|
-
|
|
50
|
+
groupName: typeof args.options.groupName !== 'undefined',
|
|
51
51
|
groupMailNickname: typeof args.options.groupMailNickname !== 'undefined'
|
|
52
52
|
});
|
|
53
53
|
});
|
|
54
54
|
}, _EntraM365GroupRecycleBinItemListCommand_initOptions = function _EntraM365GroupRecycleBinItemListCommand_initOptions() {
|
|
55
55
|
this.options.unshift({
|
|
56
|
-
option: '-d, --
|
|
56
|
+
option: '-d, --groupName [groupName]'
|
|
57
57
|
}, {
|
|
58
58
|
option: '-m, --groupMailNickname [groupMailNickname]'
|
|
59
59
|
});
|
|
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
3
3
|
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");
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
|
-
var _EntraM365GroupSetCommand_instances, _EntraM365GroupSetCommand_initTelemetry, _EntraM365GroupSetCommand_initOptions, _EntraM365GroupSetCommand_initTypes, _EntraM365GroupSetCommand_initValidators;
|
|
6
|
+
var _EntraM365GroupSetCommand_instances, _EntraM365GroupSetCommand_initTelemetry, _EntraM365GroupSetCommand_initOptions, _EntraM365GroupSetCommand_initOptionSets, _EntraM365GroupSetCommand_initTypes, _EntraM365GroupSetCommand_initValidators;
|
|
7
7
|
import { setTimeout } from 'timers/promises';
|
|
8
8
|
import fs from 'fs';
|
|
9
9
|
import path from 'path';
|
|
@@ -31,8 +31,9 @@ class EntraM365GroupSetCommand extends GraphCommand {
|
|
|
31
31
|
this.pollingInterval = 500;
|
|
32
32
|
__classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initTelemetry).call(this);
|
|
33
33
|
__classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initOptions).call(this);
|
|
34
|
-
__classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initTypes).call(this);
|
|
35
34
|
__classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initValidators).call(this);
|
|
35
|
+
__classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initOptionSets).call(this);
|
|
36
|
+
__classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initTypes).call(this);
|
|
36
37
|
}
|
|
37
38
|
async commandAction(logger, args) {
|
|
38
39
|
await this.showDeprecationWarning(logger, aadCommands.M365GROUP_SET, commands.M365GROUP_SET);
|
|
@@ -40,23 +41,24 @@ class EntraM365GroupSetCommand extends GraphCommand {
|
|
|
40
41
|
if ((args.options.allowExternalSenders !== undefined || args.options.autoSubscribeNewMembers !== undefined) && accessToken.isAppOnlyAccessToken(auth.connection.accessTokens[auth.defaultResource].accessToken)) {
|
|
41
42
|
throw `Option 'allowExternalSenders' and 'autoSubscribeNewMembers' can only be used when using delegated permissions.`;
|
|
42
43
|
}
|
|
43
|
-
const
|
|
44
|
+
const groupId = args.options.id || await entraGroup.getGroupIdByDisplayName(args.options.displayName);
|
|
45
|
+
const isUnifiedGroup = await entraGroup.isUnifiedGroup(groupId);
|
|
44
46
|
if (!isUnifiedGroup) {
|
|
45
|
-
throw Error(`Specified group with id '${
|
|
47
|
+
throw Error(`Specified group with id '${groupId}' is not a Microsoft 365 group.`);
|
|
46
48
|
}
|
|
47
49
|
if (this.verbose) {
|
|
48
|
-
await logger.logToStderr(`Updating Microsoft 365 Group ${args.options.id}...`);
|
|
50
|
+
await logger.logToStderr(`Updating Microsoft 365 Group ${args.options.id || args.options.displayName}...`);
|
|
49
51
|
}
|
|
50
|
-
if (args.options.
|
|
52
|
+
if (args.options.newDisplayName || args.options.description !== undefined || args.options.isPrivate !== undefined) {
|
|
51
53
|
const update = {
|
|
52
|
-
displayName: args.options.
|
|
54
|
+
displayName: args.options.newDisplayName,
|
|
53
55
|
description: args.options.description !== '' ? args.options.description : null
|
|
54
56
|
};
|
|
55
57
|
if (args.options.isPrivate !== undefined) {
|
|
56
58
|
update.visibility = args.options.isPrivate ? 'Private' : 'Public';
|
|
57
59
|
}
|
|
58
60
|
const requestOptions = {
|
|
59
|
-
url: `${this.resource}/v1.0/groups/${
|
|
61
|
+
url: `${this.resource}/v1.0/groups/${groupId}`,
|
|
60
62
|
headers: {
|
|
61
63
|
'accept': 'application/json;odata.metadata=none'
|
|
62
64
|
},
|
|
@@ -74,7 +76,7 @@ class EntraM365GroupSetCommand extends GraphCommand {
|
|
|
74
76
|
hideFromOutlookClients: args.options.hideFromOutlookClients
|
|
75
77
|
};
|
|
76
78
|
const requestOptions = {
|
|
77
|
-
url: `${this.resource}/v1.0/groups/${
|
|
79
|
+
url: `${this.resource}/v1.0/groups/${groupId}`,
|
|
78
80
|
headers: {
|
|
79
81
|
accept: 'application/json;odata.metadata=none'
|
|
80
82
|
},
|
|
@@ -89,7 +91,7 @@ class EntraM365GroupSetCommand extends GraphCommand {
|
|
|
89
91
|
await logger.logToStderr(`Setting group logo ${fullPath}...`);
|
|
90
92
|
}
|
|
91
93
|
const requestOptions = {
|
|
92
|
-
url: `${this.resource}/v1.0/groups/${
|
|
94
|
+
url: `${this.resource}/v1.0/groups/${groupId}/photo/$value`,
|
|
93
95
|
headers: {
|
|
94
96
|
'content-type': this.getImageContentType(fullPath)
|
|
95
97
|
},
|
|
@@ -114,7 +116,7 @@ class EntraM365GroupSetCommand extends GraphCommand {
|
|
|
114
116
|
};
|
|
115
117
|
const res = await request.get(requestOptions);
|
|
116
118
|
await Promise.all(res.value.map(u => request.post({
|
|
117
|
-
url: `${this.resource}/v1.0/groups/${
|
|
119
|
+
url: `${this.resource}/v1.0/groups/${groupId}/owners/$ref`,
|
|
118
120
|
headers: {
|
|
119
121
|
'content-type': 'application/json'
|
|
120
122
|
},
|
|
@@ -141,7 +143,7 @@ class EntraM365GroupSetCommand extends GraphCommand {
|
|
|
141
143
|
};
|
|
142
144
|
const res = await request.get(requestOptions);
|
|
143
145
|
await Promise.all(res.value.map(u => request.post({
|
|
144
|
-
url: `${this.resource}/v1.0/groups/${
|
|
146
|
+
url: `${this.resource}/v1.0/groups/${groupId}/members/$ref`,
|
|
145
147
|
headers: {
|
|
146
148
|
'content-type': 'application/json'
|
|
147
149
|
},
|
|
@@ -188,7 +190,9 @@ class EntraM365GroupSetCommand extends GraphCommand {
|
|
|
188
190
|
_EntraM365GroupSetCommand_instances = new WeakSet(), _EntraM365GroupSetCommand_initTelemetry = function _EntraM365GroupSetCommand_initTelemetry() {
|
|
189
191
|
this.telemetry.push((args) => {
|
|
190
192
|
Object.assign(this.telemetryProperties, {
|
|
193
|
+
id: typeof args.options.id !== 'undefined',
|
|
191
194
|
displayName: typeof args.options.displayName !== 'undefined',
|
|
195
|
+
newDisplayName: typeof args.options.newDisplayName !== 'undefined',
|
|
192
196
|
description: typeof args.options.description !== 'undefined',
|
|
193
197
|
owners: typeof args.options.owners !== 'undefined',
|
|
194
198
|
members: typeof args.options.members !== 'undefined',
|
|
@@ -202,9 +206,11 @@ _EntraM365GroupSetCommand_instances = new WeakSet(), _EntraM365GroupSetCommand_i
|
|
|
202
206
|
});
|
|
203
207
|
}, _EntraM365GroupSetCommand_initOptions = function _EntraM365GroupSetCommand_initOptions() {
|
|
204
208
|
this.options.unshift({
|
|
205
|
-
option: '-i, --id
|
|
209
|
+
option: '-i, --id [id]'
|
|
206
210
|
}, {
|
|
207
211
|
option: '-n, --displayName [displayName]'
|
|
212
|
+
}, {
|
|
213
|
+
option: '--newDisplayName [newDisplayName]'
|
|
208
214
|
}, {
|
|
209
215
|
option: '-d, --description [description]'
|
|
210
216
|
}, {
|
|
@@ -229,12 +235,14 @@ _EntraM365GroupSetCommand_instances = new WeakSet(), _EntraM365GroupSetCommand_i
|
|
|
229
235
|
option: '--hideFromOutlookClients [hideFromOutlookClients]',
|
|
230
236
|
autocomplete: ['true', 'false']
|
|
231
237
|
});
|
|
238
|
+
}, _EntraM365GroupSetCommand_initOptionSets = function _EntraM365GroupSetCommand_initOptionSets() {
|
|
239
|
+
this.optionSets.push({ options: ['id', 'displayName'] });
|
|
232
240
|
}, _EntraM365GroupSetCommand_initTypes = function _EntraM365GroupSetCommand_initTypes() {
|
|
233
241
|
this.types.boolean.push('isPrivate', 'allowEternalSenders', 'autoSubscribeNewMembers', 'hideFromAddressLists', 'hideFromOutlookClients');
|
|
234
|
-
this.types.string.push('id', 'displayName', 'description', 'owners', 'members', 'logoPath');
|
|
242
|
+
this.types.string.push('id', 'displayName', 'newDisplayName', 'description', 'owners', 'members', 'logoPath');
|
|
235
243
|
}, _EntraM365GroupSetCommand_initValidators = function _EntraM365GroupSetCommand_initValidators() {
|
|
236
244
|
this.validators.push(async (args) => {
|
|
237
|
-
if (!args.options.
|
|
245
|
+
if (!args.options.newDisplayName &&
|
|
238
246
|
args.options.description === undefined &&
|
|
239
247
|
!args.options.members &&
|
|
240
248
|
!args.options.owners &&
|
|
@@ -246,7 +254,7 @@ _EntraM365GroupSetCommand_instances = new WeakSet(), _EntraM365GroupSetCommand_i
|
|
|
246
254
|
args.options.hideFromOutlookClients === undefined) {
|
|
247
255
|
return 'Specify at least one option to update.';
|
|
248
256
|
}
|
|
249
|
-
if (!validation.isValidGuid(args.options.id)) {
|
|
257
|
+
if (args.options.id && !validation.isValidGuid(args.options.id)) {
|
|
250
258
|
return `${args.options.id} is not a valid GUID`;
|
|
251
259
|
}
|
|
252
260
|
if (args.options.owners) {
|
|
@@ -35,19 +35,15 @@ class EntraM365GroupUserAddCommand extends GraphCommand {
|
|
|
35
35
|
}
|
|
36
36
|
async commandAction(logger, args) {
|
|
37
37
|
await this.showDeprecationWarning(logger, aadCommands.M365GROUP_USER_ADD, commands.M365GROUP_USER_ADD);
|
|
38
|
-
if (args.options.userName) {
|
|
39
|
-
await this.warn(logger, `Option 'userName' is deprecated. Please use 'ids' or 'userNames' instead.`);
|
|
40
|
-
}
|
|
41
38
|
try {
|
|
42
|
-
const userNames = args.options.userNames || args.options.userName;
|
|
43
39
|
const providedGroupId = await this.getGroupId(logger, args);
|
|
44
40
|
const isUnifiedGroup = await entraGroup.isUnifiedGroup(providedGroupId);
|
|
45
41
|
if (!isUnifiedGroup) {
|
|
46
42
|
throw Error(`Specified group with id '${providedGroupId}' is not a Microsoft 365 group.`);
|
|
47
43
|
}
|
|
48
|
-
const userIds = await this.getUserIds(logger, args.options.ids, userNames);
|
|
44
|
+
const userIds = await this.getUserIds(logger, args.options.ids, args.options.userNames);
|
|
49
45
|
if (this.verbose) {
|
|
50
|
-
await logger.logToStderr(`Adding user(s) ${args.options.ids || userNames} to group ${args.options.groupId || args.options.groupName || args.options.teamId || args.options.teamName}...`);
|
|
46
|
+
await logger.logToStderr(`Adding user(s) ${args.options.ids || args.options.userNames} to group ${args.options.groupId || args.options.groupName || args.options.teamId || args.options.teamName}...`);
|
|
51
47
|
}
|
|
52
48
|
await this.addUsers(providedGroupId, userIds, args.options.role);
|
|
53
49
|
}
|
|
@@ -122,14 +118,11 @@ _EntraM365GroupUserAddCommand_instances = new WeakSet(), _EntraM365GroupUserAddC
|
|
|
122
118
|
teamName: typeof args.options.teamName !== 'undefined',
|
|
123
119
|
groupName: typeof args.options.groupName !== 'undefined',
|
|
124
120
|
ids: typeof args.options.ids !== 'undefined',
|
|
125
|
-
userNames: typeof args.options.userNames !== 'undefined'
|
|
126
|
-
userName: typeof args.options.userName !== 'undefined'
|
|
121
|
+
userNames: typeof args.options.userNames !== 'undefined'
|
|
127
122
|
});
|
|
128
123
|
});
|
|
129
124
|
}, _EntraM365GroupUserAddCommand_initOptions = function _EntraM365GroupUserAddCommand_initOptions() {
|
|
130
125
|
this.options.unshift({
|
|
131
|
-
option: '-n, --userName [userName]'
|
|
132
|
-
}, {
|
|
133
126
|
option: '--ids [ids]'
|
|
134
127
|
}, {
|
|
135
128
|
option: '--userNames [userNames]'
|
|
@@ -172,9 +165,9 @@ _EntraM365GroupUserAddCommand_instances = new WeakSet(), _EntraM365GroupUserAddC
|
|
|
172
165
|
});
|
|
173
166
|
}, _EntraM365GroupUserAddCommand_initOptionSets = function _EntraM365GroupUserAddCommand_initOptionSets() {
|
|
174
167
|
this.optionSets.push({ options: ['groupId', 'groupName', 'teamId', 'teamName'] });
|
|
175
|
-
this.optionSets.push({ options: ['
|
|
168
|
+
this.optionSets.push({ options: ['ids', 'userNames'] });
|
|
176
169
|
}, _EntraM365GroupUserAddCommand_initTypes = function _EntraM365GroupUserAddCommand_initTypes() {
|
|
177
|
-
this.types.string.push('
|
|
170
|
+
this.types.string.push('ids', 'userNames', 'groupId', 'groupName', 'teamId', 'teamName', 'role');
|
|
178
171
|
};
|
|
179
172
|
export default new EntraM365GroupUserAddCommand();
|
|
180
173
|
//# sourceMappingURL=m365group-user-add.js.map
|
|
@@ -31,9 +31,6 @@ class EntraM365GroupUserListCommand extends GraphCommand {
|
|
|
31
31
|
async commandAction(logger, args) {
|
|
32
32
|
await this.showDeprecationWarning(logger, aadCommands.M365GROUP_USER_LIST, commands.M365GROUP_USER_LIST);
|
|
33
33
|
try {
|
|
34
|
-
if (args.options.role === 'Guest') {
|
|
35
|
-
await this.warn(logger, `Value 'Guest' for the option role is deprecated. Use --filter "userType eq 'Guest'" instead.`);
|
|
36
|
-
}
|
|
37
34
|
const groupId = await this.getGroupId(args.options, logger);
|
|
38
35
|
const isUnifiedGroup = await entraGroup.isUnifiedGroup(groupId);
|
|
39
36
|
if (!isUnifiedGroup) {
|
|
@@ -42,9 +39,9 @@ class EntraM365GroupUserListCommand extends GraphCommand {
|
|
|
42
39
|
let users = [];
|
|
43
40
|
if (!args.options.role || args.options.role === 'Owner') {
|
|
44
41
|
const owners = await this.getUsers(args.options, 'Owners', groupId, logger);
|
|
45
|
-
owners.forEach(owner => users.push({ ...owner, roles: ['Owner']
|
|
42
|
+
owners.forEach(owner => users.push({ ...owner, roles: ['Owner'] }));
|
|
46
43
|
}
|
|
47
|
-
if (!args.options.role || args.options.role === 'Member'
|
|
44
|
+
if (!args.options.role || args.options.role === 'Member') {
|
|
48
45
|
const members = await this.getUsers(args.options, 'Members', groupId, logger);
|
|
49
46
|
members.forEach((member) => {
|
|
50
47
|
const user = users.find((u) => u.id === member.id);
|
|
@@ -57,7 +54,7 @@ class EntraM365GroupUserListCommand extends GraphCommand {
|
|
|
57
54
|
});
|
|
58
55
|
}
|
|
59
56
|
if (args.options.role) {
|
|
60
|
-
users = users.filter(i => i.
|
|
57
|
+
users = users.filter(i => i.roles.indexOf(args.options.role) > -1);
|
|
61
58
|
}
|
|
62
59
|
await logger.log(users);
|
|
63
60
|
}
|
|
@@ -128,7 +125,7 @@ _EntraM365GroupUserListCommand_instances = new WeakSet(), _EntraM365GroupUserLis
|
|
|
128
125
|
option: "-n, --groupDisplayName [groupDisplayName]"
|
|
129
126
|
}, {
|
|
130
127
|
option: "-r, --role [type]",
|
|
131
|
-
autocomplete: ["Owner", "Member"
|
|
128
|
+
autocomplete: ["Owner", "Member"]
|
|
132
129
|
}, {
|
|
133
130
|
option: "-p, --properties [properties]"
|
|
134
131
|
}, {
|
|
@@ -144,8 +141,8 @@ _EntraM365GroupUserListCommand_instances = new WeakSet(), _EntraM365GroupUserLis
|
|
|
144
141
|
return `${args.options.groupId} is not a valid GUID`;
|
|
145
142
|
}
|
|
146
143
|
if (args.options.role) {
|
|
147
|
-
if (['Owner', 'Member'
|
|
148
|
-
return `${args.options.role} is not a valid role value. Allowed values Owner|Member
|
|
144
|
+
if (['Owner', 'Member'].indexOf(args.options.role) === -1) {
|
|
145
|
+
return `${args.options.role} is not a valid role value. Allowed values Owner|Member`;
|
|
149
146
|
}
|
|
150
147
|
}
|
|
151
148
|
return true;
|
|
@@ -4,8 +4,8 @@ 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 _EntraOAuth2GrantListCommand_instances, _EntraOAuth2GrantListCommand_initOptions, _EntraOAuth2GrantListCommand_initValidators;
|
|
7
|
-
import request from '../../../../request.js';
|
|
8
7
|
import { formatting } from '../../../../utils/formatting.js';
|
|
8
|
+
import { odata } from '../../../../utils/odata.js';
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
10
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
11
11
|
import aadCommands from '../../aadCommands.js';
|
|
@@ -35,17 +35,8 @@ class EntraOAuth2GrantListCommand extends GraphCommand {
|
|
|
35
35
|
await logger.logToStderr(`Retrieving list of OAuth grants for the service principal...`);
|
|
36
36
|
}
|
|
37
37
|
try {
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
headers: {
|
|
41
|
-
accept: 'application/json;odata.metadata=none'
|
|
42
|
-
},
|
|
43
|
-
responseType: 'json'
|
|
44
|
-
};
|
|
45
|
-
const res = await request.get(requestOptions);
|
|
46
|
-
if (res.value && res.value.length > 0) {
|
|
47
|
-
await logger.log(res.value);
|
|
48
|
-
}
|
|
38
|
+
const res = await odata.getAllItems(`${this.resource}/v1.0/oauth2PermissionGrants?$filter=clientId eq '${formatting.encodeQueryParameter(args.options.spObjectId)}'`);
|
|
39
|
+
await logger.log(res);
|
|
49
40
|
}
|
|
50
41
|
catch (err) {
|
|
51
42
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -41,9 +41,9 @@ export default {
|
|
|
41
41
|
GROUP_LIST: `${prefix} group list`,
|
|
42
42
|
GROUP_REMOVE: `${prefix} group remove`,
|
|
43
43
|
GROUP_SET: `${prefix} group set`,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
GROUP_MEMBER_ADD: `${prefix} group member add`,
|
|
45
|
+
GROUP_MEMBER_LIST: `${prefix} group member list`,
|
|
46
|
+
GROUP_MEMBER_SET: `${prefix} group member set`,
|
|
47
47
|
GROUPSETTING_ADD: `${prefix} groupsetting add`,
|
|
48
48
|
GROUPSETTING_GET: `${prefix} groupsetting get`,
|
|
49
49
|
GROUPSETTING_LIST: `${prefix} groupsetting list`,
|
|
@@ -30,20 +30,20 @@ class OutlookMessageGetCommand extends GraphCommand {
|
|
|
30
30
|
}
|
|
31
31
|
let requestUrl = '';
|
|
32
32
|
if (isAppOnlyAccessToken) {
|
|
33
|
-
if (!args.options.userId && !args.options.
|
|
34
|
-
throw `The option 'userId' or '
|
|
33
|
+
if (!args.options.userId && !args.options.userName) {
|
|
34
|
+
throw `The option 'userId' or 'userName' is required when retrieving an email using app only credentials`;
|
|
35
35
|
}
|
|
36
|
-
if (args.options.userId && args.options.
|
|
37
|
-
throw `Both options 'userId' and '
|
|
36
|
+
if (args.options.userId && args.options.userName) {
|
|
37
|
+
throw `Both options 'userId' and 'userName' cannot be set when retrieving an email using app only credentials`;
|
|
38
38
|
}
|
|
39
|
-
requestUrl += `users/${args.options.userId ? args.options.userId : args.options.
|
|
39
|
+
requestUrl += `users/${args.options.userId ? args.options.userId : args.options.userName}`;
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
|
-
if (args.options.userId && args.options.
|
|
43
|
-
throw `Both options 'userId' and '
|
|
42
|
+
if (args.options.userId && args.options.userName) {
|
|
43
|
+
throw `Both options 'userId' and 'userName' cannot be set when retrieving an email using delegated credentials`;
|
|
44
44
|
}
|
|
45
|
-
if (args.options.userId || args.options.
|
|
46
|
-
requestUrl += `users/${args.options.userId ? args.options.userId : args.options.
|
|
45
|
+
if (args.options.userId || args.options.userName) {
|
|
46
|
+
requestUrl += `users/${args.options.userId ? args.options.userId : args.options.userName}`;
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
49
|
requestUrl += 'me';
|
|
@@ -69,7 +69,7 @@ _OutlookMessageGetCommand_instances = new WeakSet(), _OutlookMessageGetCommand_i
|
|
|
69
69
|
this.telemetry.push((args) => {
|
|
70
70
|
Object.assign(this.telemetryProperties, {
|
|
71
71
|
userId: typeof args.options.userId !== 'undefined',
|
|
72
|
-
|
|
72
|
+
userName: typeof args.options.userName !== 'undefined'
|
|
73
73
|
});
|
|
74
74
|
});
|
|
75
75
|
}, _OutlookMessageGetCommand_initOptions = function _OutlookMessageGetCommand_initOptions() {
|
|
@@ -78,7 +78,7 @@ _OutlookMessageGetCommand_instances = new WeakSet(), _OutlookMessageGetCommand_i
|
|
|
78
78
|
}, {
|
|
79
79
|
option: '--userId [userId]'
|
|
80
80
|
}, {
|
|
81
|
-
option: '--
|
|
81
|
+
option: '--userName [userName]'
|
|
82
82
|
});
|
|
83
83
|
};
|
|
84
84
|
export default new OutlookMessageGetCommand();
|
|
@@ -33,13 +33,8 @@ class PaAppListCommand extends PowerAppsCommand {
|
|
|
33
33
|
apps.forEach(a => {
|
|
34
34
|
a.displayName = a.properties.displayName;
|
|
35
35
|
});
|
|
36
|
-
await logger.log(apps);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
if (this.verbose) {
|
|
40
|
-
await logger.logToStderr('No apps found');
|
|
41
|
-
}
|
|
42
36
|
}
|
|
37
|
+
await logger.log(apps);
|
|
43
38
|
}
|
|
44
39
|
catch (err) {
|
|
45
40
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -35,13 +35,8 @@ class PaConnectorListCommand extends PowerAppsCommand {
|
|
|
35
35
|
connectors.forEach(c => {
|
|
36
36
|
c.displayName = c.properties.displayName;
|
|
37
37
|
});
|
|
38
|
-
await logger.log(connectors);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
if (this.verbose) {
|
|
42
|
-
await logger.logToStderr('No custom connectors found');
|
|
43
|
-
}
|
|
44
38
|
}
|
|
39
|
+
await logger.log(connectors);
|
|
45
40
|
}
|
|
46
41
|
catch (err) {
|
|
47
42
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -28,8 +28,8 @@ class PaEnvironmentListCommand extends PowerAppsCommand {
|
|
|
28
28
|
res.value.forEach(e => {
|
|
29
29
|
e.displayName = e.properties.displayName;
|
|
30
30
|
});
|
|
31
|
-
await logger.log(res.value);
|
|
32
31
|
}
|
|
32
|
+
await logger.log(res.value);
|
|
33
33
|
}
|
|
34
34
|
catch (err) {
|
|
35
35
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -47,8 +47,8 @@ class PpEnvironmentListCommand extends PowerPlatformCommand {
|
|
|
47
47
|
res.value.forEach(e => {
|
|
48
48
|
e.displayName = e.properties.displayName;
|
|
49
49
|
});
|
|
50
|
-
await logger.log(res.value);
|
|
51
50
|
}
|
|
51
|
+
await logger.log(res.value);
|
|
52
52
|
}
|
|
53
53
|
catch (err) {
|
|
54
54
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -33,9 +33,6 @@ class SpfxProjectGithubWorkflowAddCommand extends BaseProjectCommand {
|
|
|
33
33
|
if (this.projectRootPath === null) {
|
|
34
34
|
throw new CommandError(`Couldn't find project root folder`, _a.ERROR_NO_PROJECT_ROOT_FOLDER);
|
|
35
35
|
}
|
|
36
|
-
if (!args.options.overwrite) {
|
|
37
|
-
await this.warn(logger, `We recommend always using the --overwrite option and it will become the default behavior in next major release. Overwriting your sppkg file on every deployment is required to make continuous delivery of the latest version of your app which is the aim of the continuous delivery pipeline.`);
|
|
38
|
-
}
|
|
39
36
|
const solutionPackageJsonFile = path.join(this.projectRootPath, 'package.json');
|
|
40
37
|
const packageJson = fs.readFileSync(solutionPackageJsonFile, 'utf-8');
|
|
41
38
|
const solutionName = JSON.parse(packageJson).name;
|
|
@@ -81,9 +78,6 @@ class SpfxProjectGithubWorkflowAddCommand extends BaseProjectCommand {
|
|
|
81
78
|
if (options.skipFeatureDeployment) {
|
|
82
79
|
this.getDeployAction(workflow).with.SKIP_FEATURE_DEPLOYMENT = true;
|
|
83
80
|
}
|
|
84
|
-
if (options.overwrite) {
|
|
85
|
-
this.getDeployAction(workflow).with.OVERWRITE = true;
|
|
86
|
-
}
|
|
87
81
|
if (options.loginMethod === 'user') {
|
|
88
82
|
const loginAction = this.getLoginAction(workflow);
|
|
89
83
|
loginAction.with = {
|
|
@@ -125,8 +119,7 @@ _a = SpfxProjectGithubWorkflowAddCommand, _SpfxProjectGithubWorkflowAddCommand_i
|
|
|
125
119
|
manuallyTrigger: !!args.options.manuallyTrigger,
|
|
126
120
|
loginMethod: typeof args.options.loginMethod !== 'undefined',
|
|
127
121
|
scope: typeof args.options.scope !== 'undefined',
|
|
128
|
-
skipFeatureDeployment: !!args.options.skipFeatureDeployment
|
|
129
|
-
overwrite: !!args.options.overwrite
|
|
122
|
+
skipFeatureDeployment: !!args.options.skipFeatureDeployment
|
|
130
123
|
});
|
|
131
124
|
});
|
|
132
125
|
}, _SpfxProjectGithubWorkflowAddCommand_initOptions = function _SpfxProjectGithubWorkflowAddCommand_initOptions() {
|
|
@@ -146,8 +139,6 @@ _a = SpfxProjectGithubWorkflowAddCommand, _SpfxProjectGithubWorkflowAddCommand_i
|
|
|
146
139
|
option: '-u, --siteUrl [siteUrl]'
|
|
147
140
|
}, {
|
|
148
141
|
option: '--skipFeatureDeployment'
|
|
149
|
-
}, {
|
|
150
|
-
option: '--overwrite'
|
|
151
142
|
});
|
|
152
143
|
}, _SpfxProjectGithubWorkflowAddCommand_initValidators = function _SpfxProjectGithubWorkflowAddCommand_initValidators() {
|
|
153
144
|
this.validators.push(async (args) => {
|
|
@@ -4,7 +4,7 @@ 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 _SpoAppInStanceListCommand_instances, _SpoAppInStanceListCommand_initOptions, _SpoAppInStanceListCommand_initValidators;
|
|
7
|
-
import
|
|
7
|
+
import { odata } from '../../../../utils/odata.js';
|
|
8
8
|
import { validation } from '../../../../utils/validation.js';
|
|
9
9
|
import commands from '../../commands.js';
|
|
10
10
|
import { SpoAppBaseCommand } from './SpoAppBaseCommand.js';
|
|
@@ -28,24 +28,9 @@ class SpoAppInStanceListCommand extends SpoAppBaseCommand {
|
|
|
28
28
|
if (this.verbose) {
|
|
29
29
|
await logger.logToStderr(`Retrieving installed apps in site at ${args.options.siteUrl}...`);
|
|
30
30
|
}
|
|
31
|
-
const requestOptions = {
|
|
32
|
-
url: `${args.options.siteUrl}/_api/web/AppTiles?$filter=AppType eq 3`,
|
|
33
|
-
method: 'GET',
|
|
34
|
-
headers: {
|
|
35
|
-
'accept': 'application/json;odata=nometadata'
|
|
36
|
-
},
|
|
37
|
-
responseType: 'json'
|
|
38
|
-
};
|
|
39
31
|
try {
|
|
40
|
-
const apps = await
|
|
41
|
-
|
|
42
|
-
await logger.log(apps.value);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
if (this.verbose) {
|
|
46
|
-
await logger.logToStderr('No apps found');
|
|
47
|
-
}
|
|
48
|
-
}
|
|
32
|
+
const apps = await odata.getAllItems(`${args.options.siteUrl}/_api/web/AppTiles?$filter=AppType eq 3`);
|
|
33
|
+
await logger.log(apps);
|
|
49
34
|
}
|
|
50
35
|
catch (err) {
|
|
51
36
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -37,14 +37,7 @@ class SpoAppListCommand extends SpoAppBaseCommand {
|
|
|
37
37
|
await logger.logToStderr(`Retrieving apps...`);
|
|
38
38
|
}
|
|
39
39
|
const apps = await odata.getAllItems(`${appCatalogSiteUrl}/_api/web/${scope}appcatalog/AvailableApps`);
|
|
40
|
-
|
|
41
|
-
await logger.log(apps);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
if (this.verbose) {
|
|
45
|
-
await logger.logToStderr('No apps found');
|
|
46
|
-
}
|
|
47
|
-
}
|
|
40
|
+
await logger.log(apps);
|
|
48
41
|
}
|
|
49
42
|
catch (err) {
|
|
50
43
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -33,7 +33,6 @@ class SpoApplicationCustomizerGetCommand extends SpoCommand {
|
|
|
33
33
|
if (!args.options.clientSideComponentProperties) {
|
|
34
34
|
await logger.log({
|
|
35
35
|
...customAction,
|
|
36
|
-
Rights: JSON.stringify(customAction.Rights),
|
|
37
36
|
Scope: this.humanizeScope(customAction.Scope)
|
|
38
37
|
});
|
|
39
38
|
}
|
|
@@ -78,15 +78,15 @@ class SpoContentTypeFieldRemoveCommand extends SpoCommand {
|
|
|
78
78
|
const updateChildContentTypes = args.options.listTitle || args.options.listId || args.options.listUrl ? false : args.options.updateChildContentTypes === true;
|
|
79
79
|
if (this.debug) {
|
|
80
80
|
const additionalLog = args.options.listTitle ? `; ListTitle='${args.options.listTitle}'` : args.options.listId ? `; ListId='${args.options.listId}'` : args.options.listUrl ? `; ListUrl='${args.options.listUrl}'` : ` ; UpdateChildContentTypes='${updateChildContentTypes}`;
|
|
81
|
-
await logger.logToStderr(`Remove FieldLink from ContentType.
|
|
81
|
+
await logger.logToStderr(`Remove FieldLink from ContentType. Id='${args.options.id}' ; ContentTypeId='${args.options.contentTypeId}' ${additionalLog}`);
|
|
82
82
|
await logger.logToStderr(`Execute ProcessQuery.`);
|
|
83
83
|
}
|
|
84
84
|
let requestBody = '';
|
|
85
85
|
if (listId) {
|
|
86
|
-
requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="18" ObjectPathId="17" /><ObjectPath Id="20" ObjectPathId="19" /><Method Name="DeleteObject" Id="21" ObjectPathId="19" /><Method Name="Update" Id="22" ObjectPathId="15"><Parameters><Parameter Type="Boolean">${updateChildContentTypes}</Parameter></Parameters></Method></Actions><ObjectPaths><Property Id="17" ParentId="15" Name="FieldLinks" /><Method Id="19" ParentId="17" Name="GetById"><Parameters><Parameter Type="Guid">{${formatting.escapeXml(args.options.
|
|
86
|
+
requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="18" ObjectPathId="17" /><ObjectPath Id="20" ObjectPathId="19" /><Method Name="DeleteObject" Id="21" ObjectPathId="19" /><Method Name="Update" Id="22" ObjectPathId="15"><Parameters><Parameter Type="Boolean">${updateChildContentTypes}</Parameter></Parameters></Method></Actions><ObjectPaths><Property Id="17" ParentId="15" Name="FieldLinks" /><Method Id="19" ParentId="17" Name="GetById"><Parameters><Parameter Type="Guid">{${formatting.escapeXml(args.options.id)}}</Parameter></Parameters></Method><Identity Id="15" Name="09eec89e-709b-0000-558c-c222dcaf9162|740c6a0b-85e2-48a0-a494-e0f1759d4aa7:site:${siteId}:web:${webId}:list:${listId}:contenttype:${formatting.escapeXml(args.options.contentTypeId)}" /></ObjectPaths></Request>`;
|
|
87
87
|
}
|
|
88
88
|
else {
|
|
89
|
-
requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="77" ObjectPathId="76" /><ObjectPath Id="79" ObjectPathId="78" /><Method Name="DeleteObject" Id="80" ObjectPathId="78" /><Method Name="Update" Id="81" ObjectPathId="24"><Parameters><Parameter Type="Boolean">${updateChildContentTypes}</Parameter></Parameters></Method></Actions><ObjectPaths><Property Id="76" ParentId="24" Name="FieldLinks" /><Method Id="78" ParentId="76" Name="GetById"><Parameters><Parameter Type="Guid">{${formatting.escapeXml(args.options.
|
|
89
|
+
requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="77" ObjectPathId="76" /><ObjectPath Id="79" ObjectPathId="78" /><Method Name="DeleteObject" Id="80" ObjectPathId="78" /><Method Name="Update" Id="81" ObjectPathId="24"><Parameters><Parameter Type="Boolean">${updateChildContentTypes}</Parameter></Parameters></Method></Actions><ObjectPaths><Property Id="76" ParentId="24" Name="FieldLinks" /><Method Id="78" ParentId="76" Name="GetById"><Parameters><Parameter Type="Guid">{${formatting.escapeXml(args.options.id)}}</Parameter></Parameters></Method><Identity Id="24" Name="6b3ec69e-00a7-0000-55a3-61f8d779d2b3|740c6a0b-85e2-48a0-a494-e0f1759d4aa7:site:${siteId}:web:${webId}:contenttype:${formatting.escapeXml(args.options.contentTypeId)}" /></ObjectPaths></Request>`;
|
|
90
90
|
}
|
|
91
91
|
requestOptions = {
|
|
92
92
|
url: `${args.options.webUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
@@ -110,7 +110,7 @@ class SpoContentTypeFieldRemoveCommand extends SpoCommand {
|
|
|
110
110
|
await removeFieldLink();
|
|
111
111
|
}
|
|
112
112
|
else {
|
|
113
|
-
const result = await cli.promptForConfirmation({ message: `Are you sure you want to remove the column ${args.options.
|
|
113
|
+
const result = await cli.promptForConfirmation({ message: `Are you sure you want to remove the column ${args.options.id} from content type ${args.options.contentTypeId}?` });
|
|
114
114
|
if (result) {
|
|
115
115
|
await removeFieldLink();
|
|
116
116
|
}
|
|
@@ -160,9 +160,9 @@ _SpoContentTypeFieldRemoveCommand_instances = new WeakSet(), _SpoContentTypeFiel
|
|
|
160
160
|
}, {
|
|
161
161
|
option: '--listUrl [listUrl]'
|
|
162
162
|
}, {
|
|
163
|
-
option: '
|
|
163
|
+
option: '--contentTypeId <contentTypeId>'
|
|
164
164
|
}, {
|
|
165
|
-
option: '--
|
|
165
|
+
option: '-i, --id <id>'
|
|
166
166
|
}, {
|
|
167
167
|
option: '-c, --updateChildContentTypes'
|
|
168
168
|
}, {
|
|
@@ -170,8 +170,8 @@ _SpoContentTypeFieldRemoveCommand_instances = new WeakSet(), _SpoContentTypeFiel
|
|
|
170
170
|
});
|
|
171
171
|
}, _SpoContentTypeFieldRemoveCommand_initValidators = function _SpoContentTypeFieldRemoveCommand_initValidators() {
|
|
172
172
|
this.validators.push(async (args) => {
|
|
173
|
-
if (!validation.isValidGuid(args.options.
|
|
174
|
-
return `${args.options.
|
|
173
|
+
if (!validation.isValidGuid(args.options.id)) {
|
|
174
|
+
return `${args.options.id} is not a valid GUID`;
|
|
175
175
|
}
|
|
176
176
|
if (args.options.listId && !validation.isValidGuid(args.options.listId)) {
|
|
177
177
|
return `${args.options.listId} is not a valid GUID`;
|
|
@@ -262,9 +262,9 @@ _SpoContentTypeFieldSetCommand_instances = new WeakSet(), _SpoContentTypeFieldSe
|
|
|
262
262
|
this.options.unshift({
|
|
263
263
|
option: '-u, --webUrl <webUrl>'
|
|
264
264
|
}, {
|
|
265
|
-
option: '
|
|
265
|
+
option: '--contentTypeId <contentTypeId>'
|
|
266
266
|
}, {
|
|
267
|
-
option: '--id <id>'
|
|
267
|
+
option: '-i, --id <id>'
|
|
268
268
|
}, {
|
|
269
269
|
option: '-r, --required [required]',
|
|
270
270
|
autocomplete: ['true', 'false']
|
|
@@ -26,14 +26,7 @@ class SpoFeatureListCommand extends SpoCommand {
|
|
|
26
26
|
const scope = (args.options.scope) ? args.options.scope : 'Web';
|
|
27
27
|
try {
|
|
28
28
|
const features = await odata.getAllItems(`${args.options.webUrl}/_api/${scope}/Features?$select=DisplayName,DefinitionId`);
|
|
29
|
-
|
|
30
|
-
await logger.log(features);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
if (this.verbose) {
|
|
34
|
-
await logger.logToStderr('No activated Features found');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
29
|
+
await logger.log(features);
|
|
37
30
|
}
|
|
38
31
|
catch (err) {
|
|
39
32
|
this.handleRejectedODataJsonPromise(err);
|