@pnp/cli-microsoft365 6.9.0 → 6.10.0-beta.05cab2f

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.
Files changed (110) hide show
  1. package/README.md +7 -5
  2. package/dist/Command.js +1 -1
  3. package/dist/cli/Cli.js +23 -8
  4. package/dist/m365/booking/commands/business/business-get.js +14 -15
  5. package/dist/m365/cli/commands/config/config-set.js +1 -1
  6. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +35 -34
  7. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.18.0-beta.1.js +23 -0
  8. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  9. package/dist/m365/spfx/commands/project/project-externalize/rules/DynamicRule.js +59 -51
  10. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  11. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.18.0-beta.1.js +61 -0
  12. package/dist/m365/spfx/commands/project/project-upgrade.js +16 -13
  13. package/dist/m365/spfx/commands/spfx-doctor.js +15 -0
  14. package/dist/m365/spo/commands/folder/folder-remove.js +30 -28
  15. package/dist/m365/spo/commands/list/list-roleassignment-add.js +9 -47
  16. package/dist/m365/spo/commands/page/page-remove.js +33 -31
  17. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +25 -23
  18. package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -3
  19. package/dist/m365/spo/commands/site/site-set.js +10 -2
  20. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +12 -15
  21. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +80 -2
  22. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +48 -48
  23. package/dist/m365/teams/commands/chat/chat-get.js +4 -4
  24. package/dist/m365/teams/commands/chat/chat-message-send.js +4 -4
  25. package/dist/utils/spo.js +74 -0
  26. package/docs/docs/_clisettings.mdx +17 -0
  27. package/docs/docs/cmd/_global.mdx +1 -1
  28. package/docs/docs/cmd/pa/app/app-get.mdx +1 -1
  29. package/docs/docs/cmd/pa/app/app-list.mdx +1 -1
  30. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.mdx +1 -1
  31. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.mdx +1 -1
  32. package/docs/docs/cmd/pp/card/card-clone.mdx +1 -1
  33. package/docs/docs/cmd/pp/card/card-get.mdx +1 -1
  34. package/docs/docs/cmd/pp/card/card-list.mdx +1 -1
  35. package/docs/docs/cmd/pp/chatbot/chatbot-get.mdx +1 -1
  36. package/docs/docs/cmd/pp/chatbot/chatbot-list.mdx +1 -1
  37. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +1 -1
  38. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +1 -1
  39. package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +1 -1
  40. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.mdx +1 -1
  41. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-remove.mdx +1 -1
  42. package/docs/docs/cmd/spo/site/site-add.mdx +35 -0
  43. package/docs/docs/cmd/spo/site/site-appcatalog-add.mdx +5 -1
  44. package/docs/docs/cmd/spo/site/site-appcatalog-list.mdx +14 -0
  45. package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +4 -0
  46. package/docs/docs/cmd/spo/site/site-apppermission-add.mdx +68 -0
  47. package/docs/docs/cmd/spo/site/site-apppermission-get.mdx +55 -0
  48. package/docs/docs/cmd/spo/site/site-apppermission-list.mdx +55 -0
  49. package/docs/docs/cmd/spo/site/site-apppermission-remove.mdx +4 -0
  50. package/docs/docs/cmd/spo/site/site-apppermission-set.mdx +66 -0
  51. package/docs/docs/cmd/spo/site/site-chrome-set.mdx +4 -0
  52. package/docs/docs/cmd/spo/site/site-ensure.mdx +70 -0
  53. package/docs/docs/cmd/spo/site/site-get.mdx +179 -0
  54. package/docs/docs/cmd/spo/site/site-groupify.mdx +54 -0
  55. package/docs/docs/cmd/spo/site/site-hubsite-connect.mdx +4 -0
  56. package/docs/docs/cmd/spo/site/site-hubsite-disconnect.mdx +4 -0
  57. package/docs/docs/cmd/spo/site/site-hubsite-theme-sync.mdx +5 -1
  58. package/docs/docs/cmd/spo/site/site-inplacerecordsmanagement-set.mdx +4 -0
  59. package/docs/docs/cmd/spo/site/site-list.mdx +303 -0
  60. package/docs/docs/cmd/spo/site/site-recyclebinitem-list.mdx +80 -0
  61. package/docs/docs/cmd/spo/site/site-recyclebinitem-restore.mdx +4 -0
  62. package/docs/docs/cmd/spo/site/site-remove.mdx +4 -0
  63. package/docs/docs/cmd/spo/site/site-rename.mdx +92 -0
  64. package/docs/docs/cmd/spo/site/site-set.mdx +13 -0
  65. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.mdx +116 -0
  66. package/docs/docs/cmd/spo/sitedesign/sitedesign-apply.mdx +125 -0
  67. package/docs/docs/cmd/spo/sitedesign/sitedesign-get.mdx +117 -0
  68. package/docs/docs/cmd/spo/sitedesign/sitedesign-list.mdx +94 -0
  69. package/docs/docs/cmd/spo/sitedesign/sitedesign-remove.mdx +4 -0
  70. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.mdx +4 -0
  71. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.mdx +54 -0
  72. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.mdx +4 -0
  73. package/docs/docs/cmd/spo/sitedesign/sitedesign-run-list.mdx +66 -0
  74. package/docs/docs/cmd/spo/sitedesign/sitedesign-run-status-get.mdx +65 -0
  75. package/docs/docs/cmd/spo/sitedesign/sitedesign-set.mdx +117 -0
  76. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.mdx +61 -0
  77. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-list.mdx +60 -0
  78. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.mdx +4 -0
  79. package/docs/docs/cmd/spo/sitescript/sitescript-add.mdx +75 -0
  80. package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +62 -0
  81. package/docs/docs/cmd/spo/sitescript/sitescript-list.mdx +60 -0
  82. package/docs/docs/cmd/spo/sitescript/sitescript-remove.mdx +4 -0
  83. package/docs/docs/cmd/spo/sitescript/sitescript-set.mdx +63 -0
  84. package/docs/docs/cmd/spo/storageentity/storageentity-get.mdx +53 -0
  85. package/docs/docs/cmd/spo/storageentity/storageentity-list.mdx +54 -0
  86. package/docs/docs/cmd/spo/storageentity/storageentity-remove.mdx +4 -0
  87. package/docs/docs/cmd/spo/storageentity/storageentity-set.mdx +4 -0
  88. package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.mdx +4 -0
  89. package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.mdx +35 -0
  90. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-get.mdx +1 -1
  91. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +1 -1
  92. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
  93. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-set.mdx +12 -3
  94. package/docs/docs/cmd/spo/tenant/tenant-commandset-get.mdx +1 -1
  95. package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +1 -1
  96. package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
  97. package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
  98. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.mdx +67 -0
  99. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.mdx +4 -0
  100. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.mdx +50 -0
  101. package/docs/docs/cmd/spo/tenant/tenant-settings-list.mdx +729 -0
  102. package/docs/docs/cmd/spo/tenant/tenant-settings-set.mdx +5 -0
  103. package/docs/docs/cmd/spo/theme/theme-apply.mdx +35 -0
  104. package/docs/docs/cmd/spo/theme/theme-get.mdx +74 -0
  105. package/docs/docs/cmd/spo/theme/theme-list.mdx +52 -0
  106. package/docs/docs/cmd/spo/theme/theme-remove.mdx +4 -0
  107. package/docs/docs/cmd/spo/theme/theme-set.mdx +4 -0
  108. package/docs/docs/cmd/spo/userprofile/userprofile-get.mdx +1 -1
  109. package/npm-shrinkwrap.json +214 -214
  110. package/package.json +11 -11
