@pnp/cli-microsoft365 4.0.0-beta.f87506e → 4.1.0-beta.6c0929c
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/.devcontainer/Dockerfile +3 -3
- package/dist/Auth.js +25 -9
- package/dist/Utils.js +6 -0
- package/dist/cli/Cli.js +4 -4
- package/dist/m365/aad/commands/app/app-add.js +1 -1
- package/dist/m365/aad/commands/app/app-role-add.js +1 -1
- package/dist/m365/aad/commands/o365group/o365group-get.js +0 -4
- package/dist/m365/aad/commands/o365group/o365group-teamify.js +14 -4
- package/dist/m365/aad/commands/o365group/o365group-user-list.js +5 -24
- package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +2 -2
- package/dist/m365/aad/commands/user/user-set.js +90 -0
- package/dist/m365/aad/commands.js +2 -1
- package/dist/m365/base/SpoCommand.js +13 -0
- package/dist/m365/commands/login.js +12 -0
- package/dist/m365/file/commands/convert/convert-pdf.js +2 -2
- package/dist/m365/onedrive/commands/onedrive-list.js +41 -24
- package/dist/m365/pa/commands/pcf/pcf-init.js +1 -1
- package/dist/m365/pa/commands/solution/solution-init.js +1 -1
- package/dist/m365/planner/commands/plan/plan-get.js +116 -0
- package/dist/m365/planner/commands/task/task-list.js +157 -7
- package/dist/m365/planner/commands.js +1 -0
- package/dist/m365/spfx/commands/package/package-generate.js +1 -1
- package/dist/m365/spfx/commands/project/project-rename.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/DependencyRule.js +3 -3
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006004_CFG_PS_developer.js +7 -6
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023001_GITIGNORE_release.js +3 -9
- package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.13.0-beta.15.js → upgrade-1.13.0-beta.20.js} +26 -28
- package/dist/m365/spfx/commands/project/project-upgrade.js +3 -3
- package/dist/m365/spfx/commands/spfx-doctor.js +1 -1
- package/dist/m365/spo/commands/app/app-instance-list.js +59 -0
- package/dist/m365/spo/commands/file/file-add.js +1 -1
- package/dist/m365/spo/commands/file/file-list.js +2 -1
- package/dist/m365/spo/commands/group/group-user-list.js +66 -0
- package/dist/m365/spo/commands/listitem/listitem-get.js +5 -5
- package/dist/m365/spo/commands/page/Page.js +1 -1
- package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +3 -3
- package/dist/m365/spo/commands/page/page-control-get.js +9 -1
- package/dist/m365/spo/commands/page/page-control-list.js +10 -13
- package/dist/m365/spo/commands/page/page-section-add.js +1 -1
- package/dist/m365/spo/commands/page/page-text-add.js +2 -2
- package/dist/m365/spo/commands/site/site-apppermission-remove.js +162 -0
- package/dist/m365/spo/commands/site/site-classic-list.js +41 -24
- package/dist/m365/spo/commands/site/site-list.js +44 -28
- package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +7 -0
- package/dist/m365/spo/commands/spo-search.js +3 -3
- package/dist/m365/spo/commands/term/term-add.js +1 -1
- package/dist/m365/spo/commands/term/term-group-add.js +1 -1
- package/dist/m365/spo/commands/term/term-set-add.js +1 -1
- package/dist/m365/spo/commands/theme/theme-list.js +1 -1
- package/dist/m365/spo/commands.js +3 -0
- package/dist/m365/teams/commands/channel/channel-list.js +5 -4
- package/dist/m365/teams/commands/conversationmember/conversationmember-add.js +9 -8
- package/dist/m365/teams/commands/conversationmember/conversationmember-list.js +20 -22
- package/dist/m365/teams/commands/team/team-get.js +91 -0
- package/dist/m365/teams/commands/team/team-list.js +6 -4
- package/dist/m365/teams/commands/user/user-list.js +5 -24
- package/dist/m365/viva/commands/connections/connections-app-create.js +1 -1
- package/docs/docs/cmd/aad/o365group/o365group-teamify.md +0 -5
- package/docs/docs/cmd/aad/o365group/o365group-user-list.md +2 -17
- package/docs/docs/cmd/aad/siteclassification/siteclassification-disable.md +0 -5
- package/docs/docs/cmd/aad/user/user-set.md +60 -0
- package/docs/docs/cmd/login.md +11 -2
- package/docs/docs/cmd/planner/plan/plan-get.md +45 -0
- package/docs/docs/cmd/planner/task/task-list.md +49 -1
- package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
- package/docs/docs/cmd/spo/app/app-instance-list.md +24 -0
- package/docs/docs/cmd/spo/group/group-user-list.md +36 -0
- package/docs/docs/cmd/spo/listitem/listitem-get.md +3 -3
- package/docs/docs/cmd/spo/site/site-apppermission-remove.md +48 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-set.md +3 -0
- package/docs/docs/cmd/teams/team/team-get.md +33 -0
- package/docs/docs/cmd/teams/user/user-list.md +2 -23
- package/npm-shrinkwrap.json +432 -333
- package/package.json +22 -20
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const request_1 = require("../../../../request");
|
|
4
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
5
|
+
const commands_1 = require("../../commands");
|
|
6
|
+
class SpoGroupUserListCommand extends SpoCommand_1.default {
|
|
7
|
+
get name() {
|
|
8
|
+
return commands_1.default.GROUP_USER_LIST;
|
|
9
|
+
}
|
|
10
|
+
get description() {
|
|
11
|
+
return `List members of a SharePoint Group`;
|
|
12
|
+
}
|
|
13
|
+
defaultProperties() {
|
|
14
|
+
return ['Title', 'UserPrincipalName', 'Id', 'Email'];
|
|
15
|
+
}
|
|
16
|
+
commandAction(logger, args, cb) {
|
|
17
|
+
if (this.verbose) {
|
|
18
|
+
logger.logToStderr(`Retrieving the list of members from the SharePoint group : ${args.options.groupId ? args.options.groupId : args.options.groupName}`);
|
|
19
|
+
}
|
|
20
|
+
const requestUrl = `${args.options.webUrl}/_api/web/sitegroups/${args.options.groupId
|
|
21
|
+
? `GetById('${encodeURIComponent(args.options.groupId)}')`
|
|
22
|
+
: `GetByName('${encodeURIComponent(args.options.groupName)}')`}/users`;
|
|
23
|
+
const requestOptions = {
|
|
24
|
+
url: requestUrl,
|
|
25
|
+
headers: {
|
|
26
|
+
'accept': 'application/json;odata=nometadata'
|
|
27
|
+
},
|
|
28
|
+
responseType: 'json'
|
|
29
|
+
};
|
|
30
|
+
request_1.default
|
|
31
|
+
.get(requestOptions)
|
|
32
|
+
.then((response) => {
|
|
33
|
+
logger.log(response);
|
|
34
|
+
cb();
|
|
35
|
+
}, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
|
|
36
|
+
}
|
|
37
|
+
options() {
|
|
38
|
+
const options = [
|
|
39
|
+
{
|
|
40
|
+
option: '-u, --webUrl <webUrl>'
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
option: '--groupId [groupId]'
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
option: '--groupName [groupName]'
|
|
47
|
+
}
|
|
48
|
+
];
|
|
49
|
+
const parentOptions = super.options();
|
|
50
|
+
return options.concat(parentOptions);
|
|
51
|
+
}
|
|
52
|
+
validate(args) {
|
|
53
|
+
if (args.options.groupId && args.options.groupName) {
|
|
54
|
+
return 'Use either "groupName" or "groupId", but not both';
|
|
55
|
+
}
|
|
56
|
+
if (!args.options.groupId && !args.options.groupName) {
|
|
57
|
+
return 'Either "groupName" or "groupId" is required';
|
|
58
|
+
}
|
|
59
|
+
if (args.options.groupId && isNaN(args.options.groupId)) {
|
|
60
|
+
return `Specified "groupId" ${args.options.groupId} is not valid`;
|
|
61
|
+
}
|
|
62
|
+
return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
module.exports = new SpoGroupUserListCommand();
|
|
66
|
+
//# sourceMappingURL=group-user-list.js.map
|
|
@@ -26,13 +26,13 @@ class SpoListItemGetCommand extends SpoCommand_1.default {
|
|
|
26
26
|
const listRestUrl = (args.options.listId ?
|
|
27
27
|
`${args.options.webUrl}/_api/web/lists(guid'${encodeURIComponent(listIdArgument)}')`
|
|
28
28
|
: `${args.options.webUrl}/_api/web/lists/getByTitle('${encodeURIComponent(listTitleArgument)}')`);
|
|
29
|
-
const
|
|
30
|
-
`?$select=${encodeURIComponent(args.options.
|
|
29
|
+
const propertiesSelect = args.options.properties ?
|
|
30
|
+
`?$select=${encodeURIComponent(args.options.properties)}` :
|
|
31
31
|
((!args.options.output || args.options.output === 'text') ?
|
|
32
32
|
`?$select=Id,Title` :
|
|
33
33
|
``);
|
|
34
34
|
const requestOptions = {
|
|
35
|
-
url: `${listRestUrl}/items(${args.options.id})${
|
|
35
|
+
url: `${listRestUrl}/items(${args.options.id})${propertiesSelect}`,
|
|
36
36
|
headers: {
|
|
37
37
|
'accept': 'application/json;odata=nometadata'
|
|
38
38
|
},
|
|
@@ -61,7 +61,7 @@ class SpoListItemGetCommand extends SpoCommand_1.default {
|
|
|
61
61
|
option: '-t, --listTitle [listTitle]'
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
|
-
option: '-
|
|
64
|
+
option: '-p, --properties [properties]'
|
|
65
65
|
}
|
|
66
66
|
];
|
|
67
67
|
const parentOptions = super.options();
|
|
@@ -74,7 +74,7 @@ class SpoListItemGetCommand extends SpoCommand_1.default {
|
|
|
74
74
|
'listId',
|
|
75
75
|
'listTitle',
|
|
76
76
|
'id',
|
|
77
|
-
'
|
|
77
|
+
'properties'
|
|
78
78
|
]
|
|
79
79
|
};
|
|
80
80
|
}
|
|
@@ -71,7 +71,7 @@ class Page {
|
|
|
71
71
|
// remove the column property to be able to serialize the object to JSON
|
|
72
72
|
delete control.column;
|
|
73
73
|
if (!isJSONOutput) {
|
|
74
|
-
control.controlType = pageMethods_1.getControlTypeDisplayName(control.controlType);
|
|
74
|
+
control.controlType = (0, pageMethods_1.getControlTypeDisplayName)(control.controlType);
|
|
75
75
|
}
|
|
76
76
|
if (!control.dynamicDataPaths) {
|
|
77
77
|
delete control.dynamicDataPaths;
|
|
@@ -258,7 +258,7 @@ class SpoPageClientSideWebPartAddCommand extends SpoCommand_1.default {
|
|
|
258
258
|
logger.logToStderr(`Creating instance from definition of WebPart ${webPartId}...`);
|
|
259
259
|
}
|
|
260
260
|
const component = webPartDefinition[0];
|
|
261
|
-
const id = uuid_1.v4();
|
|
261
|
+
const id = (0, uuid_1.v4)();
|
|
262
262
|
const componentId = component.Id.replace(/^\{|\}$/g, "").toLowerCase();
|
|
263
263
|
const manifest = JSON.parse(component.Manifest);
|
|
264
264
|
const preconfiguredEntries = manifest.preconfiguredEntries[0];
|
|
@@ -386,10 +386,10 @@ class SpoPageClientSideWebPartAddCommand extends SpoCommand_1.default {
|
|
|
386
386
|
.webPartData}. Error: ${e}`;
|
|
387
387
|
}
|
|
388
388
|
}
|
|
389
|
-
if (args.options.section && (!util_1.isNumber(args.options.section) || args.options.section < 1)) {
|
|
389
|
+
if (args.options.section && (!(0, util_1.isNumber)(args.options.section) || args.options.section < 1)) {
|
|
390
390
|
return 'The value of parameter section must be 1 or higher';
|
|
391
391
|
}
|
|
392
|
-
if (args.options.column && (!util_1.isNumber(args.options.column) || args.options.column < 1)) {
|
|
392
|
+
if (args.options.column && (!(0, util_1.isNumber)(args.options.column) || args.options.column < 1)) {
|
|
393
393
|
return 'The value of parameter column must be 1 or higher';
|
|
394
394
|
}
|
|
395
395
|
return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
|
|
@@ -27,10 +27,18 @@ class SpoPageControlGetCommand extends SpoCommand_1.default {
|
|
|
27
27
|
request_1.default
|
|
28
28
|
.get(requestOptions)
|
|
29
29
|
.then((clientSidePage) => {
|
|
30
|
+
var _a;
|
|
30
31
|
const canvasData = clientSidePage.CanvasContent1 ? JSON.parse(clientSidePage.CanvasContent1) : [];
|
|
31
32
|
const control = canvasData.find(c => { var _a; return ((_a = c.id) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === args.options.id.toLowerCase(); });
|
|
32
33
|
if (control) {
|
|
33
|
-
const controlData =
|
|
34
|
+
const controlData = {
|
|
35
|
+
id: control.id,
|
|
36
|
+
type: (0, pageMethods_1.getControlTypeDisplayName)(control.controlType || 0),
|
|
37
|
+
title: (_a = control.webPartData) === null || _a === void 0 ? void 0 : _a.title,
|
|
38
|
+
controlType: control.controlType,
|
|
39
|
+
order: control.position.sectionIndex,
|
|
40
|
+
controlData: Object.assign({}, control)
|
|
41
|
+
};
|
|
34
42
|
logger.log(controlData);
|
|
35
43
|
}
|
|
36
44
|
else {
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const request_1 = require("../../../../request");
|
|
4
4
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
5
5
|
const commands_1 = require("../../commands");
|
|
6
|
+
const pageMethods_1 = require("./pageMethods");
|
|
6
7
|
class SpoPageControlListCommand extends SpoCommand_1.default {
|
|
7
8
|
get name() {
|
|
8
9
|
return commands_1.default.PAGE_CONTROL_LIST;
|
|
@@ -30,24 +31,20 @@ class SpoPageControlListCommand extends SpoCommand_1.default {
|
|
|
30
31
|
.then((clientSidePage) => {
|
|
31
32
|
const canvasData = clientSidePage.CanvasContent1 ? JSON.parse(clientSidePage.CanvasContent1) : [];
|
|
32
33
|
const controls = canvasData.filter(c => c.position).map(c => {
|
|
33
|
-
|
|
34
|
+
var _a;
|
|
35
|
+
return {
|
|
36
|
+
id: c.id,
|
|
37
|
+
type: (0, pageMethods_1.getControlTypeDisplayName)(c.controlType || 0),
|
|
38
|
+
title: (_a = c.webPartData) === null || _a === void 0 ? void 0 : _a.title,
|
|
39
|
+
controlType: c.controlType,
|
|
40
|
+
order: c.position.sectionIndex,
|
|
41
|
+
controlData: Object.assign({}, c)
|
|
42
|
+
};
|
|
34
43
|
});
|
|
35
44
|
logger.log(JSON.parse(JSON.stringify(controls)));
|
|
36
45
|
cb();
|
|
37
46
|
}, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
|
|
38
47
|
}
|
|
39
|
-
static getControlTypeDisplayName(controlType) {
|
|
40
|
-
switch (controlType) {
|
|
41
|
-
case 0:
|
|
42
|
-
return 'Empty column';
|
|
43
|
-
case 3:
|
|
44
|
-
return 'Client-side web part';
|
|
45
|
-
case 4:
|
|
46
|
-
return 'Client-side text';
|
|
47
|
-
default:
|
|
48
|
-
return '' + controlType;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
48
|
options() {
|
|
52
49
|
const options = [
|
|
53
50
|
{
|
|
@@ -165,7 +165,7 @@ class SpoPageSectionAddCommand extends SpoCommand_1.default {
|
|
|
165
165
|
return `${args.options.sectionTemplate} is not a valid section template. Allowed values are OneColumn|OneColumnFullWidth|TwoColumn|ThreeColumn|TwoColumnLeft|TwoColumnRight`;
|
|
166
166
|
}
|
|
167
167
|
if (typeof args.options.order !== 'undefined') {
|
|
168
|
-
if (!util_1.isNumber(args.options.order) || args.options.order < 1) {
|
|
168
|
+
if (!(0, util_1.isNumber)(args.options.order) || args.options.order < 1) {
|
|
169
169
|
return 'The value of parameter order must be 1 or higher';
|
|
170
170
|
}
|
|
171
171
|
}
|
|
@@ -115,10 +115,10 @@ class SpoPageTextAddCommand extends SpoCommand_1.default {
|
|
|
115
115
|
return options.concat(parentOptions);
|
|
116
116
|
}
|
|
117
117
|
validate(args) {
|
|
118
|
-
if (args.options.section && (!util_1.isNumber(args.options.section) || args.options.section < 1)) {
|
|
118
|
+
if (args.options.section && (!(0, util_1.isNumber)(args.options.section) || args.options.section < 1)) {
|
|
119
119
|
return 'The value of parameter section must be 1 or higher';
|
|
120
120
|
}
|
|
121
|
-
if (args.options.column && (!util_1.isNumber(args.options.column) || args.options.column < 1)) {
|
|
121
|
+
if (args.options.column && (!(0, util_1.isNumber)(args.options.column) || args.options.column < 1)) {
|
|
122
122
|
return 'The value of parameter column must be 1 or higher';
|
|
123
123
|
}
|
|
124
124
|
return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cli_1 = require("../../../../cli");
|
|
4
|
+
const request_1 = require("../../../../request");
|
|
5
|
+
const Utils_1 = require("../../../../Utils");
|
|
6
|
+
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
7
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
8
|
+
const commands_1 = require("../../commands");
|
|
9
|
+
class SpoSiteAppPermissionRemoveCommand extends GraphCommand_1.default {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.siteId = '';
|
|
13
|
+
}
|
|
14
|
+
get name() {
|
|
15
|
+
return commands_1.default.SITE_APPPERMISSION_REMOVE;
|
|
16
|
+
}
|
|
17
|
+
get description() {
|
|
18
|
+
return 'Removes an application permission from the site';
|
|
19
|
+
}
|
|
20
|
+
getTelemetryProperties(args) {
|
|
21
|
+
const telemetryProps = super.getTelemetryProperties(args);
|
|
22
|
+
telemetryProps.appId = typeof args.options.appId !== 'undefined';
|
|
23
|
+
telemetryProps.appDisplayName = typeof args.options.appDisplayName !== 'undefined';
|
|
24
|
+
telemetryProps.permissionId = typeof args.options.permissionId !== 'undefined';
|
|
25
|
+
telemetryProps.confirm = (!!args.options.confirm).toString();
|
|
26
|
+
return telemetryProps;
|
|
27
|
+
}
|
|
28
|
+
getSpoSiteId(args) {
|
|
29
|
+
const url = new URL(args.options.siteUrl);
|
|
30
|
+
const requestOptions = {
|
|
31
|
+
url: `${this.resource}/v1.0/sites/${url.hostname}:${url.pathname}`,
|
|
32
|
+
headers: {
|
|
33
|
+
accept: 'application/json;odata.metadata=none'
|
|
34
|
+
},
|
|
35
|
+
responseType: 'json'
|
|
36
|
+
};
|
|
37
|
+
return request_1.default
|
|
38
|
+
.get(requestOptions)
|
|
39
|
+
.then((site) => site.id);
|
|
40
|
+
}
|
|
41
|
+
getPermissions() {
|
|
42
|
+
const requestOptions = {
|
|
43
|
+
url: `${this.resource}/v1.0/sites/${this.siteId}/permissions`,
|
|
44
|
+
headers: {
|
|
45
|
+
accept: 'application/json;odata.metadata=none'
|
|
46
|
+
},
|
|
47
|
+
responseType: 'json'
|
|
48
|
+
};
|
|
49
|
+
return request_1.default.get(requestOptions);
|
|
50
|
+
}
|
|
51
|
+
getFilteredPermissions(args, permissions) {
|
|
52
|
+
let filterProperty = 'displayName';
|
|
53
|
+
let filterValue = args.options.appDisplayName;
|
|
54
|
+
if (args.options.appId) {
|
|
55
|
+
filterProperty = 'id';
|
|
56
|
+
filterValue = args.options.appId;
|
|
57
|
+
}
|
|
58
|
+
return permissions.filter((p) => {
|
|
59
|
+
return p.grantedToIdentities.some(({ application }) => application[filterProperty] === filterValue);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
getPermissionIds(args) {
|
|
63
|
+
if (args.options.permissionId) {
|
|
64
|
+
return Promise.resolve([args.options.permissionId]);
|
|
65
|
+
}
|
|
66
|
+
return this
|
|
67
|
+
.getPermissions()
|
|
68
|
+
.then((res) => {
|
|
69
|
+
let permissions = res.value;
|
|
70
|
+
if (args.options.appId || args.options.appDisplayName) {
|
|
71
|
+
permissions = this.getFilteredPermissions(args, res.value);
|
|
72
|
+
}
|
|
73
|
+
return Promise.resolve(permissions.map(x => x.id));
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
removePermissions(permissionId) {
|
|
77
|
+
const spRequestOptions = {
|
|
78
|
+
url: `${this.resource}/v1.0/sites/${this.siteId}/permissions/${permissionId}`,
|
|
79
|
+
headers: {
|
|
80
|
+
'accept': 'application/json;odata.metadata=none'
|
|
81
|
+
},
|
|
82
|
+
responseType: 'json'
|
|
83
|
+
};
|
|
84
|
+
return request_1.default.delete(spRequestOptions);
|
|
85
|
+
}
|
|
86
|
+
commandAction(logger, args, cb) {
|
|
87
|
+
const removeSiteAppPermission = () => {
|
|
88
|
+
this
|
|
89
|
+
.getSpoSiteId(args)
|
|
90
|
+
.then((siteId) => {
|
|
91
|
+
this.siteId = siteId;
|
|
92
|
+
return this.getPermissionIds(args);
|
|
93
|
+
})
|
|
94
|
+
.then((permissionIdsToRemove) => {
|
|
95
|
+
const tasks = [];
|
|
96
|
+
for (const permissionId of permissionIdsToRemove) {
|
|
97
|
+
tasks.push(this.removePermissions(permissionId));
|
|
98
|
+
}
|
|
99
|
+
return Promise.all(tasks);
|
|
100
|
+
})
|
|
101
|
+
.then((res) => {
|
|
102
|
+
logger.log(res);
|
|
103
|
+
cb();
|
|
104
|
+
}, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
|
|
105
|
+
};
|
|
106
|
+
if (args.options.confirm) {
|
|
107
|
+
removeSiteAppPermission();
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
cli_1.Cli.prompt({
|
|
111
|
+
type: 'confirm',
|
|
112
|
+
name: 'continue',
|
|
113
|
+
default: false,
|
|
114
|
+
message: `Are you sure you want to remove the specified application permission from site ${args.options.siteUrl}?`
|
|
115
|
+
}, (result) => {
|
|
116
|
+
if (!result.continue) {
|
|
117
|
+
cb();
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
removeSiteAppPermission();
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
options() {
|
|
126
|
+
const options = [
|
|
127
|
+
{
|
|
128
|
+
option: '-u, --siteUrl <siteUrl>'
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
option: '-i, --permissionId [permissionId]'
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
option: '--appId [appId]'
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
option: '-n, --appDisplayName [appDisplayName]'
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
option: '--confirm'
|
|
141
|
+
}
|
|
142
|
+
];
|
|
143
|
+
const parentOptions = super.options();
|
|
144
|
+
return options.concat(parentOptions);
|
|
145
|
+
}
|
|
146
|
+
validate(args) {
|
|
147
|
+
if (!args.options.appId && !args.options.appDisplayName && !args.options.permissionId) {
|
|
148
|
+
return `Specify appId, appDisplayName, or permissionId. One is required`;
|
|
149
|
+
}
|
|
150
|
+
if ((args.options.appId && args.options.appDisplayName) ||
|
|
151
|
+
(args.options.appId && args.options.permissionId) ||
|
|
152
|
+
(args.options.permissionId && args.options.appDisplayName)) {
|
|
153
|
+
return 'Use either appId, appDisplayName, or permissionId, but not multiple';
|
|
154
|
+
}
|
|
155
|
+
if (args.options.appId && !Utils_1.default.isValidGuid(args.options.appId)) {
|
|
156
|
+
return `${args.options.appId} is not a valid GUID`;
|
|
157
|
+
}
|
|
158
|
+
return SpoCommand_1.default.isValidSharePointUrl(args.options.siteUrl);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
module.exports = new SpoSiteAppPermissionRemoveCommand();
|
|
162
|
+
//# sourceMappingURL=site-apppermission-remove.js.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Command_1 = require("../../../../Command");
|
|
4
3
|
const config_1 = require("../../../../config");
|
|
5
4
|
const request_1 = require("../../../../request");
|
|
6
5
|
const Utils_1 = require("../../../../Utils");
|
|
@@ -26,41 +25,59 @@ class SpoSiteClassicListCommand extends SpoCommand_1.default {
|
|
|
26
25
|
commandAction(logger, args, cb) {
|
|
27
26
|
const webTemplate = args.options.webTemplate || '';
|
|
28
27
|
const includeOneDriveSites = args.options.includeOneDriveSites || false;
|
|
28
|
+
const personalSite = includeOneDriveSites === false ? '0' : '1';
|
|
29
29
|
let spoAdminUrl = '';
|
|
30
30
|
this
|
|
31
31
|
.getSpoAdminUrl(logger, this.debug)
|
|
32
32
|
.then((_spoAdminUrl) => {
|
|
33
33
|
spoAdminUrl = _spoAdminUrl;
|
|
34
|
-
return this.getRequestDigest(spoAdminUrl);
|
|
35
|
-
})
|
|
36
|
-
.then((res) => {
|
|
37
34
|
if (this.verbose) {
|
|
38
35
|
logger.logToStderr(`Retrieving list of site collections...`);
|
|
39
36
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
43
|
-
headers: {
|
|
44
|
-
'X-RequestDigest': res.FormDigestValue
|
|
45
|
-
},
|
|
46
|
-
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="2" ObjectPathId="1" /><ObjectPath Id="4" ObjectPathId="3" /><Query Id="5" ObjectPathId="3"><Query SelectAllProperties="true"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><Constructor Id="1" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="3" ParentId="1" Name="GetSitePropertiesFromSharePointByFilters"><Parameters><Parameter TypeId="{b92aeee2-c92c-4b67-abcc-024e471bc140}"><Property Name="Filter" Type="String">${Utils_1.default.escapeXml(args.options.filter || '')}</Property><Property Name="IncludeDetail" Type="Boolean">false</Property><Property Name="IncludePersonalSite" Type="Enum">${personalSite}</Property><Property Name="StartIndex" Type="String">0</Property><Property Name="Template" Type="String">${webTemplate}</Property></Parameter></Parameters></Method></ObjectPaths></Request>`
|
|
47
|
-
};
|
|
48
|
-
return request_1.default.post(requestOptions);
|
|
37
|
+
this.allSites = [];
|
|
38
|
+
return this.getAllSites(spoAdminUrl, Utils_1.default.escapeXml(args.options.filter || ''), '0', personalSite, webTemplate, undefined, logger);
|
|
49
39
|
})
|
|
50
|
-
.then(
|
|
51
|
-
|
|
52
|
-
const response = json[0];
|
|
53
|
-
if (response.ErrorInfo) {
|
|
54
|
-
cb(new Command_1.CommandError(response.ErrorInfo.ErrorMessage));
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
const sites = json[json.length - 1];
|
|
59
|
-
logger.log(sites._Child_Items_);
|
|
60
|
-
}
|
|
40
|
+
.then(_ => {
|
|
41
|
+
logger.log(this.allSites);
|
|
61
42
|
cb();
|
|
62
43
|
}, (err) => this.handleRejectedPromise(err, logger, cb));
|
|
63
44
|
}
|
|
45
|
+
getAllSites(spoAdminUrl, filter, startIndex, personalSite, webTemplate, formDigest, logger) {
|
|
46
|
+
return new Promise((resolve, reject) => {
|
|
47
|
+
this
|
|
48
|
+
.ensureFormDigest(spoAdminUrl, logger, formDigest, this.debug)
|
|
49
|
+
.then((res) => {
|
|
50
|
+
const requestOptions = {
|
|
51
|
+
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
52
|
+
headers: {
|
|
53
|
+
'X-RequestDigest': res.FormDigestValue
|
|
54
|
+
},
|
|
55
|
+
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="2" ObjectPathId="1" /><ObjectPath Id="4" ObjectPathId="3" /><Query Id="5" ObjectPathId="3"><Query SelectAllProperties="true"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><Constructor Id="1" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="3" ParentId="1" Name="GetSitePropertiesFromSharePointByFilters"><Parameters><Parameter TypeId="{b92aeee2-c92c-4b67-abcc-024e471bc140}"><Property Name="Filter" Type="String">${filter}</Property><Property Name="IncludeDetail" Type="Boolean">false</Property><Property Name="IncludePersonalSite" Type="Enum">${personalSite}</Property><Property Name="StartIndex" Type="String">${startIndex}</Property><Property Name="Template" Type="String">${webTemplate}</Property></Parameter></Parameters></Method></ObjectPaths></Request>`
|
|
56
|
+
};
|
|
57
|
+
return request_1.default.post(requestOptions);
|
|
58
|
+
})
|
|
59
|
+
.then((res) => {
|
|
60
|
+
const json = JSON.parse(res);
|
|
61
|
+
const response = json[0];
|
|
62
|
+
if (response.ErrorInfo) {
|
|
63
|
+
reject(response.ErrorInfo.ErrorMessage);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
const sites = json[json.length - 1];
|
|
68
|
+
this.allSites.push(...sites._Child_Items_);
|
|
69
|
+
if (sites.NextStartIndexFromSharePoint) {
|
|
70
|
+
this
|
|
71
|
+
.getAllSites(spoAdminUrl, filter, sites.NextStartIndexFromSharePoint, personalSite, webTemplate, formDigest, logger)
|
|
72
|
+
.then(_ => resolve(), err => reject(err));
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
resolve();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}, err => reject(err));
|
|
79
|
+
});
|
|
80
|
+
}
|
|
64
81
|
options() {
|
|
65
82
|
const options = [
|
|
66
83
|
{
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Command_1 = require("../../../../Command");
|
|
4
3
|
const config_1 = require("../../../../config");
|
|
5
4
|
const request_1 = require("../../../../request");
|
|
6
5
|
const Utils_1 = require("../../../../Utils");
|
|
@@ -26,45 +25,62 @@ class SpoSiteListCommand extends SpoCommand_1.default {
|
|
|
26
25
|
commandAction(logger, args, cb) {
|
|
27
26
|
const siteType = args.options.type || 'TeamSite';
|
|
28
27
|
const webTemplate = siteType === 'TeamSite' ? 'GROUP#0' : 'SITEPAGEPUBLISHING#0';
|
|
29
|
-
const startIndex = '0';
|
|
30
28
|
let spoAdminUrl;
|
|
31
29
|
this
|
|
32
30
|
.getSpoAdminUrl(logger, this.debug)
|
|
33
31
|
.then((_spoAdminUrl) => {
|
|
34
32
|
spoAdminUrl = _spoAdminUrl;
|
|
35
|
-
return this.getRequestDigest(spoAdminUrl);
|
|
36
|
-
})
|
|
37
|
-
.then((res) => {
|
|
38
33
|
if (this.verbose) {
|
|
39
34
|
logger.logToStderr(`Retrieving list of site collections...`);
|
|
40
35
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="4" ObjectPathId="3" /><ObjectPath Id="6" ObjectPathId="5" /><Query Id="7" ObjectPathId="5"><Query SelectAllProperties="true"><Properties><Property Name="NextStartIndexFromSharePoint" ScalarProperty="true" /></Properties></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><Constructor Id="3" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="5" ParentId="3" Name="GetDeletedSitePropertiesFromSharePoint"><Parameters><Parameter Type="Null" /></Parameters></Method></ObjectPaths></Request>`;
|
|
44
|
-
}
|
|
45
|
-
const requestOptions = {
|
|
46
|
-
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
47
|
-
headers: {
|
|
48
|
-
'X-RequestDigest': res.FormDigestValue
|
|
49
|
-
},
|
|
50
|
-
data: requestBody
|
|
51
|
-
};
|
|
52
|
-
return request_1.default.post(requestOptions);
|
|
36
|
+
this.allSites = [];
|
|
37
|
+
return this.getAllSites(spoAdminUrl, Utils_1.default.escapeXml(args.options.filter || ''), '0', webTemplate, undefined, args.options.deleted, logger);
|
|
53
38
|
})
|
|
54
|
-
.then(
|
|
55
|
-
|
|
56
|
-
const response = json[0];
|
|
57
|
-
if (response.ErrorInfo) {
|
|
58
|
-
cb(new Command_1.CommandError(response.ErrorInfo.ErrorMessage));
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
const sites = json[json.length - 1];
|
|
63
|
-
logger.log(sites._Child_Items_);
|
|
64
|
-
}
|
|
39
|
+
.then(_ => {
|
|
40
|
+
logger.log(this.allSites);
|
|
65
41
|
cb();
|
|
66
42
|
}, (err) => this.handleRejectedPromise(err, logger, cb));
|
|
67
43
|
}
|
|
44
|
+
getAllSites(spoAdminUrl, filter, startIndex, webTemplate, formDigest, deleted, logger) {
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
this
|
|
47
|
+
.ensureFormDigest(spoAdminUrl, logger, formDigest, this.debug)
|
|
48
|
+
.then((res) => {
|
|
49
|
+
let requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="2" ObjectPathId="1" /><ObjectPath Id="4" ObjectPathId="3" /><Query Id="5" ObjectPathId="3"><Query SelectAllProperties="true"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><Constructor Id="1" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="3" ParentId="1" Name="GetSitePropertiesFromSharePointByFilters"><Parameters><Parameter TypeId="{b92aeee2-c92c-4b67-abcc-024e471bc140}"><Property Name="Filter" Type="String">${filter}</Property><Property Name="IncludeDetail" Type="Boolean">false</Property><Property Name="IncludePersonalSite" Type="Enum">0</Property><Property Name="StartIndex" Type="String">${startIndex}</Property><Property Name="Template" Type="String">${webTemplate}</Property></Parameter></Parameters></Method></ObjectPaths></Request>`;
|
|
50
|
+
if (deleted) {
|
|
51
|
+
requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="4" ObjectPathId="3" /><ObjectPath Id="6" ObjectPathId="5" /><Query Id="7" ObjectPathId="5"><Query SelectAllProperties="true"><Properties><Property Name="NextStartIndexFromSharePoint" ScalarProperty="true" /></Properties></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><Constructor Id="3" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="5" ParentId="3" Name="GetDeletedSitePropertiesFromSharePoint"><Parameters><Parameter Type="String">${startIndex}</Parameter></Parameters></Method></ObjectPaths></Request>`;
|
|
52
|
+
}
|
|
53
|
+
const requestOptions = {
|
|
54
|
+
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
55
|
+
headers: {
|
|
56
|
+
'X-RequestDigest': res.FormDigestValue
|
|
57
|
+
},
|
|
58
|
+
data: requestBody
|
|
59
|
+
};
|
|
60
|
+
return request_1.default.post(requestOptions);
|
|
61
|
+
})
|
|
62
|
+
.then((res) => {
|
|
63
|
+
const json = JSON.parse(res);
|
|
64
|
+
const response = json[0];
|
|
65
|
+
if (response.ErrorInfo) {
|
|
66
|
+
reject(response.ErrorInfo.ErrorMessage);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const sites = json[json.length - 1];
|
|
71
|
+
this.allSites.push(...sites._Child_Items_);
|
|
72
|
+
if (sites.NextStartIndexFromSharePoint) {
|
|
73
|
+
this
|
|
74
|
+
.getAllSites(spoAdminUrl, filter, sites.NextStartIndexFromSharePoint, webTemplate, formDigest, deleted, logger)
|
|
75
|
+
.then(_ => resolve(), err => reject(err));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
resolve();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}, err => reject(err));
|
|
82
|
+
});
|
|
83
|
+
}
|
|
68
84
|
options() {
|
|
69
85
|
const options = [
|
|
70
86
|
{
|
|
@@ -19,6 +19,7 @@ class SpoSiteDesignSetCommand extends SpoCommand_1.default {
|
|
|
19
19
|
telemetryProps.description = typeof args.options.description !== 'undefined';
|
|
20
20
|
telemetryProps.previewImageUrl = typeof args.options.previewImageUrl !== 'undefined';
|
|
21
21
|
telemetryProps.previewImageAltText = typeof args.options.previewImageAltText !== 'undefined';
|
|
22
|
+
telemetryProps.thumbnailUrl = typeof args.options.thumbnailUrl !== 'undefined';
|
|
22
23
|
telemetryProps.version = typeof args.options.version !== 'undefined';
|
|
23
24
|
telemetryProps.isDefault = typeof args.options.isDefault !== 'undefined';
|
|
24
25
|
return telemetryProps;
|
|
@@ -45,6 +46,9 @@ class SpoSiteDesignSetCommand extends SpoCommand_1.default {
|
|
|
45
46
|
if (args.options.previewImageAltText) {
|
|
46
47
|
updateInfo.PreviewImageAltText = args.options.previewImageAltText;
|
|
47
48
|
}
|
|
49
|
+
if (args.options.thumbnailUrl) {
|
|
50
|
+
updateInfo.ThumbnailUrl = args.options.thumbnailUrl;
|
|
51
|
+
}
|
|
48
52
|
if (args.options.webTemplate) {
|
|
49
53
|
updateInfo.WebTemplate = args.options.webTemplate === 'TeamSite' ? '64' : '68';
|
|
50
54
|
}
|
|
@@ -95,6 +99,9 @@ class SpoSiteDesignSetCommand extends SpoCommand_1.default {
|
|
|
95
99
|
{
|
|
96
100
|
option: '-a, --previewImageAltText [previewImageAltText]'
|
|
97
101
|
},
|
|
102
|
+
{
|
|
103
|
+
option: '--thumbnailUrl [thumbnailUrl]'
|
|
104
|
+
},
|
|
98
105
|
{
|
|
99
106
|
option: '-v, --version [version]'
|
|
100
107
|
},
|
|
@@ -222,13 +222,13 @@ class SpoSearchCommand extends SpoCommand_1.default {
|
|
|
222
222
|
if (args.options.sortList && !/^([a-z0-9_]+:(ascending|descending))(,([a-z0-9_]+:(ascending|descending)))*$/gi.test(args.options.sortList)) {
|
|
223
223
|
return `sortlist parameter value '${args.options.sortList}' does not match the required pattern (=comma-separated list of '<property>:(ascending|descending)'-pattern)`;
|
|
224
224
|
}
|
|
225
|
-
if (args.options.rowLimit && !util_1.isNumber(args.options.rowLimit)) {
|
|
225
|
+
if (args.options.rowLimit && !(0, util_1.isNumber)(args.options.rowLimit)) {
|
|
226
226
|
return `${args.options.rowLimit} is not a valid number`;
|
|
227
227
|
}
|
|
228
|
-
if (args.options.startRow && !util_1.isNumber(args.options.startRow)) {
|
|
228
|
+
if (args.options.startRow && !(0, util_1.isNumber)(args.options.startRow)) {
|
|
229
229
|
return `${args.options.startRow} is not a valid number`;
|
|
230
230
|
}
|
|
231
|
-
if (args.options.culture && !util_1.isNumber(args.options.culture)) {
|
|
231
|
+
if (args.options.culture && !(0, util_1.isNumber)(args.options.culture)) {
|
|
232
232
|
return `${args.options.culture} is not a valid number`;
|
|
233
233
|
}
|
|
234
234
|
return true;
|
|
@@ -48,7 +48,7 @@ class SpoTermAddCommand extends SpoCommand_1.default {
|
|
|
48
48
|
`<Method Id="16" ParentId="6" Name="GetTerm"><Parameters><Parameter Type="Guid">{${args.options.parentTermId}}</Parameter></Parameters></Method>` :
|
|
49
49
|
// no parent term specified, add to term set
|
|
50
50
|
args.options.termSetId ? `<Method Id="16" ParentId="14" Name="GetById"><Parameters><Parameter Type="Guid">{${args.options.termSetId}}</Parameter></Parameters></Method>` : `<Method Id="16" ParentId="14" Name="GetByName"><Parameters><Parameter Type="String">${Utils_1.default.escapeXml(args.options.termSetName)}</Parameter></Parameters></Method>`;
|
|
51
|
-
const termId = args.options.id || uuid_1.v4();
|
|
51
|
+
const termId = args.options.id || (0, uuid_1.v4)();
|
|
52
52
|
const data = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="4" ObjectPathId="3" /><ObjectIdentityQuery Id="5" ObjectPathId="3" /><ObjectPath Id="7" ObjectPathId="6" /><ObjectIdentityQuery Id="8" ObjectPathId="6" /><ObjectPath Id="10" ObjectPathId="9" /><ObjectPath Id="12" ObjectPathId="11" /><ObjectIdentityQuery Id="13" ObjectPathId="11" /><ObjectPath Id="15" ObjectPathId="14" /><ObjectPath Id="17" ObjectPathId="16" /><ObjectIdentityQuery Id="18" ObjectPathId="16" /><ObjectPath Id="20" ObjectPathId="19" /><ObjectIdentityQuery Id="21" ObjectPathId="19" /><Query Id="22" ObjectPathId="19"><Query SelectAllProperties="true"><Properties /></Query></Query></Actions><ObjectPaths><StaticMethod Id="3" Name="GetTaxonomySession" TypeId="{981cbc68-9edc-4f8d-872f-71146fcbb84f}" /><Method Id="6" ParentId="3" Name="GetDefaultSiteCollectionTermStore" /><Property Id="9" ParentId="6" Name="Groups" />${termGroupQuery}<Property Id="14" ParentId="11" Name="TermSets" />${termParentQuery}<Method Id="19" ParentId="16" Name="CreateTerm"><Parameters><Parameter Type="String">${Utils_1.default.escapeXml(args.options.name)}</Parameter><Parameter Type="Int32">1033</Parameter><Parameter Type="Guid">{${termId}}</Parameter></Parameters></Method></ObjectPaths></Request>`;
|
|
53
53
|
const requestOptions = {
|
|
54
54
|
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|