@pnp/cli-microsoft365 7.0.0-beta.b7c2a8d → 7.0.0-beta.c0afb7b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +1 -3
- package/dist/GlobalOptions.js +1 -7
- package/dist/cli/Cli.js +19 -2
- package/dist/m365/aad/commands/{o365group/o365group-add.js → m365group/m365group-add.js} +17 -17
- package/dist/m365/aad/commands/{o365group/o365group-conversation-list.js → m365group/m365group-conversation-list.js} +10 -10
- package/dist/m365/aad/commands/{o365group/o365group-conversation-post-list.js → m365group/m365group-conversation-post-list.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-get.js → m365group/m365group-get.js} +13 -10
- package/dist/m365/aad/commands/{o365group/o365group-list.js → m365group/m365group-list.js} +13 -28
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-clear.js → m365group/m365group-recyclebinitem-clear.js} +15 -15
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-list.js → m365group/m365group-recyclebinitem-list.js} +10 -10
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-remove.js → m365group/m365group-recyclebinitem-remove.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-restore.js → m365group/m365group-recyclebinitem-restore.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-remove.js → m365group/m365group-remove.js} +12 -12
- package/dist/m365/aad/commands/{o365group/o365group-renew.js → m365group/m365group-renew.js} +10 -10
- package/dist/m365/aad/commands/{o365group/o365group-report-activitycounts.js → m365group/m365group-report-activitycounts.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activitydetail.js → m365group/m365group-report-activitydetail.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activityfilecounts.js → m365group/m365group-report-activityfilecounts.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activitygroupcounts.js → m365group/m365group-report-activitygroupcounts.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activitystorage.js → m365group/m365group-report-activitystorage.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-set.js → m365group/m365group-set.js} +17 -17
- package/dist/m365/aad/commands/{o365group/o365group-teamify.js → m365group/m365group-teamify.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-user-add.js → m365group/m365group-user-add.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-user-list.js → m365group/m365group-user-list.js} +12 -12
- package/dist/m365/aad/commands/{o365group/o365group-user-remove.js → m365group/m365group-user-remove.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-user-set.js → m365group/m365group-user-set.js} +15 -15
- package/dist/m365/aad/commands.js +22 -22
- package/dist/m365/pa/commands/app/app-permission-list.js +2 -2
- package/dist/m365/pa/commands/app/app-permission-remove.js +3 -3
- package/dist/m365/pa/commands.js +1 -4
- 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-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 +3 -3
- package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +27 -26
- package/dist/m365/spo/commands/app/app-add.js +9 -9
- package/dist/m365/spo/commands/file/file-copy.js +1 -1
- package/dist/m365/spo/commands/file/file-move.js +73 -97
- package/dist/m365/spo/commands/folder/folder-copy.js +89 -45
- package/dist/m365/spo/commands/folder/folder-move.js +89 -47
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +32 -3
- package/dist/m365/spo/commands/page/clientsidepages.js +1 -81
- package/dist/m365/spo/commands/propertybag/propertybag-base.js +63 -59
- package/dist/m365/spo/commands/propertybag/propertybag-remove.js +28 -31
- package/dist/m365/spo/commands/site/FlowsPolicy.js +7 -0
- package/dist/m365/spo/commands/site/site-ensure.js +3 -3
- package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +22 -22
- package/dist/m365/spo/commands/site/site-list.js +27 -43
- package/dist/m365/spo/commands/site/site-set.js +60 -49
- package/dist/m365/spo/commands/theme/theme-list.js +1 -9
- package/dist/m365/spo/commands/theme/theme-remove.js +24 -24
- package/dist/m365/spo/commands/theme/theme-set.js +0 -1
- package/dist/m365/spo/commands/user/user-remove.js +27 -27
- package/dist/m365/spo/commands/web/web-reindex.js +35 -42
- package/dist/m365/spo/commands/web/web-remove.js +21 -21
- package/dist/m365/spo/commands/web/web-roleassignment-add.js +16 -31
- package/dist/m365/spo/commands/web/web-roleassignment-remove.js +33 -44
- package/dist/m365/spo/commands/web/web-roleinheritance-break.js +18 -18
- package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +19 -19
- package/dist/m365/yammer/commands/message/message-like-set.js +27 -28
- package/dist/m365/yammer/commands/message/message-list.js +62 -81
- package/dist/m365/yammer/commands/message/message-remove.js +18 -18
- package/dist/m365/yammer/commands/yammer-search.js +53 -69
- package/dist/utils/spo.js +12 -53
- package/dist/utils/validation.js +0 -3
- package/docs/docs/cmd/aad/{o365group/o365group-add.mdx → m365group/m365group-add.mdx} +13 -13
- package/docs/docs/cmd/aad/{o365group/o365group-conversation-list.mdx → m365group/m365group-conversation-list.mdx} +4 -4
- package/docs/docs/cmd/aad/{o365group/o365group-conversation-post-list.mdx → m365group/m365group-conversation-post-list.mdx} +8 -8
- package/docs/docs/cmd/aad/{o365group/o365group-get.mdx → m365group/m365group-get.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-list.mdx → m365group/m365group-list.mdx} +12 -29
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-clear.mdx → m365group/m365group-recyclebinitem-clear.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-list.mdx → m365group/m365group-recyclebinitem-list.mdx} +8 -8
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-remove.mdx → m365group/m365group-recyclebinitem-remove.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-restore.mdx → m365group/m365group-recyclebinitem-restore.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-remove.mdx → m365group/m365group-remove.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-renew.mdx → m365group/m365group-renew.mdx} +4 -4
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitycounts.mdx → m365group/m365group-report-activitycounts.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitydetail.mdx → m365group/m365group-report-activitydetail.mdx} +7 -7
- package/docs/docs/cmd/aad/{o365group/o365group-report-activityfilecounts.mdx → m365group/m365group-report-activityfilecounts.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitygroupcounts.mdx → m365group/m365group-report-activitygroupcounts.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitystorage.mdx → m365group/m365group-report-activitystorage.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-set.mdx → m365group/m365group-set.mdx} +8 -8
- package/docs/docs/cmd/aad/{o365group/o365group-teamify.mdx → m365group/m365group-teamify.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-user-add.mdx → m365group/m365group-user-add.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-user-list.mdx → m365group/m365group-user-list.mdx} +7 -7
- package/docs/docs/cmd/aad/{o365group/o365group-user-remove.mdx → m365group/m365group-user-remove.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-user-set.mdx → m365group/m365group-user-set.mdx} +5 -5
- package/docs/docs/cmd/pa/app/app-permission-remove.mdx +1 -1
- package/docs/docs/cmd/planner/plan/plan-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-move.mdx +36 -18
- package/docs/docs/cmd/spo/folder/folder-copy.mdx +39 -12
- package/docs/docs/cmd/spo/folder/folder-move.mdx +40 -13
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
- package/docs/docs/cmd/spo/site/site-add.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-list.mdx +3 -78
- package/docs/docs/cmd/teams/team/team-add.mdx +1 -1
- package/npm-shrinkwrap.json +178 -1304
- package/package.json +5 -7
- package/dist/m365/pa/cds-project-mutator.js +0 -91
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/generated/ManifestTypes.d.ts +0 -11
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_ControlManifest.Input.xml +0 -31
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_index.ts +0 -51
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/generated/ManifestTypes.d.ts +0 -12
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_ControlManifest.Input.xml +0 -37
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_index.ts +0 -48
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/index.ts +0 -0
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_ControlManifest.Input.xml +0 -31
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_index.tsx +0 -58
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_ControlManifest.Input.xml +0 -37
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_index.tsx +0 -55
- package/dist/m365/pa/commands/pcf/pcf-init/assets/package.json +0 -19
- package/dist/m365/pa/commands/pcf/pcf-init/assets/pcfconfig.json +0 -3
- package/dist/m365/pa/commands/pcf/pcf-init/assets/template_.gitignore +0 -14
- package/dist/m365/pa/commands/pcf/pcf-init/assets/template_pcfprojecttype.pcfproj +0 -45
- package/dist/m365/pa/commands/pcf/pcf-init/pcf-init-variables.js +0 -2
- package/dist/m365/pa/commands/pcf/pcf-init.js +0 -120
- package/dist/m365/pa/commands/solution/solution-init/assets/Other/Customizations.xml +0 -18
- package/dist/m365/pa/commands/solution/solution-init/assets/Other/Relationships.xml +0 -2
- package/dist/m365/pa/commands/solution/solution-init/assets/Other/template_Solution.xml +0 -94
- package/dist/m365/pa/commands/solution/solution-init/assets/template_.gitignore +0 -2
- package/dist/m365/pa/commands/solution/solution-init/assets/template_solutionprojecttype.cdsproj +0 -44
- package/dist/m365/pa/commands/solution/solution-init/solution-init-variables.js +0 -2
- package/dist/m365/pa/commands/solution/solution-init.js +0 -126
- package/dist/m365/pa/commands/solution/solution-reference-add.js +0 -88
- package/dist/m365/pa/template-instantiator.js +0 -57
- package/docs/docs/cmd/pa/pcf/pcf-init.mdx +0 -56
- package/docs/docs/cmd/pa/solution/solution-init.mdx +0 -46
- package/docs/docs/cmd/pa/solution/solution-reference-add.mdx +0 -42
- /package/dist/m365/aad/commands/{o365group → m365group}/GroupExtended.js +0 -0
|
@@ -37,52 +37,39 @@ class SpoSiteListCommand extends SpoCommand {
|
|
|
37
37
|
await logger.logToStderr(`Retrieving list of site collections...`);
|
|
38
38
|
}
|
|
39
39
|
this.allSites = [];
|
|
40
|
-
await this.getAllSites(spoAdminUrl, formatting.escapeXml(args.options.filter || ''), '0', personalSite, webTemplate, undefined,
|
|
40
|
+
await this.getAllSites(spoAdminUrl, formatting.escapeXml(args.options.filter || ''), '0', personalSite, webTemplate, undefined, logger);
|
|
41
41
|
await logger.log(this.allSites);
|
|
42
42
|
}
|
|
43
43
|
catch (err) {
|
|
44
44
|
this.handleRejectedODataJsonPromise(err);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
getAllSites(spoAdminUrl, filter, startIndex, personalSite, webTemplate, formDigest,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const sites = json[json.length - 1];
|
|
74
|
-
this.allSites.push(...sites._Child_Items_);
|
|
75
|
-
if (sites.NextStartIndexFromSharePoint) {
|
|
76
|
-
this
|
|
77
|
-
.getAllSites(spoAdminUrl, filter, sites.NextStartIndexFromSharePoint, personalSite, webTemplate, formDigest, deleted, logger)
|
|
78
|
-
.then(_ => resolve(), err => reject(err));
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
resolve();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}, err => reject(err));
|
|
85
|
-
});
|
|
47
|
+
async getAllSites(spoAdminUrl, filter, startIndex, personalSite, webTemplate, formDigest, logger) {
|
|
48
|
+
const res = await spo.ensureFormDigest(spoAdminUrl, logger, formDigest, this.debug);
|
|
49
|
+
const requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.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>`;
|
|
50
|
+
const requestOptions = {
|
|
51
|
+
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
52
|
+
headers: {
|
|
53
|
+
'X-RequestDigest': res.FormDigestValue
|
|
54
|
+
},
|
|
55
|
+
data: requestBody
|
|
56
|
+
};
|
|
57
|
+
const res1 = await request.post(requestOptions);
|
|
58
|
+
const json = JSON.parse(res1);
|
|
59
|
+
const response = json[0];
|
|
60
|
+
logger.log(response);
|
|
61
|
+
if (response.ErrorInfo) {
|
|
62
|
+
throw response.ErrorInfo.ErrorMessage;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
const sites = json[json.length - 1];
|
|
66
|
+
logger.log(sites);
|
|
67
|
+
this.allSites.push(...sites._Child_Items_);
|
|
68
|
+
if (sites.NextStartIndexFromSharePoint) {
|
|
69
|
+
await this.getAllSites(spoAdminUrl, filter, sites.NextStartIndexFromSharePoint, personalSite, webTemplate, formDigest, logger);
|
|
70
|
+
}
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
86
73
|
}
|
|
87
74
|
getWebTemplateId(options) {
|
|
88
75
|
if (options.webTemplate) {
|
|
@@ -107,7 +94,6 @@ _SpoSiteListCommand_instances = new WeakSet(), _SpoSiteListCommand_initTelemetry
|
|
|
107
94
|
webTemplate: args.options.webTemplate,
|
|
108
95
|
type: args.options.type,
|
|
109
96
|
filter: (!(!args.options.filter)).toString(),
|
|
110
|
-
deleted: args.options.deleted,
|
|
111
97
|
includeOneDriveSites: typeof args.options.includeOneDriveSites !== 'undefined'
|
|
112
98
|
});
|
|
113
99
|
});
|
|
@@ -121,8 +107,6 @@ _SpoSiteListCommand_instances = new WeakSet(), _SpoSiteListCommand_initTelemetry
|
|
|
121
107
|
option: '--filter [filter]'
|
|
122
108
|
}, {
|
|
123
109
|
option: '--includeOneDriveSites'
|
|
124
|
-
}, {
|
|
125
|
-
option: '--deleted'
|
|
126
110
|
});
|
|
127
111
|
}, _SpoSiteListCommand_initValidators = function _SpoSiteListCommand_initValidators() {
|
|
128
112
|
this.validators.push(async (args) => {
|
|
@@ -12,11 +12,12 @@ import { formatting } from '../../../../utils/formatting.js';
|
|
|
12
12
|
import { spo } from '../../../../utils/spo.js';
|
|
13
13
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
14
14
|
import { validation } from '../../../../utils/validation.js';
|
|
15
|
-
import
|
|
15
|
+
import aadM365GroupSetCommand from '../../../aad/commands/m365group/m365group-set.js';
|
|
16
16
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
17
17
|
import commands from '../../commands.js';
|
|
18
18
|
import { SharingCapabilities } from '../site/SharingCapabilities.js';
|
|
19
19
|
import spoSiteDesignApplyCommand from '../sitedesign/sitedesign-apply.js';
|
|
20
|
+
import { FlowsPolicy } from './FlowsPolicy.js';
|
|
20
21
|
class SpoSiteSetCommand extends SpoCommand {
|
|
21
22
|
get name() {
|
|
22
23
|
return commands.SITE_SET;
|
|
@@ -238,7 +239,7 @@ class SpoSiteSetCommand extends SpoCommand {
|
|
|
238
239
|
debug: this.debug,
|
|
239
240
|
verbose: this.verbose
|
|
240
241
|
};
|
|
241
|
-
promises.push(Cli.executeCommand(
|
|
242
|
+
promises.push(Cli.executeCommand(aadM365GroupSetCommand, { options: { ...commandOptions, _: [] } }));
|
|
242
243
|
}
|
|
243
244
|
if (args.options.description) {
|
|
244
245
|
promises.push(this.setGroupifiedSiteDescription(args.options.description));
|
|
@@ -296,12 +297,11 @@ class SpoSiteSetCommand extends SpoCommand {
|
|
|
296
297
|
}));
|
|
297
298
|
});
|
|
298
299
|
}
|
|
299
|
-
updateSiteProperties(logger, args) {
|
|
300
|
+
async updateSiteProperties(logger, args) {
|
|
300
301
|
const isGroupConnectedSite = this.isGroupConnectedSite();
|
|
301
302
|
const sharedProperties = ['classification', 'disableFlows', 'socialBarOnSitePagesDisabled', 'shareByEmailEnabled', 'sharingCapability', 'noScriptSite'];
|
|
302
303
|
const siteProperties = ['title', 'resourceQuota', 'resourceQuotaWarningLevel', 'storageQuota', 'storageQuotaWarningLevel', 'allowSelfServiceUpgrade'];
|
|
303
304
|
let properties = sharedProperties;
|
|
304
|
-
properties = properties;
|
|
305
305
|
if (!isGroupConnectedSite) {
|
|
306
306
|
properties = properties.concat(siteProperties);
|
|
307
307
|
}
|
|
@@ -315,55 +315,65 @@ class SpoSiteSetCommand extends SpoCommand {
|
|
|
315
315
|
if (!updatedProperties) {
|
|
316
316
|
return Promise.resolve(undefined);
|
|
317
317
|
}
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
if (
|
|
328
|
-
|
|
329
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="Title"><Parameter Type="String">${formatting.escapeXml(args.options.title)}</Parameter></SetProperty>`);
|
|
330
|
-
}
|
|
331
|
-
if (args.options.resourceQuota) {
|
|
332
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="UserCodeMaximumLevel"><Parameter Type="Double">${args.options.resourceQuota}</Parameter></SetProperty>`);
|
|
333
|
-
}
|
|
334
|
-
if (args.options.resourceQuotaWarningLevel) {
|
|
335
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="UserCodeWarningLevel"><Parameter Type="Double">${args.options.resourceQuotaWarningLevel}</Parameter></SetProperty>`);
|
|
336
|
-
}
|
|
337
|
-
if (args.options.storageQuota) {
|
|
338
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="StorageMaximumLevel"><Parameter Type="Int64">${args.options.storageQuota}</Parameter></SetProperty>`);
|
|
339
|
-
}
|
|
340
|
-
if (args.options.storageQuotaWarningLevel) {
|
|
341
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="StorageWarningLevel"><Parameter Type="Int64">${args.options.storageQuotaWarningLevel}</Parameter></SetProperty>`);
|
|
342
|
-
}
|
|
343
|
-
if (typeof args.options.allowSelfServiceUpgrade !== 'undefined') {
|
|
344
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="AllowSelfServiceUpgrade"><Parameter Type="Boolean">${args.options.allowSelfServiceUpgrade}</Parameter></SetProperty>`);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
if (typeof args.options.classification === 'string') {
|
|
348
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="Classification"><Parameter Type="String">${formatting.escapeXml(args.options.classification)}</Parameter></SetProperty>`);
|
|
318
|
+
const res = await spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
319
|
+
this.context = res;
|
|
320
|
+
if (this.verbose) {
|
|
321
|
+
await logger.logToStderr(`Updating site ${args.options.url} properties...`);
|
|
322
|
+
}
|
|
323
|
+
let propertyId = 27;
|
|
324
|
+
const payload = [];
|
|
325
|
+
const sitePropertiesPayload = [];
|
|
326
|
+
if (!isGroupConnectedSite) {
|
|
327
|
+
if (args.options.title) {
|
|
328
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="Title"><Parameter Type="String">${formatting.escapeXml(args.options.title)}</Parameter></SetProperty>`);
|
|
349
329
|
}
|
|
350
|
-
if (
|
|
351
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="
|
|
330
|
+
if (args.options.resourceQuota) {
|
|
331
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="UserCodeMaximumLevel"><Parameter Type="Double">${args.options.resourceQuota}</Parameter></SetProperty>`);
|
|
352
332
|
}
|
|
353
|
-
if (
|
|
354
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="
|
|
333
|
+
if (args.options.resourceQuotaWarningLevel) {
|
|
334
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="UserCodeWarningLevel"><Parameter Type="Double">${args.options.resourceQuotaWarningLevel}</Parameter></SetProperty>`);
|
|
355
335
|
}
|
|
356
|
-
if (
|
|
357
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="
|
|
336
|
+
if (args.options.storageQuota) {
|
|
337
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="StorageMaximumLevel"><Parameter Type="Int64">${args.options.storageQuota}</Parameter></SetProperty>`);
|
|
358
338
|
}
|
|
359
|
-
if (args.options.
|
|
360
|
-
|
|
361
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="SharingCapability"><Parameter Type="Enum">${sharingCapability}</Parameter></SetProperty>`);
|
|
339
|
+
if (args.options.storageQuotaWarningLevel) {
|
|
340
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="StorageWarningLevel"><Parameter Type="Int64">${args.options.storageQuotaWarningLevel}</Parameter></SetProperty>`);
|
|
362
341
|
}
|
|
363
|
-
if (
|
|
364
|
-
|
|
365
|
-
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DenyAddAndCustomizePages"><Parameter Type="Enum">${noScriptSite}</Parameter></SetProperty>`);
|
|
342
|
+
if (args.options.allowSelfServiceUpgrade !== undefined) {
|
|
343
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="AllowSelfServiceUpgrade"><Parameter Type="Boolean">${args.options.allowSelfServiceUpgrade}</Parameter></SetProperty>`);
|
|
366
344
|
}
|
|
345
|
+
}
|
|
346
|
+
if (typeof args.options.classification === 'string') {
|
|
347
|
+
sitePropertiesPayload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="Classification"><Parameter Type="String">${formatting.escapeXml(args.options.classification)}</Parameter></SetProperty>`);
|
|
348
|
+
}
|
|
349
|
+
if (args.options.disableFlows !== undefined) {
|
|
350
|
+
const flowsPolicy = args.options.disableFlows ? FlowsPolicy.Disabled : FlowsPolicy.Enabled;
|
|
351
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DisableFlows"><Parameter Type="Enum">${flowsPolicy}</Parameter></SetProperty>`);
|
|
352
|
+
}
|
|
353
|
+
if (args.options.shareByEmailEnabled !== undefined) {
|
|
354
|
+
sitePropertiesPayload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="ShareByEmailEnabled"><Parameter Type="Boolean">${args.options.shareByEmailEnabled}</Parameter></SetProperty>`);
|
|
355
|
+
}
|
|
356
|
+
if (args.options.sharingCapability) {
|
|
357
|
+
const sharingCapability = SharingCapabilities[args.options.sharingCapability];
|
|
358
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="SharingCapability"><Parameter Type="Enum">${sharingCapability}</Parameter></SetProperty>`);
|
|
359
|
+
}
|
|
360
|
+
if (args.options.noScriptSite !== undefined) {
|
|
361
|
+
const noScriptSite = args.options.noScriptSite ? 2 : 1;
|
|
362
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DenyAddAndCustomizePages"><Parameter Type="Enum">${noScriptSite}</Parameter></SetProperty>`);
|
|
363
|
+
}
|
|
364
|
+
let response;
|
|
365
|
+
let sitePropertiesResponse;
|
|
366
|
+
if (sitePropertiesPayload.length > 0) {
|
|
367
|
+
const requestOptions = {
|
|
368
|
+
url: `${args.options.url}/_vti_bin/client.svc/ProcessQuery`,
|
|
369
|
+
headers: {
|
|
370
|
+
'X-RequestDigest': res.FormDigestValue
|
|
371
|
+
},
|
|
372
|
+
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.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>`
|
|
373
|
+
};
|
|
374
|
+
sitePropertiesResponse = await request.post(requestOptions);
|
|
375
|
+
}
|
|
376
|
+
if (payload.length > 0) {
|
|
367
377
|
const pos = this.tenantId.indexOf('|') + 1;
|
|
368
378
|
const requestOptions = {
|
|
369
379
|
url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
@@ -372,8 +382,9 @@ class SpoSiteSetCommand extends SpoCommand {
|
|
|
372
382
|
},
|
|
373
383
|
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.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.encodeQueryParameter(args.options.url)}" /><Method Id="13" ParentId="5" Name="Update" /></ObjectPaths></Request>`
|
|
374
384
|
};
|
|
375
|
-
|
|
376
|
-
}
|
|
385
|
+
response = await request.post(requestOptions);
|
|
386
|
+
}
|
|
387
|
+
return response || sitePropertiesResponse;
|
|
377
388
|
}
|
|
378
389
|
applySiteDesign(logger, args) {
|
|
379
390
|
if (typeof args.options.siteDesignId === 'undefined') {
|
|
@@ -26,15 +26,7 @@ class SpoThemeListCommand extends SpoCommand {
|
|
|
26
26
|
responseType: 'json'
|
|
27
27
|
};
|
|
28
28
|
const rawRes = await request.post(requestOptions);
|
|
29
|
-
|
|
30
|
-
if (themePreviews && themePreviews.length > 0) {
|
|
31
|
-
await logger.log(themePreviews);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
if (this.verbose) {
|
|
35
|
-
await logger.logToStderr('No themes found');
|
|
36
|
-
}
|
|
37
|
-
}
|
|
29
|
+
await logger.log(rawRes.themePreviews);
|
|
38
30
|
}
|
|
39
31
|
catch (err) {
|
|
40
32
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -23,30 +23,8 @@ class SpoThemeRemoveCommand extends SpoCommand {
|
|
|
23
23
|
__classPrivateFieldGet(this, _SpoThemeRemoveCommand_instances, "m", _SpoThemeRemoveCommand_initOptions).call(this);
|
|
24
24
|
}
|
|
25
25
|
async commandAction(logger, args) {
|
|
26
|
-
const removeTheme = async () => {
|
|
27
|
-
try {
|
|
28
|
-
const spoAdminUrl = await spo.getSpoAdminUrl(logger, this.debug);
|
|
29
|
-
if (this.verbose) {
|
|
30
|
-
await logger.logToStderr(`Removing theme from tenant...`);
|
|
31
|
-
}
|
|
32
|
-
const requestOptions = {
|
|
33
|
-
url: `${spoAdminUrl}/_api/thememanager/DeleteTenantTheme`,
|
|
34
|
-
headers: {
|
|
35
|
-
'accept': 'application/json;odata=nometadata'
|
|
36
|
-
},
|
|
37
|
-
data: {
|
|
38
|
-
name: args.options.name
|
|
39
|
-
},
|
|
40
|
-
responseType: 'json'
|
|
41
|
-
};
|
|
42
|
-
await request.post(requestOptions);
|
|
43
|
-
}
|
|
44
|
-
catch (err) {
|
|
45
|
-
this.handleRejectedODataJsonPromise(err);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
26
|
if (args.options.force) {
|
|
49
|
-
await removeTheme();
|
|
27
|
+
await this.removeTheme(logger, args.options);
|
|
50
28
|
}
|
|
51
29
|
else {
|
|
52
30
|
const result = await Cli.prompt({
|
|
@@ -56,8 +34,30 @@ class SpoThemeRemoveCommand extends SpoCommand {
|
|
|
56
34
|
message: `Are you sure you want to remove the theme`
|
|
57
35
|
});
|
|
58
36
|
if (result.continue) {
|
|
59
|
-
await removeTheme();
|
|
37
|
+
await this.removeTheme(logger, args.options);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async removeTheme(logger, options) {
|
|
42
|
+
try {
|
|
43
|
+
const spoAdminUrl = await spo.getSpoAdminUrl(logger, this.debug);
|
|
44
|
+
if (this.verbose) {
|
|
45
|
+
await logger.logToStderr(`Removing theme from tenant...`);
|
|
60
46
|
}
|
|
47
|
+
const requestOptions = {
|
|
48
|
+
url: `${spoAdminUrl}/_api/thememanager/DeleteTenantTheme`,
|
|
49
|
+
headers: {
|
|
50
|
+
'accept': 'application/json;odata=nometadata'
|
|
51
|
+
},
|
|
52
|
+
data: {
|
|
53
|
+
name: options.name
|
|
54
|
+
},
|
|
55
|
+
responseType: 'json'
|
|
56
|
+
};
|
|
57
|
+
await request.post(requestOptions);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
this.handleRejectedODataJsonPromise(err);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -26,33 +26,8 @@ class SpoUserRemoveCommand extends SpoCommand {
|
|
|
26
26
|
__classPrivateFieldGet(this, _SpoUserRemoveCommand_instances, "m", _SpoUserRemoveCommand_initOptionSets).call(this);
|
|
27
27
|
}
|
|
28
28
|
async commandAction(logger, args) {
|
|
29
|
-
const removeUser = async () => {
|
|
30
|
-
if (this.verbose) {
|
|
31
|
-
await logger.logToStderr(`Removing user from subsite ${args.options.webUrl} ...`);
|
|
32
|
-
}
|
|
33
|
-
let requestUrl = '';
|
|
34
|
-
if (args.options.id) {
|
|
35
|
-
requestUrl = `${encodeURI(args.options.webUrl)}/_api/web/siteusers/removebyid(${args.options.id})`;
|
|
36
|
-
}
|
|
37
|
-
if (args.options.loginName) {
|
|
38
|
-
requestUrl = `${encodeURI(args.options.webUrl)}/_api/web/siteusers/removeByLoginName('${formatting.encodeQueryParameter(args.options.loginName)}')`;
|
|
39
|
-
}
|
|
40
|
-
const requestOptions = {
|
|
41
|
-
url: requestUrl,
|
|
42
|
-
headers: {
|
|
43
|
-
accept: 'application/json;odata=nometadata'
|
|
44
|
-
},
|
|
45
|
-
responseType: 'json'
|
|
46
|
-
};
|
|
47
|
-
try {
|
|
48
|
-
await request.post(requestOptions);
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
this.handleRejectedODataJsonPromise(err);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
29
|
if (args.options.force) {
|
|
55
|
-
await removeUser();
|
|
30
|
+
await this.removeUser(logger, args.options);
|
|
56
31
|
}
|
|
57
32
|
else {
|
|
58
33
|
const result = await Cli.prompt({
|
|
@@ -62,10 +37,35 @@ class SpoUserRemoveCommand extends SpoCommand {
|
|
|
62
37
|
message: `Are you sure you want to remove specified user from the site ${args.options.webUrl}`
|
|
63
38
|
});
|
|
64
39
|
if (result.continue) {
|
|
65
|
-
await removeUser();
|
|
40
|
+
await this.removeUser(logger, args.options);
|
|
66
41
|
}
|
|
67
42
|
}
|
|
68
43
|
}
|
|
44
|
+
async removeUser(logger, options) {
|
|
45
|
+
if (this.verbose) {
|
|
46
|
+
await logger.logToStderr(`Removing user from subsite ${options.webUrl} ...`);
|
|
47
|
+
}
|
|
48
|
+
let requestUrl = `${encodeURI(options.webUrl)}/_api/web/siteusers/`;
|
|
49
|
+
if (options.id) {
|
|
50
|
+
requestUrl += `removebyid(${options.id})`;
|
|
51
|
+
}
|
|
52
|
+
else if (options.loginName) {
|
|
53
|
+
requestUrl += `removeByLoginName('${formatting.encodeQueryParameter(options.loginName)}')`;
|
|
54
|
+
}
|
|
55
|
+
const requestOptions = {
|
|
56
|
+
url: requestUrl,
|
|
57
|
+
headers: {
|
|
58
|
+
accept: 'application/json;odata=nometadata'
|
|
59
|
+
},
|
|
60
|
+
responseType: 'json'
|
|
61
|
+
};
|
|
62
|
+
try {
|
|
63
|
+
await request.post(requestOptions);
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
this.handleRejectedODataJsonPromise(err);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
69
|
}
|
|
70
70
|
_SpoUserRemoveCommand_instances = new WeakSet(), _SpoUserRemoveCommand_initTelemetry = function _SpoUserRemoveCommand_initTelemetry() {
|
|
71
71
|
this.telemetry.push((args) => {
|
|
@@ -66,50 +66,43 @@ class SpoWebReindexCommand extends SpoCommand {
|
|
|
66
66
|
this.handleRejectedPromise(err);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
reindexLists(webUrl, requestDigest, logger, webIdentityResp) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
.then(() => {
|
|
89
|
-
resolve();
|
|
90
|
-
}, (err) => reject(err));
|
|
91
|
-
});
|
|
69
|
+
async reindexLists(webUrl, requestDigest, logger, webIdentityResp) {
|
|
70
|
+
try {
|
|
71
|
+
if (this.debug) {
|
|
72
|
+
await logger.logToStderr(`Retrieving information about lists...`);
|
|
73
|
+
}
|
|
74
|
+
const requestOptions = {
|
|
75
|
+
url: `${webUrl}/_api/web/lists?$select=NoCrawl,Title,RootFolder/Properties,RootFolder/ServerRelativeUrl&$expand=RootFolder/Properties`,
|
|
76
|
+
headers: {
|
|
77
|
+
'accept': 'application/json;odata=nometadata'
|
|
78
|
+
},
|
|
79
|
+
responseType: 'json'
|
|
80
|
+
};
|
|
81
|
+
const lists = await request.get(requestOptions);
|
|
82
|
+
const promises = lists.value.map(l => this.reindexList(l, webUrl, requestDigest, webIdentityResp, logger));
|
|
83
|
+
await Promise.all(promises);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
throw err;
|
|
87
|
+
}
|
|
92
88
|
}
|
|
93
|
-
reindexList(list, webUrl, requestDigest, webIdentityResp, logger) {
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
|
|
97
|
-
await logger.logToStderr(`List ${list.Title} is excluded from crawling`);
|
|
98
|
-
}
|
|
99
|
-
resolve();
|
|
100
|
-
return;
|
|
89
|
+
async reindexList(list, webUrl, requestDigest, webIdentityResp, logger) {
|
|
90
|
+
if (list.NoCrawl) {
|
|
91
|
+
if (this.debug) {
|
|
92
|
+
await logger.logToStderr(`List ${list.Title} is excluded from crawling`);
|
|
101
93
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
const folderIdentityResp = await spo.getFolderIdentity(webIdentityResp.objectIdentity, webUrl, list.RootFolder.ServerRelativeUrl, requestDigest);
|
|
98
|
+
let searchversion = list.RootFolder.Properties.vti_x005f_searchversion || 0;
|
|
99
|
+
searchversion++;
|
|
100
|
+
await SpoPropertyBagBaseCommand.setProperty('vti_searchversion', searchversion.toString(), webUrl, requestDigest, folderIdentityResp, logger, this.debug, list.RootFolder.ServerRelativeUrl);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
throw (err);
|
|
105
|
+
}
|
|
113
106
|
}
|
|
114
107
|
}
|
|
115
108
|
_SpoWebReindexCommand_instances = new WeakSet(), _SpoWebReindexCommand_initOptions = function _SpoWebReindexCommand_initOptions() {
|
|
@@ -24,27 +24,8 @@ class SpoWebRemoveCommand extends SpoCommand {
|
|
|
24
24
|
__classPrivateFieldGet(this, _SpoWebRemoveCommand_instances, "m", _SpoWebRemoveCommand_initValidators).call(this);
|
|
25
25
|
}
|
|
26
26
|
async commandAction(logger, args) {
|
|
27
|
-
const removeWeb = async () => {
|
|
28
|
-
const requestOptions = {
|
|
29
|
-
url: `${encodeURI(args.options.url)}/_api/web`,
|
|
30
|
-
headers: {
|
|
31
|
-
accept: 'application/json;odata=nometadata',
|
|
32
|
-
'X-HTTP-Method': 'DELETE'
|
|
33
|
-
},
|
|
34
|
-
responseType: 'json'
|
|
35
|
-
};
|
|
36
|
-
if (this.verbose) {
|
|
37
|
-
await logger.logToStderr(`Deleting subsite ${args.options.url} ...`);
|
|
38
|
-
}
|
|
39
|
-
try {
|
|
40
|
-
await request.post(requestOptions);
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
this.handleRejectedODataJsonPromise(err);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
27
|
if (args.options.force) {
|
|
47
|
-
await removeWeb();
|
|
28
|
+
await this.removeWeb(logger, args.options.url);
|
|
48
29
|
}
|
|
49
30
|
else {
|
|
50
31
|
const result = await Cli.prompt({
|
|
@@ -54,10 +35,29 @@ class SpoWebRemoveCommand extends SpoCommand {
|
|
|
54
35
|
message: `Are you sure you want to remove the subsite ${args.options.url}`
|
|
55
36
|
});
|
|
56
37
|
if (result.continue) {
|
|
57
|
-
await removeWeb();
|
|
38
|
+
await this.removeWeb(logger, args.options.url);
|
|
58
39
|
}
|
|
59
40
|
}
|
|
60
41
|
}
|
|
42
|
+
async removeWeb(logger, url) {
|
|
43
|
+
const requestOptions = {
|
|
44
|
+
url: `${encodeURI(url)}/_api/web`,
|
|
45
|
+
headers: {
|
|
46
|
+
accept: 'application/json;odata=nometadata',
|
|
47
|
+
'X-HTTP-Method': 'DELETE'
|
|
48
|
+
},
|
|
49
|
+
responseType: 'json'
|
|
50
|
+
};
|
|
51
|
+
if (this.verbose) {
|
|
52
|
+
await logger.logToStderr(`Deleting subsite ${url} ...`);
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
await request.post(requestOptions);
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
this.handleRejectedODataJsonPromise(err);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
61
|
}
|
|
62
62
|
_SpoWebRemoveCommand_instances = new WeakSet(), _SpoWebRemoveCommand_initTelemetry = function _SpoWebRemoveCommand_initTelemetry() {
|
|
63
63
|
this.telemetry.push((args) => {
|