@pnp/cli-microsoft365 7.6.0-beta.443bfd8 → 7.6.0-beta.480812d
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/README.md +1 -1
- package/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/Auth.js +2 -2
- package/dist/AuthServer.js +1 -1
- package/dist/config.js +2 -2
- package/dist/m365/app/commands/app-get.js +1 -1
- package/dist/m365/app/commands/app-open.js +1 -1
- package/dist/m365/app/commands/permission/permission-add.js +2 -2
- package/dist/m365/app/commands/permission/permission-list.js +2 -2
- package/dist/m365/cli/commands/cli-consent.js +2 -2
- package/dist/m365/cli/commands/cli-reconsent.js +3 -3
- package/dist/m365/commands/login.js +1 -1
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-add.js +1 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-get.js +1 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-list.js +1 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-add.js +1 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-get.js +1 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-list.js +1 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-remove.js +1 -0
- package/dist/m365/entra/commands/app/app-add.js +7 -6
- package/dist/m365/entra/commands/app/app-get.js +4 -3
- package/dist/m365/entra/commands/app/app-list.js +1 -0
- package/dist/m365/entra/commands/app/app-permission-add.js +3 -2
- package/dist/m365/entra/commands/app/app-permission-list.js +1 -1
- package/dist/m365/entra/commands/app/app-remove.js +5 -4
- package/dist/m365/entra/commands/app/app-role-add.js +6 -5
- package/dist/m365/entra/commands/app/app-role-list.js +4 -3
- package/dist/m365/entra/commands/app/app-role-remove.js +6 -5
- package/dist/m365/entra/commands/app/app-set.js +8 -7
- package/dist/m365/entra/commands/approleassignment/approleassignment-add.js +2 -1
- package/dist/m365/entra/commands/approleassignment/approleassignment-list.js +1 -0
- package/dist/m365/entra/commands/approleassignment/approleassignment-remove.js +1 -0
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-add.js +1 -0
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-get.js +1 -0
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-list.js +1 -0
- package/dist/m365/entra/commands/group/group-get.js +1 -0
- package/dist/m365/entra/commands/group/group-list.js +1 -0
- package/dist/m365/entra/commands/group/group-remove.js +1 -0
- package/dist/m365/entra/commands/group/group-user-list.js +1 -0
- package/dist/m365/entra/commands/groupsetting/groupsetting-add.js +1 -0
- package/dist/m365/entra/commands/groupsetting/groupsetting-get.js +1 -0
- package/dist/m365/entra/commands/groupsetting/groupsetting-list.js +1 -0
- package/dist/m365/entra/commands/groupsetting/groupsetting-remove.js +1 -0
- package/dist/m365/entra/commands/groupsetting/groupsetting-set.js +1 -0
- package/dist/m365/entra/commands/groupsettingtemplate/groupsettingtemplate-get.js +1 -0
- package/dist/m365/entra/commands/groupsettingtemplate/groupsettingtemplate-list.js +1 -0
- package/dist/m365/entra/commands/license/license-list.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-add.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-get.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-list.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-clear.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-list.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-remove.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-restore.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-remove.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-renew.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-set.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-teamify.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-user-add.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-user-list.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-user-remove.js +1 -0
- package/dist/m365/entra/commands/m365group/m365group-user-set.js +1 -0
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-add.js +1 -0
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-list.js +1 -0
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-remove.js +1 -0
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-set.js +1 -0
- package/dist/m365/entra/commands/policy/policy-list.js +1 -0
- package/dist/m365/entra/commands/siteclassification/siteclassification-disable.js +1 -0
- package/dist/m365/entra/commands/siteclassification/siteclassification-enable.js +1 -0
- package/dist/m365/entra/commands/siteclassification/siteclassification-get.js +1 -0
- package/dist/m365/entra/commands/siteclassification/siteclassification-set.js +1 -0
- package/dist/m365/entra/commands/user/user-add.js +1 -0
- package/dist/m365/entra/commands/user/user-get.js +1 -0
- package/dist/m365/entra/commands/user/user-guest-add.js +1 -0
- package/dist/m365/entra/commands/user/user-hibp.js +1 -0
- package/dist/m365/entra/commands/user/user-license-add.js +1 -0
- package/dist/m365/entra/commands/user/user-license-list.js +1 -0
- package/dist/m365/entra/commands/user/user-license-remove.js +1 -0
- package/dist/m365/entra/commands/user/user-list.js +1 -0
- package/dist/m365/entra/commands/user/user-password-validate.js +1 -0
- package/dist/m365/entra/commands/user/user-recyclebinitem-clear.js +1 -0
- package/dist/m365/entra/commands/user/user-recyclebinitem-list.js +1 -0
- package/dist/m365/entra/commands/user/user-recyclebinitem-remove.js +2 -1
- package/dist/m365/entra/commands/user/user-recyclebinitem-restore.js +1 -0
- package/dist/m365/entra/commands/user/user-remove.js +1 -0
- package/dist/m365/entra/commands/user/user-set.js +1 -0
- package/dist/m365/entra/commands/user/user-signin-list.js +1 -0
- package/dist/m365/outlook/commands/message/message-remove.js +113 -0
- package/dist/m365/outlook/commands.js +1 -0
- package/dist/m365/pp/commands/managementapp/managementapp-add.js +7 -7
- package/dist/m365/spo/commands/folder/FolderColor.js +19 -0
- package/dist/m365/spo/commands/folder/folder-add.js +46 -17
- package/dist/m365/spo/commands/folder/folder-set.js +118 -0
- package/dist/m365/spo/commands/group/group-member-add.js +2 -2
- package/dist/m365/spo/commands/group/group-member-remove.js +1 -1
- package/dist/m365/spo/commands/site/site-apppermission-add.js +2 -2
- package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +66 -27
- package/dist/m365/spo/commands/tenant/tenant-settings-set.js +1 -1
- package/dist/m365/spo/commands.js +1 -0
- package/dist/m365/teams/commands/tab/tab-get.js +1 -1
- package/dist/utils/spo.js +1 -1
- package/docs/docs/cmd/app/app-get.mdx +10 -10
- package/docs/docs/cmd/app/app-open.mdx +6 -6
- package/docs/docs/cmd/app/permission/permission-add.mdx +2 -2
- package/docs/docs/cmd/app/permission/permission-list.mdx +5 -5
- package/docs/docs/cmd/cli/cli-consent.mdx +2 -2
- package/docs/docs/cmd/cli/cli-reconsent.mdx +6 -6
- package/docs/docs/cmd/entra/app/app-permission-add.mdx +6 -6
- package/docs/docs/cmd/entra/approleassignment/approleassignment-add.mdx +1 -1
- package/docs/docs/cmd/entra/approleassignment/approleassignment-list.mdx +4 -4
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-add.mdx +1 -1
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-get.mdx +1 -1
- package/docs/docs/cmd/entra/group/group-user-add.mdx +7 -7
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-add.mdx +1 -1
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-list.mdx +1 -1
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-remove.mdx +1 -1
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-set.mdx +1 -1
- package/docs/docs/cmd/external/connection/connection-add.mdx +2 -2
- package/docs/docs/cmd/file/file-add.mdx +1 -1
- package/docs/docs/cmd/graph/schemaextension/schemaextension-add.mdx +2 -2
- package/docs/docs/cmd/graph/schemaextension/schemaextension-set.mdx +1 -1
- package/docs/docs/cmd/login.mdx +18 -18
- package/docs/docs/cmd/outlook/message/message-remove.mdx +67 -0
- package/docs/docs/cmd/pa/app/app-owner-set.mdx +1 -1
- package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +3 -3
- package/docs/docs/cmd/pa/app/app-permission-remove.mdx +3 -3
- package/docs/docs/cmd/planner/plan/plan-add.mdx +1 -1
- package/docs/docs/cmd/planner/roster/roster-add.mdx +5 -5
- package/docs/docs/cmd/planner/roster/roster-get.mdx +7 -7
- package/docs/docs/cmd/planner/roster/roster-member-add.mdx +4 -4
- package/docs/docs/cmd/planner/roster/roster-member-get.mdx +4 -4
- package/docs/docs/cmd/planner/roster/roster-member-list.mdx +2 -2
- package/docs/docs/cmd/planner/roster/roster-member-remove.mdx +5 -5
- package/docs/docs/cmd/planner/roster/roster-plan-list.mdx +1 -1
- package/docs/docs/cmd/planner/roster/roster-remove.mdx +2 -2
- package/docs/docs/cmd/planner/task/task-add.mdx +1 -1
- package/docs/docs/cmd/planner/task/task-get.mdx +1 -1
- package/docs/docs/cmd/planner/task/task-list.mdx +1 -1
- package/docs/docs/cmd/planner/task/task-remove.mdx +1 -1
- package/docs/docs/cmd/planner/task/task-set.mdx +1 -1
- package/docs/docs/cmd/pp/environment/environment-get.mdx +1 -1
- package/docs/docs/cmd/pp/environment/environment-list.mdx +1 -1
- package/docs/docs/cmd/pp/managementapp/managementapp-add.mdx +9 -9
- package/docs/docs/cmd/purview/auditlog/auditlog-list.mdx +1 -1
- package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-get.mdx +1 -1
- package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-list.mdx +1 -1
- package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-policysettings-list.mdx +1 -1
- package/docs/docs/cmd/request.mdx +1 -1
- package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +2 -2
- package/docs/docs/cmd/spo/folder/folder-add.mdx +38 -0
- package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-set.mdx +88 -0
- package/docs/docs/cmd/spo/group/group-member-add.mdx +2 -2
- package/docs/docs/cmd/spo/group/group-member-remove.mdx +3 -3
- package/docs/docs/cmd/spo/list/list-roleassignment-add.mdx +3 -3
- package/docs/docs/cmd/spo/list/list-roleassignment-remove.mdx +2 -2
- package/docs/docs/cmd/spo/listitem/listitem-roleassignment-add.mdx +8 -8
- package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.mdx +2 -2
- package/docs/docs/cmd/spo/site/site-apppermission-add.mdx +2 -2
- package/docs/docs/cmd/spo/site/site-apppermission-set.mdx +2 -2
- package/docs/docs/cmd/spo/site/site-recyclebinitem-restore.mdx +29 -5
- package/docs/docs/cmd/spo/tenant/tenant-settings-set.mdx +89 -89
- package/docs/docs/cmd/spo/user/user-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/web/web-roleassignment-add.mdx +3 -3
- package/docs/docs/cmd/spo/web/web-roleassignment-remove.mdx +2 -2
- package/docs/docs/cmd/teams/channel/channel-member-remove.mdx +1 -1
- package/docs/docs/cmd/teams/channel/channel-member-set.mdx +1 -1
- package/docs/docs/cmd/teams/chat/chat-member-remove.mdx +3 -3
- package/docs/docs/cmd/teams/report/report-directroutingcalls.mdx +1 -1
- package/docs/docs/cmd/teams/report/report-pstncalls.mdx +1 -1
- package/docs/docs/cmd/teams/tab/tab-get.mdx +19 -12
- package/docs/docs/cmd/tenant/security/security-alerts-list.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-group-list.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-group-user-add.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-group-user-remove.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-message-add.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-message-get.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-message-like-set.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-message-list.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-message-remove.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-network-list.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-search.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-user-get.mdx +1 -1
- package/docs/docs/cmd/viva/engage/engage-user-list.mdx +1 -1
- package/npm-shrinkwrap.json +62 -58
- package/package.json +11 -11
- package/dist/m365/spo/commands/folder/folder-rename.js +0 -72
- package/docs/docs/cmd/spo/folder/folder-rename.mdx +0 -44
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _OutlookMessageRemoveCommand_instances, _OutlookMessageRemoveCommand_initTelemetry, _OutlookMessageRemoveCommand_initOptions, _OutlookMessageRemoveCommand_initValidators, _OutlookMessageRemoveCommand_initTypes;
|
|
7
|
+
import auth from '../../../../Auth.js';
|
|
8
|
+
import request from '../../../../request.js';
|
|
9
|
+
import { accessToken } from '../../../../utils/accessToken.js';
|
|
10
|
+
import GraphCommand from '../../../base/GraphCommand.js';
|
|
11
|
+
import commands from '../../commands.js';
|
|
12
|
+
import { cli } from '../../../../cli/cli.js';
|
|
13
|
+
import { validation } from '../../../../utils/validation.js';
|
|
14
|
+
import { formatting } from '../../../../utils/formatting.js';
|
|
15
|
+
class OutlookMessageRemoveCommand extends GraphCommand {
|
|
16
|
+
get name() {
|
|
17
|
+
return commands.MESSAGE_REMOVE;
|
|
18
|
+
}
|
|
19
|
+
get description() {
|
|
20
|
+
return 'Permanently removes a specific message from a mailbox';
|
|
21
|
+
}
|
|
22
|
+
constructor() {
|
|
23
|
+
super();
|
|
24
|
+
_OutlookMessageRemoveCommand_instances.add(this);
|
|
25
|
+
__classPrivateFieldGet(this, _OutlookMessageRemoveCommand_instances, "m", _OutlookMessageRemoveCommand_initTelemetry).call(this);
|
|
26
|
+
__classPrivateFieldGet(this, _OutlookMessageRemoveCommand_instances, "m", _OutlookMessageRemoveCommand_initOptions).call(this);
|
|
27
|
+
__classPrivateFieldGet(this, _OutlookMessageRemoveCommand_instances, "m", _OutlookMessageRemoveCommand_initValidators).call(this);
|
|
28
|
+
__classPrivateFieldGet(this, _OutlookMessageRemoveCommand_instances, "m", _OutlookMessageRemoveCommand_initTypes).call(this);
|
|
29
|
+
}
|
|
30
|
+
async commandAction(logger, args) {
|
|
31
|
+
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.connection.accessTokens[auth.defaultResource].accessToken);
|
|
32
|
+
let principalUrl = '';
|
|
33
|
+
if (isAppOnlyAccessToken) {
|
|
34
|
+
if (!args.options.userId && !args.options.userName) {
|
|
35
|
+
throw `The option 'userId' or 'userName' is required when removing a message using application permissions.`;
|
|
36
|
+
}
|
|
37
|
+
if (args.options.userId && args.options.userName) {
|
|
38
|
+
throw `Both options 'userId' and 'userName' cannot be used together when removing a message using application permissions.`;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
if (args.options.userId && args.options.userName) {
|
|
43
|
+
throw `Both options 'userId' and 'userName' cannot be used together when removing a message using delegated permissions.`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (args.options.userId || args.options.userName) {
|
|
47
|
+
principalUrl += `users/${args.options.userId || formatting.encodeQueryParameter(args.options.userName)}`;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
principalUrl += 'me';
|
|
51
|
+
}
|
|
52
|
+
const removeMessage = async () => {
|
|
53
|
+
try {
|
|
54
|
+
if (this.verbose) {
|
|
55
|
+
await logger.logToStderr(`Removing message with id '${args.options.id}' using ${isAppOnlyAccessToken ? 'application' : 'delegated'} permissions.`);
|
|
56
|
+
}
|
|
57
|
+
const requestOptions = {
|
|
58
|
+
url: `${this.resource}/v1.0/${principalUrl}/messages/${args.options.id}`,
|
|
59
|
+
headers: {
|
|
60
|
+
accept: 'application/json;odata.metadata=none'
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
await request.delete(requestOptions);
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
this.handleRejectedODataJsonPromise(err);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
if (args.options.force) {
|
|
70
|
+
await removeMessage();
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
const result = await cli.promptForConfirmation({ message: `Are you sure you want to remove message with id '${args.options.id}'?` });
|
|
74
|
+
if (result) {
|
|
75
|
+
await removeMessage();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
_OutlookMessageRemoveCommand_instances = new WeakSet(), _OutlookMessageRemoveCommand_initTelemetry = function _OutlookMessageRemoveCommand_initTelemetry() {
|
|
81
|
+
this.telemetry.push((args) => {
|
|
82
|
+
Object.assign(this.telemetryProperties, {
|
|
83
|
+
userId: typeof args.options.userId !== 'undefined',
|
|
84
|
+
userName: typeof args.options.userName !== 'undefined',
|
|
85
|
+
force: !!args.options.force
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}, _OutlookMessageRemoveCommand_initOptions = function _OutlookMessageRemoveCommand_initOptions() {
|
|
89
|
+
this.options.unshift({
|
|
90
|
+
option: '-i, --id <id>'
|
|
91
|
+
}, {
|
|
92
|
+
option: '--userId [userId]'
|
|
93
|
+
}, {
|
|
94
|
+
option: '--userName [userName]'
|
|
95
|
+
}, {
|
|
96
|
+
option: '-f, --force'
|
|
97
|
+
});
|
|
98
|
+
}, _OutlookMessageRemoveCommand_initValidators = function _OutlookMessageRemoveCommand_initValidators() {
|
|
99
|
+
this.validators.push(async (args) => {
|
|
100
|
+
if (args.options.userId && !validation.isValidGuid(args.options.userId)) {
|
|
101
|
+
return `Value '${args.options.userId}' is not a valid GUID for option 'userId'.`;
|
|
102
|
+
}
|
|
103
|
+
if (args.options.userName && !validation.isValidUserPrincipalName(args.options.userName)) {
|
|
104
|
+
return `Value '${args.options.userName}' is not a valid user principal name for option 'userName'.`;
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
});
|
|
108
|
+
}, _OutlookMessageRemoveCommand_initTypes = function _OutlookMessageRemoveCommand_initTypes() {
|
|
109
|
+
this.types.string.push('id', 'userId', 'userName');
|
|
110
|
+
this.types.boolean.push('force');
|
|
111
|
+
};
|
|
112
|
+
export default new OutlookMessageRemoveCommand();
|
|
113
|
+
//# sourceMappingURL=message-remove.js.map
|
|
@@ -4,6 +4,7 @@ export default {
|
|
|
4
4
|
MESSAGE_GET: `${prefix} message get`,
|
|
5
5
|
MESSAGE_LIST: `${prefix} message list`,
|
|
6
6
|
MESSAGE_MOVE: `${prefix} message move`,
|
|
7
|
+
MESSAGE_REMOVE: `${prefix} message remove`,
|
|
7
8
|
REPORT_MAILACTIVITYCOUNTS: `${prefix} report mailactivitycounts`,
|
|
8
9
|
REPORT_MAILACTIVITYUSERCOUNTS: `${prefix} report mailactivityusercounts`,
|
|
9
10
|
REPORT_MAILACTIVITYUSERDETAIL: `${prefix} report mailactivityuserdetail`,
|
|
@@ -58,16 +58,16 @@ class PpManagementAppAddCommand extends PowerPlatformCommand {
|
|
|
58
58
|
},
|
|
59
59
|
responseType: 'json'
|
|
60
60
|
};
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
61
|
+
const entraApps = await request.get((requestOptions));
|
|
62
|
+
if (entraApps.value.length === 0) {
|
|
63
63
|
const applicationIdentifier = objectId ? `ID ${objectId}` : `name ${name}`;
|
|
64
|
-
throw `No
|
|
64
|
+
throw `No Microsoft Entra application registration with ${applicationIdentifier} found`;
|
|
65
65
|
}
|
|
66
|
-
if (
|
|
67
|
-
return
|
|
66
|
+
if (entraApps.value.length === 1 && entraApps.value[0].appId) {
|
|
67
|
+
return entraApps.value[0].appId;
|
|
68
68
|
}
|
|
69
|
-
const resultAsKeyValuePair = formatting.convertArrayToHashTable('appId',
|
|
70
|
-
const result = await cli.handleMultipleResultsFound(`Multiple
|
|
69
|
+
const resultAsKeyValuePair = formatting.convertArrayToHashTable('appId', entraApps.value);
|
|
70
|
+
const result = await cli.handleMultipleResultsFound(`Multiple Microsoft Entra application registrations with name '${name}' found.`, resultAsKeyValuePair);
|
|
71
71
|
return result.appId;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const FolderColorValues = {
|
|
2
|
+
yellow: '0',
|
|
3
|
+
darkRed: '1',
|
|
4
|
+
darkOrange: '2',
|
|
5
|
+
darkGreen: '3',
|
|
6
|
+
darkTeal: '4',
|
|
7
|
+
darkBlue: '5',
|
|
8
|
+
darkPurple: '6',
|
|
9
|
+
darkPink: '7',
|
|
10
|
+
grey: '8',
|
|
11
|
+
lightRed: '9',
|
|
12
|
+
lightOrange: '10',
|
|
13
|
+
lightGreen: '11',
|
|
14
|
+
lightTeal: '12',
|
|
15
|
+
lightBlue: '13',
|
|
16
|
+
lightPurple: '14',
|
|
17
|
+
lightPink: '15'
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=FolderColor.js.map
|
|
@@ -3,13 +3,14 @@ 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 _SpoFolderAddCommand_instances, _SpoFolderAddCommand_initOptions, _SpoFolderAddCommand_initValidators, _SpoFolderAddCommand_initTypes;
|
|
6
|
+
var _SpoFolderAddCommand_instances, _SpoFolderAddCommand_initTelemetry, _SpoFolderAddCommand_initOptions, _SpoFolderAddCommand_initValidators, _SpoFolderAddCommand_initTypes;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
8
|
import { formatting } from '../../../../utils/formatting.js';
|
|
9
9
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
11
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
12
12
|
import commands from '../../commands.js';
|
|
13
|
+
import { FolderColorValues } from './FolderColor.js';
|
|
13
14
|
class SpoFolderAddCommand extends SpoCommand {
|
|
14
15
|
get name() {
|
|
15
16
|
return commands.FOLDER_ADD;
|
|
@@ -20,25 +21,35 @@ class SpoFolderAddCommand extends SpoCommand {
|
|
|
20
21
|
constructor() {
|
|
21
22
|
super();
|
|
22
23
|
_SpoFolderAddCommand_instances.add(this);
|
|
24
|
+
__classPrivateFieldGet(this, _SpoFolderAddCommand_instances, "m", _SpoFolderAddCommand_initTelemetry).call(this);
|
|
23
25
|
__classPrivateFieldGet(this, _SpoFolderAddCommand_instances, "m", _SpoFolderAddCommand_initOptions).call(this);
|
|
24
26
|
__classPrivateFieldGet(this, _SpoFolderAddCommand_instances, "m", _SpoFolderAddCommand_initValidators).call(this);
|
|
25
27
|
__classPrivateFieldGet(this, _SpoFolderAddCommand_instances, "m", _SpoFolderAddCommand_initTypes).call(this);
|
|
26
28
|
}
|
|
27
29
|
async commandAction(logger, args) {
|
|
28
|
-
if (this.verbose) {
|
|
29
|
-
await logger.logToStderr(`Adding folder to site ${args.options.webUrl}...`);
|
|
30
|
-
}
|
|
31
|
-
const parentFolderServerRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, args.options.parentFolderUrl);
|
|
32
|
-
const serverRelativeUrl = `${parentFolderServerRelativeUrl}/${args.options.name}`;
|
|
33
|
-
const requestUrl = `${args.options.webUrl}/_api/web/folders/addUsingPath(decodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
34
|
-
const requestOptions = {
|
|
35
|
-
url: requestUrl,
|
|
36
|
-
headers: {
|
|
37
|
-
'accept': 'application/json;odata=nometadata'
|
|
38
|
-
},
|
|
39
|
-
responseType: 'json'
|
|
40
|
-
};
|
|
41
30
|
try {
|
|
31
|
+
if (this.verbose) {
|
|
32
|
+
await logger.logToStderr(`Adding folder to site ${args.options.webUrl}...`);
|
|
33
|
+
}
|
|
34
|
+
const parentFolderServerRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, args.options.parentFolderUrl);
|
|
35
|
+
const serverRelativeUrl = `${parentFolderServerRelativeUrl}/${args.options.name}`;
|
|
36
|
+
const requestOptions = {
|
|
37
|
+
headers: {
|
|
38
|
+
'accept': 'application/json;odata=nometadata'
|
|
39
|
+
},
|
|
40
|
+
responseType: 'json'
|
|
41
|
+
};
|
|
42
|
+
if (args.options.color === undefined) {
|
|
43
|
+
requestOptions.url = `${args.options.webUrl}/_api/web/folders/addUsingPath(decodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
requestOptions.url = `${args.options.webUrl}/_api/foldercoloring/createfolder(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}', overwrite=false)`;
|
|
47
|
+
requestOptions.data = {
|
|
48
|
+
coloringInformation: {
|
|
49
|
+
ColorHex: FolderColorValues[args.options.color] || args.options.color
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
42
53
|
const folder = await request.post(requestOptions);
|
|
43
54
|
await logger.log(folder);
|
|
44
55
|
}
|
|
@@ -47,18 +58,36 @@ class SpoFolderAddCommand extends SpoCommand {
|
|
|
47
58
|
}
|
|
48
59
|
}
|
|
49
60
|
}
|
|
50
|
-
_SpoFolderAddCommand_instances = new WeakSet(),
|
|
61
|
+
_SpoFolderAddCommand_instances = new WeakSet(), _SpoFolderAddCommand_initTelemetry = function _SpoFolderAddCommand_initTelemetry() {
|
|
62
|
+
this.telemetry.push((args) => {
|
|
63
|
+
Object.assign(this.telemetryProperties, {
|
|
64
|
+
color: typeof args.options.color !== 'undefined'
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}, _SpoFolderAddCommand_initOptions = function _SpoFolderAddCommand_initOptions() {
|
|
51
68
|
this.options.unshift({
|
|
52
69
|
option: '-u, --webUrl <webUrl>'
|
|
53
70
|
}, {
|
|
54
71
|
option: '-p, --parentFolderUrl <parentFolderUrl>'
|
|
55
72
|
}, {
|
|
56
73
|
option: '-n, --name <name>'
|
|
74
|
+
}, {
|
|
75
|
+
option: '--color [color]',
|
|
76
|
+
autocomplete: Object.keys(FolderColorValues)
|
|
57
77
|
});
|
|
58
78
|
}, _SpoFolderAddCommand_initValidators = function _SpoFolderAddCommand_initValidators() {
|
|
59
|
-
this.validators.push(async (args) =>
|
|
79
|
+
this.validators.push(async (args) => {
|
|
80
|
+
const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
|
|
81
|
+
if (isValidSharePointUrl !== true) {
|
|
82
|
+
return isValidSharePointUrl;
|
|
83
|
+
}
|
|
84
|
+
if (args.options.color && !Object.entries(FolderColorValues).flat().includes(args.options.color)) {
|
|
85
|
+
return `'${args.options.color}' is not a valid value for option 'color'. Allowed values are ${Object.keys(FolderColorValues).join(', ')}, ${Object.values(FolderColorValues).join(', ')}.`;
|
|
86
|
+
}
|
|
87
|
+
return true;
|
|
88
|
+
});
|
|
60
89
|
}, _SpoFolderAddCommand_initTypes = function _SpoFolderAddCommand_initTypes() {
|
|
61
|
-
this.types.string.push('webUrl', 'parentFolderUrl', 'name');
|
|
90
|
+
this.types.string.push('webUrl', 'parentFolderUrl', 'name', 'color');
|
|
62
91
|
};
|
|
63
92
|
export default new SpoFolderAddCommand();
|
|
64
93
|
//# sourceMappingURL=folder-add.js.map
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _SpoFolderSetCommand_instances, _SpoFolderSetCommand_initTelemetry, _SpoFolderSetCommand_initOptions, _SpoFolderSetCommand_initValidators, _SpoFolderSetCommand_initTypes;
|
|
7
|
+
import request from '../../../../request.js';
|
|
8
|
+
import { formatting } from '../../../../utils/formatting.js';
|
|
9
|
+
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
10
|
+
import { validation } from '../../../../utils/validation.js';
|
|
11
|
+
import SpoCommand from '../../../base/SpoCommand.js';
|
|
12
|
+
import commands from '../../commands.js';
|
|
13
|
+
import { FolderColorValues } from './FolderColor.js';
|
|
14
|
+
class SpoFolderSetCommand extends SpoCommand {
|
|
15
|
+
get name() {
|
|
16
|
+
return commands.FOLDER_SET;
|
|
17
|
+
}
|
|
18
|
+
get description() {
|
|
19
|
+
return 'Updates a folder';
|
|
20
|
+
}
|
|
21
|
+
alias() {
|
|
22
|
+
return [commands.FOLDER_RENAME];
|
|
23
|
+
}
|
|
24
|
+
constructor() {
|
|
25
|
+
super();
|
|
26
|
+
_SpoFolderSetCommand_instances.add(this);
|
|
27
|
+
__classPrivateFieldGet(this, _SpoFolderSetCommand_instances, "m", _SpoFolderSetCommand_initTelemetry).call(this);
|
|
28
|
+
__classPrivateFieldGet(this, _SpoFolderSetCommand_instances, "m", _SpoFolderSetCommand_initOptions).call(this);
|
|
29
|
+
__classPrivateFieldGet(this, _SpoFolderSetCommand_instances, "m", _SpoFolderSetCommand_initValidators).call(this);
|
|
30
|
+
__classPrivateFieldGet(this, _SpoFolderSetCommand_instances, "m", _SpoFolderSetCommand_initTypes).call(this);
|
|
31
|
+
}
|
|
32
|
+
getExcludedOptionsWithUrls() {
|
|
33
|
+
return ['url'];
|
|
34
|
+
}
|
|
35
|
+
async commandAction(logger, args) {
|
|
36
|
+
try {
|
|
37
|
+
await this.showDeprecationWarning(logger, this.alias()[0], this.name);
|
|
38
|
+
if (this.verbose) {
|
|
39
|
+
await logger.logToStderr(`Updating folder '${args.options.name}'...`);
|
|
40
|
+
}
|
|
41
|
+
const serverRelativePath = urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
|
|
42
|
+
if (!args.options.color) {
|
|
43
|
+
const requestOptions = {
|
|
44
|
+
url: `${args.options.webUrl}/_api/Web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')/ListItemAllFields`,
|
|
45
|
+
headers: {
|
|
46
|
+
accept: 'application/json;odata=nometadata',
|
|
47
|
+
'if-match': '*'
|
|
48
|
+
},
|
|
49
|
+
data: {
|
|
50
|
+
FileLeafRef: args.options.name,
|
|
51
|
+
Title: args.options.name
|
|
52
|
+
},
|
|
53
|
+
responseType: 'json'
|
|
54
|
+
};
|
|
55
|
+
const response = await request.patch(requestOptions);
|
|
56
|
+
if (response && response['odata.null'] === true) {
|
|
57
|
+
throw 'Folder not found.';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
const requestOptions = {
|
|
62
|
+
url: `${args.options.webUrl}/_api/foldercoloring/${args.options.name ? 'renamefolder' : 'stampcolor'}(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')`,
|
|
63
|
+
headers: {
|
|
64
|
+
accept: 'application/json;odata=nometadata'
|
|
65
|
+
},
|
|
66
|
+
responseType: 'json',
|
|
67
|
+
data: {
|
|
68
|
+
coloringInformation: {
|
|
69
|
+
ColorHex: FolderColorValues[args.options.color] || args.options.color
|
|
70
|
+
},
|
|
71
|
+
newName: args.options.name
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
await request.post(requestOptions);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
this.handleRejectedODataJsonPromise(err);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
_SpoFolderSetCommand_instances = new WeakSet(), _SpoFolderSetCommand_initTelemetry = function _SpoFolderSetCommand_initTelemetry() {
|
|
83
|
+
this.telemetry.push((args) => {
|
|
84
|
+
Object.assign(this.telemetryProperties, {
|
|
85
|
+
name: typeof args.options.name !== 'undefined',
|
|
86
|
+
color: typeof args.options.color !== 'undefined'
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
}, _SpoFolderSetCommand_initOptions = function _SpoFolderSetCommand_initOptions() {
|
|
90
|
+
this.options.unshift({
|
|
91
|
+
option: '-u, --webUrl <webUrl>'
|
|
92
|
+
}, {
|
|
93
|
+
option: '--url <url>'
|
|
94
|
+
}, {
|
|
95
|
+
option: '-n, --name [name]'
|
|
96
|
+
}, {
|
|
97
|
+
option: '--color [color]',
|
|
98
|
+
autocomplete: Object.keys(FolderColorValues)
|
|
99
|
+
});
|
|
100
|
+
}, _SpoFolderSetCommand_initValidators = function _SpoFolderSetCommand_initValidators() {
|
|
101
|
+
this.validators.push(async (args) => {
|
|
102
|
+
const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
|
|
103
|
+
if (isValidSharePointUrl !== true) {
|
|
104
|
+
return isValidSharePointUrl;
|
|
105
|
+
}
|
|
106
|
+
if (args.options.color === undefined && args.options.name === undefined) {
|
|
107
|
+
return `Specify at least one of the options: name or color.`;
|
|
108
|
+
}
|
|
109
|
+
if (args.options.color && !Object.entries(FolderColorValues).flat().includes(args.options.color)) {
|
|
110
|
+
return `'${args.options.color}' is not a valid value for option 'color'. Allowed values are ${Object.keys(FolderColorValues).join(', ')}, ${Object.values(FolderColorValues).join(', ')}.`;
|
|
111
|
+
}
|
|
112
|
+
return true;
|
|
113
|
+
});
|
|
114
|
+
}, _SpoFolderSetCommand_initTypes = function _SpoFolderSetCommand_initTypes() {
|
|
115
|
+
this.types.string.push('webUrl', 'url', 'name', 'color');
|
|
116
|
+
};
|
|
117
|
+
export default new SpoFolderSetCommand();
|
|
118
|
+
//# sourceMappingURL=folder-set.js.map
|
|
@@ -109,14 +109,14 @@ class SpoGroupMemberAddCommand extends SpoCommand {
|
|
|
109
109
|
}
|
|
110
110
|
else if (args.options.entraGroupNames) {
|
|
111
111
|
if (this.verbose) {
|
|
112
|
-
await logger.logToStderr(`Getting ID of
|
|
112
|
+
await logger.logToStderr(`Getting ID of Microsoft Entra group ${trimmedIdentifier}`);
|
|
113
113
|
}
|
|
114
114
|
const groupId = await entraGroup.getGroupIdByDisplayName(trimmedIdentifier);
|
|
115
115
|
validUserNames.push(groupId);
|
|
116
116
|
}
|
|
117
117
|
else {
|
|
118
118
|
if (this.verbose) {
|
|
119
|
-
await logger.logToStderr(`Getting
|
|
119
|
+
await logger.logToStderr(`Getting Microsoft Entra ID for user ${trimmedIdentifier}`);
|
|
120
120
|
}
|
|
121
121
|
const upn = await entraUser.getUserIdByEmail(trimmedIdentifier);
|
|
122
122
|
validUserNames.push(upn);
|
|
@@ -122,7 +122,7 @@ class SpoGroupMemberRemoveCommand extends SpoCommand {
|
|
|
122
122
|
foundGroups = getGroupMemberListOutput.filter((x) => { return x.Title === args.options.entraGroupName && (x.LoginName.indexOf("c:0o.c|federateddirectoryclaimprovider|") === 0 || x.LoginName.indexOf("c:0t.c|tenant|") === 0); });
|
|
123
123
|
}
|
|
124
124
|
if (foundGroups.length === 0) {
|
|
125
|
-
throw `The
|
|
125
|
+
throw `The Microsoft Entra group ${args.options.entraGroupId || args.options.entraGroupName} is not found in SharePoint group ${args.options.groupId || args.options.groupName}`;
|
|
126
126
|
}
|
|
127
127
|
return foundGroups[0].Id;
|
|
128
128
|
}
|
|
@@ -51,10 +51,10 @@ class SpoSiteAppPermissionAddCommand extends GraphCommand {
|
|
|
51
51
|
const response = await request.get(appRequestOptions);
|
|
52
52
|
const appItem = response.value[0];
|
|
53
53
|
if (!appItem) {
|
|
54
|
-
throw "The specified
|
|
54
|
+
throw "The specified Microsoft Entra app does not exist";
|
|
55
55
|
}
|
|
56
56
|
if (response.value.length > 1) {
|
|
57
|
-
throw `Multiple
|
|
57
|
+
throw `Multiple Microsoft Entra apps with displayName ${args.options.appDisplayName} found: ${response.value.map(x => x.appId)}`;
|
|
58
58
|
}
|
|
59
59
|
return {
|
|
60
60
|
appId: appItem.appId,
|
|
@@ -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 _SpoSiteRecycleBinItemRestoreCommand_instances, _SpoSiteRecycleBinItemRestoreCommand_initOptions, _SpoSiteRecycleBinItemRestoreCommand_initValidators;
|
|
6
|
+
var _SpoSiteRecycleBinItemRestoreCommand_instances, _SpoSiteRecycleBinItemRestoreCommand_initOptions, _SpoSiteRecycleBinItemRestoreCommand_initValidators, _SpoSiteRecycleBinItemRestoreCommand_initTypes;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
8
|
import { formatting } from '../../../../utils/formatting.js';
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
@@ -21,43 +21,73 @@ class SpoSiteRecycleBinItemRestoreCommand extends SpoCommand {
|
|
|
21
21
|
_SpoSiteRecycleBinItemRestoreCommand_instances.add(this);
|
|
22
22
|
__classPrivateFieldGet(this, _SpoSiteRecycleBinItemRestoreCommand_instances, "m", _SpoSiteRecycleBinItemRestoreCommand_initOptions).call(this);
|
|
23
23
|
__classPrivateFieldGet(this, _SpoSiteRecycleBinItemRestoreCommand_instances, "m", _SpoSiteRecycleBinItemRestoreCommand_initValidators).call(this);
|
|
24
|
+
__classPrivateFieldGet(this, _SpoSiteRecycleBinItemRestoreCommand_instances, "m", _SpoSiteRecycleBinItemRestoreCommand_initTypes).call(this);
|
|
24
25
|
}
|
|
25
26
|
async commandAction(logger, args) {
|
|
26
27
|
if (this.verbose) {
|
|
27
28
|
await logger.logToStderr(`Restoring items from recycle bin at ${args.options.siteUrl}...`);
|
|
28
29
|
}
|
|
29
|
-
const
|
|
30
|
-
const ids = formatting.splitAndTrim(args.options.ids);
|
|
31
|
-
const idsChunks = [];
|
|
32
|
-
while (ids.length) {
|
|
33
|
-
idsChunks.push(ids.splice(0, 20));
|
|
34
|
-
}
|
|
30
|
+
const baseUrl = `${args.options.siteUrl}/_api`;
|
|
35
31
|
try {
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
32
|
+
if (args.options.ids) {
|
|
33
|
+
const requestUrl = baseUrl + '/site/RecycleBin/RestoreByIds';
|
|
34
|
+
const ids = formatting.splitAndTrim(args.options.ids);
|
|
35
|
+
const idsChunks = [];
|
|
36
|
+
while (ids.length) {
|
|
37
|
+
idsChunks.push(ids.splice(0, 20));
|
|
38
|
+
}
|
|
39
|
+
await Promise.all(idsChunks.map((idsChunk) => {
|
|
40
|
+
const requestOptions = {
|
|
41
|
+
url: requestUrl,
|
|
42
|
+
headers: {
|
|
43
|
+
'accept': 'application/json;odata=nometadata',
|
|
44
|
+
'content-type': 'application/json'
|
|
45
|
+
},
|
|
46
|
+
responseType: 'json',
|
|
47
|
+
data: {
|
|
48
|
+
ids: idsChunk
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
return request.post(requestOptions);
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (args.options.allPrimary && args.options.allSecondary) {
|
|
56
|
+
await this.restoreRecycleBinStage(baseUrl + '/site/RecycleBin/RestoreAll');
|
|
57
|
+
}
|
|
58
|
+
else if (args.options.allPrimary) {
|
|
59
|
+
await this.restoreRecycleBinStage(baseUrl + '/web/RecycleBin/RestoreAll');
|
|
60
|
+
}
|
|
61
|
+
else if (args.options.allSecondary) {
|
|
62
|
+
await this.restoreRecycleBinStage(baseUrl + '/site/GetRecycleBinItems(rowLimit=2000000000,itemState=2)/RestoreAll');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
50
65
|
}
|
|
51
66
|
catch (err) {
|
|
52
67
|
this.handleRejectedODataJsonPromise(err);
|
|
53
68
|
}
|
|
54
69
|
}
|
|
70
|
+
async restoreRecycleBinStage(requestUrl) {
|
|
71
|
+
const requestOptions = {
|
|
72
|
+
url: requestUrl,
|
|
73
|
+
headers: {
|
|
74
|
+
accept: 'application/json;odata=nometadata',
|
|
75
|
+
'content-type': 'application/json'
|
|
76
|
+
},
|
|
77
|
+
responseType: 'json'
|
|
78
|
+
};
|
|
79
|
+
return request.post(requestOptions);
|
|
80
|
+
}
|
|
55
81
|
}
|
|
56
82
|
_SpoSiteRecycleBinItemRestoreCommand_instances = new WeakSet(), _SpoSiteRecycleBinItemRestoreCommand_initOptions = function _SpoSiteRecycleBinItemRestoreCommand_initOptions() {
|
|
57
83
|
this.options.unshift({
|
|
58
84
|
option: '-u, --siteUrl <siteUrl>'
|
|
59
85
|
}, {
|
|
60
|
-
option: '-i, --ids
|
|
86
|
+
option: '-i, --ids [ids]'
|
|
87
|
+
}, {
|
|
88
|
+
option: '--allPrimary'
|
|
89
|
+
}, {
|
|
90
|
+
option: '--allSecondary'
|
|
61
91
|
});
|
|
62
92
|
}, _SpoSiteRecycleBinItemRestoreCommand_initValidators = function _SpoSiteRecycleBinItemRestoreCommand_initValidators() {
|
|
63
93
|
this.validators.push(async (args) => {
|
|
@@ -65,14 +95,23 @@ _SpoSiteRecycleBinItemRestoreCommand_instances = new WeakSet(), _SpoSiteRecycleB
|
|
|
65
95
|
if (isValidSharePointUrl !== true) {
|
|
66
96
|
return isValidSharePointUrl;
|
|
67
97
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
98
|
+
if (args.options.ids) {
|
|
99
|
+
const invalidIds = formatting
|
|
100
|
+
.splitAndTrim(args.options.ids)
|
|
101
|
+
.filter(id => !validation.isValidGuid(id));
|
|
102
|
+
if (invalidIds.length > 0) {
|
|
103
|
+
return `The following IDs are invalid: ${invalidIds.join(', ')}`;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if ((!args.options.ids && !args.options.allPrimary && !args.options.allSecondary)
|
|
107
|
+
|| (args.options.ids && (args.options.allPrimary || args.options.allSecondary))) {
|
|
108
|
+
return `Option 'ids' cannot be used with 'allPrimary' or 'allSecondary'.`;
|
|
73
109
|
}
|
|
74
110
|
return true;
|
|
75
111
|
});
|
|
112
|
+
}, _SpoSiteRecycleBinItemRestoreCommand_initTypes = function _SpoSiteRecycleBinItemRestoreCommand_initTypes() {
|
|
113
|
+
this.types.string.push('siteUrl', 'ids');
|
|
114
|
+
this.types.boolean.push('allPrimary', 'allSecondary');
|
|
76
115
|
};
|
|
77
116
|
export default new SpoSiteRecycleBinItemRestoreCommand();
|
|
78
117
|
//# sourceMappingURL=site-recyclebinitem-restore.js.map
|
|
@@ -89,7 +89,7 @@ class SpoTenantSettingsSetCommand extends SpoCommand {
|
|
|
89
89
|
throw response.ErrorInfo.ErrorMessage;
|
|
90
90
|
}
|
|
91
91
|
if (args.options.EnableAzureADB2BIntegration === true) {
|
|
92
|
-
await this.warn(logger, 'WARNING: Make sure to also enable the
|
|
92
|
+
await this.warn(logger, 'WARNING: Make sure to also enable the Microsoft Entra one-time passcode authentication preview. If it is not enabled then SharePoint will not use Microsoft Entra B2B even if EnableAzureADB2BIntegration is set to true. Learn more at http://aka.ms/spo-b2b-integration.');
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
catch (err) {
|
|
@@ -91,6 +91,7 @@ export default {
|
|
|
91
91
|
FOLDER_MOVE: `${prefix} folder move`,
|
|
92
92
|
FOLDER_REMOVE: `${prefix} folder remove`,
|
|
93
93
|
FOLDER_RENAME: `${prefix} folder rename`,
|
|
94
|
+
FOLDER_SET: `${prefix} folder set`,
|
|
94
95
|
FOLDER_RETENTIONLABEL_ENSURE: `${prefix} folder retentionlabel ensure`,
|
|
95
96
|
FOLDER_RETENTIONLABEL_REMOVE: `${prefix} folder retentionlabel remove`,
|
|
96
97
|
FOLDER_ROLEASSIGNMENT_REMOVE: `${prefix} folder roleassignment remove`,
|
|
@@ -78,7 +78,7 @@ class TeamsTabGetCommand extends GraphCommand {
|
|
|
78
78
|
this.teamId = await this.getTeamId(args);
|
|
79
79
|
this.channelId = await this.getChannelId(args);
|
|
80
80
|
const tabId = await this.getTabId(args);
|
|
81
|
-
const endpoint = `${this.resource}/v1.0/teams/${formatting.encodeQueryParameter(this.teamId)}/channels/${formatting.encodeQueryParameter(this.channelId)}/tabs/${formatting.encodeQueryParameter(tabId)}`;
|
|
81
|
+
const endpoint = `${this.resource}/v1.0/teams/${formatting.encodeQueryParameter(this.teamId)}/channels/${formatting.encodeQueryParameter(this.channelId)}/tabs/${formatting.encodeQueryParameter(tabId)}?$expand=teamsApp`;
|
|
82
82
|
const requestOptions = {
|
|
83
83
|
url: endpoint,
|
|
84
84
|
headers: {
|
package/dist/utils/spo.js
CHANGED