@@ -39,54 +39,8 @@ class SpoTenantRecycleBinItemRemoveCommand extends SpoCommand_1.default {
39
39
  }
40
40
  commandAction(logger, args) {
41
41
  return __awaiter(this, void 0, void 0, function* () {
42
- const removeDeletedSite = () => __awaiter(this, void 0, void 0, function* () {
43
- try {
44
- this.spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
45
- const res = yield spo_1.spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
46
- if (this.verbose) {
47
- logger.logToStderr(`Removing deleted site collection ${args.options.siteUrl}...`);
48
- }
49
- const requestOptions = {
50
- url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
51
- headers: {
52
- 'X-RequestDigest': res.FormDigestValue
53
- },
54
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="16" ObjectPathId="15" /><Query Id="17" ObjectPathId="15"><Query SelectAllProperties="false"><Properties><Property Name="PollingInterval" ScalarProperty="true" /><Property Name="IsComplete" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Method Id="15" ParentId="1" Name="RemoveDeletedSite"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.siteUrl)}</Parameter></Parameters></Method><Constructor Id="1" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
55
- };
56
- const processQuery = yield request_1.default.post(requestOptions);
57
- const json = JSON.parse(processQuery);
58
- const response = json[0];
59
- if (response.ErrorInfo) {
60
- throw response.ErrorInfo.ErrorMessage;
61
- }
62
- else {
63
- const operation = json[json.length - 1];
64
- const isComplete = operation.IsComplete;
65
- if (!args.options.wait || isComplete) {
66
- return;
67
- }
68
- yield new Promise((resolve, reject) => {
69
- setTimeout(() => {
70
- spo_1.spo.waitUntilFinished({
71
- operationId: JSON.stringify(operation._ObjectIdentity_),
72
- siteUrl: this.spoAdminUrl,
73
- resolve,
74
- reject,
75
- logger,
76
- currentContext: this.context,
77
- debug: this.debug,
78
- verbose: this.verbose
79
- });
80
- }, operation.PollingInterval);
81
- });
82
- }
83
- }
84
- catch (err) {
85
- this.handleRejectedODataJsonPromise(err);
86
- }
87
- });
88
42
  if (args.options.confirm) {
89
- yield removeDeletedSite();
43
+ yield this.removeDeletedSite(logger, args);
90
44
  }
91
45
  else {
92
46
  const result = yield Cli_1.Cli.prompt({
@@ -96,11 +50,57 @@ class SpoTenantRecycleBinItemRemoveCommand extends SpoCommand_1.default {
96
50
  message: `Are you sure you want to remove the deleted site collection ${args.options.siteUrl} from tenant recycle bin?`
97
51
  });
98
52
  if (result.continue) {
99
- yield removeDeletedSite();
53
+ yield this.removeDeletedSite(logger, args);
100
54
  }
101
55
  }
102
56
  });
