@pnp/cli-microsoft365 6.11.0-beta.7edcad2 → 6.11.0-beta.b75e15f
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/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/site/FlowsPolicy.js +10 -0
- 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-set.js +52 -39
- 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/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 +2 -2
- 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 +683 -344
- package/package.json +13 -13
|
@@ -28,6 +28,7 @@ const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
|
28
28
|
const commands_1 = require("../../commands");
|
|
29
29
|
const SharingCapabilities_1 = require("../site/SharingCapabilities");
|
|
30
30
|
const spoSiteDesignApplyCommand = require("../sitedesign/sitedesign-apply");
|
|
31
|
+
const FlowsPolicy_1 = require("./FlowsPolicy");
|
|
31
32
|
class SpoSiteSetCommand extends SpoCommand_1.default {
|
|
32
33
|
get name() {
|
|
33
34
|
return commands_1.default.SITE_SET;
|
|
@@ -310,33 +311,32 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
|
|
|
310
311
|
});
|
|
311
312
|
}
|
|
312
313
|
updateSiteProperties(logger, args) {
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
}
|
|
321
|
-
let updatedProperties = false;
|
|
322
|
-
for (let i = 0; i < properties.length; i++) {
|
|
323
|
-
if (typeof args.options[properties[i]] !== 'undefined') {
|
|
324
|
-
updatedProperties = true;
|
|
325
|
-
break;
|
|
314
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
315
|
+
const isGroupConnectedSite = this.isGroupConnectedSite();
|
|
316
|
+
const sharedProperties = ['classification', 'disableFlows', 'socialBarOnSitePagesDisabled', 'shareByEmailEnabled', 'sharingCapability', 'noScriptSite'];
|
|
317
|
+
const siteProperties = ['title', 'resourceQuota', 'resourceQuotaWarningLevel', 'storageQuota', 'storageQuotaWarningLevel', 'allowSelfServiceUpgrade'];
|
|
318
|
+
let properties = sharedProperties;
|
|
319
|
+
if (!isGroupConnectedSite) {
|
|
320
|
+
properties = properties.concat(siteProperties);
|
|
326
321
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
322
|
+
let updatedProperties = false;
|
|
323
|
+
for (let i = 0; i < properties.length; i++) {
|
|
324
|
+
if (typeof args.options[properties[i]] !== 'undefined') {
|
|
325
|
+
updatedProperties = true;
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
if (!updatedProperties) {
|
|
330
|
+
return Promise.resolve(undefined);
|
|
331
|
+
}
|
|
332
|
+
const res = yield spo_1.spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
334
333
|
this.context = res;
|
|
335
334
|
if (this.verbose) {
|
|
336
335
|
logger.logToStderr(`Updating site ${args.options.url} properties...`);
|
|
337
336
|
}
|
|
338
337
|
let propertyId = 27;
|
|
339
338
|
const payload = [];
|
|
339
|
+
const sitePropertiesPayload = [];
|
|
340
340
|
if (!isGroupConnectedSite) {
|
|
341
341
|
if (args.options.title) {
|
|
342
342
|
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="Title"><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.title)}</Parameter></SetProperty>`);
|
|
@@ -353,39 +353,52 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
|
|
|
353
353
|
if (args.options.storageQuotaWarningLevel) {
|
|
354
354
|
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="StorageWarningLevel"><Parameter Type="Int64">${args.options.storageQuotaWarningLevel}</Parameter></SetProperty>`);
|
|
355
355
|
}
|
|
356
|
-
if (
|
|
356
|
+
if (args.options.allowSelfServiceUpgrade !== undefined) {
|
|
357
357
|
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="AllowSelfServiceUpgrade"><Parameter Type="Boolean">${args.options.allowSelfServiceUpgrade}</Parameter></SetProperty>`);
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
360
|
if (typeof args.options.classification === 'string') {
|
|
361
|
-
|
|
362
|
-
}
|
|
363
|
-
if (typeof args.options.disableFlows !== 'undefined') {
|
|
364
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DisableFlows"><Parameter Type="Boolean">${args.options.disableFlows}</Parameter></SetProperty>`);
|
|
361
|
+
sitePropertiesPayload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="Classification"><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.classification)}</Parameter></SetProperty>`);
|
|
365
362
|
}
|
|
366
|
-
if (
|
|
367
|
-
|
|
363
|
+
if (args.options.disableFlows !== undefined) {
|
|
364
|
+
const flowsPolicy = args.options.disableFlows ? FlowsPolicy_1.FlowsPolicy.Disabled : FlowsPolicy_1.FlowsPolicy.Enabled;
|
|
365
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DisableFlows"><Parameter Type="Enum">${flowsPolicy}</Parameter></SetProperty>`);
|
|
368
366
|
}
|
|
369
|
-
if (
|
|
370
|
-
|
|
367
|
+
if (args.options.shareByEmailEnabled !== undefined) {
|
|
368
|
+
sitePropertiesPayload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="ShareByEmailEnabled"><Parameter Type="Boolean">${args.options.shareByEmailEnabled}</Parameter></SetProperty>`);
|
|
371
369
|
}
|
|
372
370
|
if (args.options.sharingCapability) {
|
|
373
371
|
const sharingCapability = SharingCapabilities_1.SharingCapabilities[args.options.sharingCapability];
|
|
374
372
|
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="SharingCapability"><Parameter Type="Enum">${sharingCapability}</Parameter></SetProperty>`);
|
|
375
373
|
}
|
|
376
|
-
if (
|
|
374
|
+
if (args.options.noScriptSite !== undefined) {
|
|
377
375
|
const noScriptSite = args.options.noScriptSite ? 2 : 1;
|
|
378
376
|
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DenyAddAndCustomizePages"><Parameter Type="Enum">${noScriptSite}</Parameter></SetProperty>`);
|
|
379
377
|
}
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
378
|
+
let response;
|
|
379
|
+
let sitePropertiesResponse;
|
|
380
|
+
if (sitePropertiesPayload.length > 0) {
|
|
381
|
+
const requestOptions = {
|
|
382
|
+
url: `${args.options.url}/_vti_bin/client.svc/ProcessQuery`,
|
|
383
|
+
headers: {
|
|
384
|
+
'X-RequestDigest': res.FormDigestValue
|
|
385
|
+
},
|
|
386
|
+
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>${sitePropertiesPayload.join('')}</Actions><ObjectPaths><StaticProperty Id="1" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" /><Property Id="5" ParentId="1" Name="Site" /></ObjectPaths></Request>`
|
|
387
|
+
};
|
|
388
|
+
sitePropertiesResponse = yield request_1.default.post(requestOptions);
|
|
389
|
+
}
|
|
390
|
+
if (payload.length > 0) {
|
|
391
|
+
const pos = this.tenantId.indexOf('|') + 1;
|
|
392
|
+
const requestOptions = {
|
|
393
|
+
url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
394
|
+
headers: {
|
|
395
|
+
'X-RequestDigest': res.FormDigestValue
|
|
396
|
+
},
|
|
397
|
+
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>${payload.join('')}<ObjectPath Id="14" ObjectPathId="13" /><ObjectIdentityQuery Id="15" ObjectPathId="5" /><Query Id="16" ObjectPathId="13"><Query SelectAllProperties="false"><Properties><Property Name="IsComplete" ScalarProperty="true" /><Property Name="PollingInterval" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Identity Id="5" Name="53d8499e-d0d2-5000-cb83-9ade5be42ca4|${this.tenantId.substr(pos, this.tenantId.indexOf('&') - pos)}
SiteProperties
${formatting_1.formatting.encodeQueryParameter(args.options.url)}" /><Method Id="13" ParentId="5" Name="Update" /></ObjectPaths></Request>`
|
|
398
|
+
};
|
|
399
|
+
response = yield request_1.default.post(requestOptions);
|
|
400
|
+
}
|
|
401
|
+
return response || sitePropertiesResponse;
|
|
389
402
|
});
|
|
390
403
|
}
|
|
391
404
|
applySiteDesign(logger, args) {
|
|
@@ -35,30 +35,8 @@ class SpoThemeRemoveCommand extends SpoCommand_1.default {
|
|
|
35
35
|
}
|
|
36
36
|
commandAction(logger, args) {
|
|
37
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
const removeTheme = () => __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
try {
|
|
40
|
-
const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
41
|
-
if (this.verbose) {
|
|
42
|
-
logger.logToStderr(`Removing theme from tenant...`);
|
|
43
|
-
}
|
|
44
|
-
const requestOptions = {
|
|
45
|
-
url: `${spoAdminUrl}/_api/thememanager/DeleteTenantTheme`,
|
|
46
|
-
headers: {
|
|
47
|
-
'accept': 'application/json;odata=nometadata'
|
|
48
|
-
},
|
|
49
|
-
data: {
|
|
50
|
-
name: args.options.name
|
|
51
|
-
},
|
|
52
|
-
responseType: 'json'
|
|
53
|
-
};
|
|
54
|
-
yield request_1.default.post(requestOptions);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
this.handleRejectedODataJsonPromise(err);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
38
|
if (args.options.confirm) {
|
|
61
|
-
yield removeTheme();
|
|
39
|
+
yield this.removeTheme(logger, args.options);
|
|
62
40
|
}
|
|
63
41
|
else {
|
|
64
42
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -68,8 +46,32 @@ class SpoThemeRemoveCommand extends SpoCommand_1.default {
|
|
|
68
46
|
message: `Are you sure you want to remove the theme`
|
|
69
47
|
});
|
|
70
48
|
if (result.continue) {
|
|
71
|
-
yield removeTheme();
|
|
49
|
+
yield this.removeTheme(logger, args.options);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
removeTheme(logger, options) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
try {
|
|
57
|
+
const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
58
|
+
if (this.verbose) {
|
|
59
|
+
logger.logToStderr(`Removing theme from tenant...`);
|
|
72
60
|
}
|
|
61
|
+
const requestOptions = {
|
|
62
|
+
url: `${spoAdminUrl}/_api/thememanager/DeleteTenantTheme`,
|
|
63
|
+
headers: {
|
|
64
|
+
'accept': 'application/json;odata=nometadata'
|
|
65
|
+
},
|
|
66
|
+
data: {
|
|
67
|
+
name: options.name
|
|
68
|
+
},
|
|
69
|
+
responseType: 'json'
|
|
70
|
+
};
|
|
71
|
+
yield request_1.default.post(requestOptions);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
this.handleRejectedODataJsonPromise(err);
|
|
73
75
|
}
|
|
74
76
|
});
|
|
75
77
|
}
|
|
@@ -38,33 +38,8 @@ class SpoUserRemoveCommand extends SpoCommand_1.default {
|
|
|
38
38
|
}
|
|
39
39
|
commandAction(logger, args) {
|
|
40
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const removeUser = () => __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
if (this.verbose) {
|
|
43
|
-
logger.logToStderr(`Removing user from subsite ${args.options.webUrl} ...`);
|
|
44
|
-
}
|
|
45
|
-
let requestUrl = '';
|
|
46
|
-
if (args.options.id) {
|
|
47
|
-
requestUrl = `${encodeURI(args.options.webUrl)}/_api/web/siteusers/removebyid(${args.options.id})`;
|
|
48
|
-
}
|
|
49
|
-
if (args.options.loginName) {
|
|
50
|
-
requestUrl = `${encodeURI(args.options.webUrl)}/_api/web/siteusers/removeByLoginName('${formatting_1.formatting.encodeQueryParameter(args.options.loginName)}')`;
|
|
51
|
-
}
|
|
52
|
-
const requestOptions = {
|
|
53
|
-
url: requestUrl,
|
|
54
|
-
headers: {
|
|
55
|
-
accept: 'application/json;odata=nometadata'
|
|
56
|
-
},
|
|
57
|
-
responseType: 'json'
|
|
58
|
-
};
|
|
59
|
-
try {
|
|
60
|
-
yield request_1.default.post(requestOptions);
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
this.handleRejectedODataJsonPromise(err);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
41
|
if (args.options.confirm) {
|
|
67
|
-
yield removeUser();
|
|
42
|
+
yield this.removeUser(logger, args.options);
|
|
68
43
|
}
|
|
69
44
|
else {
|
|
70
45
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -74,11 +49,38 @@ class SpoUserRemoveCommand extends SpoCommand_1.default {
|
|
|
74
49
|
message: `Are you sure you want to remove specified user from the site ${args.options.webUrl}`
|
|
75
50
|
});
|
|
76
51
|
if (result.continue) {
|
|
77
|
-
yield removeUser();
|
|
52
|
+
yield this.removeUser(logger, args.options);
|
|
78
53
|
}
|
|
79
54
|
}
|
|
80
55
|
});
|
|
81
56
|
}
|
|
57
|
+
removeUser(logger, options) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
if (this.verbose) {
|
|
60
|
+
logger.logToStderr(`Removing user from subsite ${options.webUrl} ...`);
|
|
61
|
+
}
|
|
62
|
+
let requestUrl = `${encodeURI(options.webUrl)}/_api/web/siteusers/`;
|
|
63
|
+
if (options.id) {
|
|
64
|
+
requestUrl += `removebyid(${options.id})`;
|
|
65
|
+
}
|
|
66
|
+
else if (options.loginName) {
|
|
67
|
+
requestUrl += `removeByLoginName('${formatting_1.formatting.encodeQueryParameter(options.loginName)}')`;
|
|
68
|
+
}
|
|
69
|
+
const requestOptions = {
|
|
70
|
+
url: requestUrl,
|
|
71
|
+
headers: {
|
|
72
|
+
accept: 'application/json;odata=nometadata'
|
|
73
|
+
},
|
|
74
|
+
responseType: 'json'
|
|
75
|
+
};
|
|
76
|
+
try {
|
|
77
|
+
yield request_1.default.post(requestOptions);
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
this.handleRejectedODataJsonPromise(err);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
82
84
|
}
|
|
83
85
|
_SpoUserRemoveCommand_instances = new WeakSet(), _SpoUserRemoveCommand_initTelemetry = function _SpoUserRemoveCommand_initTelemetry() {
|
|
84
86
|
this.telemetry.push((args) => {
|
|
@@ -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
|
}
|