@pnp/cli-microsoft365 7.0.0-beta.99e75a7 → 7.0.0-beta.aa2d71e
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 +0 -2
- package/dist/GlobalOptions.js +1 -7
- package/dist/cli/Cli.js +19 -2
- package/dist/m365/aad/commands/app/app-add.js +8 -8
- package/dist/m365/aad/commands/app/app-role-add.js +5 -5
- package/dist/m365/aad/commands/app/app-set.js +5 -5
- package/dist/m365/aad/commands/policy/policy-list.js +5 -5
- package/dist/m365/cli/commands/cli-issue.js +5 -5
- package/dist/m365/cli/commands/config/config-get.js +5 -5
- package/dist/m365/cli/commands/config/config-reset.js +5 -5
- package/dist/m365/cli/commands/config/config-set.js +5 -5
- package/dist/m365/commands/login.js +5 -5
- package/dist/m365/commands/request.js +1 -1
- package/dist/m365/flow/commands/owner/owner-ensure.js +5 -5
- package/dist/m365/pa/commands/app/app-owner-set.js +5 -5
- package/dist/m365/pa/commands/app/app-permission-ensure.js +5 -5
- package/dist/m365/pa/commands.js +1 -4
- package/dist/m365/planner/commands/task/task-add.js +17 -11
- package/dist/m365/planner/commands/task/task-get.js +35 -25
- package/dist/m365/planner/commands/task/task-list.js +26 -19
- package/dist/m365/planner/commands/task/task-remove.js +39 -34
- package/dist/m365/planner/commands/task/task-set.js +35 -23
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +14 -14
- package/dist/m365/spfx/commands/package/package-generate.js +15 -15
- package/dist/m365/spfx/commands/project/DeployWorkflow.js +55 -0
- 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 +9 -9
- package/dist/m365/spfx/commands/project/project-github-workflow-add.js +157 -0
- package/dist/m365/spfx/commands/project/project-github-workflow-model.js +2 -0
- 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 +14 -14
- package/dist/m365/spfx/commands/spfx-doctor.js +3 -3
- package/dist/m365/spfx/commands.js +1 -0
- 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/applicationcustomizer/applicationcustomizer-add.js +5 -5
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +5 -5
- package/dist/m365/spo/commands/commandset/commandset-add.js +11 -11
- package/dist/m365/spo/commands/commandset/commandset-get.js +8 -8
- package/dist/m365/spo/commands/commandset/commandset-list.js +5 -5
- package/dist/m365/spo/commands/commandset/commandset-remove.js +5 -5
- package/dist/m365/spo/commands/commandset/commandset-set.js +11 -11
- package/dist/m365/spo/commands/file/file-move.js +73 -97
- package/dist/m365/spo/commands/file/file-sharinglink-add.js +8 -8
- package/dist/m365/spo/commands/file/file-sharinglink-list.js +5 -5
- 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/list/list-add.js +4 -4
- package/dist/m365/spo/commands/list/list-set.js +4 -4
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +34 -5
- 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/serviceprincipal/serviceprincipal-set.js +30 -32
- package/dist/m365/spo/commands/site/FlowsPolicy.js +7 -0
- package/dist/m365/spo/commands/site/site-add.js +114 -161
- package/dist/m365/spo/commands/site/site-apppermission-add.js +15 -18
- package/dist/m365/spo/commands/site/site-apppermission-remove.js +34 -38
- package/dist/m365/spo/commands/site/site-apppermission-set.js +11 -14
- package/dist/m365/spo/commands/site/site-ensure.js +14 -67
- 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-recyclebinitem-list.js +6 -6
- package/dist/m365/spo/commands/site/site-remove.js +166 -210
- package/dist/m365/spo/commands/site/site-set.js +177 -198
- package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -8
- package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +8 -8
- package/dist/m365/spo/commands/tenant/tenant-settings-set.js +4 -4
- 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/spo/commands/web/web-set.js +5 -5
- package/dist/m365/teams/commands/app/app-list.js +5 -5
- package/dist/m365/teams/commands/chat/chat-member-add.js +5 -5
- package/dist/m365/teams/commands/funsettings/funsettings-set.js +4 -4
- package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +4 -4
- package/dist/m365/teams/commands/membersettings/membersettings-set.js +4 -4
- package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +5 -5
- package/dist/m365/teams/commands/team/team-set.js +3 -3
- package/dist/m365/todo/commands/task/task-add.js +6 -6
- package/dist/m365/yammer/commands/message/message-like-set.js +27 -28
- package/dist/m365/yammer/commands/message/message-list.js +67 -86
- package/dist/m365/yammer/commands/message/message-remove.js +18 -18
- package/dist/m365/yammer/commands/yammer-search.js +58 -74
- package/dist/utils/aadGroup.js +18 -0
- package/dist/utils/fsUtil.js +5 -0
- package/dist/utils/spo.js +594 -53
- package/dist/utils/validation.js +0 -3
- package/docs/docs/cmd/planner/task/task-add.mdx +22 -7
- package/docs/docs/cmd/planner/task/task-get.mdx +13 -4
- package/docs/docs/cmd/planner/task/task-list.mdx +22 -7
- package/docs/docs/cmd/planner/task/task-remove.mdx +25 -8
- package/docs/docs/cmd/planner/task/task-set.mdx +22 -7
- package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +94 -0
- 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-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-list.mdx +3 -78
- package/npm-shrinkwrap.json +240 -1417
- package/package.json +6 -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
|
@@ -204,7 +204,6 @@ function reindex(collection) {
|
|
|
204
204
|
export class ClientSidePage {
|
|
205
205
|
constructor() {
|
|
206
206
|
this.sections = [];
|
|
207
|
-
this.commentsDisabled = false;
|
|
208
207
|
}
|
|
209
208
|
/**
|
|
210
209
|
* Converts a json object to an escaped string appropriate for use in attributes when storing client-side controls
|
|
@@ -243,49 +242,6 @@ export class ClientSidePage {
|
|
|
243
242
|
};
|
|
244
243
|
return JSON.parse(unespace(escapedString));
|
|
245
244
|
}
|
|
246
|
-
/**
|
|
247
|
-
* Add a section to this page
|
|
248
|
-
*/
|
|
249
|
-
addSection(sectionTemplate, order) {
|
|
250
|
-
var sectionOrder = typeof order !== 'undefined' ? order : getNextOrder(this.sections);
|
|
251
|
-
var section = new CanvasSection(this, sectionOrder);
|
|
252
|
-
if (sectionTemplate) {
|
|
253
|
-
switch (CanvasSectionTemplate[sectionTemplate].toString()) {
|
|
254
|
-
case CanvasSectionTemplate.OneColumnFullWidth.toString():
|
|
255
|
-
section.addColumn(0);
|
|
256
|
-
break;
|
|
257
|
-
case CanvasSectionTemplate.TwoColumn.toString():
|
|
258
|
-
section.addColumn(6);
|
|
259
|
-
section.addColumn(6);
|
|
260
|
-
break;
|
|
261
|
-
case CanvasSectionTemplate.ThreeColumn.toString():
|
|
262
|
-
section.addColumn(4);
|
|
263
|
-
section.addColumn(4);
|
|
264
|
-
section.addColumn(4);
|
|
265
|
-
break;
|
|
266
|
-
case CanvasSectionTemplate.TwoColumnLeft.toString():
|
|
267
|
-
section.addColumn(8);
|
|
268
|
-
section.addColumn(4);
|
|
269
|
-
break;
|
|
270
|
-
case CanvasSectionTemplate.TwoColumnRight.toString():
|
|
271
|
-
section.addColumn(4);
|
|
272
|
-
section.addColumn(8);
|
|
273
|
-
break;
|
|
274
|
-
case CanvasSectionTemplate.OneColumn.toString():
|
|
275
|
-
default:
|
|
276
|
-
section.addColumn(12);
|
|
277
|
-
break;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
if (typeof order !== undefined) {
|
|
281
|
-
// Insert the sections at the specified order.
|
|
282
|
-
this.sections.splice(sectionOrder - 1, 0, section);
|
|
283
|
-
}
|
|
284
|
-
else {
|
|
285
|
-
this.sections.push(section);
|
|
286
|
-
}
|
|
287
|
-
return section;
|
|
288
|
-
}
|
|
289
245
|
/**
|
|
290
246
|
* Converts this page's content to html markup
|
|
291
247
|
*/
|
|
@@ -341,14 +297,6 @@ export class ClientSidePage {
|
|
|
341
297
|
reindex(page.sections);
|
|
342
298
|
return page;
|
|
343
299
|
}
|
|
344
|
-
/**
|
|
345
|
-
* Finds a control by the specified instance id
|
|
346
|
-
*
|
|
347
|
-
* @param id Instance id of the control to find
|
|
348
|
-
*/
|
|
349
|
-
findControlById(id) {
|
|
350
|
-
return this.findControl((c) => c.id === id);
|
|
351
|
-
}
|
|
352
300
|
/**
|
|
353
301
|
* Finds a control within this page's control tree using the supplied predicate
|
|
354
302
|
*
|
|
@@ -441,7 +389,6 @@ export class CanvasSection {
|
|
|
441
389
|
this.page = page;
|
|
442
390
|
this.order = order;
|
|
443
391
|
this.columns = columns;
|
|
444
|
-
this._memId = getGUID();
|
|
445
392
|
}
|
|
446
393
|
/**
|
|
447
394
|
* Default column (this.columns[0]) for this section
|
|
@@ -460,15 +407,6 @@ export class CanvasSection {
|
|
|
460
407
|
this.columns.push(column);
|
|
461
408
|
return column;
|
|
462
409
|
}
|
|
463
|
-
/**
|
|
464
|
-
* Adds a control to the default column for this section
|
|
465
|
-
*
|
|
466
|
-
* @param control Control to add to the default column
|
|
467
|
-
*/
|
|
468
|
-
addControl(control) {
|
|
469
|
-
this.defaultColumn.addControl(control);
|
|
470
|
-
return this;
|
|
471
|
-
}
|
|
472
410
|
toHtml() {
|
|
473
411
|
const html = [];
|
|
474
412
|
for (let i = 0; i < this.columns.length; i++) {
|
|
@@ -476,15 +414,8 @@ export class CanvasSection {
|
|
|
476
414
|
}
|
|
477
415
|
return html.join("");
|
|
478
416
|
}
|
|
479
|
-
/**
|
|
480
|
-
* Removes this section and all contained columns and controls from the collection
|
|
481
|
-
*/
|
|
482
|
-
remove() {
|
|
483
|
-
this.page.sections = this.page.sections.filter(section => section._memId !== this._memId);
|
|
484
|
-
reindex(this.page.sections);
|
|
485
|
-
}
|
|
486
417
|
}
|
|
487
|
-
|
|
418
|
+
class CanvasControl {
|
|
488
419
|
constructor(controlType, dataVersion, column = undefined, order = 1, id = getGUID(), controlData = null, dynamicDataPaths = null, dynamicDataValues = null) {
|
|
489
420
|
this.controlType = controlType;
|
|
490
421
|
this.dataVersion = dataVersion;
|
|
@@ -534,9 +465,6 @@ export class CanvasColumn extends CanvasControl {
|
|
|
534
465
|
}
|
|
535
466
|
return this;
|
|
536
467
|
}
|
|
537
|
-
getControl(index) {
|
|
538
|
-
return this.controls[index];
|
|
539
|
-
}
|
|
540
468
|
toHtml() {
|
|
541
469
|
const html = [];
|
|
542
470
|
if (this.controls.length < 1) {
|
|
@@ -662,11 +590,6 @@ export class ClientSideWebpart extends ClientSidePart {
|
|
|
662
590
|
this.dynamicDataPaths = dynamicDataPaths;
|
|
663
591
|
this.dynamicDataValues = dynamicDataValues;
|
|
664
592
|
}
|
|
665
|
-
static fromComponentDef(definition) {
|
|
666
|
-
const part = new ClientSideWebpart("");
|
|
667
|
-
part.import(definition);
|
|
668
|
-
return part;
|
|
669
|
-
}
|
|
670
593
|
import(component) {
|
|
671
594
|
this.webPartId = component.Id.replace(/^\{|\}$/g, "").toLowerCase();
|
|
672
595
|
const manifest = JSON.parse(component.Manifest);
|
|
@@ -679,9 +602,6 @@ export class ClientSideWebpart extends ClientSidePart {
|
|
|
679
602
|
this.propertieJson = extend(this.propertieJson, properties);
|
|
680
603
|
return this;
|
|
681
604
|
}
|
|
682
|
-
getProperties() {
|
|
683
|
-
return this.propertieJson;
|
|
684
|
-
}
|
|
685
605
|
toHtml(index) {
|
|
686
606
|
// set our order to the value passed in
|
|
687
607
|
this.order = index;
|
|
@@ -13,7 +13,7 @@ export class SpoPropertyBagBaseCommand extends SpoCommand {
|
|
|
13
13
|
* Gets property bag for a folder or site rootFolder of a site where return type is "_ObjectType_\":\"SP.Folder\".
|
|
14
14
|
* This method is executed when folder option is specified. PnP PowerShell behaves the same way.
|
|
15
15
|
*/
|
|
16
|
-
getFolderPropertyBag(identityResp, webUrl, folder, logger) {
|
|
16
|
+
async getFolderPropertyBag(identityResp, webUrl, folder, logger) {
|
|
17
17
|
let serverRelativeUrl = folder;
|
|
18
18
|
if (identityResp.serverRelativeUrl !== '/') {
|
|
19
19
|
serverRelativeUrl = `${identityResp.serverRelativeUrl}${serverRelativeUrl}`;
|
|
@@ -25,31 +25,31 @@ export class SpoPropertyBagBaseCommand extends SpoCommand {
|
|
|
25
25
|
},
|
|
26
26
|
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><ObjectPath Id="10" ObjectPathId="9" /><ObjectIdentityQuery Id="11" ObjectPathId="9" /><Query Id="12" ObjectPathId="9"><Query SelectAllProperties="false"><Properties><Property Name="Properties" SelectAll="true"><Query SelectAllProperties="false"><Properties /></Query></Property></Properties></Query></Query></Actions><ObjectPaths><Method Id="9" ParentId="5" Name="GetFolderByServerRelativeUrl"><Parameters><Parameter Type="String">${serverRelativeUrl}</Parameter></Parameters></Method><Identity Id="5" Name="${identityResp.objectIdentity}" /></ObjectPaths></Request>`
|
|
27
27
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
28
|
+
try {
|
|
29
|
+
const res = await request.post(requestOptions);
|
|
30
|
+
if (this.debug) {
|
|
31
|
+
await logger.logToStderr('Attempt to get Properties key values');
|
|
32
|
+
}
|
|
33
|
+
const json = JSON.parse(res);
|
|
34
|
+
const contents = json.find(x => { return x['ErrorInfo']; });
|
|
35
|
+
if (contents && contents.ErrorInfo) {
|
|
36
|
+
throw contents.ErrorInfo.ErrorMessage || 'ClientSvc unknown error';
|
|
37
|
+
}
|
|
38
|
+
const propertiesObj = json.find(x => { return x['Properties']; });
|
|
39
|
+
if (propertiesObj) {
|
|
40
|
+
return propertiesObj['Properties'];
|
|
41
|
+
}
|
|
42
|
+
throw 'Cannot proceed. Properties not found'; // this is not suppose to happen
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
throw err;
|
|
46
|
+
}
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Gets property bag for site or sitecollection where return type is "_ObjectType_\":\"SP.Web\".
|
|
50
50
|
* This method is executed when no folder specified. PnP PowerShell behaves the same way.
|
|
51
51
|
*/
|
|
52
|
-
getWebPropertyBag(identityResp, webUrl, logger) {
|
|
52
|
+
async getWebPropertyBag(identityResp, webUrl, logger) {
|
|
53
53
|
const requestOptions = {
|
|
54
54
|
url: `${webUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
55
55
|
headers: {
|
|
@@ -57,23 +57,25 @@ export class SpoPropertyBagBaseCommand extends SpoCommand {
|
|
|
57
57
|
},
|
|
58
58
|
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><Query Id="97" ObjectPathId="5"><Query SelectAllProperties="false"><Properties><Property Name="ServerRelativeUrl" ScalarProperty="true" /><Property Name="AllProperties" SelectAll="true"><Query SelectAllProperties="false"><Properties /></Query></Property></Properties></Query></Query></Actions><ObjectPaths><Identity Id="5" Name="${identityResp.objectIdentity}" /></ObjectPaths></Request>`
|
|
59
59
|
};
|
|
60
|
-
|
|
61
|
-
request.post(requestOptions)
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
60
|
+
try {
|
|
61
|
+
const res = await request.post(requestOptions);
|
|
62
|
+
if (this.debug) {
|
|
63
|
+
await logger.logToStderr('Attempt to get AllProperties key values');
|
|
64
|
+
}
|
|
65
|
+
const json = JSON.parse(res);
|
|
66
|
+
const contents = json.find(x => { return x['ErrorInfo']; });
|
|
67
|
+
if (contents && contents.ErrorInfo) {
|
|
68
|
+
throw contents.ErrorInfo.ErrorMessage || 'ClientSvc unknown error';
|
|
69
|
+
}
|
|
70
|
+
const allPropertiesObj = json.find(x => { return x['AllProperties']; });
|
|
71
|
+
if (allPropertiesObj) {
|
|
72
|
+
return allPropertiesObj['AllProperties'];
|
|
73
|
+
}
|
|
74
|
+
throw 'Cannot proceed. AllProperties not found'; // this is not supposed to happen
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
throw err;
|
|
78
|
+
}
|
|
77
79
|
}
|
|
78
80
|
/**
|
|
79
81
|
* The property bag item data returned from the client.svc/ProcessQuery response
|
|
@@ -108,7 +110,7 @@ export class SpoPropertyBagBaseCommand extends SpoCommand {
|
|
|
108
110
|
}
|
|
109
111
|
return { key: objKey, value: objValue };
|
|
110
112
|
}
|
|
111
|
-
static setProperty(name, value, webUrl, formDigest, identityResp, logger, debug, folder) {
|
|
113
|
+
static async setProperty(name, value, webUrl, formDigest, identityResp, logger, debug, folder) {
|
|
112
114
|
let objectType = 'AllProperties';
|
|
113
115
|
if (folder) {
|
|
114
116
|
objectType = 'Properties';
|
|
@@ -120,18 +122,20 @@ export class SpoPropertyBagBaseCommand extends SpoCommand {
|
|
|
120
122
|
},
|
|
121
123
|
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><Method Name="SetFieldValue" Id="206" ObjectPathId="205"><Parameters><Parameter Type="String">${formatting.escapeXml(name)}</Parameter><Parameter Type="String">${formatting.escapeXml(value)}</Parameter></Parameters></Method><Method Name="Update" Id="207" ObjectPathId="198" /></Actions><ObjectPaths><Property Id="205" ParentId="198" Name="${objectType}" /><Identity Id="198" Name="${identityResp.objectIdentity}" /></ObjectPaths></Request>`
|
|
122
124
|
};
|
|
123
|
-
|
|
124
|
-
request.post(requestOptions)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
125
|
+
try {
|
|
126
|
+
const res = await request.post(requestOptions);
|
|
127
|
+
const json = JSON.parse(res);
|
|
128
|
+
const contents = json.find(x => { return x['ErrorInfo']; });
|
|
129
|
+
if (contents && contents.ErrorInfo) {
|
|
130
|
+
throw contents.ErrorInfo.ErrorMessage || 'ClientSvc unknown error';
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
return res;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
throw err;
|
|
138
|
+
}
|
|
135
139
|
}
|
|
136
140
|
/**
|
|
137
141
|
* Detects if the site in question has no script enabled or not. Detection is done
|
|
@@ -141,14 +145,14 @@ export class SpoPropertyBagBaseCommand extends SpoCommand {
|
|
|
141
145
|
* @param options command options
|
|
142
146
|
* @param cmd command instance
|
|
143
147
|
*/
|
|
144
|
-
static isNoScriptSite(webUrl, formDigest, webIdentityResp, logger, debug) {
|
|
145
|
-
|
|
146
|
-
spo.getEffectiveBasePermissions(webIdentityResp.objectIdentity, webUrl, formDigest, logger, debug)
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}
|
|
148
|
+
static async isNoScriptSite(webUrl, formDigest, webIdentityResp, logger, debug) {
|
|
149
|
+
try {
|
|
150
|
+
const basePermissionsResp = await spo.getEffectiveBasePermissions(webIdentityResp.objectIdentity, webUrl, formDigest, logger, debug);
|
|
151
|
+
return basePermissionsResp.has(PermissionKind.AddAndCustomizePages) === false;
|
|
152
|
+
}
|
|
153
|
+
catch (err) {
|
|
154
|
+
throw err;
|
|
155
|
+
}
|
|
152
156
|
}
|
|
153
157
|
}
|
|
154
158
|
//# sourceMappingURL=propertybag-base.js.map
|
|
@@ -27,24 +27,8 @@ class SpoPropertyBagRemoveCommand extends SpoPropertyBagBaseCommand {
|
|
|
27
27
|
__classPrivateFieldGet(this, _SpoPropertyBagRemoveCommand_instances, "m", _SpoPropertyBagRemoveCommand_initValidators).call(this);
|
|
28
28
|
}
|
|
29
29
|
async commandAction(logger, args) {
|
|
30
|
-
const removeProperty = async () => {
|
|
31
|
-
try {
|
|
32
|
-
const contextResponse = await spo.getRequestDigest(args.options.webUrl);
|
|
33
|
-
this.formDigestValue = contextResponse.FormDigestValue;
|
|
34
|
-
let identityResp = await spo.getCurrentWebIdentity(args.options.webUrl, this.formDigestValue);
|
|
35
|
-
const opts = args.options;
|
|
36
|
-
if (opts.folder) {
|
|
37
|
-
// get the folder guid instead of the web guid
|
|
38
|
-
identityResp = await spo.getFolderIdentity(identityResp.objectIdentity, opts.webUrl, opts.folder, this.formDigestValue);
|
|
39
|
-
}
|
|
40
|
-
await this.removeProperty(identityResp, args.options);
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
this.handleRejectedPromise(err);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
30
|
if (args.options.force) {
|
|
47
|
-
await removeProperty();
|
|
31
|
+
await this.removeProperty(args);
|
|
48
32
|
}
|
|
49
33
|
else {
|
|
50
34
|
const result = await Cli.prompt({
|
|
@@ -54,11 +38,27 @@ class SpoPropertyBagRemoveCommand extends SpoPropertyBagBaseCommand {
|
|
|
54
38
|
message: `Are you sure you want to remove the ${args.options.key} property?`
|
|
55
39
|
});
|
|
56
40
|
if (result.continue) {
|
|
57
|
-
await removeProperty();
|
|
41
|
+
await this.removeProperty(args);
|
|
58
42
|
}
|
|
59
43
|
}
|
|
60
44
|
}
|
|
61
|
-
removeProperty(
|
|
45
|
+
async removeProperty(args) {
|
|
46
|
+
try {
|
|
47
|
+
const contextResponse = await spo.getRequestDigest(args.options.webUrl);
|
|
48
|
+
this.formDigestValue = contextResponse.FormDigestValue;
|
|
49
|
+
let identityResp = await spo.getCurrentWebIdentity(args.options.webUrl, this.formDigestValue);
|
|
50
|
+
const opts = args.options;
|
|
51
|
+
if (opts.folder) {
|
|
52
|
+
// get the folder guid instead of the web guid
|
|
53
|
+
identityResp = await spo.getFolderIdentity(identityResp.objectIdentity, opts.webUrl, opts.folder, this.formDigestValue);
|
|
54
|
+
}
|
|
55
|
+
await this.removePropertyWithIdentityResp(identityResp, args.options);
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
this.handleRejectedPromise(err);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async removePropertyWithIdentityResp(identityResp, options) {
|
|
62
62
|
let objectType = 'AllProperties';
|
|
63
63
|
if (options.folder) {
|
|
64
64
|
objectType = 'Properties';
|
|
@@ -70,18 +70,15 @@ class SpoPropertyBagRemoveCommand extends SpoPropertyBagBaseCommand {
|
|
|
70
70
|
},
|
|
71
71
|
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><Method Name="SetFieldValue" Id="206" ObjectPathId="205"><Parameters><Parameter Type="String">${formatting.escapeXml(options.key)}</Parameter><Parameter Type="Null" /></Parameters></Method><Method Name="Update" Id="207" ObjectPathId="198" /></Actions><ObjectPaths><Property Id="205" ParentId="198" Name="${objectType}" /><Identity Id="198" Name="${identityResp.objectIdentity}" /></ObjectPaths></Request>`
|
|
72
72
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
}, (err) => { reject(err); });
|
|
84
|
-
});
|
|
73
|
+
const res = await request.post(requestOptions);
|
|
74
|
+
const json = JSON.parse(res);
|
|
75
|
+
const contents = json.find(x => { return x['ErrorInfo']; });
|
|
76
|
+
if (contents && contents.ErrorInfo) {
|
|
77
|
+
throw contents.ErrorInfo.ErrorMessage || 'ClientSvc unknown error';
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
return res;
|
|
81
|
+
}
|
|
85
82
|
}
|
|
86
83
|
}
|
|
87
84
|
_SpoPropertyBagRemoveCommand_instances = new WeakSet(), _SpoPropertyBagRemoveCommand_initTelemetry = function _SpoPropertyBagRemoveCommand_initTelemetry() {
|
|
@@ -28,38 +28,8 @@ class SpoServicePrincipalSetCommand extends SpoCommand {
|
|
|
28
28
|
return [commands.SP_SET];
|
|
29
29
|
}
|
|
30
30
|
async commandAction(logger, args) {
|
|
31
|
-
const toggleServicePrincipal = async () => {
|
|
32
|
-
try {
|
|
33
|
-
const spoAdminUrl = await spo.getSpoAdminUrl(logger, this.debug);
|
|
34
|
-
const reqDigest = await spo.getRequestDigest(spoAdminUrl);
|
|
35
|
-
if (this.verbose) {
|
|
36
|
-
await logger.logToStderr(`${(args.options.enabled ? 'Enabling' : 'Disabling')} service principal...`);
|
|
37
|
-
}
|
|
38
|
-
const requestOptions = {
|
|
39
|
-
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
40
|
-
headers: {
|
|
41
|
-
'X-RequestDigest': reqDigest.FormDigestValue
|
|
42
|
-
},
|
|
43
|
-
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><ObjectPath Id="28" ObjectPathId="27" /><SetProperty Id="29" ObjectPathId="27" Name="AccountEnabled"><Parameter Type="Boolean">${args.options.enabled}</Parameter></SetProperty><Method Name="Update" Id="30" ObjectPathId="27" /><Query Id="31" ObjectPathId="27"><Query SelectAllProperties="true"><Properties><Property Name="AccountEnabled" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Constructor Id="27" TypeId="{104e8f06-1e00-4675-99c6-1b9b504ed8d8}" /></ObjectPaths></Request>`
|
|
44
|
-
};
|
|
45
|
-
const res = await request.post(requestOptions);
|
|
46
|
-
const json = JSON.parse(res);
|
|
47
|
-
const response = json[0];
|
|
48
|
-
if (response.ErrorInfo) {
|
|
49
|
-
throw response.ErrorInfo.ErrorMessage;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
const output = json[json.length - 1];
|
|
53
|
-
delete output._ObjectType_;
|
|
54
|
-
await logger.log(output);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
this.handleRejectedPromise(err);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
31
|
if (args.options.force) {
|
|
62
|
-
await toggleServicePrincipal();
|
|
32
|
+
await this.toggleServicePrincipal(logger, args);
|
|
63
33
|
}
|
|
64
34
|
else {
|
|
65
35
|
const result = await Cli.prompt({
|
|
@@ -69,10 +39,38 @@ class SpoServicePrincipalSetCommand extends SpoCommand {
|
|
|
69
39
|
message: `Are you sure you want to ${args.options.enabled ? 'enable' : 'disable'} the service principal?`
|
|
70
40
|
});
|
|
71
41
|
if (result.continue) {
|
|
72
|
-
await toggleServicePrincipal();
|
|
42
|
+
await this.toggleServicePrincipal(logger, args);
|
|
73
43
|
}
|
|
74
44
|
}
|
|
75
45
|
}
|
|
46
|
+
async toggleServicePrincipal(logger, args) {
|
|
47
|
+
try {
|
|
48
|
+
const spoAdminUrl = await spo.getSpoAdminUrl(logger, this.debug);
|
|
49
|
+
const reqDigest = await spo.getRequestDigest(spoAdminUrl);
|
|
50
|
+
if (this.verbose) {
|
|
51
|
+
await logger.logToStderr(`${(args.options.enabled ? 'Enabling' : 'Disabling')} service principal...`);
|
|
52
|
+
}
|
|
53
|
+
const requestOptions = {
|
|
54
|
+
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
55
|
+
headers: {
|
|
56
|
+
'X-RequestDigest': reqDigest.FormDigestValue
|
|
57
|
+
},
|
|
58
|
+
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><ObjectPath Id="28" ObjectPathId="27" /><SetProperty Id="29" ObjectPathId="27" Name="AccountEnabled"><Parameter Type="Boolean">${args.options.enabled}</Parameter></SetProperty><Method Name="Update" Id="30" ObjectPathId="27" /><Query Id="31" ObjectPathId="27"><Query SelectAllProperties="true"><Properties><Property Name="AccountEnabled" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Constructor Id="27" TypeId="{104e8f06-1e00-4675-99c6-1b9b504ed8d8}" /></ObjectPaths></Request>`
|
|
59
|
+
};
|
|
60
|
+
const response = await request.post(requestOptions);
|
|
61
|
+
const json = JSON.parse(response);
|
|
62
|
+
const responseContent = json[0];
|
|
63
|
+
if (responseContent.ErrorInfo) {
|
|
64
|
+
throw responseContent.ErrorInfo.ErrorMessage;
|
|
65
|
+
}
|
|
66
|
+
const output = json[json.length - 1];
|
|
67
|
+
delete output._ObjectType_;
|
|
68
|
+
await logger.log(output);
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
this.handleRejectedPromise(err);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
76
74
|
}
|
|
77
75
|
_SpoServicePrincipalSetCommand_instances = new WeakSet(), _SpoServicePrincipalSetCommand_initTelemetry = function _SpoServicePrincipalSetCommand_initTelemetry() {
|
|
78
76
|
this.telemetry.push((args) => {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var FlowsPolicy;
|
|
2
|
+
(function (FlowsPolicy) {
|
|
3
|
+
FlowsPolicy[FlowsPolicy["Unknown"] = 0] = "Unknown";
|
|
4
|
+
FlowsPolicy[FlowsPolicy["Disabled"] = 1] = "Disabled";
|
|
5
|
+
FlowsPolicy[FlowsPolicy["Enabled"] = 2] = "Enabled";
|
|
6
|
+
})(FlowsPolicy || (FlowsPolicy = {}));
|
|
7
|
+
//# sourceMappingURL=FlowsPolicy.js.map
|