103
57
  }
58
+ removeDeletedSite(logger, args) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ try {
61
+ const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
62
+ const res = yield spo_1.spo.ensureFormDigest(spoAdminUrl, logger, this.context, this.debug);
63
+ if (this.verbose) {
64
+ logger.logToStderr(`Removing deleted site collection ${args.options.siteUrl}...`);
65
+ }
66
+ const requestOptions = {
67
+ url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
68
+ headers: {
69
+ 'X-RequestDigest': res.FormDigestValue
70
+ },
71
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="16" ObjectPathId="15" /><Query Id="17" ObjectPathId="15"><Query SelectAllProperties="false"><Properties><Property Name="PollingInterval" ScalarProperty="true" /><Property Name="IsComplete" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Method Id="15" ParentId="1" Name="RemoveDeletedSite"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.siteUrl)}</Parameter></Parameters></Method><Constructor Id="1" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
72
+ };
73
+ const processQuery = yield request_1.default.post(requestOptions);
74
+ const json = JSON.parse(processQuery);
75
+ const response = json[0];
76
+ if (response.ErrorInfo) {
77
+ throw response.ErrorInfo.ErrorMessage;
78
+ }
79
+ const operation = json[json.length - 1];
80
+ const isComplete = operation.IsComplete;
81
+ if (!args.options.wait || isComplete) {
82
+ return;
83
+ }
84
+ yield new Promise((resolve, reject) => {
85
+ setTimeout(() => {
86
+ spo_1.spo.waitUntilFinished({
87
+ operationId: JSON.stringify(operation._ObjectIdentity_),
88
+ siteUrl: spoAdminUrl,
89
+ resolve,
90
+ reject,
91
+ logger,
92
+ currentContext: this.context,
93
+ debug: this.debug,
94
+ verbose: this.verbose
95
+ });
96
+ }, operation.PollingInterval);
97
+ });
98
+ }
99
+ catch (err) {
100
+ this.handleRejectedODataJsonPromise(err);
101
+ }
102
+ });
103
+ }
104
104
  }
