@pnp/cli-microsoft365 6.9.0-beta.6a23aba → 6.9.0-beta.8393174

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 (216) hide show
  1. package/.devcontainer/Dockerfile +12 -19
  2. package/.devcontainer/devcontainer.json +24 -17
  3. package/Dockerfile +3 -1
  4. package/dist/Auth.js +2 -8
  5. package/dist/AuthServer.js +2 -4
  6. package/dist/cli/Cli.js +16 -0
  7. package/dist/m365/aad/commands/app/app-add.js +258 -249
  8. package/dist/m365/aad/commands/app/app-get.js +65 -62
  9. package/dist/m365/aad/commands/app/app-remove.js +22 -23
  10. package/dist/m365/aad/commands/app/app-role-add.js +35 -34
  11. package/dist/m365/aad/commands/app/app-role-list.js +22 -23
  12. package/dist/m365/aad/commands/app/app-role-remove.js +76 -73
  13. package/dist/m365/aad/commands/app/app-set.js +103 -103
  14. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +16 -14
  15. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +43 -52
  16. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +20 -16
  17. package/dist/m365/aad/commands/o365group/o365group-add.js +40 -37
  18. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +7 -6
  19. package/dist/m365/aad/commands/o365group/o365group-list.js +6 -11
  20. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +7 -8
  21. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +23 -24
  22. package/dist/m365/aad/commands/o365group/o365group-set.js +15 -20
  23. package/dist/m365/aad/commands/o365group/o365group-teamify.js +15 -16
  24. package/dist/m365/aad/commands/o365group/o365group-user-list.js +17 -10
  25. package/dist/m365/aad/commands/o365group/o365group-user-set.js +17 -10
  26. package/dist/m365/aad/commands/policy/policy-list.js +12 -13
  27. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +1 -3
  28. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +19 -20
  29. package/dist/m365/aad/commands/sp/sp-add.js +22 -23
  30. package/dist/m365/aad/commands/sp/sp-get.js +22 -23
  31. package/dist/m365/app/commands/app-open.js +4 -14
  32. package/dist/m365/cli/commands/cli-issue.js +4 -10
  33. package/dist/m365/cli/commands/cli-reconsent.js +2 -8
  34. package/dist/m365/cli/commands/config/config-set.js +1 -0
  35. package/dist/m365/commands/docs.js +2 -8
  36. package/dist/m365/commands/login.js +20 -0
  37. package/dist/m365/commands/setupPresets.js +2 -0
  38. package/dist/m365/file/commands/convert/convert-pdf.js +147 -143
  39. package/dist/m365/file/commands/file-add.js +87 -93
  40. package/dist/m365/file/commands/file-list.js +49 -55
  41. package/dist/m365/flow/commands/flow-list.js +4 -4
  42. package/dist/m365/flow/commands/flow-remove.js +2 -3
  43. package/dist/m365/flow/commands/run/run-resubmit.js +11 -10
  44. package/dist/m365/onedrive/commands/onedrive-list.js +21 -32
  45. package/dist/m365/outlook/commands/message/message-list.js +18 -23
  46. package/dist/m365/outlook/commands/message/message-move.js +15 -20
  47. package/dist/m365/pa/commands/app/app-export.js +3 -4
  48. package/dist/m365/pa/commands/app/app-get.js +11 -9
  49. package/dist/m365/pa/commands/app/app-remove.js +1 -1
  50. package/dist/m365/pa/commands/pcf/pcf-init.js +1 -2
  51. package/dist/m365/pa/commands/solution/solution-init.js +1 -2
  52. package/dist/m365/pa/commands/solution/solution-reference-add.js +1 -2
  53. package/dist/m365/planner/commands/bucket/bucket-add.js +15 -13
  54. package/dist/m365/planner/commands/bucket/bucket-get.js +27 -28
  55. package/dist/m365/planner/commands/bucket/bucket-list.js +15 -13
  56. package/dist/m365/planner/commands/bucket/bucket-remove.js +33 -34
  57. package/dist/m365/planner/commands/bucket/bucket-set.js +33 -34
  58. package/dist/m365/planner/commands/plan/plan-add.js +49 -52
  59. package/dist/m365/planner/commands/plan/plan-set.js +19 -20
  60. package/dist/m365/planner/commands/task/task-add.js +75 -78
  61. package/dist/m365/planner/commands/task/task-checklistitem-add.js +11 -10
  62. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +10 -8
  63. package/dist/m365/planner/commands/task/task-get.js +53 -56
  64. package/dist/m365/planner/commands/task/task-list.js +23 -24
  65. package/dist/m365/planner/commands/task/task-reference-add.js +11 -10
  66. package/dist/m365/planner/commands/task/task-reference-remove.js +13 -14
  67. package/dist/m365/planner/commands/task/task-remove.js +44 -48
  68. package/dist/m365/planner/commands/task/task-set.js +83 -87
  69. package/dist/m365/pp/commands/card/card-get.js +6 -1
  70. package/dist/m365/purview/commands/retentionevent/retentionevent-add.js +0 -5
  71. package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +0 -5
  72. package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +0 -5
  73. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +0 -5
  74. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +0 -5
  75. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +0 -5
  76. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +0 -5
  77. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +0 -5
  78. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +0 -5
  79. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +0 -5
  80. package/dist/m365/purview/commands/retentionlabel/retentionlabel-get.js +0 -5
  81. package/dist/m365/purview/commands/retentionlabel/retentionlabel-list.js +0 -5
  82. package/dist/m365/purview/commands/retentionlabel/retentionlabel-remove.js +19 -22
  83. package/dist/m365/purview/commands/retentionlabel/retentionlabel-set.js +0 -5
  84. package/dist/m365/spfx/commands/project/JsonRule.js +1 -1
  85. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021003_PKG_engines_node.js +1 -0
  86. package/dist/m365/spo/commands/app/app-teamspackage-download.js +17 -24
  87. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +154 -0
  88. package/dist/m365/spo/commands/commandset/commandset-set.js +11 -2
  89. package/dist/m365/spo/commands/file/file-checkout-undo.js +119 -0
  90. package/dist/m365/spo/commands/homesite/homesite-remove.js +1 -1
  91. package/dist/m365/spo/commands/list/list-sensitivitylabel-ensure.js +127 -0
  92. package/dist/m365/spo/commands/navigation/navigation-node-add.js +31 -1
  93. package/dist/m365/spo/commands/navigation/navigation-node-set.js +31 -2
  94. package/dist/m365/{teams/Message.js → spo/commands/tenant/Solution.js} +1 -1
  95. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +156 -0
  96. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +215 -0
  97. package/dist/m365/spo/commands/tenant/tenant-commandset-get.js +114 -0
  98. package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +50 -0
  99. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +1 -1
  100. package/dist/m365/spo/commands.js +7 -0
  101. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +10 -7
  102. package/dist/settingsNames.js +1 -0
  103. package/dist/utils/browserUtil.js +23 -0
  104. package/dist/utils/md.js +1 -3
  105. package/dist/utils/spo.js +60 -0
  106. package/docs/docs/cmd/aad/app/app-add.mdx +113 -0
  107. package/docs/docs/cmd/aad/app/app-get.mdx +217 -0
  108. package/docs/docs/cmd/aad/app/app-list.mdx +21 -0
  109. package/docs/docs/cmd/aad/app/app-role-add.mdx +4 -0
  110. package/docs/docs/cmd/aad/app/app-role-list.mdx +63 -0
  111. package/docs/docs/cmd/aad/app/app-role-remove.mdx +4 -0
  112. package/docs/docs/cmd/aad/app/app-set.mdx +4 -0
  113. package/docs/docs/cmd/aad/approleassignment/approleassignment-add.mdx +61 -0
  114. package/docs/docs/cmd/aad/approleassignment/approleassignment-list.mdx +59 -0
  115. package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.mdx +4 -0
  116. package/docs/docs/cmd/aad/group/group-get.mdx +24 -0
  117. package/docs/docs/cmd/aad/group/group-list.mdx +98 -0
  118. package/docs/docs/cmd/aad/groupsetting/groupsetting-add.mdx +114 -0
  119. package/docs/docs/cmd/aad/groupsetting/groupsetting-get.mdx +115 -0
  120. package/docs/docs/cmd/aad/groupsetting/groupsetting-list.mdx +115 -0
  121. package/docs/docs/cmd/aad/groupsetting/groupsetting-remove.mdx +4 -0
  122. package/docs/docs/cmd/aad/groupsetting/groupsetting-set.mdx +4 -0
  123. package/docs/docs/cmd/aad/groupsettingtemplate/groupsettingtemplate-get.mdx +63 -0
  124. package/docs/docs/cmd/aad/groupsettingtemplate/groupsettingtemplate-list.mdx +63 -0
  125. package/docs/docs/cmd/aad/o365group/o365group-add.mdx +122 -0
  126. package/docs/docs/cmd/aad/o365group/o365group-conversation-list.mdx +68 -0
  127. package/docs/docs/cmd/aad/o365group/o365group-conversation-post-list.mdx +77 -0
  128. package/docs/docs/cmd/aad/o365group/o365group-get.mdx +122 -0
  129. package/docs/docs/cmd/aad/o365group/o365group-list.mdx +99 -0
  130. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-clear.mdx +4 -0
  131. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-list.mdx +96 -0
  132. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-remove.mdx +4 -0
  133. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.mdx +4 -0
  134. package/docs/docs/cmd/aad/o365group/o365group-remove.mdx +4 -0
  135. package/docs/docs/cmd/aad/o365group/o365group-renew.mdx +4 -0
  136. package/docs/docs/cmd/aad/o365group/o365group-report-activitycounts.mdx +48 -0
  137. package/docs/docs/cmd/aad/o365group/o365group-report-activitydetail.mdx +60 -0
  138. package/docs/docs/cmd/aad/o365group/o365group-report-activityfilecounts.mdx +46 -0
  139. package/docs/docs/cmd/aad/o365group/o365group-report-activitygroupcounts.mdx +46 -0
  140. package/docs/docs/cmd/aad/o365group/o365group-report-activitystorage.mdx +46 -0
  141. package/docs/docs/cmd/aad/o365group/o365group-set.mdx +4 -0
  142. package/docs/docs/cmd/aad/o365group/o365group-teamify.mdx +4 -0
  143. package/docs/docs/cmd/aad/o365group/o365group-user-add.mdx +4 -0
  144. package/docs/docs/cmd/aad/o365group/o365group-user-list.mdx +56 -0
  145. package/docs/docs/cmd/aad/o365group/o365group-user-remove.mdx +4 -0
  146. package/docs/docs/cmd/aad/o365group/o365group-user-set.mdx +8 -4
  147. package/docs/docs/cmd/aad/oauth2grant/oauth2grant-add.mdx +4 -0
  148. package/docs/docs/cmd/aad/oauth2grant/oauth2grant-list.mdx +59 -0
  149. package/docs/docs/cmd/aad/oauth2grant/oauth2grant-remove.mdx +4 -0
  150. package/docs/docs/cmd/aad/oauth2grant/oauth2grant-set.mdx +4 -0
  151. package/docs/docs/cmd/aad/policy/policy-list.mdx +77 -0
  152. package/docs/docs/cmd/aad/siteclassification/siteclassification-disable.mdx +4 -0
  153. package/docs/docs/cmd/aad/siteclassification/siteclassification-enable.mdx +4 -0
  154. package/docs/docs/cmd/aad/siteclassification/siteclassification-get.mdx +57 -0
  155. package/docs/docs/cmd/aad/siteclassification/siteclassification-set.mdx +4 -0
  156. package/docs/docs/cmd/aad/sp/sp-add.mdx +136 -0
  157. package/docs/docs/cmd/aad/sp/sp-get.mdx +166 -0
  158. package/docs/docs/cmd/aad/user/user-get.mdx +75 -0
  159. package/docs/docs/cmd/aad/user/user-guest-add.mdx +23 -0
  160. package/docs/docs/cmd/aad/user/user-hibp.mdx +82 -0
  161. package/docs/docs/cmd/aad/user/user-license-add.mdx +2 -2
  162. package/docs/docs/cmd/aad/user/user-license-remove.mdx +2 -2
  163. package/docs/docs/cmd/aad/user/user-list.mdx +52 -0
  164. package/docs/docs/cmd/aad/user/user-password-validate.mdx +67 -0
  165. package/docs/docs/cmd/aad/user/user-signin-list.mdx +131 -0
  166. package/docs/docs/cmd/flow/flow-list.mdx +11 -3
  167. package/docs/docs/cmd/flow/run/run-list.mdx +0 -3
  168. package/docs/docs/cmd/login.mdx +39 -0
  169. package/docs/docs/cmd/purview/retentionevent/retentionevent-add.mdx +0 -6
  170. package/docs/docs/cmd/purview/retentionevent/retentionevent-get.mdx +0 -6
  171. package/docs/docs/cmd/purview/retentionevent/retentionevent-list.mdx +0 -7
  172. package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.mdx +0 -6
  173. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.mdx +0 -6
  174. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.mdx +0 -6
  175. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.mdx +0 -6
  176. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.mdx +0 -6
  177. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.mdx +0 -6
  178. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.mdx +0 -6
  179. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-get.mdx +0 -6
  180. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-list.mdx +0 -6
  181. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-remove.mdx +0 -6
  182. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-set.mdx +0 -6
  183. package/docs/docs/cmd/setup.mdx +2 -0
  184. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-set.mdx +72 -0
  185. package/docs/docs/cmd/spo/commandset/commandset-set.mdx +12 -3
  186. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +55 -0
  187. package/docs/docs/cmd/spo/list/list-sensitivitylabel-ensure.mdx +64 -0
  188. package/docs/docs/cmd/spo/navigation/navigation-node-add.mdx +7 -4
  189. package/docs/docs/cmd/spo/navigation/navigation-node-set.mdx +9 -0
  190. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-set.mdx +81 -0
  191. package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +183 -0
  192. package/docs/docs/cmd/spo/tenant/tenant-commandset-get.mdx +155 -0
  193. package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +114 -0
  194. package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
  195. package/docs/docs/cmd/status.mdx +6 -3
  196. package/docs/docs/cmd/util/accesstoken/accesstoken-get.mdx +12 -2
  197. package/npm-shrinkwrap.json +299 -272
  198. package/package.json +17 -17
  199. package/dist/m365/aad/commands/approleassignment/AppRoleAssignment.js +0 -3
  200. package/dist/m365/aad/commands/approleassignment/ServicePrincipal.js +0 -3
  201. package/dist/m365/aad/commands/groupsetting/GroupSetting.js +0 -3
  202. package/dist/m365/aad/commands/groupsettingtemplate/GroupSettingTemplate.js +0 -3
  203. package/dist/m365/aad/commands/siteclassification/DirectorySetting.js +0 -10
  204. package/dist/m365/aad/commands/siteclassification/DirectorySettingTemplatesRsp.js +0 -3
  205. package/dist/m365/aad/commands/siteclassification/DirectorySettingValue.js +0 -3
  206. package/dist/m365/outlook/Message.js +0 -3
  207. package/dist/m365/spo/commands/site/SitePermission.js +0 -3
  208. package/dist/m365/teams/Channel.js +0 -3
  209. package/dist/m365/teams/ConversationMember.js +0 -3
  210. package/dist/m365/teams/Reply.js +0 -3
  211. package/dist/m365/teams/Tab.js +0 -3
  212. package/dist/m365/teams/Team.js +0 -3
  213. package/dist/m365/teams/TeamsApp.js +0 -3
  214. package/dist/m365/teams/TeamsAppInstallation.js +0 -3
  215. package/dist/m365/teams/TeamsTabConfiguration.js +0 -3
  216. package/dist/m365/teams/commands/Meeting.js +0 -3
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var _SpoTenantCommandSetGetCommand_instances, _SpoTenantCommandSetGetCommand_initTelemetry, _SpoTenantCommandSetGetCommand_initOptions, _SpoTenantCommandSetGetCommand_initValidators, _SpoTenantCommandSetGetCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Command_1 = require("../../../../Command");
19
+ const request_1 = require("../../../../request");
20
+ const formatting_1 = require("../../../../utils/formatting");
21
+ const spo_1 = require("../../../../utils/spo");
22
+ const urlUtil_1 = require("../../../../utils/urlUtil");
23
+ const validation_1 = require("../../../../utils/validation");
24
+ const SpoCommand_1 = require("../../../base/SpoCommand");
25
+ const commands_1 = require("../../commands");
26
+ class SpoTenantCommandSetGetCommand extends SpoCommand_1.default {
27
+ get name() {
28
+ return commands_1.default.TENANT_COMMANDSET_GET;
29
+ }
30
+ get description() {
31
+ return 'Get a ListView Command Set that is installed tenant wide';
32
+ }
33
+ constructor() {
34
+ super();
35
+ _SpoTenantCommandSetGetCommand_instances.add(this);
36
+ __classPrivateFieldGet(this, _SpoTenantCommandSetGetCommand_instances, "m", _SpoTenantCommandSetGetCommand_initTelemetry).call(this);
37
+ __classPrivateFieldGet(this, _SpoTenantCommandSetGetCommand_instances, "m", _SpoTenantCommandSetGetCommand_initOptions).call(this);
38
+ __classPrivateFieldGet(this, _SpoTenantCommandSetGetCommand_instances, "m", _SpoTenantCommandSetGetCommand_initValidators).call(this);
39
+ __classPrivateFieldGet(this, _SpoTenantCommandSetGetCommand_instances, "m", _SpoTenantCommandSetGetCommand_initOptionSets).call(this);
40
+ }
41
+ commandAction(logger, args) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ const appCatalogUrl = yield spo_1.spo.getTenantAppCatalogUrl(logger, this.debug);
44
+ if (!appCatalogUrl) {
45
+ throw new Command_1.CommandError('No app catalog URL found');
46
+ }
47
+ let filter = `startswith(TenantWideExtensionLocation,'ClientSideExtension.ListViewCommandSet')`;
48
+ if (args.options.title) {
49
+ filter += ` and Title eq '${args.options.title}'`;
50
+ }
51
+ else if (args.options.id) {
52
+ filter += ` and Id eq ${args.options.id}`;
53
+ }
54
+ else if (args.options.clientSideComponentId) {
55
+ filter += ` and TenantWideExtensionComponentId eq '${args.options.clientSideComponentId}'`;
56
+ }
57
+ const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(appCatalogUrl, '/lists/TenantWideExtensions');
58
+ const reqOptions = {
59
+ url: `${appCatalogUrl}/_api/web/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/items?$filter=${filter}`,
60
+ headers: {
61
+ 'accept': 'application/json;odata=nometadata'
62
+ },
63
+ responseType: 'json'
64
+ };
65
+ try {
66
+ const listItemInstances = yield request_1.default.get(reqOptions);
67
+ if ((listItemInstances === null || listItemInstances === void 0 ? void 0 : listItemInstances.value.length) > 0) {
68
+ if (listItemInstances.value.length > 1) {
69
+ throw `Multiple ListView Command Sets with ${args.options.title || args.options.clientSideComponentId} were found. Please disambiguate (IDs): ${listItemInstances.value.map(item => item.Id).join(', ')}`;
70
+ }
71
+ listItemInstances.value.forEach(v => delete v['ID']);
72
+ logger.log(listItemInstances.value[0]);
73
+ }
74
+ else {
75
+ throw 'The specified ListView Command Set was not found';
76
+ }
77
+ }
78
+ catch (err) {
79
+ return this.handleRejectedODataJsonPromise(err);
80
+ }
81
+ });
82
+ }
83
+ }
84
+ _SpoTenantCommandSetGetCommand_instances = new WeakSet(), _SpoTenantCommandSetGetCommand_initTelemetry = function _SpoTenantCommandSetGetCommand_initTelemetry() {
85
+ this.telemetry.push((args) => {
86
+ Object.assign(this.telemetryProperties, {
87
+ title: typeof args.options.title !== 'undefined',
88
+ id: typeof args.options.id !== 'undefined',
89
+ clientSideComponentId: typeof args.options.clientSideComponentId !== 'undefined'
90
+ });
91
+ });
92
+ }, _SpoTenantCommandSetGetCommand_initOptions = function _SpoTenantCommandSetGetCommand_initOptions() {
93
+ this.options.unshift({
94
+ option: '-t, --title [title]'
95
+ }, {
96
+ option: '-i, --id [id]'
97
+ }, {
98
+ option: '-c, --clientSideComponentId [clientSideComponentId]'
99
+ });
100
+ }, _SpoTenantCommandSetGetCommand_initValidators = function _SpoTenantCommandSetGetCommand_initValidators() {
101
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
102
+ if (args.options.id && isNaN(parseInt(args.options.id))) {
103
+ return `${args.options.id} is not a number`;
104
+ }
105
+ if (args.options.clientSideComponentId && !validation_1.validation.isValidGuid(args.options.clientSideComponentId)) {
106
+ return `${args.options.clientSideComponentId} is not a valid GUID`;
107
+ }
108
+ return true;
109
+ }));
110
+ }, _SpoTenantCommandSetGetCommand_initOptionSets = function _SpoTenantCommandSetGetCommand_initOptionSets() {
111
+ this.optionSets.push({ options: ['title', 'id', 'clientSideComponentId'] });
112
+ };
113
+ module.exports = new SpoTenantCommandSetGetCommand();
114
+ //# sourceMappingURL=tenant-commandset-get.js.map
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const Command_1 = require("../../../../Command");
13
+ const formatting_1 = require("../../../../utils/formatting");
14
+ const odata_1 = require("../../../../utils/odata");
15
+ const spo_1 = require("../../../../utils/spo");
16
+ const urlUtil_1 = require("../../../../utils/urlUtil");
17
+ const SpoCommand_1 = require("../../../base/SpoCommand");
18
+ const commands_1 = require("../../commands");
19
+ class SpoTenantCommandSetListCommand extends SpoCommand_1.default {
20
+ get name() {
21
+ return commands_1.default.TENANT_COMMANDSET_LIST;
22
+ }
23
+ get description() {
24
+ return 'Retrieves a list of ListView Command Sets that are installed tenant-wide';
25
+ }
26
+ defaultProperties() {
27
+ return ['Title', 'TenantWideExtensionComponentId', 'TenantWideExtensionListTemplate'];
28
+ }
29
+ commandAction(logger) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const appCatalogUrl = yield spo_1.spo.getTenantAppCatalogUrl(logger, this.debug);
32
+ if (!appCatalogUrl) {
33
+ throw new Command_1.CommandError('No app catalog URL found');
34
+ }
35
+ if (this.verbose) {
36
+ logger.logToStderr('Retrieving a list of ListView Command Sets that are installed tenant-wide');
37
+ }
38
+ const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(appCatalogUrl, '/lists/TenantWideExtensions');
39
+ try {
40
+ const response = yield odata_1.odata.getAllItems(`${appCatalogUrl}/_api/web/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/items?$filter=startswith(TenantWideExtensionLocation, 'ClientSideExtension.ListViewCommandSet')`);
41
+ logger.log(response);
42
+ }
43
+ catch (err) {
44
+ this.handleRejectedODataJsonPromise(err);
45
+ }
46
+ });
47
+ }
48
+ }
49
+ module.exports = new SpoTenantCommandSetListCommand();
50
+ //# sourceMappingURL=tenant-commandset-list.js.map
@@ -166,7 +166,7 @@ _SpoTenantCommandSetSetCommand_instances = new WeakSet(), _SpoTenantCommandSetSe
166
166
  option: '-l, --listType [listType]',
