@pnp/cli-microsoft365 6.10.0-beta.f43fa4d → 6.11.0-beta.1b96aef
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/dist/Auth.js +2 -1
- package/dist/Command.js +1 -1
- package/dist/m365/cli/commands/config/config-list.js +29 -0
- package/dist/m365/cli/commands.js +1 -0
- package/dist/m365/pa/commands/app/app-permission-ensure.js +177 -0
- package/dist/m365/pa/commands/app/app-permission-remove.js +170 -0
- package/dist/m365/pa/commands.js +2 -0
- package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-get.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-list.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-remove.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-set.js +2 -2
- package/dist/m365/planner/commands/plan/plan-get.js +1 -2
- package/dist/m365/planner/commands/plan/plan-list.js +4 -5
- package/dist/m365/planner/commands/plan/plan-set.js +2 -2
- package/dist/m365/planner/commands/roster/roster-member-add.js +3 -14
- package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.1.js → doctor-1.18.0-beta.5.js} +1 -1
- package/dist/m365/spfx/commands/project/project-doctor.js +1 -1
- package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +34 -23
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.1.js → upgrade-1.18.0-beta.5.js} +26 -26
- package/dist/m365/spfx/commands/project/project-upgrade.js +1 -1
- package/dist/m365/spfx/commands/spfx-doctor.js +35 -51
- package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +26 -14
- package/dist/m365/spo/commands/app/app-add.js +9 -9
- package/dist/m365/spo/commands/file/file-add.js +13 -13
- package/dist/m365/spo/commands/file/file-checkin.js +1 -1
- package/dist/m365/spo/commands/file/file-checkout.js +1 -1
- package/dist/m365/spo/commands/file/file-copy.js +38 -4
- package/dist/m365/spo/commands/file/file-list.js +4 -4
- package/dist/m365/spo/commands/file/file-move.js +2 -2
- package/dist/m365/spo/commands/file/file-remove.js +6 -6
- package/dist/m365/spo/commands/file/file-rename.js +2 -2
- package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +1 -1
- package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +1 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/file/file-version-clear.js +1 -1
- package/dist/m365/spo/commands/file/file-version-get.js +1 -1
- package/dist/m365/spo/commands/file/file-version-list.js +1 -1
- package/dist/m365/spo/commands/file/file-version-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-version-restore.js +1 -1
- package/dist/m365/spo/commands/folder/folder-add.js +2 -4
- package/dist/m365/spo/commands/folder/folder-get.js +1 -1
- package/dist/m365/spo/commands/folder/folder-list.js +2 -2
- package/dist/m365/spo/commands/folder/folder-remove.js +7 -4
- package/dist/m365/spo/commands/folder/folder-rename.js +13 -17
- package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +1 -1
- package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/group/group-list.js +0 -1
- package/dist/m365/spo/commands/navigation/navigation-node-set.js +2 -2
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +32 -3
- package/dist/m365/spo/commands/page/Page.js +24 -32
- package/dist/m365/spo/commands/propertybag/propertybag-base.js +75 -54
- package/dist/m365/spo/commands/propertybag/propertybag-remove.js +41 -40
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +32 -32
- package/dist/m365/spo/commands/site/FlowsPolicy.js +10 -0
- package/dist/m365/spo/commands/site/site-add.js +113 -154
- package/dist/m365/spo/commands/site/site-apppermission-add.js +26 -27
- package/dist/m365/spo/commands/site/site-apppermission-remove.js +37 -37
- package/dist/m365/spo/commands/site/site-apppermission-set.js +15 -16
- package/dist/m365/spo/commands/site/site-ensure.js +19 -70
- package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +24 -22
- package/dist/m365/spo/commands/site/site-list.js +28 -36
- package/dist/m365/spo/commands/site/site-remove.js +139 -171
- package/dist/m365/spo/commands/site/site-set.js +179 -178
- package/dist/m365/spo/commands/theme/theme-remove.js +26 -24
- package/dist/m365/spo/commands/theme/theme-set.js +0 -1
- package/dist/m365/spo/commands/user/user-remove.js +29 -27
- package/dist/m365/spo/commands/web/web-reindex.js +17 -20
- package/dist/m365/spo/commands/web/web-remove.js +23 -21
- package/dist/m365/spo/commands/web/web-roleassignment-add.js +45 -52
- package/dist/m365/spo/commands/web/web-roleassignment-remove.js +58 -61
- package/dist/m365/spo/commands/web/web-roleinheritance-break.js +20 -18
- package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +21 -19
- package/dist/m365/teams/commands/meeting/meeting-get.js +16 -24
- package/dist/m365/teams/commands/meeting/meeting-list.js +2 -15
- package/dist/m365/yammer/commands/message/message-like-set.js +29 -28
- package/dist/m365/yammer/commands/message/message-list.js +9 -26
- package/dist/m365/yammer/commands/message/message-remove.js +20 -18
- package/dist/m365/yammer/commands/yammer-search.js +42 -56
- package/dist/utils/aadGroup.js +20 -0
- package/dist/utils/planner.js +6 -3
- package/dist/utils/spo.js +601 -1
- package/docs/docs/cmd/aad/user/user-set.mdx +1 -1
- package/docs/docs/cmd/cli/config/config-list.mdx +78 -0
- package/docs/docs/cmd/flow/flow-enable.mdx +2 -2
- package/docs/docs/cmd/login.mdx +6 -0
- package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +85 -0
- package/docs/docs/cmd/pa/app/app-permission-remove.mdx +74 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +2 -2
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +2 -2
- package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkin.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -9
- package/docs/docs/cmd/spo/file/file-checkout.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-copy.mdx +20 -16
- package/docs/docs/cmd/spo/file/file-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-list.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-move.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-remove.mdx +8 -8
- package/docs/docs/cmd/spo/file/file-rename.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-clear.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-restore.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-add.mdx +76 -1
- package/docs/docs/cmd/spo/folder/folder-get.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-list.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-rename.mdx +5 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +2 -2
- package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.mdx +1 -1
- package/docs/docs/cmd/spo/listitem/listitem-attachment-list.mdx +1 -1
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
- package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
- package/docs/docs/cmd/yammer/network/network-list.mdx +1 -1
- package/npm-shrinkwrap.json +685 -346
- package/package.json +13 -13
|
@@ -80,8 +80,8 @@ class SpoWebReindexCommand extends SpoCommand_1.default {
|
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
reindexLists(webUrl, requestDigest, logger, webIdentityResp) {
|
|
83
|
-
return
|
|
84
|
-
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
try {
|
|
85
85
|
if (this.debug) {
|
|
86
86
|
logger.logToStderr(`Retrieving information about lists...`);
|
|
87
87
|
}
|
|
@@ -92,36 +92,33 @@ class SpoWebReindexCommand extends SpoCommand_1.default {
|
|
|
92
92
|
},
|
|
93
93
|
responseType: 'json'
|
|
94
94
|
};
|
|
95
|
-
|
|
96
|
-
})()
|
|
97
|
-
.then((lists) => {
|
|
95
|
+
const lists = yield request_1.default.get(requestOptions);
|
|
98
96
|
const promises = lists.value.map(l => this.reindexList(l, webUrl, requestDigest, webIdentityResp, logger));
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
97
|
+
yield Promise.all(promises);
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
throw err;
|
|
101
|
+
}
|
|
104
102
|
});
|
|
105
103
|
}
|
|
106
104
|
reindexList(list, webUrl, requestDigest, webIdentityResp, logger) {
|
|
107
|
-
return
|
|
105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
106
|
if (list.NoCrawl) {
|
|
109
107
|
if (this.debug) {
|
|
110
108
|
logger.logToStderr(`List ${list.Title} is excluded from crawling`);
|
|
111
109
|
}
|
|
112
|
-
resolve();
|
|
113
110
|
return;
|
|
114
111
|
}
|
|
115
|
-
|
|
116
|
-
.getFolderIdentity(webIdentityResp.objectIdentity, webUrl, list.RootFolder.ServerRelativeUrl, requestDigest)
|
|
117
|
-
.then((folderIdentityResp) => {
|
|
112
|
+
try {
|
|
113
|
+
const folderIdentityResp = yield spo_1.spo.getFolderIdentity(webIdentityResp.objectIdentity, webUrl, list.RootFolder.ServerRelativeUrl, requestDigest);
|
|
118
114
|
let searchversion = list.RootFolder.Properties.vti_x005f_searchversion || 0;
|
|
119
115
|
searchversion++;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
116
|
+
yield propertybag_base_1.SpoPropertyBagBaseCommand.setProperty('vti_searchversion', searchversion.toString(), webUrl, requestDigest, folderIdentityResp, logger, this.debug, list.RootFolder.ServerRelativeUrl);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
throw (err);
|
|
121
|
+
}
|
|
125
122
|
});
|
|
126
123
|
}
|
|
127
124
|
}
|
|
@@ -36,27 +36,8 @@ class SpoWebRemoveCommand extends SpoCommand_1.default {
|
|
|
36
36
|
}
|
|
37
37
|
commandAction(logger, args) {
|
|
38
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const removeWeb = () => __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const requestOptions = {
|
|
41
|
-
url: `${encodeURI(args.options.url)}/_api/web`,
|
|
42
|
-
headers: {
|
|
43
|
-
accept: 'application/json;odata=nometadata',
|
|
44
|
-
'X-HTTP-Method': 'DELETE'
|
|
45
|
-
},
|
|
46
|
-
responseType: 'json'
|
|
47
|
-
};
|
|
48
|
-
if (this.verbose) {
|
|
49
|
-
logger.logToStderr(`Deleting subsite ${args.options.url} ...`);
|
|
50
|
-
}
|
|
51
|
-
try {
|
|
52
|
-
yield request_1.default.post(requestOptions);
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
this.handleRejectedODataJsonPromise(err);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
39
|
if (args.options.confirm) {
|
|
59
|
-
yield removeWeb();
|
|
40
|
+
yield this.removeWeb(logger, args.options.url);
|
|
60
41
|
}
|
|
61
42
|
else {
|
|
62
43
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -66,11 +47,32 @@ class SpoWebRemoveCommand extends SpoCommand_1.default {
|
|
|
66
47
|
message: `Are you sure you want to remove the subsite ${args.options.url}`
|
|
67
48
|
});
|
|
68
49
|
if (result.continue) {
|
|
69
|
-
yield removeWeb();
|
|
50
|
+
yield this.removeWeb(logger, args.options.url);
|
|
70
51
|
}
|
|
71
52
|
}
|
|
72
53
|
});
|
|
73
54
|
}
|
|
55
|
+
removeWeb(logger, url) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
const requestOptions = {
|
|
58
|
+
url: `${encodeURI(url)}/_api/web`,
|
|
59
|
+
headers: {
|
|
60
|
+
accept: 'application/json;odata=nometadata',
|
|
61
|
+
'X-HTTP-Method': 'DELETE'
|
|
62
|
+
},
|
|
63
|
+
responseType: 'json'
|
|
64
|
+
};
|
|
65
|
+
if (this.verbose) {
|
|
66
|
+
logger.logToStderr(`Deleting subsite ${url} ...`);
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
yield request_1.default.post(requestOptions);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
this.handleRejectedODataJsonPromise(err);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
74
76
|
}
|
|
75
77
|
_SpoWebRemoveCommand_instances = new WeakSet(), _SpoWebRemoveCommand_initTelemetry = function _SpoWebRemoveCommand_initTelemetry() {
|
|
76
78
|
this.telemetry.push((args) => {
|
|
@@ -63,70 +63,63 @@ class SpoWebRoleAssignmentAddCommand extends SpoCommand_1.default {
|
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
addRoleAssignment(logger, options) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
.post(requestOptions)
|
|
77
|
-
|
|
78
|
-
.catch((err) => Promise.reject(err));
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
const requestOptions = {
|
|
68
|
+
url: `${options.webUrl}/_api/web/roleassignments/addroleassignment(principalid='${options.principalId}',roledefid='${options.roleDefinitionId}')`,
|
|
69
|
+
method: 'POST',
|
|
70
|
+
headers: {
|
|
71
|
+
'accept': 'application/json;odata=nometadata',
|
|
72
|
+
'content-type': 'application/json'
|
|
73
|
+
},
|
|
74
|
+
responseType: 'json'
|
|
75
|
+
};
|
|
76
|
+
yield request_1.default.post(requestOptions);
|
|
77
|
+
});
|
|
79
78
|
}
|
|
80
79
|
getRoleDefinitionId(options) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
.
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
if (!options.roleDefinitionName) {
|
|
82
|
+
return options.roleDefinitionId;
|
|
83
|
+
}
|
|
84
|
+
const roleDefinitionListCommandOptions = {
|
|
85
|
+
webUrl: options.webUrl,
|
|
86
|
+
output: 'json',
|
|
87
|
+
debug: this.debug,
|
|
88
|
+
verbose: this.verbose
|
|
89
|
+
};
|
|
90
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoRoleDefinitionListCommand, { options: Object.assign(Object.assign({}, roleDefinitionListCommandOptions), { _: [] }) });
|
|
92
91
|
const getRoleDefinitionListOutput = JSON.parse(output.stdout);
|
|
93
92
|
const roleDefinitionId = getRoleDefinitionListOutput.find((role) => role.Name === options.roleDefinitionName).Id;
|
|
94
|
-
return
|
|
95
|
-
}, (err) => {
|
|
96
|
-
return Promise.reject(err);
|
|
93
|
+
return roleDefinitionId;
|
|
97
94
|
});
|
|
98
95
|
}
|
|
99
96
|
getGroupPrincipalId(options) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
.
|
|
97
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
const groupGetCommandOptions = {
|
|
99
|
+
webUrl: options.webUrl,
|
|
100
|
+
name: options.groupName,
|
|
101
|
+
output: 'json',
|
|
102
|
+
debug: this.debug,
|
|
103
|
+
verbose: this.verbose
|
|
104
|
+
};
|
|
105
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
|
|
109
106
|
const getGroupOutput = JSON.parse(output.stdout);
|
|
110
|
-
return
|
|
111
|
-
}, (err) => {
|
|
112
|
-
return Promise.reject(err);
|
|
107
|
+
return getGroupOutput.Id;
|
|
113
108
|
});
|
|
114
109
|
}
|
|
115
110
|
getUserPrincipalId(options) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
.
|
|
111
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
const userGetCommandOptions = {
|
|
113
|
+
webUrl: options.webUrl,
|
|
114
|
+
email: options.upn,
|
|
115
|
+
id: undefined,
|
|
116
|
+
output: 'json',
|
|
117
|
+
debug: this.debug,
|
|
118
|
+
verbose: this.verbose
|
|
119
|
+
};
|
|
120
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
|
|
126
121
|
const getUserOutput = JSON.parse(output.stdout);
|
|
127
|
-
return
|
|
128
|
-
}, (err) => {
|
|
129
|
-
return Promise.reject(err);
|
|
122
|
+
return getUserOutput.Id;
|
|
130
123
|
});
|
|
131
124
|
}
|
|
132
125
|
}
|
|
@@ -39,29 +39,8 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand_1.default {
|
|
|
39
39
|
}
|
|
40
40
|
commandAction(logger, args) {
|
|
41
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const removeRoleAssignment = () => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
if (this.verbose) {
|
|
44
|
-
logger.logToStderr(`Removing role assignment from web ${args.options.webUrl}...`);
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
if (args.options.upn) {
|
|
48
|
-
args.options.principalId = yield this.getUserPrincipalId(args.options);
|
|
49
|
-
yield this.removeRoleAssignment(logger, args.options);
|
|
50
|
-
}
|
|
51
|
-
else if (args.options.groupName) {
|
|
52
|
-
args.options.principalId = yield this.getGroupPrincipalId(args.options);
|
|
53
|
-
yield this.removeRoleAssignment(logger, args.options);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
yield this.removeRoleAssignment(logger, args.options);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
catch (err) {
|
|
60
|
-
this.handleRejectedODataJsonPromise(err);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
42
|
if (args.options.confirm) {
|
|
64
|
-
yield removeRoleAssignment();
|
|
43
|
+
yield this.removeRoleAssignment(logger, args.options);
|
|
65
44
|
}
|
|
66
45
|
else {
|
|
67
46
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -71,57 +50,75 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand_1.default {
|
|
|
71
50
|
message: `Are you sure you want to remove role assignment from web ${args.options.webUrl}?`
|
|
72
51
|
});
|
|
73
52
|
if (result.continue) {
|
|
74
|
-
yield removeRoleAssignment();
|
|
53
|
+
yield this.removeRoleAssignment(logger, args.options);
|
|
75
54
|
}
|
|
76
55
|
}
|
|
77
56
|
});
|
|
78
57
|
}
|
|
79
58
|
removeRoleAssignment(logger, options) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
if (this.verbose) {
|
|
61
|
+
logger.logToStderr(`Removing role assignment from web ${options.webUrl}...`);
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
if (options.upn) {
|
|
65
|
+
options.principalId = yield this.getUserPrincipalId(options);
|
|
66
|
+
yield this.removeRoleAssignmentWithOptions(logger, options);
|
|
67
|
+
}
|
|
68
|
+
else if (options.groupName) {
|
|
69
|
+
options.principalId = yield this.getGroupPrincipalId(options);
|
|
70
|
+
yield this.removeRoleAssignmentWithOptions(logger, options);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
yield this.removeRoleAssignmentWithOptions(logger, options);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
this.handleRejectedODataJsonPromise(err);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
removeRoleAssignmentWithOptions(logger, options) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const requestOptions = {
|
|
84
|
+
url: `${options.webUrl}/_api/web/roleassignments/removeroleassignment(principalid='${options.principalId}')`,
|
|
85
|
+
method: 'POST',
|
|
86
|
+
headers: {
|
|
87
|
+
'accept': 'application/json;odata=nometadata',
|
|
88
|
+
'content-type': 'application/json'
|
|
89
|
+
},
|
|
90
|
+
responseType: 'json'
|
|
91
|
+
};
|
|
92
|
+
yield request_1.default.post(requestOptions);
|
|
93
|
+
});
|
|
93
94
|
}
|
|
94
95
|
getGroupPrincipalId(options) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
.
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
const groupGetCommandOptions = {
|
|
98
|
+
webUrl: options.webUrl,
|
|
99
|
+
name: options.groupName,
|
|
100
|
+
output: 'json',
|
|
101
|
+
debug: this.debug,
|
|
102
|
+
verbose: this.verbose
|
|
103
|
+
};
|
|
104
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
|
|
104
105
|
const getGroupOutput = JSON.parse(output.stdout);
|
|
105
|
-
return
|
|
106
|
-
}, (err) => {
|
|
107
|
-
return Promise.reject(err);
|
|
106
|
+
return getGroupOutput.Id;
|
|
108
107
|
});
|
|
109
108
|
}
|
|
110
109
|
getUserPrincipalId(options) {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
.
|
|
110
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
const userGetCommandOptions = {
|
|
112
|
+
webUrl: options.webUrl,
|
|
113
|
+
email: options.upn,
|
|
114
|
+
id: undefined,
|
|
115
|
+
output: 'json',
|
|
116
|
+
debug: this.debug,
|
|
117
|
+
verbose: this.verbose
|
|
118
|
+
};
|
|
119
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
|
|
121
120
|
const getUserOutput = JSON.parse(output.stdout);
|
|
122
|
-
return
|
|
123
|
-
}, (err) => {
|
|
124
|
-
return Promise.reject(err);
|
|
121
|
+
return getUserOutput.Id;
|
|
125
122
|
});
|
|
126
123
|
}
|
|
127
124
|
}
|
|
@@ -39,24 +39,8 @@ class SpoWebRoleInheritanceBreakCommand extends SpoCommand_1.default {
|
|
|
39
39
|
if (this.verbose) {
|
|
40
40
|
logger.logToStderr(`Break role inheritance of subsite with URL ${args.options.webUrl}...`);
|
|
41
41
|
}
|
|
42
|
-
const breakroleInheritance = () => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
const requestOptions = {
|
|
44
|
-
url: `${args.options.webUrl}/_api/web/breakroleinheritance(${!args.options.clearExistingPermissions})`,
|
|
45
|
-
headers: {
|
|
46
|
-
'accept': 'application/json;odata=nometadata',
|
|
47
|
-
'content-type': 'application/json'
|
|
48
|
-
},
|
|
49
|
-
responseType: 'json'
|
|
50
|
-
};
|
|
51
|
-
try {
|
|
52
|
-
yield request_1.default.post(requestOptions);
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
this.handleRejectedODataJsonPromise(err);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
42
|
if (args.options.confirm) {
|
|
59
|
-
yield breakroleInheritance();
|
|
43
|
+
yield this.breakroleInheritance(args.options);
|
|
60
44
|
}
|
|
61
45
|
else {
|
|
62
46
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -66,11 +50,29 @@ class SpoWebRoleInheritanceBreakCommand extends SpoCommand_1.default {
|
|
|
66
50
|
message: `Are you sure you want to break the role inheritance of subsite ${args.options.webUrl}`
|
|
67
51
|
});
|
|
68
52
|
if (result.continue) {
|
|
69
|
-
yield breakroleInheritance();
|
|
53
|
+
yield this.breakroleInheritance(args.options);
|
|
70
54
|
}
|
|
71
55
|
}
|
|
72
56
|
});
|
|
73
57
|
}
|
|
58
|
+
breakroleInheritance(options) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
const requestOptions = {
|
|
61
|
+
url: `${options.webUrl}/_api/web/breakroleinheritance(${!options.clearExistingPermissions})`,
|
|
62
|
+
headers: {
|
|
63
|
+
'accept': 'application/json;odata=nometadata',
|
|
64
|
+
'content-type': 'application/json'
|
|
65
|
+
},
|
|
66
|
+
responseType: 'json'
|
|
67
|
+
};
|
|
68
|
+
try {
|
|
69
|
+
yield request_1.default.post(requestOptions);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
this.handleRejectedODataJsonPromise(err);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
74
76
|
}
|
|
75
77
|
_SpoWebRoleInheritanceBreakCommand_instances = new WeakSet(), _SpoWebRoleInheritanceBreakCommand_initTelemetry = function _SpoWebRoleInheritanceBreakCommand_initTelemetry() {
|
|
76
78
|
this.telemetry.push((args) => {
|
|
@@ -39,25 +39,8 @@ class SpoWebRoleInheritanceResetCommand extends SpoCommand_1.default {
|
|
|
39
39
|
if (this.verbose) {
|
|
40
40
|
logger.logToStderr(`Restore role inheritance of subsite at ${args.options.webUrl}...`);
|
|
41
41
|
}
|
|
42
|
-
const resetWebRoleInheritance = () => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
try {
|
|
44
|
-
const requestOptions = {
|
|
45
|
-
url: `${args.options.webUrl}/_api/web/resetroleinheritance`,
|
|
46
|
-
method: 'POST',
|
|
47
|
-
headers: {
|
|
48
|
-
'accept': 'application/json;odata=nometadata',
|
|
49
|
-
'content-type': 'application/json'
|
|
50
|
-
},
|
|
51
|
-
responseType: 'json'
|
|
52
|
-
};
|
|
53
|
-
yield request_1.default.post(requestOptions);
|
|
54
|
-
}
|
|
55
|
-
catch (err) {
|
|
56
|
-
this.handleRejectedODataJsonPromise(err);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
42
|
if (args.options.confirm) {
|
|
60
|
-
yield resetWebRoleInheritance();
|
|
43
|
+
yield this.resetWebRoleInheritance(args.options);
|
|
61
44
|
}
|
|
62
45
|
else {
|
|
63
46
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -67,11 +50,30 @@ class SpoWebRoleInheritanceResetCommand extends SpoCommand_1.default {
|
|
|
67
50
|
message: `Are you sure you want to reset the role inheritance of ${args.options.webUrl}`
|
|
68
51
|
});
|
|
69
52
|
if (result.continue) {
|
|
70
|
-
yield resetWebRoleInheritance();
|
|
53
|
+
yield this.resetWebRoleInheritance(args.options);
|
|
71
54
|
}
|
|
72
55
|
}
|
|
73
56
|
});
|
|
74
57
|
}
|
|
58
|
+
resetWebRoleInheritance(options) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
try {
|
|
61
|
+
const requestOptions = {
|
|
62
|
+
url: `${options.webUrl}/_api/web/resetroleinheritance`,
|
|
63
|
+
method: 'POST',
|
|
64
|
+
headers: {
|
|
65
|
+
'accept': 'application/json;odata=nometadata',
|
|
66
|
+
'content-type': 'application/json'
|
|
67
|
+
},
|
|
68
|
+
responseType: 'json'
|
|
69
|
+
};
|
|
70
|
+
yield request_1.default.post(requestOptions);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
this.handleRejectedODataJsonPromise(err);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
75
77
|
}
|
|
76
78
|
_SpoWebRoleInheritanceResetCommand_instances = new WeakSet(), _SpoWebRoleInheritanceResetCommand_initTelemetry = function _SpoWebRoleInheritanceResetCommand_initTelemetry() {
|
|
77
79
|
this.telemetry.push((args) => {
|
|
@@ -16,13 +16,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
16
16
|
var _TeamsMeetingGetCommand_instances, _TeamsMeetingGetCommand_initTelemetry, _TeamsMeetingGetCommand_initOptions, _TeamsMeetingGetCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const Auth_1 = require("../../../../Auth");
|
|
19
|
-
const Cli_1 = require("../../../../cli/Cli");
|
|
20
19
|
const request_1 = require("../../../../request");
|
|
21
20
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
22
21
|
const commands_1 = require("../../commands");
|
|
23
22
|
const validation_1 = require("../../../../utils/validation");
|
|
24
23
|
const accessToken_1 = require("../../../../utils/accessToken");
|
|
25
|
-
const
|
|
24
|
+
const aadUser_1 = require("../../../../utils/aadUser");
|
|
25
|
+
const formatting_1 = require("../../../../utils/formatting");
|
|
26
26
|
class TeamsMeetingGetCommand extends GraphCommand_1.default {
|
|
27
27
|
get name() {
|
|
28
28
|
return commands_1.default.MEETING_GET;
|
|
@@ -37,20 +37,6 @@ class TeamsMeetingGetCommand extends GraphCommand_1.default {
|
|
|
37
37
|
__classPrivateFieldGet(this, _TeamsMeetingGetCommand_instances, "m", _TeamsMeetingGetCommand_initOptions).call(this);
|
|
38
38
|
__classPrivateFieldGet(this, _TeamsMeetingGetCommand_instances, "m", _TeamsMeetingGetCommand_initValidators).call(this);
|
|
39
39
|
}
|
|
40
|
-
getUserId(options) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const commandOptions = {
|
|
43
|
-
email: options.email,
|
|
44
|
-
userName: options.userName,
|
|
45
|
-
output: 'json',
|
|
46
|
-
debug: this.debug,
|
|
47
|
-
verbose: this.verbose
|
|
48
|
-
};
|
|
49
|
-
const output = yield Cli_1.Cli.executeCommandWithOutput(AadUserGetCommand, { options: Object.assign(Object.assign({}, commandOptions), { _: [] }) });
|
|
50
|
-
const getUserOutput = JSON.parse(output.stdout);
|
|
51
|
-
return getUserOutput.id;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
40
|
commandAction(logger, args) {
|
|
55
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
42
|
const isAppOnlyAccessToken = accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken);
|
|
@@ -71,18 +57,13 @@ class TeamsMeetingGetCommand extends GraphCommand_1.default {
|
|
|
71
57
|
let requestUrl = `${this.resource}/v1.0/`;
|
|
72
58
|
if (isAppOnlyAccessToken) {
|
|
73
59
|
requestUrl += 'users/';
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
const userId = yield this.getUserId(args.options);
|
|
79
|
-
requestUrl += userId;
|
|
80
|
-
}
|
|
60
|
+
const userId = yield this.getUserId(args.options);
|
|
61
|
+
requestUrl += userId;
|
|
81
62
|
}
|
|
82
63
|
else {
|
|
83
64
|
requestUrl += `me`;
|
|
84
65
|
}
|
|
85
|
-
requestUrl += `/onlineMeetings?$filter=JoinWebUrl eq '${
|
|
66
|
+
requestUrl += `/onlineMeetings?$filter=JoinWebUrl eq '${formatting_1.formatting.encodeQueryParameter(args.options.joinUrl)}'`;
|
|
86
67
|
const requestOptions = {
|
|
87
68
|
url: requestUrl,
|
|
88
69
|
headers: {
|
|
@@ -103,6 +84,17 @@ class TeamsMeetingGetCommand extends GraphCommand_1.default {
|
|
|
103
84
|
}
|
|
104
85
|
});
|
|
105
86
|
}
|
|
87
|
+
getUserId(options) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
if (options.userId) {
|
|
90
|
+
return options.userId;
|
|
91
|
+
}
|
|
92
|
+
if (options.userName) {
|
|
93
|
+
return aadUser_1.aadUser.getUserIdByUpn(options.userName);
|
|
94
|
+
}
|
|
95
|
+
return aadUser_1.aadUser.getUserIdByEmail(options.email);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
106
98
|
}
|
|
107
99
|
_TeamsMeetingGetCommand_instances = new WeakSet(), _TeamsMeetingGetCommand_initTelemetry = function _TeamsMeetingGetCommand_initTelemetry() {
|
|
108
100
|
this.telemetry.push((args) => {
|
|
@@ -21,8 +21,8 @@ const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
|
21
21
|
const commands_1 = require("../../commands");
|
|
22
22
|
const odata_1 = require("../../../../utils/odata");
|
|
23
23
|
const validation_1 = require("../../../../utils/validation");
|
|
24
|
-
const AadUserGetCommand = require("../../../aad/commands/user/user-get");
|
|
25
24
|
const accessToken_1 = require("../../../../utils/accessToken");
|
|
25
|
+
const aadUser_1 = require("../../../../utils/aadUser");
|
|
26
26
|
class TeamsMeetingListCommand extends GraphCommand_1.default {
|
|
27
27
|
get name() {
|
|
28
28
|
return commands_1.default.MEETING_LIST;
|
|
@@ -60,7 +60,7 @@ class TeamsMeetingListCommand extends GraphCommand_1.default {
|
|
|
60
60
|
requestUrl += args.options.userName;
|
|
61
61
|
}
|
|
62
62
|
else if (args.options.email) {
|
|
63
|
-
const userId = yield
|
|
63
|
+
const userId = yield aadUser_1.aadUser.getUserIdByEmail(args.options.email);
|
|
64
64
|
requestUrl += userId;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -98,19 +98,6 @@ class TeamsMeetingListCommand extends GraphCommand_1.default {
|
|
|
98
98
|
}
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
|
-
getUserId(email) {
|
|
102
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
const options = {
|
|
104
|
-
email: email,
|
|
105
|
-
output: 'json',
|
|
106
|
-
debug: this.debug,
|
|
107
|
-
verbose: this.verbose
|
|
108
|
-
};
|
|
109
|
-
const output = yield Cli_1.Cli.executeCommandWithOutput(AadUserGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
|
|
110
|
-
const getUserOutput = JSON.parse(output.stdout);
|
|
111
|
-
return getUserOutput.id;
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
101
|
}
|
|
115
102
|
_TeamsMeetingListCommand_instances = new WeakSet(), _TeamsMeetingListCommand_initTelemetry = function _TeamsMeetingListCommand_initTelemetry() {
|
|
116
103
|
this.telemetry.push((args) => {
|