105
105
  _SpoTenantRecycleBinItemRemoveCommand_instances = new WeakSet(), _SpoTenantRecycleBinItemRemoveCommand_initTelemetry = function _SpoTenantRecycleBinItemRemoveCommand_initTelemetry() {
106
106
  this.telemetry.push((args) => {
@@ -79,7 +79,7 @@ class TeamsChatGetCommand extends GraphCommand_1.default {
79
79
  const currentUserEmail = accessToken_1.accessToken.getUserNameFromAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken).toLowerCase();
80
80
  const existingChats = yield chatUtil_1.chatUtil.findExistingChatsByParticipants([currentUserEmail, ...participants]);
81
81
  if (!existingChats || existingChats.length === 0) {
82
- throw new Error('No chat conversation was found with these participants.');
82
+ throw 'No chat conversation was found with these participants.';
83
83
  }
84
84
  if (existingChats.length === 1) {
85
85
  return existingChats[0].id;
@@ -87,14 +87,14 @@ class TeamsChatGetCommand extends GraphCommand_1.default {
87
87
  const disambiguationText = existingChats.map(c => {
88
88
  return `- ${c.id}${c.topic && ' - '}${c.topic} - ${c.createdDateTime && new Date(c.createdDateTime).toLocaleString()}`;
89
89
  }).join(os.EOL);
90
- throw new Error(`Multiple chat conversations with these participants found. Please disambiguate:${os.EOL}${disambiguationText}`);
90
+ throw `Multiple chat conversations with these participants found. Please disambiguate:${os.EOL}${disambiguationText}`;
91
91
  });
92
92
  }
93
93
  getChatIdByName(name) {
94
94
  return __awaiter(this, void 0, void 0, function* () {
95
95
  const existingChats = yield chatUtil_1.chatUtil.findExistingGroupChatsByName(name);
96
96
  if (!existingChats || existingChats.length === 0) {
97
- throw new Error('No chat conversation was found with this name.');
97
+ throw 'No chat conversation was found with this name.';
98
98
  }
99
99
  if (existingChats.length === 1) {
100
100
  return existingChats[0].id;
@@ -103,7 +103,7 @@ class TeamsChatGetCommand extends GraphCommand_1.default {
103
103
  const memberstring = c.members.map(m => m.email).join(', ');
104
104
  return `- ${c.id} - ${c.createdDateTime && new Date(c.createdDateTime).toLocaleString()} - ${memberstring}`;
105
105
  }).join(os.EOL);
106
- throw new Error(`Multiple chat conversations with this name found. Please disambiguate:${os.EOL}${disambiguationText}`);
106
+ throw `Multiple chat conversations with this name found. Please disambiguate:${os.EOL}${disambiguationText}`;
107
107
  });
108
108
  }
109
109
  }
@@ -74,14 +74,14 @@ class TeamsChatMessageSendCommand extends GraphCommand_1.default {
74
74
  const disambiguationText = existingChats.map(c => {
75
75
  return `- ${c.id}${c.topic && ' - '}${c.topic} - ${c.createdDateTime && new Date(c.createdDateTime).toLocaleString()}`;
76
76
  }).join(os.EOL);
77
- throw new Error(`Multiple chat conversations with this name found. Please disambiguate:${os.EOL}${disambiguationText}`);
77
+ throw `Multiple chat conversations with this name found. Please disambiguate:${os.EOL}${disambiguationText}`;
78
78
  });
79
79
  }
80
80
  getChatIdByName(chatName) {
81
81
  return __awaiter(this, void 0, void 0, function* () {
82
82
  const existingChats = yield chatUtil_1.chatUtil.findExistingGroupChatsByName(chatName);
83
83
  if (!existingChats || existingChats.length === 0) {
84
- throw new Error('No chat conversation was found with this name.');
84
+ throw 'No chat conversation was found with this name.';
85
85
  }
86
86
  if (existingChats.length === 1) {
87
87
  return existingChats[0].id;
@@ -90,7 +90,7 @@ class TeamsChatMessageSendCommand extends GraphCommand_1.default {
90
90
  const memberstring = c.members.map(m => m.email).join(', ');
91
91
  return `- ${c.id} - ${c.createdDateTime && new Date(c.createdDateTime).toLocaleString()} - ${memberstring}`;
92
92
  }).join(os.EOL);
93
- throw new Error(`Multiple chat conversations with this name found. Please disambiguate:${os.EOL}${disambiguationText}`);
93
+ throw `Multiple chat conversations with this name found. Please disambiguate:${os.EOL}${disambiguationText}`;
94
94
  });
95
95
  }
