@pnp/cli-microsoft365 7.4.0-beta.4388d3c → 7.4.0-beta.4a1036f
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.cjs +6 -0
- package/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/Auth.js +2 -1
- package/dist/appInsights.js +2 -0
- package/dist/cli/cli.js +1 -0
- package/dist/m365/entra/aadCommands.js +1 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-roleassignment-add.js +102 -0
- package/dist/m365/entra/commands.js +1 -0
- package/dist/m365/external/commands/connection/connection-urltoitemresolver-add.js +69 -0
- package/dist/m365/external/commands.js +1 -0
- package/dist/m365/flow/commands/run/run-get.js +52 -13
- package/dist/m365/spo/commands/file/file-add.js +12 -8
- package/dist/m365/spo/commands/file/file-checkin.js +4 -1
- package/dist/m365/spo/commands/file/file-checkout-undo.js +5 -1
- package/dist/m365/spo/commands/file/file-checkout.js +4 -1
- package/dist/m365/spo/commands/file/file-copy.js +5 -1
- package/dist/m365/spo/commands/file/file-get.js +5 -1
- package/dist/m365/spo/commands/file/file-list.js +5 -1
- package/dist/m365/spo/commands/file/file-move.js +5 -1
- package/dist/m365/spo/commands/file/file-remove.js +5 -1
- package/dist/m365/spo/commands/file/file-rename.js +5 -1
- package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +4 -1
- package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +5 -1
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +4 -1
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +5 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +5 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +5 -1
- package/dist/m365/spo/commands/file/file-sharinginfo-get.js +6 -3
- package/dist/m365/spo/commands/file/file-sharinglink-add.js +4 -1
- package/dist/m365/spo/commands/file/file-sharinglink-clear.js +5 -1
- package/dist/m365/spo/commands/file/file-sharinglink-get.js +4 -1
- package/dist/m365/spo/commands/file/file-sharinglink-list.js +4 -1
- package/dist/m365/spo/commands/file/file-sharinglink-remove.js +5 -1
- package/dist/m365/spo/commands/file/file-sharinglink-set.js +4 -1
- package/dist/m365/spo/commands/file/file-version-clear.js +6 -2
- package/dist/m365/spo/commands/file/file-version-get.js +1 -1
- package/dist/m365/spo/commands/file/file-version-list.js +4 -1
- package/dist/m365/spo/commands/file/file-version-remove.js +2 -1
- package/dist/m365/spo/commands/file/file-version-restore.js +2 -1
- package/dist/m365/spo/commands/folder/folder-add.js +4 -1
- package/dist/m365/spo/commands/folder/folder-copy.js +5 -1
- package/dist/m365/spo/commands/folder/folder-get.js +4 -1
- package/dist/m365/spo/commands/folder/folder-list.js +6 -2
- package/dist/m365/spo/commands/folder/folder-move.js +5 -1
- package/dist/m365/spo/commands/folder/folder-remove.js +5 -1
- package/dist/m365/spo/commands/folder/folder-rename.js +4 -1
- package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +4 -1
- package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +5 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +4 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +6 -2
- package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +5 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +5 -1
- package/dist/m365/spo/commands/group/group-member-add.js +21 -4
- package/dist/m365/spo/commands/group/group-member-remove.js +27 -10
- package/dist/m365/spo/commands/user/user-ensure.js +16 -6
- package/dist/m365/teams/commands/user/user-app-add.js +35 -3
- package/dist/request.js +16 -0
- package/dist/utils/md.js +2 -2
- package/dist/utils/roleAssignment.js +42 -0
- package/dist/utils/roleDefinition.js +24 -0
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-roleassignment-add.mdx +116 -0
- package/docs/docs/cmd/external/connection/connection-urltoitemresolver-add.mdx +47 -0
- package/docs/docs/cmd/flow/run/run-get.mdx +167 -4
- package/docs/docs/cmd/spo/group/group-member-add.mdx +19 -7
- package/docs/docs/cmd/spo/group/group-member-remove.mdx +12 -6
- package/docs/docs/cmd/spo/user/user-ensure.mdx +8 -5
- package/docs/docs/cmd/teams/user/user-app-add.mdx +8 -5
- package/npm-shrinkwrap.json +180 -418
- package/package.json +8 -8
|
@@ -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 _SpoFolderRemoveCommand_instances, _SpoFolderRemoveCommand_initTelemetry, _SpoFolderRemoveCommand_initOptions, _SpoFolderRemoveCommand_initValidators;
|
|
6
|
+
var _SpoFolderRemoveCommand_instances, _SpoFolderRemoveCommand_initTelemetry, _SpoFolderRemoveCommand_initOptions, _SpoFolderRemoveCommand_initValidators, _SpoFolderRemoveCommand_initTypes;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
@@ -24,6 +24,7 @@ class SpoFolderRemoveCommand extends SpoCommand {
|
|
|
24
24
|
__classPrivateFieldGet(this, _SpoFolderRemoveCommand_instances, "m", _SpoFolderRemoveCommand_initTelemetry).call(this);
|
|
25
25
|
__classPrivateFieldGet(this, _SpoFolderRemoveCommand_instances, "m", _SpoFolderRemoveCommand_initOptions).call(this);
|
|
26
26
|
__classPrivateFieldGet(this, _SpoFolderRemoveCommand_instances, "m", _SpoFolderRemoveCommand_initValidators).call(this);
|
|
27
|
+
__classPrivateFieldGet(this, _SpoFolderRemoveCommand_instances, "m", _SpoFolderRemoveCommand_initTypes).call(this);
|
|
27
28
|
}
|
|
28
29
|
getExcludedOptionsWithUrls() {
|
|
29
30
|
return ['url'];
|
|
@@ -85,6 +86,9 @@ _SpoFolderRemoveCommand_instances = new WeakSet(), _SpoFolderRemoveCommand_initT
|
|
|
85
86
|
});
|
|
86
87
|
}, _SpoFolderRemoveCommand_initValidators = function _SpoFolderRemoveCommand_initValidators() {
|
|
87
88
|
this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.webUrl));
|
|
89
|
+
}, _SpoFolderRemoveCommand_initTypes = function _SpoFolderRemoveCommand_initTypes() {
|
|
90
|
+
this.types.string.push('webUrl', 'url');
|
|
91
|
+
this.types.boolean.push('recycle', 'force');
|
|
88
92
|
};
|
|
89
93
|
export default new SpoFolderRemoveCommand();
|
|
90
94
|
//# sourceMappingURL=folder-remove.js.map
|
|
@@ -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 _SpoFolderRenameCommand_instances, _SpoFolderRenameCommand_initOptions, _SpoFolderRenameCommand_initValidators;
|
|
6
|
+
var _SpoFolderRenameCommand_instances, _SpoFolderRenameCommand_initOptions, _SpoFolderRenameCommand_initValidators, _SpoFolderRenameCommand_initTypes;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
8
|
import { formatting } from '../../../../utils/formatting.js';
|
|
9
9
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
@@ -22,6 +22,7 @@ class SpoFolderRenameCommand extends SpoCommand {
|
|
|
22
22
|
_SpoFolderRenameCommand_instances.add(this);
|
|
23
23
|
__classPrivateFieldGet(this, _SpoFolderRenameCommand_instances, "m", _SpoFolderRenameCommand_initOptions).call(this);
|
|
24
24
|
__classPrivateFieldGet(this, _SpoFolderRenameCommand_instances, "m", _SpoFolderRenameCommand_initValidators).call(this);
|
|
25
|
+
__classPrivateFieldGet(this, _SpoFolderRenameCommand_instances, "m", _SpoFolderRenameCommand_initTypes).call(this);
|
|
25
26
|
}
|
|
26
27
|
getExcludedOptionsWithUrls() {
|
|
27
28
|
return ['url'];
|
|
@@ -64,6 +65,8 @@ _SpoFolderRenameCommand_instances = new WeakSet(), _SpoFolderRenameCommand_initO
|
|
|
64
65
|
});
|
|
65
66
|
}, _SpoFolderRenameCommand_initValidators = function _SpoFolderRenameCommand_initValidators() {
|
|
66
67
|
this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.webUrl));
|
|
68
|
+
}, _SpoFolderRenameCommand_initTypes = function _SpoFolderRenameCommand_initTypes() {
|
|
69
|
+
this.types.string.push('webUrl', 'url', 'name');
|
|
67
70
|
};
|
|
68
71
|
export default new SpoFolderRenameCommand();
|
|
69
72
|
//# sourceMappingURL=folder-rename.js.map
|
|
@@ -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 _SpoFolderRetentionLabelEnsureCommand_instances, _SpoFolderRetentionLabelEnsureCommand_initTelemetry, _SpoFolderRetentionLabelEnsureCommand_initOptions, _SpoFolderRetentionLabelEnsureCommand_initValidators, _SpoFolderRetentionLabelEnsureCommand_initOptionSets;
|
|
6
|
+
var _SpoFolderRetentionLabelEnsureCommand_instances, _SpoFolderRetentionLabelEnsureCommand_initTelemetry, _SpoFolderRetentionLabelEnsureCommand_initOptions, _SpoFolderRetentionLabelEnsureCommand_initValidators, _SpoFolderRetentionLabelEnsureCommand_initOptionSets, _SpoFolderRetentionLabelEnsureCommand_initTypes;
|
|
7
7
|
import * as url from 'url';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
@@ -26,6 +26,7 @@ class SpoFolderRetentionLabelEnsureCommand extends SpoCommand {
|
|
|
26
26
|
__classPrivateFieldGet(this, _SpoFolderRetentionLabelEnsureCommand_instances, "m", _SpoFolderRetentionLabelEnsureCommand_initOptions).call(this);
|
|
27
27
|
__classPrivateFieldGet(this, _SpoFolderRetentionLabelEnsureCommand_instances, "m", _SpoFolderRetentionLabelEnsureCommand_initValidators).call(this);
|
|
28
28
|
__classPrivateFieldGet(this, _SpoFolderRetentionLabelEnsureCommand_instances, "m", _SpoFolderRetentionLabelEnsureCommand_initOptionSets).call(this);
|
|
29
|
+
__classPrivateFieldGet(this, _SpoFolderRetentionLabelEnsureCommand_instances, "m", _SpoFolderRetentionLabelEnsureCommand_initTypes).call(this);
|
|
29
30
|
}
|
|
30
31
|
async commandAction(logger, args) {
|
|
31
32
|
try {
|
|
@@ -98,6 +99,8 @@ _SpoFolderRetentionLabelEnsureCommand_instances = new WeakSet(), _SpoFolderReten
|
|
|
98
99
|
});
|
|
99
100
|
}, _SpoFolderRetentionLabelEnsureCommand_initOptionSets = function _SpoFolderRetentionLabelEnsureCommand_initOptionSets() {
|
|
100
101
|
this.optionSets.push({ options: ['folderUrl', 'folderId'] });
|
|
102
|
+
}, _SpoFolderRetentionLabelEnsureCommand_initTypes = function _SpoFolderRetentionLabelEnsureCommand_initTypes() {
|
|
103
|
+
this.types.string.push('webUrl', 'name', 'folderUrl', 'folderId');
|
|
101
104
|
};
|
|
102
105
|
export default new SpoFolderRetentionLabelEnsureCommand();
|
|
103
106
|
//# sourceMappingURL=folder-retentionlabel-ensure.js.map
|
|
@@ -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 _SpoFolderRetentionLabelRemoveCommand_instances, _SpoFolderRetentionLabelRemoveCommand_initTelemetry, _SpoFolderRetentionLabelRemoveCommand_initOptions, _SpoFolderRetentionLabelRemoveCommand_initValidators, _SpoFolderRetentionLabelRemoveCommand_initOptionSets;
|
|
6
|
+
var _SpoFolderRetentionLabelRemoveCommand_instances, _SpoFolderRetentionLabelRemoveCommand_initTelemetry, _SpoFolderRetentionLabelRemoveCommand_initOptions, _SpoFolderRetentionLabelRemoveCommand_initValidators, _SpoFolderRetentionLabelRemoveCommand_initOptionSets, _SpoFolderRetentionLabelRemoveCommand_initTypes;
|
|
7
7
|
import * as url from 'url';
|
|
8
8
|
import { cli } from '../../../../cli/cli.js';
|
|
9
9
|
import request from '../../../../request.js';
|
|
@@ -27,6 +27,7 @@ class SpoFolderRetentionLabelRemoveCommand extends SpoCommand {
|
|
|
27
27
|
__classPrivateFieldGet(this, _SpoFolderRetentionLabelRemoveCommand_instances, "m", _SpoFolderRetentionLabelRemoveCommand_initOptions).call(this);
|
|
28
28
|
__classPrivateFieldGet(this, _SpoFolderRetentionLabelRemoveCommand_instances, "m", _SpoFolderRetentionLabelRemoveCommand_initValidators).call(this);
|
|
29
29
|
__classPrivateFieldGet(this, _SpoFolderRetentionLabelRemoveCommand_instances, "m", _SpoFolderRetentionLabelRemoveCommand_initOptionSets).call(this);
|
|
30
|
+
__classPrivateFieldGet(this, _SpoFolderRetentionLabelRemoveCommand_instances, "m", _SpoFolderRetentionLabelRemoveCommand_initTypes).call(this);
|
|
30
31
|
}
|
|
31
32
|
async commandAction(logger, args) {
|
|
32
33
|
if (args.options.force) {
|
|
@@ -111,6 +112,9 @@ _SpoFolderRetentionLabelRemoveCommand_instances = new WeakSet(), _SpoFolderReten
|
|
|
111
112
|
});
|
|
112
113
|
}, _SpoFolderRetentionLabelRemoveCommand_initOptionSets = function _SpoFolderRetentionLabelRemoveCommand_initOptionSets() {
|
|
113
114
|
this.optionSets.push({ options: ['folderUrl', 'folderId'] });
|
|
115
|
+
}, _SpoFolderRetentionLabelRemoveCommand_initTypes = function _SpoFolderRetentionLabelRemoveCommand_initTypes() {
|
|
116
|
+
this.types.string.push('webUrl', 'folderUrl', 'folderId');
|
|
117
|
+
this.types.boolean.push('force');
|
|
114
118
|
};
|
|
115
119
|
export default new SpoFolderRetentionLabelRemoveCommand();
|
|
116
120
|
//# sourceMappingURL=folder-retentionlabel-remove.js.map
|
|
@@ -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 _SpoFolderRoleAssignmentAddCommand_instances, _SpoFolderRoleAssignmentAddCommand_initTelemetry, _SpoFolderRoleAssignmentAddCommand_initOptions, _SpoFolderRoleAssignmentAddCommand_initValidators;
|
|
6
|
+
var _SpoFolderRoleAssignmentAddCommand_instances, _SpoFolderRoleAssignmentAddCommand_initTelemetry, _SpoFolderRoleAssignmentAddCommand_initOptions, _SpoFolderRoleAssignmentAddCommand_initValidators, _SpoFolderRoleAssignmentAddCommand_initTypes;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
@@ -27,6 +27,7 @@ class SpoFolderRoleAssignmentAddCommand extends SpoCommand {
|
|
|
27
27
|
__classPrivateFieldGet(this, _SpoFolderRoleAssignmentAddCommand_instances, "m", _SpoFolderRoleAssignmentAddCommand_initTelemetry).call(this);
|
|
28
28
|
__classPrivateFieldGet(this, _SpoFolderRoleAssignmentAddCommand_instances, "m", _SpoFolderRoleAssignmentAddCommand_initOptions).call(this);
|
|
29
29
|
__classPrivateFieldGet(this, _SpoFolderRoleAssignmentAddCommand_instances, "m", _SpoFolderRoleAssignmentAddCommand_initValidators).call(this);
|
|
30
|
+
__classPrivateFieldGet(this, _SpoFolderRoleAssignmentAddCommand_instances, "m", _SpoFolderRoleAssignmentAddCommand_initTypes).call(this);
|
|
30
31
|
}
|
|
31
32
|
async commandAction(logger, args) {
|
|
32
33
|
if (this.verbose) {
|
|
@@ -187,6 +188,8 @@ _SpoFolderRoleAssignmentAddCommand_instances = new WeakSet(), _SpoFolderRoleAssi
|
|
|
187
188
|
}
|
|
188
189
|
return true;
|
|
189
190
|
});
|
|
191
|
+
}, _SpoFolderRoleAssignmentAddCommand_initTypes = function _SpoFolderRoleAssignmentAddCommand_initTypes() {
|
|
192
|
+
this.types.string.push('webUrl', 'folderUrl', 'upn', 'groupName', 'roleDefinitionName');
|
|
190
193
|
};
|
|
191
194
|
export default new SpoFolderRoleAssignmentAddCommand();
|
|
192
195
|
//# sourceMappingURL=folder-roleassignment-add.js.map
|
|
@@ -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 _SpoFolderRoleAssignmentRemoveCommand_instances, _SpoFolderRoleAssignmentRemoveCommand_initTelemetry, _SpoFolderRoleAssignmentRemoveCommand_initOptions, _SpoFolderRoleAssignmentRemoveCommand_initValidators;
|
|
6
|
+
var _SpoFolderRoleAssignmentRemoveCommand_instances, _SpoFolderRoleAssignmentRemoveCommand_initTelemetry, _SpoFolderRoleAssignmentRemoveCommand_initOptions, _SpoFolderRoleAssignmentRemoveCommand_initValidators, _SpoFolderRoleAssignmentRemoveCommand_initTypes;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
@@ -26,6 +26,7 @@ class SpoFolderRoleAssignmentRemoveCommand extends SpoCommand {
|
|
|
26
26
|
__classPrivateFieldGet(this, _SpoFolderRoleAssignmentRemoveCommand_instances, "m", _SpoFolderRoleAssignmentRemoveCommand_initTelemetry).call(this);
|
|
27
27
|
__classPrivateFieldGet(this, _SpoFolderRoleAssignmentRemoveCommand_instances, "m", _SpoFolderRoleAssignmentRemoveCommand_initOptions).call(this);
|
|
28
28
|
__classPrivateFieldGet(this, _SpoFolderRoleAssignmentRemoveCommand_instances, "m", _SpoFolderRoleAssignmentRemoveCommand_initValidators).call(this);
|
|
29
|
+
__classPrivateFieldGet(this, _SpoFolderRoleAssignmentRemoveCommand_instances, "m", _SpoFolderRoleAssignmentRemoveCommand_initTypes).call(this);
|
|
29
30
|
}
|
|
30
31
|
async commandAction(logger, args) {
|
|
31
32
|
const removeRoleAssignment = async () => {
|
|
@@ -105,7 +106,7 @@ _SpoFolderRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoFolderRoleA
|
|
|
105
106
|
principalId: typeof args.options.principalId !== 'undefined',
|
|
106
107
|
upn: typeof args.options.upn !== 'undefined',
|
|
107
108
|
groupName: typeof args.options.groupName !== 'undefined',
|
|
108
|
-
force:
|
|
109
|
+
force: !!args.options.force
|
|
109
110
|
});
|
|
110
111
|
});
|
|
111
112
|
}, _SpoFolderRoleAssignmentRemoveCommand_initOptions = function _SpoFolderRoleAssignmentRemoveCommand_initOptions() {
|
|
@@ -140,6 +141,9 @@ _SpoFolderRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoFolderRoleA
|
|
|
140
141
|
}
|
|
141
142
|
return true;
|
|
142
143
|
});
|
|
144
|
+
}, _SpoFolderRoleAssignmentRemoveCommand_initTypes = function _SpoFolderRoleAssignmentRemoveCommand_initTypes() {
|
|
145
|
+
this.types.string.push('webUrl', 'folderUrl', 'upn', 'groupName');
|
|
146
|
+
this.types.boolean.push('force');
|
|
143
147
|
};
|
|
144
148
|
export default new SpoFolderRoleAssignmentRemoveCommand();
|
|
145
149
|
//# sourceMappingURL=folder-roleassignment-remove.js.map
|
|
@@ -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 _SpoFolderRoleInheritanceBreakCommand_instances, _SpoFolderRoleInheritanceBreakCommand_initTelemetry, _SpoFolderRoleInheritanceBreakCommand_initOptions, _SpoFolderRoleInheritanceBreakCommand_initValidators;
|
|
6
|
+
var _SpoFolderRoleInheritanceBreakCommand_instances, _SpoFolderRoleInheritanceBreakCommand_initTelemetry, _SpoFolderRoleInheritanceBreakCommand_initOptions, _SpoFolderRoleInheritanceBreakCommand_initValidators, _SpoFolderRoleInheritanceBreakCommand_initTypes;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
@@ -24,6 +24,7 @@ class SpoFolderRoleInheritanceBreakCommand extends SpoCommand {
|
|
|
24
24
|
__classPrivateFieldGet(this, _SpoFolderRoleInheritanceBreakCommand_instances, "m", _SpoFolderRoleInheritanceBreakCommand_initTelemetry).call(this);
|
|
25
25
|
__classPrivateFieldGet(this, _SpoFolderRoleInheritanceBreakCommand_instances, "m", _SpoFolderRoleInheritanceBreakCommand_initOptions).call(this);
|
|
26
26
|
__classPrivateFieldGet(this, _SpoFolderRoleInheritanceBreakCommand_instances, "m", _SpoFolderRoleInheritanceBreakCommand_initValidators).call(this);
|
|
27
|
+
__classPrivateFieldGet(this, _SpoFolderRoleInheritanceBreakCommand_instances, "m", _SpoFolderRoleInheritanceBreakCommand_initTypes).call(this);
|
|
27
28
|
}
|
|
28
29
|
async commandAction(logger, args) {
|
|
29
30
|
const keepExistingPermissions = !args.options.clearExistingPermissions;
|
|
@@ -81,6 +82,9 @@ _SpoFolderRoleInheritanceBreakCommand_instances = new WeakSet(), _SpoFolderRoleI
|
|
|
81
82
|
});
|
|
82
83
|
}, _SpoFolderRoleInheritanceBreakCommand_initValidators = function _SpoFolderRoleInheritanceBreakCommand_initValidators() {
|
|
83
84
|
this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.webUrl));
|
|
85
|
+
}, _SpoFolderRoleInheritanceBreakCommand_initTypes = function _SpoFolderRoleInheritanceBreakCommand_initTypes() {
|
|
86
|
+
this.types.string.push('webUrl', 'folderUrl');
|
|
87
|
+
this.types.boolean.push('clearExistingPermissions', 'force');
|
|
84
88
|
};
|
|
85
89
|
export default new SpoFolderRoleInheritanceBreakCommand();
|
|
86
90
|
//# sourceMappingURL=folder-roleinheritance-break.js.map
|
|
@@ -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 _SpoFolderRoleInheritanceResetCommand_instances, _SpoFolderRoleInheritanceResetCommand_initTelemetry, _SpoFolderRoleInheritanceResetCommand_initOptions, _SpoFolderRoleInheritanceResetCommand_initValidators;
|
|
6
|
+
var _SpoFolderRoleInheritanceResetCommand_instances, _SpoFolderRoleInheritanceResetCommand_initTelemetry, _SpoFolderRoleInheritanceResetCommand_initOptions, _SpoFolderRoleInheritanceResetCommand_initValidators, _SpoFolderRoleInheritanceResetCommand_initTypes;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
@@ -24,6 +24,7 @@ class SpoFolderRoleInheritanceResetCommand extends SpoCommand {
|
|
|
24
24
|
__classPrivateFieldGet(this, _SpoFolderRoleInheritanceResetCommand_instances, "m", _SpoFolderRoleInheritanceResetCommand_initTelemetry).call(this);
|
|
25
25
|
__classPrivateFieldGet(this, _SpoFolderRoleInheritanceResetCommand_instances, "m", _SpoFolderRoleInheritanceResetCommand_initOptions).call(this);
|
|
26
26
|
__classPrivateFieldGet(this, _SpoFolderRoleInheritanceResetCommand_instances, "m", _SpoFolderRoleInheritanceResetCommand_initValidators).call(this);
|
|
27
|
+
__classPrivateFieldGet(this, _SpoFolderRoleInheritanceResetCommand_instances, "m", _SpoFolderRoleInheritanceResetCommand_initTypes).call(this);
|
|
27
28
|
}
|
|
28
29
|
async commandAction(logger, args) {
|
|
29
30
|
const serverRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
|
|
@@ -77,6 +78,9 @@ _SpoFolderRoleInheritanceResetCommand_instances = new WeakSet(), _SpoFolderRoleI
|
|
|
77
78
|
});
|
|
78
79
|
}, _SpoFolderRoleInheritanceResetCommand_initValidators = function _SpoFolderRoleInheritanceResetCommand_initValidators() {
|
|
79
80
|
this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.webUrl));
|
|
81
|
+
}, _SpoFolderRoleInheritanceResetCommand_initTypes = function _SpoFolderRoleInheritanceResetCommand_initTypes() {
|
|
82
|
+
this.types.string.push('webUrl', 'folderUrl');
|
|
83
|
+
this.types.boolean.push('force');
|
|
80
84
|
};
|
|
81
85
|
export default new SpoFolderRoleInheritanceResetCommand();
|
|
82
86
|
//# sourceMappingURL=folder-roleinheritance-reset.js.map
|
|
@@ -32,6 +32,14 @@ class SpoGroupMemberAddCommand extends SpoCommand {
|
|
|
32
32
|
}
|
|
33
33
|
async commandAction(logger, args) {
|
|
34
34
|
try {
|
|
35
|
+
if (args.options.aadGroupIds) {
|
|
36
|
+
args.options.entraGroupIds = args.options.aadGroupIds;
|
|
37
|
+
this.warn(logger, `Option 'aadGroupIds' is deprecated. Please use 'entraGroupIds' instead`);
|
|
38
|
+
}
|
|
39
|
+
if (args.options.aadGroupNames) {
|
|
40
|
+
args.options.entraGroupNames = args.options.aadGroupNames;
|
|
41
|
+
this.warn(logger, `Option 'aadGroupNames' is deprecated. Please use 'entraGroupNames' instead`);
|
|
42
|
+
}
|
|
35
43
|
const groupId = await this.getGroupId(args, logger);
|
|
36
44
|
const resolvedUsernameList = await this.getValidUsers(args, logger);
|
|
37
45
|
if (this.verbose) {
|
|
@@ -82,7 +90,7 @@ class SpoGroupMemberAddCommand extends SpoCommand {
|
|
|
82
90
|
await logger.logToStderr('Checking if the specified users and groups exist');
|
|
83
91
|
}
|
|
84
92
|
const validUserNames = [];
|
|
85
|
-
const identifiers = args.options.userNames ?? args.options.emails ?? args.options.
|
|
93
|
+
const identifiers = args.options.userNames ?? args.options.emails ?? args.options.entraGroupIds ?? args.options.entraGroupNames ?? args.options.userIds.toString();
|
|
86
94
|
await Promise.all(identifiers.split(',').map(async (identifier) => {
|
|
87
95
|
const trimmedIdentifier = identifier.trim();
|
|
88
96
|
try {
|
|
@@ -96,10 +104,10 @@ class SpoGroupMemberAddCommand extends SpoCommand {
|
|
|
96
104
|
else if (args.options.userNames) {
|
|
97
105
|
validUserNames.push(trimmedIdentifier);
|
|
98
106
|
}
|
|
99
|
-
else if (args.options.
|
|
107
|
+
else if (args.options.entraGroupIds) {
|
|
100
108
|
validUserNames.push(trimmedIdentifier);
|
|
101
109
|
}
|
|
102
|
-
else if (args.options.
|
|
110
|
+
else if (args.options.entraGroupNames) {
|
|
103
111
|
if (this.verbose) {
|
|
104
112
|
await logger.logToStderr(`Getting ID of Azure AD group ${trimmedIdentifier}`);
|
|
105
113
|
}
|
|
@@ -135,7 +143,9 @@ _SpoGroupMemberAddCommand_instances = new WeakSet(), _SpoGroupMemberAddCommand_i
|
|
|
135
143
|
userNames: typeof args.options.userNames !== 'undefined',
|
|
136
144
|
emails: typeof args.options.emails !== 'undefined',
|
|
137
145
|
userIds: typeof args.options.userIds !== 'undefined',
|
|
146
|
+
entraGroupIds: typeof args.options.entraGroupIds !== 'undefined',
|
|
138
147
|
aadGroupIds: typeof args.options.aadGroupIds !== 'undefined',
|
|
148
|
+
entraGroupNames: typeof args.options.entraGroupNames !== 'undefined',
|
|
139
149
|
aadGroupNames: typeof args.options.aadGroupNames !== 'undefined'
|
|
140
150
|
});
|
|
141
151
|
});
|
|
@@ -152,8 +162,12 @@ _SpoGroupMemberAddCommand_instances = new WeakSet(), _SpoGroupMemberAddCommand_i
|
|
|
152
162
|
option: '--emails [emails]'
|
|
153
163
|
}, {
|
|
154
164
|
option: '--userIds [userIds]'
|
|
165
|
+
}, {
|
|
166
|
+
option: '--entraGroupIds [entraGroupIds]'
|
|
155
167
|
}, {
|
|
156
168
|
option: '--aadGroupIds [aadGroupIds]'
|
|
169
|
+
}, {
|
|
170
|
+
option: '--entraGroupNames [entraGroupNames]'
|
|
157
171
|
}, {
|
|
158
172
|
option: '--aadGroupNames [aadGroupNames]'
|
|
159
173
|
});
|
|
@@ -176,13 +190,16 @@ _SpoGroupMemberAddCommand_instances = new WeakSet(), _SpoGroupMemberAddCommand_i
|
|
|
176
190
|
if (args.options.emails && args.options.emails.split(',').some(e => !validation.isValidUserPrincipalName(e))) {
|
|
177
191
|
return `${args.options.emails} contains one or more invalid email addresses`;
|
|
178
192
|
}
|
|
193
|
+
if (args.options.entraGroupIds && args.options.entraGroupIds.split(',').some(e => !validation.isValidGuid(e))) {
|
|
194
|
+
return `${args.options.entraGroupIds} contains one or more invalid GUIDs`;
|
|
195
|
+
}
|
|
179
196
|
if (args.options.aadGroupIds && args.options.aadGroupIds.split(',').some(e => !validation.isValidGuid(e))) {
|
|
180
197
|
return `${args.options.aadGroupIds} contains one or more invalid GUIDs`;
|
|
181
198
|
}
|
|
182
199
|
return true;
|
|
183
200
|
});
|
|
184
201
|
}, _SpoGroupMemberAddCommand_initOptionSets = function _SpoGroupMemberAddCommand_initOptionSets() {
|
|
185
|
-
this.optionSets.push({ options: ['groupId', 'groupName'] }, { options: ['userNames', 'emails', 'userIds', 'aadGroupIds', 'aadGroupNames'] });
|
|
202
|
+
this.optionSets.push({ options: ['groupId', 'groupName'] }, { options: ['userNames', 'emails', 'userIds', 'entraGroupIds', 'aadGroupIds', 'entraGroupNames', 'aadGroupNames'] });
|
|
186
203
|
};
|
|
187
204
|
export default new SpoGroupMemberAddCommand();
|
|
188
205
|
//# sourceMappingURL=group-member-add.js.map
|
|
@@ -45,6 +45,14 @@ class SpoGroupMemberRemoveCommand extends SpoCommand {
|
|
|
45
45
|
return userOutput.userPrincipalName;
|
|
46
46
|
}
|
|
47
47
|
async commandAction(logger, args) {
|
|
48
|
+
if (args.options.aadGroupId) {
|
|
49
|
+
args.options.entraGroupId = args.options.aadGroupId;
|
|
50
|
+
this.warn(logger, `Option 'aadGroupId' is deprecated. Please use 'entraGroupId' instead`);
|
|
51
|
+
}
|
|
52
|
+
if (args.options.aadGroupName) {
|
|
53
|
+
args.options.entraGroupName = args.options.aadGroupName;
|
|
54
|
+
this.warn(logger, `Option 'aadGroupName' is deprecated. Please use 'entraGroupName' instead`);
|
|
55
|
+
}
|
|
48
56
|
if (args.options.force) {
|
|
49
57
|
if (this.debug) {
|
|
50
58
|
await logger.logToStderr('Confirmation bypassed by entering confirm option. Removing the user from SharePoint Group...');
|
|
@@ -52,7 +60,7 @@ class SpoGroupMemberRemoveCommand extends SpoCommand {
|
|
|
52
60
|
await this.removeUserfromSPGroup(logger, args);
|
|
53
61
|
}
|
|
54
62
|
else {
|
|
55
|
-
const result = await cli.promptForConfirmation({ message: `Are you sure you want to remove user ${args.options.userName || args.options.userId || args.options.email || args.options.
|
|
63
|
+
const result = await cli.promptForConfirmation({ message: `Are you sure you want to remove user ${args.options.userName || args.options.userId || args.options.email || args.options.entraGroupId || args.options.entraGroupName} from the SharePoint group?` });
|
|
56
64
|
if (result) {
|
|
57
65
|
await this.removeUserfromSPGroup(logger, args);
|
|
58
66
|
}
|
|
@@ -60,7 +68,7 @@ class SpoGroupMemberRemoveCommand extends SpoCommand {
|
|
|
60
68
|
}
|
|
61
69
|
async removeUserfromSPGroup(logger, args) {
|
|
62
70
|
if (this.verbose) {
|
|
63
|
-
await logger.logToStderr(`Removing User ${args.options.userName || args.options.email || args.options.userId || args.options.
|
|
71
|
+
await logger.logToStderr(`Removing User ${args.options.userName || args.options.email || args.options.userId || args.options.entraGroupId || args.options.entraGroupName} from Group: ${args.options.groupId || args.options.groupName}`);
|
|
64
72
|
}
|
|
65
73
|
let requestUrl = `${args.options.webUrl}/_api/web/sitegroups/${args.options.groupId
|
|
66
74
|
? `GetById('${args.options.groupId}')`
|
|
@@ -74,8 +82,8 @@ class SpoGroupMemberRemoveCommand extends SpoCommand {
|
|
|
74
82
|
requestUrl += `/users/removeByLoginName(@LoginName)?@LoginName='${formatting.encodeQueryParameter(loginName)}'`;
|
|
75
83
|
}
|
|
76
84
|
else {
|
|
77
|
-
const
|
|
78
|
-
requestUrl += `/users/RemoveById(${
|
|
85
|
+
const entraGroupId = await this.getGroupId(args);
|
|
86
|
+
requestUrl += `/users/RemoveById(${entraGroupId})`;
|
|
79
87
|
}
|
|
80
88
|
const requestOptions = {
|
|
81
89
|
url: requestUrl,
|
|
@@ -107,14 +115,14 @@ class SpoGroupMemberRemoveCommand extends SpoCommand {
|
|
|
107
115
|
const output = await cli.executeCommandWithOutput(SpoGroupMemberListCommand, { options: { ...options, _: [] } });
|
|
108
116
|
const getGroupMemberListOutput = JSON.parse(output.stdout);
|
|
109
117
|
let foundGroups;
|
|
110
|
-
if (args.options.
|
|
111
|
-
foundGroups = getGroupMemberListOutput.filter((x) => { return x.LoginName.indexOf(args.options.
|
|
118
|
+
if (args.options.entraGroupId) {
|
|
119
|
+
foundGroups = getGroupMemberListOutput.filter((x) => { return x.LoginName.indexOf(args.options.entraGroupId) > -1 && (x.LoginName.indexOf("c:0o.c|federateddirectoryclaimprovider|") === 0 || x.LoginName.indexOf("c:0t.c|tenant|") === 0); });
|
|
112
120
|
}
|
|
113
121
|
else {
|
|
114
|
-
foundGroups = getGroupMemberListOutput.filter((x) => { return x.Title === args.options.
|
|
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); });
|
|
115
123
|
}
|
|
116
124
|
if (foundGroups.length === 0) {
|
|
117
|
-
throw `The Azure AD group ${args.options.
|
|
125
|
+
throw `The Azure AD group ${args.options.entraGroupId || args.options.entraGroupName} is not found in SharePoint group ${args.options.groupId || args.options.groupName}`;
|
|
118
126
|
}
|
|
119
127
|
return foundGroups[0].Id;
|
|
120
128
|
}
|
|
@@ -127,8 +135,10 @@ _SpoGroupMemberRemoveCommand_instances = new WeakSet(), _SpoGroupMemberRemoveCom
|
|
|
127
135
|
userName: (!(!args.options.userName)).toString(),
|
|
128
136
|
email: (!(!args.options.email)).toString(),
|
|
129
137
|
userId: (!(!args.options.userId)).toString(),
|
|
138
|
+
entraGroupId: (!(!args.options.entraGroupId)).toString(),
|
|
130
139
|
aadGroupId: (!(!args.options.groupId)).toString(),
|
|
131
|
-
|
|
140
|
+
entraGroupName: (!(!args.options.entraGroupName)).toString(),
|
|
141
|
+
aadGroupName: (!(!args.options.aadGroupName)).toString(),
|
|
132
142
|
force: (!(!args.options.force)).toString()
|
|
133
143
|
});
|
|
134
144
|
});
|
|
@@ -145,8 +155,12 @@ _SpoGroupMemberRemoveCommand_instances = new WeakSet(), _SpoGroupMemberRemoveCom
|
|
|
145
155
|
option: '--email [email]'
|
|
146
156
|
}, {
|
|
147
157
|
option: '--userId [userId]'
|
|
158
|
+
}, {
|
|
159
|
+
option: '--entraGroupId [entraGroupId]'
|
|
148
160
|
}, {
|
|
149
161
|
option: '--aadGroupId [aadGroupId]'
|
|
162
|
+
}, {
|
|
163
|
+
option: '--entraGroupName [entraGroupName]'
|
|
150
164
|
}, {
|
|
151
165
|
option: '--aadGroupName [aadGroupName]'
|
|
152
166
|
}, {
|
|
@@ -166,13 +180,16 @@ _SpoGroupMemberRemoveCommand_instances = new WeakSet(), _SpoGroupMemberRemoveCom
|
|
|
166
180
|
if (args.options.email && !validation.isValidUserPrincipalName(args.options.email)) {
|
|
167
181
|
return `${args.options.email} is not a valid email`;
|
|
168
182
|
}
|
|
183
|
+
if (args.options.entraGroupId && !validation.isValidGuid(args.options.entraGroupId)) {
|
|
184
|
+
return `${args.options.entraGroupId} is not a valid GUID`;
|
|
185
|
+
}
|
|
169
186
|
if (args.options.aadGroupId && !validation.isValidGuid(args.options.aadGroupId)) {
|
|
170
187
|
return `${args.options.aadGroupId} is not a valid GUID`;
|
|
171
188
|
}
|
|
172
189
|
return validation.isValidSharePointUrl(args.options.webUrl);
|
|
173
190
|
});
|
|
174
191
|
}, _SpoGroupMemberRemoveCommand_initOptionSets = function _SpoGroupMemberRemoveCommand_initOptionSets() {
|
|
175
|
-
this.optionSets.push({ options: ['groupName', 'groupId'] }, { options: ['userName', 'email', 'userId', 'aadGroupId', 'aadGroupName'] });
|
|
192
|
+
this.optionSets.push({ options: ['groupName', 'groupId'] }, { options: ['userName', 'email', 'userId', 'entraGroupId', 'aadGroupId', 'entraGroupName', 'aadGroupName'] });
|
|
176
193
|
};
|
|
177
194
|
export default new SpoGroupMemberRemoveCommand();
|
|
178
195
|
//# sourceMappingURL=group-member-remove.js.map
|
|
@@ -25,12 +25,16 @@ class SpoUserEnsureCommand extends SpoCommand {
|
|
|
25
25
|
__classPrivateFieldGet(this, _SpoUserEnsureCommand_instances, "m", _SpoUserEnsureCommand_initOptionSets).call(this);
|
|
26
26
|
}
|
|
27
27
|
async commandAction(logger, args) {
|
|
28
|
+
if (args.options.aadId) {
|
|
29
|
+
args.options.entraId = args.options.aadId;
|
|
30
|
+
this.warn(logger, `Option 'aadId' is deprecated. Please use 'entraId' instead`);
|
|
31
|
+
}
|
|
28
32
|
if (this.verbose) {
|
|
29
|
-
await logger.logToStderr(`Ensuring user ${args.options.
|
|
33
|
+
await logger.logToStderr(`Ensuring user ${args.options.entraId || args.options.userName} at site ${args.options.webUrl}`);
|
|
30
34
|
}
|
|
31
35
|
try {
|
|
32
36
|
const requestBody = {
|
|
33
|
-
logonName: args.options.userName || await this.getUpnByUserId(args.options.
|
|
37
|
+
logonName: args.options.userName || await this.getUpnByUserId(args.options.entraId, logger)
|
|
34
38
|
};
|
|
35
39
|
const requestOptions = {
|
|
36
40
|
url: `${args.options.webUrl}/_api/web/ensureuser`,
|
|
@@ -47,16 +51,17 @@ class SpoUserEnsureCommand extends SpoCommand {
|
|
|
47
51
|
this.handleRejectedODataJsonPromise(err);
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
|
-
async getUpnByUserId(
|
|
54
|
+
async getUpnByUserId(entraId, logger) {
|
|
51
55
|
if (this.verbose) {
|
|
52
|
-
await logger.logToStderr(`Retrieving user principal name for user with id ${
|
|
56
|
+
await logger.logToStderr(`Retrieving user principal name for user with id ${entraId}`);
|
|
53
57
|
}
|
|
54
|
-
return await aadUser.getUpnByUserId(
|
|
58
|
+
return await aadUser.getUpnByUserId(entraId);
|
|
55
59
|
}
|
|
56
60
|
}
|
|
57
61
|
_SpoUserEnsureCommand_instances = new WeakSet(), _SpoUserEnsureCommand_initTelemetry = function _SpoUserEnsureCommand_initTelemetry() {
|
|
58
62
|
this.telemetry.push((args) => {
|
|
59
63
|
Object.assign(this.telemetryProperties, {
|
|
64
|
+
entraId: typeof args.options.entraId !== 'undefined',
|
|
60
65
|
aadId: typeof args.options.aadId !== 'undefined',
|
|
61
66
|
userName: typeof args.options.userName !== 'undefined'
|
|
62
67
|
});
|
|
@@ -64,6 +69,8 @@ _SpoUserEnsureCommand_instances = new WeakSet(), _SpoUserEnsureCommand_initTelem
|
|
|
64
69
|
}, _SpoUserEnsureCommand_initOptions = function _SpoUserEnsureCommand_initOptions() {
|
|
65
70
|
this.options.unshift({
|
|
66
71
|
option: '-u, --webUrl <webUrl>'
|
|
72
|
+
}, {
|
|
73
|
+
option: '--entraId [entraId]'
|
|
67
74
|
}, {
|
|
68
75
|
option: '--aadId [aadId]'
|
|
69
76
|
}, {
|
|
@@ -75,6 +82,9 @@ _SpoUserEnsureCommand_instances = new WeakSet(), _SpoUserEnsureCommand_initTelem
|
|
|
75
82
|
if (isValidSharePointUrl !== true) {
|
|
76
83
|
return isValidSharePointUrl;
|
|
77
84
|
}
|
|
85
|
+
if (args.options.entraId && !validation.isValidGuid(args.options.entraId)) {
|
|
86
|
+
return `${args.options.entraId} is not a valid GUID.`;
|
|
87
|
+
}
|
|
78
88
|
if (args.options.aadId && !validation.isValidGuid(args.options.aadId)) {
|
|
79
89
|
return `${args.options.aadId} is not a valid GUID.`;
|
|
80
90
|
}
|
|
@@ -84,7 +94,7 @@ _SpoUserEnsureCommand_instances = new WeakSet(), _SpoUserEnsureCommand_initTelem
|
|
|
84
94
|
return true;
|
|
85
95
|
});
|
|
86
96
|
}, _SpoUserEnsureCommand_initOptionSets = function _SpoUserEnsureCommand_initOptionSets() {
|
|
87
|
-
this.optionSets.push({ options: ['aadId', 'userName'] });
|
|
97
|
+
this.optionSets.push({ options: ['entraId', 'aadId', 'userName'] });
|
|
88
98
|
};
|
|
89
99
|
export default new SpoUserEnsureCommand();
|
|
90
100
|
//# sourceMappingURL=user-ensure.js.map
|
|
@@ -4,6 +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 _TeamsUserAppAddCommand_instances, _TeamsUserAppAddCommand_initTelemetry, _TeamsUserAppAddCommand_initOptions, _TeamsUserAppAddCommand_initValidators, _TeamsUserAppAddCommand_initOptionSets;
|
|
7
|
+
import { cli } from '../../../../cli/cli.js';
|
|
7
8
|
import request from '../../../../request.js';
|
|
8
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
9
10
|
import { validation } from '../../../../utils/validation.js';
|
|
@@ -25,8 +26,12 @@ class TeamsUserAppAddCommand extends GraphCommand {
|
|
|
25
26
|
__classPrivateFieldGet(this, _TeamsUserAppAddCommand_instances, "m", _TeamsUserAppAddCommand_initOptionSets).call(this);
|
|
26
27
|
}
|
|
27
28
|
async commandAction(logger, args) {
|
|
29
|
+
const appId = await this.getAppId(args);
|
|
28
30
|
const userId = (args.options.userId ?? args.options.userName);
|
|
29
31
|
const endpoint = `${this.resource}/v1.0`;
|
|
32
|
+
if (this.verbose) {
|
|
33
|
+
await logger.logToStderr(`Removing app with ID ${appId} for user ${args.options.userId}`);
|
|
34
|
+
}
|
|
30
35
|
const requestOptions = {
|
|
31
36
|
url: `${endpoint}/users/${formatting.encodeQueryParameter(userId)}/teamwork/installedApps`,
|
|
32
37
|
headers: {
|
|
@@ -35,7 +40,7 @@ class TeamsUserAppAddCommand extends GraphCommand {
|
|
|
35
40
|
},
|
|
36
41
|
responseType: 'json',
|
|
37
42
|
data: {
|
|
38
|
-
'teamsApp@odata.bind': `${endpoint}/appCatalogs/teamsApps/${
|
|
43
|
+
'teamsApp@odata.bind': `${endpoint}/appCatalogs/teamsApps/${appId}`
|
|
39
44
|
}
|
|
40
45
|
};
|
|
41
46
|
try {
|
|
@@ -45,17 +50,43 @@ class TeamsUserAppAddCommand extends GraphCommand {
|
|
|
45
50
|
this.handleRejectedODataJsonPromise(err);
|
|
46
51
|
}
|
|
47
52
|
}
|
|
53
|
+
async getAppId(args) {
|
|
54
|
+
if (args.options.id) {
|
|
55
|
+
return args.options.id;
|
|
56
|
+
}
|
|
57
|
+
const requestOptions = {
|
|
58
|
+
url: `${this.resource}/v1.0/appCatalogs/teamsApps?$filter=displayName eq '${formatting.encodeQueryParameter(args.options.name)}'`,
|
|
59
|
+
headers: {
|
|
60
|
+
accept: 'application/json;odata.metadata=none'
|
|
61
|
+
},
|
|
62
|
+
responseType: 'json'
|
|
63
|
+
};
|
|
64
|
+
const response = await request.get(requestOptions);
|
|
65
|
+
if (response.value.length === 1) {
|
|
66
|
+
return response.value[0].id;
|
|
67
|
+
}
|
|
68
|
+
if (response.value.length === 0) {
|
|
69
|
+
throw `The specified Teams app does not exist`;
|
|
70
|
+
}
|
|
71
|
+
const resultAsKeyValuePair = formatting.convertArrayToHashTable('id', response.value);
|
|
72
|
+
const result = (await cli.handleMultipleResultsFound(`Multiple Teams apps with name '${args.options.name}' found.`, resultAsKeyValuePair));
|
|
73
|
+
return result.id;
|
|
74
|
+
}
|
|
48
75
|
}
|
|
49
76
|
_TeamsUserAppAddCommand_instances = new WeakSet(), _TeamsUserAppAddCommand_initTelemetry = function _TeamsUserAppAddCommand_initTelemetry() {
|
|
50
77
|
this.telemetry.push((args) => {
|
|
51
78
|
Object.assign(this.telemetryProperties, {
|
|
79
|
+
id: typeof args.options.id !== 'undefined',
|
|
80
|
+
name: typeof args.options.name !== 'undefined',
|
|
52
81
|
userId: typeof args.options.userId !== 'undefined',
|
|
53
82
|
userName: typeof args.options.userName !== 'undefined'
|
|
54
83
|
});
|
|
55
84
|
});
|
|
56
85
|
}, _TeamsUserAppAddCommand_initOptions = function _TeamsUserAppAddCommand_initOptions() {
|
|
57
86
|
this.options.unshift({
|
|
58
|
-
option: '--id
|
|
87
|
+
option: '--id [id]'
|
|
88
|
+
}, {
|
|
89
|
+
option: '--name [name]'
|
|
59
90
|
}, {
|
|
60
91
|
option: '--userId [userId]'
|
|
61
92
|
}, {
|
|
@@ -63,7 +94,7 @@ _TeamsUserAppAddCommand_instances = new WeakSet(), _TeamsUserAppAddCommand_initT
|
|
|
63
94
|
});
|
|
64
95
|
}, _TeamsUserAppAddCommand_initValidators = function _TeamsUserAppAddCommand_initValidators() {
|
|
65
96
|
this.validators.push(async (args) => {
|
|
66
|
-
if (!validation.isValidGuid(args.options.id)) {
|
|
97
|
+
if (args.options.id && !validation.isValidGuid(args.options.id)) {
|
|
67
98
|
return `${args.options.id} is not a valid GUID`;
|
|
68
99
|
}
|
|
69
100
|
if (args.options.userId && !validation.isValidGuid(args.options.userId)) {
|
|
@@ -75,6 +106,7 @@ _TeamsUserAppAddCommand_instances = new WeakSet(), _TeamsUserAppAddCommand_initT
|
|
|
75
106
|
return true;
|
|
76
107
|
});
|
|
77
108
|
}, _TeamsUserAppAddCommand_initOptionSets = function _TeamsUserAppAddCommand_initOptionSets() {
|
|
109
|
+
this.optionSets.push({ options: ['id', 'name'] });
|
|
78
110
|
this.optionSets.push({ options: ['userId', 'userName'] });
|
|
79
111
|
};
|
|
80
112
|
export default new TeamsUserAppAddCommand();
|
package/dist/request.js
CHANGED
|
@@ -154,6 +154,10 @@ class Request {
|
|
|
154
154
|
options.headers.authorization = `Bearer ${accessToken}`;
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
+
const proxyUrl = process.env.HTTP_PROXY || process.env.HTTPS_PROXY;
|
|
158
|
+
if (proxyUrl) {
|
|
159
|
+
options.proxy = this.createProxyConfigFromUrl(proxyUrl);
|
|
160
|
+
}
|
|
157
161
|
return this.req(options);
|
|
158
162
|
})
|
|
159
163
|
.then((res) => {
|
|
@@ -199,6 +203,18 @@ class Request {
|
|
|
199
203
|
const cloudUrl = Auth.getEndpointForResource(hostname, cloudType);
|
|
200
204
|
options.url = options.url.replace(hostname, cloudUrl);
|
|
201
205
|
}
|
|
206
|
+
createProxyConfigFromUrl(url) {
|
|
207
|
+
const parsedUrl = new URL(url);
|
|
208
|
+
const port = parsedUrl.port || (url.toLowerCase().startsWith('https') ? 443 : 80);
|
|
209
|
+
let authObject = null;
|
|
210
|
+
if (parsedUrl.username && parsedUrl.password) {
|
|
211
|
+
authObject = {
|
|
212
|
+
username: parsedUrl.username,
|
|
213
|
+
password: parsedUrl.password
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
return { host: parsedUrl.hostname, port: Number(port), protocol: 'http', ...(authObject && { auth: authObject }) };
|
|
217
|
+
}
|
|
202
218
|
}
|
|
203
219
|
export default new Request();
|
|
204
220
|
//# sourceMappingURL=request.js.map
|
package/dist/utils/md.js
CHANGED
|
@@ -13,8 +13,8 @@ function convertHeadings(md) {
|
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
function convertAdmonitions(md) {
|
|
16
|
-
const regex = new RegExp(/^:::(\w+)([\s\S]*?):::$/, 'gm');
|
|
17
|
-
return md.replace(regex, (_, label, content) => label.toLocaleUpperCase() + EOL + EOL + content.trim());
|
|
16
|
+
const regex = new RegExp(/^:::(\w+)(?:\[([^\]]+)\])?([\s\S]*?):::$/, 'gm');
|
|
17
|
+
return md.replace(regex, (_, label, title, content) => label.toLocaleUpperCase() + (title ? EOL + EOL + title : '') + EOL + EOL + content.trim());
|
|
18
18
|
}
|
|
19
19
|
function includeContent(md, rootFolder) {
|
|
20
20
|
const mdxImports = [
|