167
167
  autocomplete: SpoTenantCommandSetSetCommand.listTypes
168
168
  }, {
169
- option: '-i, --clientSideComponentId [clientSideComponentId]'
169
+ option: '-c, --clientSideComponentId [clientSideComponentId]'
170
170
  }, {
171
171
  option: '-p, --clientSideComponentProperties [clientSideComponentProperties]'
172
172
  }, {
@@ -17,6 +17,7 @@ exports.default = {
17
17
  APPLICATIONCUSTOMIZER_GET: `${prefix} applicationcustomizer get`,
18
18
  APPLICATIONCUSTOMIZER_LIST: `${prefix} applicationcustomizer list`,
19
19
  APPLICATIONCUSTOMIZER_REMOVE: `${prefix} applicationcustomizer remove`,
20
+ APPLICATIONCUSTOMIZER_SET: `${prefix} applicationcustomizer set`,
20
21
  APPPAGE_ADD: `${prefix} apppage add`,
21
22
  APPPAGE_SET: `${prefix} apppage set`,
22
23
  CDN_GET: `${prefix} cdn get`,
@@ -60,6 +61,7 @@ exports.default = {
60
61
  FILE_ADD: `${prefix} file add`,
61
62
  FILE_CHECKIN: `${prefix} file checkin`,
62
63
  FILE_CHECKOUT: `${prefix} file checkout`,
64
+ FILE_CHECKOUT_UNDO: `${prefix} file checkout undo`,
63
65
  FILE_COPY: `${prefix} file copy`,
64
66
  FILE_GET: `${prefix} file get`,
65
67
  FILE_LIST: `${prefix} file list`,
@@ -141,6 +143,7 @@ exports.default = {
141
143
  LIST_ROLEASSIGNMENT_ADD: `${prefix} list roleassignment add`,
142
144
  LIST_ROLEINHERITANCE_BREAK: `${prefix} list roleinheritance break`,
143
145
  LIST_ROLEINHERITANCE_RESET: `${prefix} list roleinheritance reset`,
146
+ LIST_SENSITIVITYLABEL_ENSURE: `${prefix} list sensitivitylabel ensure`,
144
147
  LIST_SET: `${prefix} list set`,
145
148
  LIST_SITESCRIPT_GET: `${prefix} list sitescript get`,
146
149
  LIST_VIEW_ADD: `${prefix} list view add`,
@@ -295,6 +298,10 @@ exports.default = {
295
298
  TENANT_APPLICATIONCUSTOMIZER_GET: `${prefix} tenant applicationcustomizer get`,
296
299
  TENANT_APPLICATIONCUSTOMIZER_LIST: `${prefix} tenant applicationcustomizer list`,
297
300
  TENANT_APPLICATIONCUSTOMIZER_REMOVE: `${prefix} tenant applicationcustomizer remove`,
301
+ TENANT_APPLICATIONCUSTOMIZER_SET: `${prefix} tenant applicationcustomizer set`,
302
+ TENANT_COMMANDSET_ADD: `${prefix} tenant commandset add`,
303
+ TENANT_COMMANDSET_GET: `${prefix} tenant commandset get`,
304
+ TENANT_COMMANDSET_LIST: `${prefix} tenant commandset list`,
298
305
  TENANT_COMMANDSET_REMOVE: `${prefix} tenant commandset remove`,
299
306
  TENANT_COMMANDSET_SET: `${prefix} tenant commandset set`,
300
307
  TENANT_RECYCLEBINITEM_LIST: `${prefix} tenant recyclebinitem list`,
@@ -34,15 +34,18 @@ class UtilAccessTokenGetCommand extends Command_1.default {
34
34
  commandAction(logger, args) {
35
35
  return __awaiter(this, void 0, void 0, function* () {
36
36
  let resource = args.options.resource;
37
- if (resource.toLowerCase() === 'sharepoint') {
38
- if (Auth_1.default.service.spoUrl) {
39
- resource = Auth_1.default.service.spoUrl;
37
+ try {
38
+ if (resource.toLowerCase() === 'sharepoint') {
39
+ if (Auth_1.default.service.spoUrl) {
40
+ resource = Auth_1.default.service.spoUrl;
41
+ }
42
+ else {
43
+ throw `SharePoint URL undefined. Use the 'm365 spo set --url https://contoso.sharepoint.com' command to set the URL`;
44
+ }
40
45
  }
41
- else {
42
- throw `SharePoint URL undefined. Use the 'm365 spo set --url https://contoso.sharepoint.com' command to set the URL`;
46
+ else if (resource.toLowerCase() === 'graph') {
47
+ resource = Auth_1.Auth.getEndpointForResource('https://graph.microsoft.com', Auth_1.default.service.cloudType);
43
48
  }
44
- }
45
- try {
46
49
  const accessToken = yield Auth_1.default.ensureAccessToken(resource, logger, this.debug, args.options.new);
47
50
  logger.log(accessToken);
48
51
  }
@@ -12,6 +12,7 @@ const settingsNames = {
12
12
  disableTelemetry: 'disableTelemetry',
13
13
  errorOutput: 'errorOutput',
14
14
  helpMode: 'helpMode',
15
+ interactive: 'interactive',
15
16
  output: 'output',
16
17
  printErrorsAsPlainText: 'printErrorsAsPlainText',
17
18
  prompt: 'prompt',
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.browserUtil = void 0;
13
+ exports.browserUtil = {
14
+ /* c8 ignore next 5 */
15
+ open(url) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ const _open = require('open');
18
+ const runningOnWindows = process.platform === 'win32';
19
+ yield _open(url, { wait: runningOnWindows });
20
+ });
21
+ }
22
+ };
23
+ //# sourceMappingURL=browserUtil.js.map
package/dist/utils/md.js CHANGED
@@ -25,9 +25,7 @@ function includeContent(md, rootFolder) {
25
25
  { tag: "<CLISettings />", location: "docs/_clisettings.mdx" }
26
26
  ];
27
27
  mdxImports.forEach(mdxImport => {
28
- md = md.replace(mdxImport.tag, () => {
29
- return fs.readFileSync(path.join(rootFolder, mdxImport.location), 'utf8');
30
- }).replace(/(```\r\n)\r\n(```md defintion-list\r\n)/g, "$1$2");
28
+ md = md.replace(mdxImport.tag, () => fs.readFileSync(path.join(rootFolder, mdxImport.location), 'utf8')).replace(/(```\r\n)\r\n(```md definition-list\r\n)/g, "$1$2");
31
29
  });
32
30
  return md;
33
31
  }
package/dist/utils/spo.js CHANGED
@@ -568,6 +568,66 @@ exports.spo = {
568
568
  const res = yield request_1.default.get(requestOptions);
569
569
  return res.AadObjectId.NameId;
570
570
  });
571
+ },
572
+ /**
573
+ * Retrieves the menu state for the quick launch.
574
+ * @param webUrl Web url
575
+ */
576
+ getQuickLaunchMenuState(webUrl) {
577
+ return __awaiter(this, void 0, void 0, function* () {
578
+ return this.getMenuState(webUrl);
579
+ });
580
+ },
581
+ /**
582
+ * Retrieves the menu state for the top navigation.
583
+ * @param webUrl Web url
584
+ */
585
+ getTopNavigationMenuState(webUrl) {
586
+ return __awaiter(this, void 0, void 0, function* () {
587
+ return this.getMenuState(webUrl, '1002');
588
+ });
589
+ },
590
+ /**
591
+ * Retrieves the menu state.
592
+ * @param webUrl Web url
593
+ * @param menuNodeKey Menu node key
594
+ */
595
+ getMenuState(webUrl, menuNodeKey) {
596
+ return __awaiter(this, void 0, void 0, function* () {
597
+ const requestBody = {
598
+ customProperties: null,
599
+ depth: 10,
600
+ mapProviderName: null,
601
+ menuNodeKey: menuNodeKey || null
602
+ };
603
+ const requestOptions = {
604
+ url: `${webUrl}/_api/navigation/MenuState`,
605
+ headers: {
606
+ accept: 'application/json;odata=nometadata'
607
+ },
608
+ data: requestBody,
609
+ responseType: 'json'
610
+ };
611
+ return request_1.default.post(requestOptions);
612
+ });
613
+ },
614
+ /**
615
+ * Saves the menu state.
616
+ * @param webUrl Web url
617
+ * @param menuState Updated menu state
618
+ */
619
+ saveMenuState(webUrl, menuState) {
620
+ return __awaiter(this, void 0, void 0, function* () {
621
+ const requestOptions = {
622
+ url: `${webUrl}/_api/navigation/SaveMenuState`,
623
+ headers: {
624
+ accept: 'application/json;odata=nometadata'
625
+ },
626
+ data: { menuState: menuState },
627
+ responseType: 'json'
628
+ };
629
+ return request_1.default.post(requestOptions);
630
+ });
571
631
  }
572
632
  };
573
633
  //# sourceMappingURL=spo.js.map
@@ -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
  # aad app add
4
6
 
@@ -182,3 +184,114 @@ Create new Azure AD app registration with a certificate
182
184
  ```sh
183
185
  m365 aad app add --name 'My AAD app' --certificateDisplayName "Some certificate name" --certificateFile "c:\temp\some-certificate.cer"
184
186
  ```
187
+
188
+ ## Response
189
+
190
+ ### Standard response
191
+
192
+ <Tabs>
193
+ <TabItem value="JSON">
194
+
195
+ ```json
196
+ {
197
+ "appId": "68e9f0dd-c743-4693-9ba4-d78e91bd13cc",
198
+ "objectId": "d4d7d33a-d40e-4606-b67d-de6cdbfaa01f",
199
+ "tenantId": "1e852b49-bf4b-4ba5-bcd4-a8c4706c8ed4"
200
+ }
201
+ ```
202
+
203
+ </TabItem>
204
+ <TabItem value="Text">
205
+
206
+ ```text
207
+ appId : 908db832-dac2-4622-98b3-b492fdc74f80
208
+ objectId: 089066cc-2c81-4188-9b6b-7b86e861a169
209
+ tenantId: 1e852b49-bf4b-4ba5-bcd4-a8c4706c8ed4
210
+ ```
211
+
212
+ </TabItem>
213
+ <TabItem value="CSV">
214
+
215
+ ```csv
216
+ appId,objectId,tenantId
217
+ 9db26abb-dd17-48f1-b790-765d14d834b6,5c803709-e0b8-4a4f-a43f-f4ad39fdee45,1e852b49-bf4b-4ba5-bcd4-a8c4706c8ed4
218
+ ```
219
+
220
+ </TabItem>
221
+ <TabItem value="Markdown">
222
+
223
+ ```md
224
+ # aad app add --name "My AAD app"
225
+
226
+ Date: 2023-06-01
227
+
228
+ ## 8e60ecac-34b4-404c-832d-f1c77bc27b78
229
+
230
+ Property | Value
231
+ ---------|-------
232
+ appId | f86600df-9842-4f25-b7cf-242f3736b137
233
+ objectId | 8e60ecac-34b4-404c-832d-f1c77bc27b78
234
+ tenantId | 1e852b49-bf4b-4ba5-bcd4-a8c4706c8ed4
235
+ ```
236
+
237
+ </TabItem>
238
+ </Tabs>
239
+
240
+ ### `withSecret` response
241
+
242
+ When we make use of the option `withSecret` the response will differ.
243
+
244
+ <Tabs>
245
+ <TabItem value="JSON">
246
+
247
+ ```json
248
+ {
249
+ "appId": "efb2ec4c-d247-446b-9efd-0f8141652711",
250
+ "objectId": "c8bdc471-ba5a-45c9-b725-5fc83bfc9c59",
251
+ "tenantId": "1e852b49-bf4b-4ba5-bcd4-a8c4706c8ed4",
252
+ "secrets": [
253
+ {
254
+ "displayName": "Default",
255
+ "value": "Bhc8Q~EhE26SCWAxSlKpfwTkbfdHtsXxVJNTtagT"
256
+ }
257
+ ]
258
+ }
259
+ ```
260
+
261
+ </TabItem>
262
+ <TabItem value="Text">
263
+
264
+ ```text
265
+ appId : 748e1b24-8fa6-4f54-a3f2-5f84ffcffdbe
266
+ objectId: 6aa9fde7-d58a-4211-a84a-b7252ac6087b
267
+ secrets : [{"displayName":"Default","value":"6JA8Q~_4SzAbj3bQgzap~vNscazQzXBBEcxDHdd5"}]
268
+ tenantId: 1e852b49-bf4b-4ba5-bcd4-a8c4706c8ed4
269
+ ```
270
+
271
+ </TabItem>
272
+ <TabItem value="CSV">
273
+
274
+ ```csv
275
+ appId,objectId,tenantId
276
+ 06700d67-0c97-402a-8c09-802049ffd70f,1eb0491f-1c88-490f-b2b3-18dc501938a1,1e852b49-bf4b-4ba5-bcd4-a8c4706c8ed4
277
+ ```
278
+
279
+ </TabItem>
280
+ <TabItem value="Markdown">
281
+
282
+ ```md
283
+ # aad app add --name "My AAD app" --withSecret "true"
284
+
285
+ Date: 2023-06-01
286
+
287
+ ## a5cb917a-ebf3-4c3c-82db-90aa122495b4
288
+
289
+ Property | Value
290
+ ---------|-------
291
+ appId | 3d1a4664-2634-4b35-9e42-1fa24abfda89
292
+ objectId | a5cb917a-ebf3-4c3c-82db-90aa122495b4
293
+ tenantId | 1e852b49-bf4b-4ba5-bcd4-a8c4706c8ed4
294
+ ```
295
+
296
+ </TabItem>
297
+ </Tabs>