96
96
  // This Microsoft Graph API request throws an intermittent 404 exception, saying that it cannot find the principal.
@@ -146,7 +146,7 @@ class TeamsChatMessageSendCommand extends GraphCommand_1.default {
146
146
  }
147
147
  }
148
148
  };
149
- yield request_1.default.post(requestOptions);
149
+ return request_1.default.post(requestOptions);
150
150
  });
151
151
  }
152
152
  }
package/dist/utils/spo.js CHANGED
@@ -19,6 +19,7 @@ const base_permissions_1 = require("../m365/spo/base-permissions");
19
19
  const request_1 = require("../request");
20
20
  const formatting_1 = require("./formatting");
21
21
  const odata_1 = require("./odata");
22
+ const RoleType_1 = require("../m365/spo/commands/roledefinition/RoleType");
22
23
  exports.spo = {
23
24
  getRequestDigest(siteUrl) {
24
25
  const requestOptions = {
@@ -569,6 +570,30 @@ exports.spo = {
569
570
  return res.AadObjectId.NameId;
570
571
  });
571
572
  },
573
+ /**
574
+ * Retrieves the spo user by email.
575
+ * @param webUrl Web url
576
+ * @param email The email of the user
577
+ * @param logger the Logger object
578
+ * @param debug set if debug logging should be logged
579
+ */
580
+ getUserByEmail(webUrl, email, logger, debug) {
581
+ return __awaiter(this, void 0, void 0, function* () {
582
+ if (debug) {
583
+ logger.logToStderr(`Retrieving the spo user by email ${email}`);
584
+ }
585
+ const requestUrl = `${webUrl}/_api/web/siteusers/GetByEmail('${formatting_1.formatting.encodeQueryParameter(email)}')`;
586
+ const requestOptions = {
587
+ url: requestUrl,
588
+ headers: {
589
+ 'accept': 'application/json;odata=nometadata'
590
+ },
591
+ responseType: 'json'
592
+ };
593
+ const userInstance = yield request_1.default.get(requestOptions);
594
+ return userInstance;
595
+ });
596
+ },
572
597
  /**
573
598
  * Retrieves the menu state for the quick launch.
574
599
  * @param webUrl Web url
@@ -628,6 +653,55 @@ exports.spo = {
628
653
  };
629
654
  return request_1.default.post(requestOptions);
630
655
  });
656
+ },
657
+ /**
658
+ * Retrieves the spo group by name.
659
+ * @param webUrl Web url
660
+ * @param name The name of the group
661
+ * @param logger the Logger object
662
+ * @param debug set if debug logging should be logged
663
+ */
664
+ getGroupByName(webUrl, name, logger, debug) {
665
+ return __awaiter(this, void 0, void 0, function* () {
666
+ if (debug) {
667
+ logger.logToStderr(`Retrieving the group by name ${name}`);
668
+ }
669
+ const requestUrl = `${webUrl}/_api/web/sitegroups/GetByName('${formatting_1.formatting.encodeQueryParameter(name)}')`;
670
+ const requestOptions = {
671
+ url: requestUrl,
672
+ headers: {
673
+ 'accept': 'application/json;odata=nometadata'
674
+ },
675
+ responseType: 'json'
676
+ };
677
+ const groupInstance = yield request_1.default.get(requestOptions);
678
+ return groupInstance;
679
+ });
680
+ },
681
+ /**
682
+ * Retrieves the role definition by name.
683
+ * @param webUrl Web url
684
+ * @param name the name of the role definition
685
+ * @param logger the Logger object
686
+ * @param debug set if debug logging should be logged
687
+ */
688
+ getRoleDefinitionByName(webUrl, name, logger, debug) {
689
+ return __awaiter(this, void 0, void 0, function* () {
690
+ if (debug) {
691
+ logger.logToStderr(`Retrieving the role definitions for ${name}`);
692
+ }
693
+ const roledefinitions = yield odata_1.odata.getAllItems(`${webUrl}/_api/web/roledefinitions`);
694
+ const roledefinition = roledefinitions.find((role) => role.Name === name);
695
+ if (!roledefinition) {
696
+ throw `No roledefinition is found for ${name}`;
697
+ }
698
+ const permissions = new base_permissions_1.BasePermissions();
699
+ permissions.high = roledefinition.BasePermissions.High;
700
+ permissions.low = roledefinition.BasePermissions.Low;
701
+ roledefinition.BasePermissionsValue = permissions.parse();
702
+ roledefinition.RoleTypeKindValue = RoleType_1.RoleType[roledefinition.RoleTypeKind];
703
+ return roledefinition;
704
+ });
631
705
  }
632
706
  };
633
707
  //# sourceMappingURL=spo.js.map
@@ -0,0 +1,17 @@
1
+ Setting name|Definition|Default value
2
+ ------------|----------|-------------
3
+ `autoOpenLinksInBrowser`|Automatically open the browser for all commands which return a url and expect the user to copy paste this to the browser. For example when logging in, using `m365 login` in device code mode.|`false`
4
+ `copyDeviceCodeToClipboard`|Automatically copy the device code to the clipboard when running `m365 login` command in device code mode|`false`
5
+ `csvEscape`|Single character used for escaping; only apply to characters matching the quote and the escape options|`"`
6
+ `csvHeader`|Display the column names on the first line|`true`
7
+ `csvQuote`|The quote characters surrounding a field. An empty quote value will preserve the original field, whether it contains quotation marks or not.|` `
8
+ `csvQuoted`|Quote all the non-empty fields even if not required|`false`
9
+ `csvQuotedEmpty`|Quote empty strings and overrides quoted_string on empty strings when defined|`false`
10
+ `disableTelemetry`|Disables sending of telemetry data|`false`
11
+ `errorOutput`|Defines if errors should be written to `stdout` or `stderr`|`stderr`
12
+ `helpMode`|Defines what part of command's help to display. Allowed values are `options`, `examples`, `remarks`, `response`, `full`|`full`
13
+ `output`|Defines the default output when issuing a command. Allowed values are `json`, `text`, `csv`, `md`, `none`|`json`
14
+ `printErrorsAsPlainText`|When output mode is set to `json`, print error messages as plain-text rather than JSON|`true`
15
+ `prompt`|Prompts for missing values in required options and enables interactive selection when multiple values are available for a command that requires a specific value to be retrieved.|`false`
16
+ `showHelpOnFailure`|Automatically display help when executing a command failed|`true`
17
+ `showSpinner`|Display spinner when executing commands|`true`
@@ -6,7 +6,7 @@
6
6
  : JMESPath query string. See [http://jmespath.org/](http://jmespath.org/) for more information and examples.
7
7
 
8
8
  `-o, --output [output]`
9
- : Output type. `json`, `text`, `csv`, `md`. Default `json`.
9
+ : Output type. `json`, `text`, `csv`, `md`, `none`. Default `json`.
10
10
 
11
11
  `--verbose`
12
12
  : Runs command with verbose logging.
@@ -9,7 +9,7 @@ Gets information about the specified Microsoft Power App
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pa app get [options]
12
+ m365 pa app get [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ Lists all Power Apps apps
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pa app list [options]
12
+ m365 pa app list [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ Gets a specific AI builder models in the specified Power Platform environment
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pp aibuildermodel get [options]
12
+ m365 pp aibuildermodel get [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ List available AI builder models in the specified Power Platform environment
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pp aibuildermodel list [options]
12
+ m365 pp aibuildermodel list [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ Clones a specific Microsoft Power Platform card in the specified Power Platform
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pp card clone [options]
12
+ m365 pp card clone [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ Gets a specific Microsoft Power Platform card in the specified Power Platform en
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pp card get [options]
12
+ m365 pp card get [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ Lists Microsoft Power Platform cards in the specified Power Platform environment
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pp card list [options]
12
+ m365 pp card list [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ Get information about the specified chatbot
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pp chatbot get [options]
12
+ m365 pp chatbot get [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ Lists Microsoft Power Platform chatbot in the specified Power Platform environme
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pp chatbot list [options]
12
+ m365 pp chatbot list [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ List a dataverse table in a given environment
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pp dataverse table get [options]
12
+ m365 pp dataverse table get [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ Lists dataverse tables in a given environment
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pp dataverse table list [options]
12
+ m365 pp dataverse table list [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -7,7 +7,7 @@ Removes a dataverse table in a given environment
7
7
  ## Usage
8
8
 
9
9
  ```sh
10
- pp dataverse table remove [options]
10
+ m365 pp dataverse table remove [options]
11
11
  ```
12
12
 
13
13
  ## Options
@@ -9,7 +9,7 @@ Lists table rows for the given Dataverse table
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pp dataverse table row list [options]
12
+ m365 pp dataverse table row list [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -7,7 +7,7 @@ Removes a row from a dataverse table in a given environment.
7
7
  ## Usage
8
8
 
9
9
  ```sh
10
- pp dataverse table row remove [options]
10
+ m365 pp dataverse table row remove [options]
11
11
  ```
12
12
 
13
13
  ## Options
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # spo site add
4
6
 
@@ -178,6 +180,39 @@ Create new classic site collection using the Team site template. Set time zone t
178
180
  m365 spo site add --type ClassicSite --url https://contoso.sharepoint.com/sites/team --title Team --owners admin@contoso.onmicrosoft.com --timeZone 4 --webTemplate STS#0 --removeDeletedSite --wait
179
181
  ```
180
182
 
183
+ ## Response
184
+
185
+ <Tabs>
186
+ <TabItem value="JSON">
187
+
188
+ ```json
189
+ "https://contoso.sharepoint.com/sites/marketing"
190
+ ```
191
+
192
+ </TabItem>
193
+ <TabItem value="Text">
194
+
195
+ ```text
196
+ https://contoso.sharepoint.com/sites/marketing
197
+ ```
198
+
199
+ </TabItem>
200
+ <TabItem value="CSV">
201
+
202
+ ```csv
203
+ https://contoso.sharepoint.com/sites/marketing
204
+ ```
205
+
206
+ </TabItem>
207
+ <TabItem value="Markdown">
208
+
209
+ ```md
210
+ https://contoso.sharepoint.com/sites/marketing
211
+ ```
212
+
213
+ </TabItem>
214
+ </Tabs>
215
+
181
216
  ## More information
182
217
 
183
218
  - Creating SharePoint Communication Site using REST: [https://docs.microsoft.com/en-us/sharepoint/dev/apis/communication-site-creation-rest](https://docs.microsoft.com/en-us/sharepoint/dev/apis/communication-site-creation-rest)
@@ -32,9 +32,13 @@ To use this command you have to have permissions to access the tenant admin site
32
32
  Add a site collection app catalog to the specified site
33
33
 
34
34
  ```sh
35
- m365 spo site appcatalog add --siteUrl https://contoso.sharepoint/sites/site
35
+ m365 spo site appcatalog add --siteUrl https://contoso.sharepoint.com/sites/site
36
36
  ```
37
37
 
38
+ ## Response
39
+
40
+ The command won't return a response on success.
41
+
38
42
  ## More information
39
43
 
40
44
  - Use the site collection app catalog: [https://docs.microsoft.com/en-us/sharepoint/dev/general-development/site-collection-app-catalog](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/site-collection-app-catalog)
@@ -64,6 +64,20 @@ m365 spo site appcatalog list
64
64
  https://contoso.sharepoint.com/sites/site1,9798e615-b586-455e-8486-84913f492c49
65
65
  ```
66
66
 
67
+ </TabItem>
68
+ <TabItem value="Markdown">
69
+
70
+ ```md
71
+ # spo site appcatalog list
72
+
73
+ Date: 2023-06-21
74
+
75
+ Property | Value
76
+ ---------|-------
77
+ AbsoluteUrl | https://contoso.sharepoint.com/sites/site1
78
+ SiteID | 9798e615-b586-455e-8486-84913f492c49
79
+ ```
80
+
67
81
  </TabItem>
68
82
  </Tabs>
69
83
 
@@ -37,6 +37,10 @@ Remove the site collection app catalog from specified site
37
37
  m365 spo site appcatalog remove --siteUrl https://contoso.sharepoint/sites/site
38
38
  ```
39
39
 
40
+ ## Response
41
+
42
+ The command won't return a response on success.
43
+
40
44
  ## More information
41
45
 
42
46
  - Use the site collection app catalog: [https://docs.microsoft.com/en-us/sharepoint/dev/general-development/site-collection-app-catalog](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/site-collection-app-catalog)
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # spo site apppermission add
4
6
 
@@ -39,3 +41,69 @@ Grants the specified app the _read_ permission to site _https://contoso.sharepoi
39
41
  ```sh
40
42
  m365 spo site apppermission add --siteUrl https://contoso.sharepoint.com/sites/project-x --permission read --appDisplayName Foo
41
43
  ```
44
+
45
+ ## Response
46
+
47
+ <Tabs>
48
+ <TabItem value="JSON">
49
+
50
+ ```json
51
+ {
52
+ "id": "aTowaS50fG1zLnNwLmV4dHw1Yzg5ZmJiZi02NzBlLTQ4ZTctYTBiYy1mYTg5NDJjODk1YTJAMWU4NTJiNDktYmY0Yi00YmE1LWJjZDQtYThjNDcwNmM4ZWQ0",
53
+ "roles": [
54
+ "read"
55
+ ],
56
+ "grantedToIdentitiesV2": [
57
+ {
58
+ "application": {
59
+ "displayName": "Foo",
60
+ "id": "5c89fbbf-670e-48e7-a0bc-fa8942c895a2"
61
+ }
62
+ }
63
+ ],
64
+ "grantedToIdentities": [
65
+ {
66
+ "application": {
67
+ "displayName": "Foo",
68
+ "id": "5c89fbbf-670e-48e7-a0bc-fa8942c895a2"
69
+ }
70
+ }
71
+ ]
72
+ }
73
+ ```
74
+
75
+ </TabItem>
76
+ <TabItem value="Text">
77
+
78
+ ```text
79
+ grantedToIdentities : [{"application":{"displayName":"Foo","id":"5c89fbbf-670e-48e7-a0bc-fa8942c895a2"}}]
80
+ grantedToIdentitiesV2: [{"application":{"displayName":"Foo","id":"5c89fbbf-670e-48e7-a0bc-fa8942c895a2"}}]
81
+ id : aTowaS50fG1zLnNwLmV4dHw1Yzg5ZmJiZi02NzBlLTQ4ZTctYTBiYy1mYTg5NDJjODk1YTJAMWU4NTJiNDktYmY0Yi00YmE1LWJjZDQtYThjNDcwNmM4ZWQ0
82
+ roles : ["read"]
83
+ ```
84
+
85
+ </TabItem>
86
+ <TabItem value="CSV">
87
+
88
+ ```csv
89
+ id
90
+ aTowaS50fG1zLnNwLmV4dHw1Yzg5ZmJiZi02NzBlLTQ4ZTctYTBiYy1mYTg5NDJjODk1YTJAMWU4NTJiNDktYmY0Yi00YmE1LWJjZDQtYThjNDcwNmM4ZWQ0
91
+ ```
92
+
93
+ </TabItem>
94
+ <TabItem value="Markdown">
95
+
96
+ ```md
97
+ # spo site apppermission add --siteUrl "https://contoso.sharepoint.com/sites/team1" --permission "read" --appDisplayName "Foo"
98
+
99
+ Date: 2023-06-21
100
+
101
+ ## aTowaS50fG1zLnNwLmV4dHw1Yzg5ZmJiZi02NzBlLTQ4ZTctYTBiYy1mYTg5NDJjODk1YTJAMWU4NTJiNDktYmY0Yi00YmE1LWJjZDQtYThjNDcwNmM4ZWQ0
102
+
103
+ Property | Value
104
+ ---------|-------
105
+ id | aTowaS50fG1zLnNwLmV4dHw1Yzg5ZmJiZi02NzBlLTQ4ZTctYTBiYy1mYTg5NDJjODk1YTJAMWU4NTJiNDktYmY0Yi00YmE1LWJjZDQtYThjNDcwNmM4ZWQ0
106
+ ```
107
+
108
+ </TabItem>
109
+ </Tabs>