@pnp/cli-microsoft365 7.5.0-beta.23612bc → 7.5.0-beta.940b241

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 (121) hide show
  1. package/.eslintrc.cjs +6 -2
  2. package/.mocharc.json +3 -5
  3. package/README.md +2 -2
  4. package/allCommands.json +1 -1
  5. package/allCommandsFull.json +1 -1
  6. package/dist/Command.js +1 -1
  7. package/dist/m365/base/AppCommand.js +2 -2
  8. package/dist/m365/base/{YammerCommand.js → VivaEngageCommand.js} +2 -2
  9. package/dist/m365/cli/commands/cli-consent.js +5 -3
  10. package/dist/m365/entra/aadCommands.js +3 -0
  11. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-remove.js +153 -0
  12. package/dist/m365/entra/commands/app/app-add.js +1 -1
  13. package/dist/m365/entra/commands/app/app-get.js +1 -1
  14. package/dist/m365/entra/commands/app/app-list.js +1 -1
  15. package/dist/m365/entra/commands/app/app-permission-add.js +1 -1
  16. package/dist/m365/entra/commands/app/app-permission-list.js +182 -0
  17. package/dist/m365/entra/commands/app/app-remove.js +1 -1
  18. package/dist/m365/entra/commands/app/app-role-add.js +1 -1
  19. package/dist/m365/entra/commands/app/app-role-list.js +1 -1
  20. package/dist/m365/entra/commands/app/app-role-remove.js +1 -1
  21. package/dist/m365/entra/commands/app/app-set.js +1 -1
  22. package/dist/m365/entra/commands/{sp/sp-add.js → enterpriseapp/enterpriseapp-add.js} +18 -18
  23. package/dist/m365/entra/commands/{sp/sp-get.js → enterpriseapp/enterpriseapp-get.js} +19 -19
  24. package/dist/m365/entra/commands/{sp/sp-list.js → enterpriseapp/enterpriseapp-list.js} +13 -13
  25. package/dist/m365/entra/commands/group/group-add.js +224 -0
  26. package/dist/m365/entra/commands/m365group/m365group-report-activitygroupcounts.js +1 -1
  27. package/dist/m365/entra/commands/user/user-get.js +38 -38
  28. package/dist/m365/entra/commands/user/user-registrationdetails-list.js +224 -0
  29. package/dist/m365/entra/commands.js +16 -0
  30. package/dist/m365/file/commands/file-copy.js +151 -0
  31. package/dist/m365/file/commands.js +1 -0
  32. package/dist/m365/spfx/commands/project/DeployWorkflow.js +4 -3
  33. package/dist/m365/{yammer/commands/group/group-list.js → viva/commands/engage/engage-group-list.js} +19 -14
  34. package/dist/m365/{yammer/commands/group/group-user-add.js → viva/commands/engage/engage-group-user-add.js} +19 -14
  35. package/dist/m365/{yammer/commands/group/group-user-remove.js → viva/commands/engage/engage-group-user-remove.js} +19 -14
  36. package/dist/m365/{yammer/commands/message/message-add.js → viva/commands/engage/engage-message-add.js} +19 -14
  37. package/dist/m365/{yammer/commands/message/message-get.js → viva/commands/engage/engage-message-get.js} +17 -12
  38. package/dist/m365/{yammer/commands/message/message-like-set.js → viva/commands/engage/engage-message-like-set.js} +21 -16
  39. package/dist/m365/{yammer/commands/message/message-list.js → viva/commands/engage/engage-message-list.js} +21 -16
  40. package/dist/m365/{yammer/commands/message/message-remove.js → viva/commands/engage/engage-message-remove.js} +20 -15
  41. package/dist/m365/{yammer/commands/network/network-list.js → viva/commands/engage/engage-network-list.js} +16 -11
  42. package/dist/m365/viva/commands/engage/engage-report-activitycounts.js +23 -0
  43. package/dist/m365/viva/commands/engage/engage-report-activityusercounts.js +23 -0
  44. package/dist/m365/viva/commands/engage/engage-report-activityuserdetail.js +23 -0
  45. package/dist/m365/viva/commands/engage/engage-report-deviceusagedistributionusercounts.js +23 -0
  46. package/dist/m365/viva/commands/engage/engage-report-deviceusageusercounts.js +23 -0
  47. package/dist/m365/viva/commands/engage/engage-report-deviceusageuserdetail.js +23 -0
  48. package/dist/m365/viva/commands/engage/engage-report-groupsactivitycounts.js +23 -0
  49. package/dist/m365/viva/commands/engage/engage-report-groupsactivitydetail.js +23 -0
  50. package/dist/m365/viva/commands/engage/engage-report-groupsactivitygroupcounts.js +23 -0
  51. package/dist/m365/{yammer/commands/yammer-search.js → viva/commands/engage/engage-search.js} +23 -18
  52. package/dist/m365/{yammer/commands/user/user-get.js → viva/commands/engage/engage-user-get.js} +18 -13
  53. package/dist/m365/{yammer/commands/user/user-list.js → viva/commands/engage/engage-user-list.js} +18 -13
  54. package/dist/m365/{yammer/commands.js → viva/commands/engage/yammerCommands.js} +1 -1
  55. package/dist/m365/viva/commands.js +22 -1
  56. package/dist/utils/spo.js +22 -0
  57. package/dist/utils/urlUtil.js +31 -0
  58. package/dist/utils/validation.js +4 -0
  59. package/docs/docs/cmd/cli/cli-consent.mdx +9 -9
  60. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-add.mdx +5 -3
  61. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-remove.mdx +107 -0
  62. package/docs/docs/cmd/entra/app/app-add.mdx +2 -1
  63. package/docs/docs/cmd/entra/app/app-get.mdx +1 -0
  64. package/docs/docs/cmd/entra/app/app-list.mdx +1 -0
  65. package/docs/docs/cmd/entra/app/app-permission-add.mdx +1 -0
  66. package/docs/docs/cmd/entra/app/app-permission-list.mdx +105 -0
  67. package/docs/docs/cmd/entra/app/app-remove.mdx +1 -0
  68. package/docs/docs/cmd/entra/app/app-role-add.mdx +1 -0
  69. package/docs/docs/cmd/entra/app/app-role-list.mdx +1 -0
  70. package/docs/docs/cmd/entra/app/app-role-remove.mdx +1 -0
  71. package/docs/docs/cmd/entra/app/app-set.mdx +1 -0
  72. package/docs/docs/cmd/entra/{sp/sp-add.mdx → enterpriseapp/enterpriseapp-add.mdx} +16 -15
  73. package/docs/docs/cmd/entra/{sp/sp-get.mdx → enterpriseapp/enterpriseapp-get.mdx} +15 -14
  74. package/docs/docs/cmd/entra/{sp/sp-list.mdx → enterpriseapp/enterpriseapp-list.mdx} +22 -21
  75. package/docs/docs/cmd/entra/group/group-add.mdx +231 -0
  76. package/docs/docs/cmd/entra/m365group/m365group-report-activitygroupcounts.mdx +1 -1
  77. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-add.mdx +3 -3
  78. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-list.mdx +1 -1
  79. package/docs/docs/cmd/entra/user/user-registrationdetails-list.mdx +246 -0
  80. package/docs/docs/cmd/external/item/item-add.mdx +1 -1
  81. package/docs/docs/cmd/file/convert/convert-pdf.mdx +4 -0
  82. package/docs/docs/cmd/file/file-add.mdx +4 -0
  83. package/docs/docs/cmd/file/file-copy.mdx +68 -0
  84. package/docs/docs/cmd/file/file-list.mdx +100 -0
  85. package/docs/docs/cmd/setup.mdx +4 -0
  86. package/docs/docs/cmd/spo/list/list-webhook-set.mdx +1 -1
  87. package/docs/docs/cmd/spo/theme/theme-set.mdx +14 -2
  88. package/docs/docs/cmd/{yammer/group/group-list.mdx → viva/engage/engage-group-list.mdx} +13 -13
  89. package/docs/docs/cmd/{yammer/group/group-user-add.mdx → viva/engage/engage-group-user-add.mdx} +7 -7
  90. package/docs/docs/cmd/{yammer/group/group-user-remove.mdx → viva/engage/engage-group-user-remove.mdx} +10 -10
  91. package/docs/docs/cmd/{yammer/message/message-add.mdx → viva/engage/engage-message-add.mdx} +12 -13
  92. package/docs/docs/cmd/{yammer/message/message-get.mdx → viva/engage/engage-message-get.mdx} +10 -10
  93. package/docs/docs/cmd/{yammer/message/message-like-set.mdx → viva/engage/engage-message-like-set.mdx} +10 -10
  94. package/docs/docs/cmd/{yammer/message/message-list.mdx → viva/engage/engage-message-list.mdx} +21 -21
  95. package/docs/docs/cmd/{yammer/message/message-remove.mdx → viva/engage/engage-message-remove.mdx} +10 -10
  96. package/docs/docs/cmd/{yammer/network/network-list.mdx → viva/engage/engage-network-list.mdx} +6 -6
  97. package/docs/docs/cmd/{yammer/report/report-activitycounts.mdx → viva/engage/engage-report-activitycounts.mdx} +9 -9
  98. package/docs/docs/cmd/{yammer/report/report-activityusercounts.mdx → viva/engage/engage-report-activityusercounts.mdx} +9 -9
  99. package/docs/docs/cmd/{yammer/report/report-activityuserdetail.mdx → viva/engage/engage-report-activityuserdetail.mdx} +11 -12
  100. package/docs/docs/cmd/{yammer/report/report-deviceusagedistributionusercounts.mdx → viva/engage/engage-report-deviceusagedistributionusercounts.mdx} +5 -5
  101. package/docs/docs/cmd/{yammer/report/report-deviceusageusercounts.mdx → viva/engage/engage-report-deviceusageusercounts.mdx} +5 -5
  102. package/docs/docs/cmd/{yammer/report/report-deviceusageuserdetail.mdx → viva/engage/engage-report-deviceusageuserdetail.mdx} +11 -11
  103. package/docs/docs/cmd/{yammer/report/report-groupsactivitycounts.mdx → viva/engage/engage-report-groupsactivitycounts.mdx} +9 -9
  104. package/docs/docs/cmd/{yammer/report/report-groupsactivitydetail.mdx → viva/engage/engage-report-groupsactivitydetail.mdx} +11 -11
  105. package/docs/docs/cmd/{yammer/report/report-groupsactivitygroupcounts.mdx → viva/engage/engage-report-groupsactivitygroupcounts.mdx} +5 -5
  106. package/docs/docs/cmd/{yammer/yammer-search.mdx → viva/engage/engage-search.mdx} +10 -10
  107. package/docs/docs/cmd/{yammer/user/user-get.mdx → viva/engage/engage-user-get.mdx} +8 -8
  108. package/docs/docs/cmd/{yammer/user/user-list.mdx → viva/engage/engage-user-list.mdx} +11 -11
  109. package/npm-shrinkwrap.json +60 -0
  110. package/package.json +3 -2
  111. package/dist/m365/base/AzmgmtCommand.js +0 -18
  112. package/dist/m365/base/AzmgmtItemsListCommand.js +0 -41
  113. package/dist/m365/yammer/commands/report/report-activitycounts.js +0 -15
  114. package/dist/m365/yammer/commands/report/report-activityusercounts.js +0 -15
  115. package/dist/m365/yammer/commands/report/report-activityuserdetail.js +0 -15
  116. package/dist/m365/yammer/commands/report/report-deviceusagedistributionusercounts.js +0 -15
  117. package/dist/m365/yammer/commands/report/report-deviceusageusercounts.js +0 -15
  118. package/dist/m365/yammer/commands/report/report-deviceusageuserdetail.js +0 -15
  119. package/dist/m365/yammer/commands/report/report-groupsactivitycounts.js +0 -15
  120. package/dist/m365/yammer/commands/report/report-groupsactivitydetail.js +0 -15
  121. package/dist/m365/yammer/commands/report/report-groupsactivitygroupcounts.js +0 -15
@@ -0,0 +1,23 @@
1
+ import PeriodBasedReport from '../../../base/PeriodBasedReport.js';
2
+ import commands from '../../commands.js';
3
+ import yammerCommands from './yammerCommands.js';
4
+ class VivaEngageReportDeviceUsageUserCountsCommand extends PeriodBasedReport {
5
+ get name() {
6
+ return commands.ENGAGE_REPORT_DEVICEUSAGEUSERCOUNTS;
7
+ }
8
+ alias() {
9
+ return [yammerCommands.REPORT_DEVICEUSAGEUSERCOUNTS];
10
+ }
11
+ get usageEndpoint() {
12
+ return 'getYammerDeviceUsageUserCounts';
13
+ }
14
+ get description() {
15
+ return 'Gets the number of daily users by device type';
16
+ }
17
+ async commandAction(logger, args) {
18
+ await this.showDeprecationWarning(logger, this.alias()[0], this.name);
19
+ await super.commandAction(logger, args);
20
+ }
21
+ }
22
+ export default new VivaEngageReportDeviceUsageUserCountsCommand();
23
+ //# sourceMappingURL=engage-report-deviceusageusercounts.js.map
@@ -0,0 +1,23 @@
1
+ import DateAndPeriodBasedReport from '../../../base/DateAndPeriodBasedReport.js';
2
+ import commands from '../../commands.js';
3
+ import yammerCommands from './yammerCommands.js';
4
+ class VivaEngageReportDeviceUsageUserDetailCommand extends DateAndPeriodBasedReport {
5
+ get name() {
6
+ return commands.ENGAGE_REPORT_DEVICEUSAGEUSERDETAIL;
7
+ }
8
+ alias() {
9
+ return [yammerCommands.REPORT_DEVICEUSAGEUSERDETAIL];
10
+ }
11
+ get usageEndpoint() {
12
+ return 'getYammerDeviceUsageUserDetail';
13
+ }
14
+ get description() {
15
+ return 'Gets details about Viva Engage device usage by user';
16
+ }
17
+ async commandAction(logger, args) {
18
+ await this.showDeprecationWarning(logger, this.alias()[0], this.name);
19
+ await super.commandAction(logger, args);
20
+ }
21
+ }
22
+ export default new VivaEngageReportDeviceUsageUserDetailCommand();
23
+ //# sourceMappingURL=engage-report-deviceusageuserdetail.js.map
@@ -0,0 +1,23 @@
1
+ import PeriodBasedReport from '../../../base/PeriodBasedReport.js';
2
+ import commands from '../../commands.js';
3
+ import yammerCommands from './yammerCommands.js';
4
+ class VivaEngageReportGroupsActivityCountsCommand extends PeriodBasedReport {
5
+ get name() {
6
+ return commands.ENGAGE_REPORT_GROUPSACTIVITYCOUNTS;
7
+ }
8
+ alias() {
9
+ return [yammerCommands.REPORT_GROUPSACTIVITYCOUNTS];
10
+ }
11
+ get usageEndpoint() {
12
+ return 'getYammerGroupsActivityCounts';
13
+ }
14
+ get description() {
15
+ return 'Gets the number of Viva Engage messages posted, read, and liked in groups';
16
+ }
17
+ async commandAction(logger, args) {
18
+ await this.showDeprecationWarning(logger, this.alias()[0], this.name);
19
+ await super.commandAction(logger, args);
20
+ }
21
+ }
22
+ export default new VivaEngageReportGroupsActivityCountsCommand();
23
+ //# sourceMappingURL=engage-report-groupsactivitycounts.js.map
@@ -0,0 +1,23 @@
1
+ import DateAndPeriodBasedReport from '../../../base/DateAndPeriodBasedReport.js';
2
+ import commands from '../../commands.js';
3
+ import yammerCommands from './yammerCommands.js';
4
+ class VivaEngageReportGroupsActivityDetailCommand extends DateAndPeriodBasedReport {
5
+ get name() {
6
+ return commands.ENGAGE_REPORT_GROUPSACTIVITYDETAIL;
7
+ }
8
+ alias() {
9
+ return [yammerCommands.REPORT_GROUPSACTIVITYDETAIL];
10
+ }
11
+ get usageEndpoint() {
12
+ return 'getYammerGroupsActivityDetail';
13
+ }
14
+ get description() {
15
+ return 'Gets details about Viva Engage groups activity by group';
16
+ }
17
+ async commandAction(logger, args) {
18
+ await this.showDeprecationWarning(logger, this.alias()[0], this.name);
19
+ await super.commandAction(logger, args);
20
+ }
21
+ }
22
+ export default new VivaEngageReportGroupsActivityDetailCommand();
23
+ //# sourceMappingURL=engage-report-groupsactivitydetail.js.map
@@ -0,0 +1,23 @@
1
+ import PeriodBasedReport from '../../../base/PeriodBasedReport.js';
2
+ import commands from '../../commands.js';
3
+ import yammerCommands from './yammerCommands.js';
4
+ class VivaEngageReportGroupsActivityGroupCountsCommand extends PeriodBasedReport {
5
+ get name() {
6
+ return commands.ENGAGE_REPORT_GROUPSACTIVITYGROUPCOUNTS;
7
+ }
8
+ alias() {
9
+ return [yammerCommands.REPORT_GROUPSACTIVITYGROUPCOUNTS];
10
+ }
11
+ get usageEndpoint() {
12
+ return 'getYammerGroupsActivityGroupCounts';
13
+ }
14
+ get description() {
15
+ return 'Gets the total number of groups that existed and how many included group conversation activity';
16
+ }
17
+ async commandAction(logger, args) {
18
+ await this.showDeprecationWarning(logger, this.alias()[0], this.name);
19
+ await super.commandAction(logger, args);
20
+ }
21
+ }
22
+ export default new VivaEngageReportGroupsActivityGroupCountsCommand();
23
+ //# sourceMappingURL=engage-report-groupsactivitygroupcounts.js.map
@@ -3,22 +3,26 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _YammerSearchCommand_instances, _a, _YammerSearchCommand_initTelemetry, _YammerSearchCommand_initOptions, _YammerSearchCommand_initValidators;
7
- import { cli } from '../../../cli/cli.js';
8
- import request from '../../../request.js';
9
- import { formatting } from '../../../utils/formatting.js';
10
- import YammerCommand from '../../base/YammerCommand.js';
11
- import commands from '../commands.js';
12
- class YammerSearchCommand extends YammerCommand {
6
+ var _VivaEngageSearchCommand_instances, _a, _VivaEngageSearchCommand_initTelemetry, _VivaEngageSearchCommand_initOptions, _VivaEngageSearchCommand_initValidators;
7
+ import { cli } from '../../../../cli/cli.js';
8
+ import request from '../../../../request.js';
9
+ import { formatting } from '../../../../utils/formatting.js';
10
+ import VivaEngageCommand from '../../../base/VivaEngageCommand.js';
11
+ import commands from '../../commands.js';
12
+ import yammerCommands from './yammerCommands.js';
13
+ class VivaEngageSearchCommand extends VivaEngageCommand {
13
14
  get name() {
14
- return commands.SEARCH;
15
+ return commands.ENGAGE_SEARCH;
15
16
  }
16
17
  get description() {
17
18
  return 'Returns a list of messages, users, topics and groups that match the specified query.';
18
19
  }
20
+ alias() {
21
+ return [yammerCommands.SEARCH];
22
+ }
19
23
  constructor() {
20
24
  super();
21
- _YammerSearchCommand_instances.add(this);
25
+ _VivaEngageSearchCommand_instances.add(this);
22
26
  this.summary = {
23
27
  messages: 0,
24
28
  groups: 0,
@@ -29,9 +33,9 @@ class YammerSearchCommand extends YammerCommand {
29
33
  this.groups = [];
30
34
  this.topics = [];
31
35
  this.users = [];
32
- __classPrivateFieldGet(this, _YammerSearchCommand_instances, "m", _YammerSearchCommand_initTelemetry).call(this);
33
- __classPrivateFieldGet(this, _YammerSearchCommand_instances, "m", _YammerSearchCommand_initOptions).call(this);
34
- __classPrivateFieldGet(this, _YammerSearchCommand_instances, "m", _YammerSearchCommand_initValidators).call(this);
36
+ __classPrivateFieldGet(this, _VivaEngageSearchCommand_instances, "m", _VivaEngageSearchCommand_initTelemetry).call(this);
37
+ __classPrivateFieldGet(this, _VivaEngageSearchCommand_instances, "m", _VivaEngageSearchCommand_initOptions).call(this);
38
+ __classPrivateFieldGet(this, _VivaEngageSearchCommand_instances, "m", _VivaEngageSearchCommand_initValidators).call(this);
35
39
  }
36
40
  async getAllItems(logger, args, page) {
37
41
  const endpoint = `${this.resource}/v1/search.json?search=${formatting.encodeQueryParameter(args.options.queryText)}&page=${page}`;
@@ -89,6 +93,7 @@ class YammerSearchCommand extends YammerCommand {
89
93
  }
90
94
  }
91
95
  async commandAction(logger, args) {
96
+ await this.showDeprecationWarning(logger, this.alias()[0], this.name);
92
97
  this.summary = {
93
98
  messages: 0,
94
99
  groups: 0,
@@ -169,14 +174,14 @@ class YammerSearchCommand extends YammerCommand {
169
174
  }
170
175
  }
171
176
  }
172
- _a = YammerSearchCommand, _YammerSearchCommand_instances = new WeakSet(), _YammerSearchCommand_initTelemetry = function _YammerSearchCommand_initTelemetry() {
177
+ _a = VivaEngageSearchCommand, _VivaEngageSearchCommand_instances = new WeakSet(), _VivaEngageSearchCommand_initTelemetry = function _VivaEngageSearchCommand_initTelemetry() {
173
178
  this.telemetry.push((args) => {
174
179
  Object.assign(this.telemetryProperties, {
175
180
  show: typeof args.options.show !== 'undefined',
176
181
  limit: typeof args.options.limit !== 'undefined'
177
182
  });
178
183
  });
179
- }, _YammerSearchCommand_initOptions = function _YammerSearchCommand_initOptions() {
184
+ }, _VivaEngageSearchCommand_initOptions = function _VivaEngageSearchCommand_initOptions() {
180
185
  this.options.unshift({
181
186
  option: '--queryText <queryText>'
182
187
  }, {
@@ -185,7 +190,7 @@ _a = YammerSearchCommand, _YammerSearchCommand_instances = new WeakSet(), _Yamme
185
190
  }, {
186
191
  option: '--limit [limit]'
187
192
  });
188
- }, _YammerSearchCommand_initValidators = function _YammerSearchCommand_initValidators() {
193
+ }, _VivaEngageSearchCommand_initValidators = function _VivaEngageSearchCommand_initValidators() {
189
194
  this.validators.push(async (args) => {
190
195
  if (args.options.queryText && typeof args.options.queryText !== 'string') {
191
196
  return `${args.options.queryText} is not a string`;
@@ -209,8 +214,8 @@ _a = YammerSearchCommand, _YammerSearchCommand_instances = new WeakSet(), _Yamme
209
214
  return true;
210
215
  });
211
216
  };
212
- YammerSearchCommand.showOptions = [
217
+ VivaEngageSearchCommand.showOptions = [
213
218
  'summary', 'messages', 'users', 'topics', 'groups'
214
219
  ];
215
- export default new YammerSearchCommand();
216
- //# sourceMappingURL=yammer-search.js.map
220
+ export default new VivaEngageSearchCommand();
221
+ //# sourceMappingURL=engage-search.js.map
@@ -3,29 +3,34 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _YammerUserGetCommand_instances, _YammerUserGetCommand_initTelemetry, _YammerUserGetCommand_initOptions, _YammerUserGetCommand_initValidators;
6
+ var _VivaEngageUserGetCommand_instances, _VivaEngageUserGetCommand_initTelemetry, _VivaEngageUserGetCommand_initOptions, _VivaEngageUserGetCommand_initValidators;
7
7
  import request from '../../../../request.js';
8
8
  import { formatting } from '../../../../utils/formatting.js';
9
- import YammerCommand from '../../../base/YammerCommand.js';
9
+ import VivaEngageCommand from '../../../base/VivaEngageCommand.js';
10
10
  import commands from '../../commands.js';
11
- class YammerUserGetCommand extends YammerCommand {
11
+ import yammerCommands from './yammerCommands.js';
12
+ class VivaEngageUserGetCommand extends VivaEngageCommand {
12
13
  get name() {
13
- return commands.USER_GET;
14
+ return commands.ENGAGE_USER_GET;
14
15
  }
15
16
  get description() {
16
17
  return 'Retrieves the current user or searches for a user by ID or e-mail';
17
18
  }
19
+ alias() {
20
+ return [yammerCommands.USER_GET];
21
+ }
18
22
  defaultProperties() {
19
23
  return ['id', 'full_name', 'email', 'job_title', 'state', 'url'];
20
24
  }
21
25
  constructor() {
22
26
  super();
23
- _YammerUserGetCommand_instances.add(this);
24
- __classPrivateFieldGet(this, _YammerUserGetCommand_instances, "m", _YammerUserGetCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _YammerUserGetCommand_instances, "m", _YammerUserGetCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _YammerUserGetCommand_instances, "m", _YammerUserGetCommand_initValidators).call(this);
27
+ _VivaEngageUserGetCommand_instances.add(this);
28
+ __classPrivateFieldGet(this, _VivaEngageUserGetCommand_instances, "m", _VivaEngageUserGetCommand_initTelemetry).call(this);
29
+ __classPrivateFieldGet(this, _VivaEngageUserGetCommand_instances, "m", _VivaEngageUserGetCommand_initOptions).call(this);
30
+ __classPrivateFieldGet(this, _VivaEngageUserGetCommand_instances, "m", _VivaEngageUserGetCommand_initValidators).call(this);
27
31
  }
28
32
  async commandAction(logger, args) {
33
+ await this.showDeprecationWarning(logger, this.alias()[0], this.name);
29
34
  let endPoint = `${this.resource}/v1/users/current.json`;
30
35
  if (args.options.id) {
31
36
  endPoint = `${this.resource}/v1/users/${args.options.id}.json`;
@@ -50,20 +55,20 @@ class YammerUserGetCommand extends YammerCommand {
50
55
  }
51
56
  }
52
57
  }
53
- _YammerUserGetCommand_instances = new WeakSet(), _YammerUserGetCommand_initTelemetry = function _YammerUserGetCommand_initTelemetry() {
58
+ _VivaEngageUserGetCommand_instances = new WeakSet(), _VivaEngageUserGetCommand_initTelemetry = function _VivaEngageUserGetCommand_initTelemetry() {
54
59
  this.telemetry.push((args) => {
55
60
  Object.assign(this.telemetryProperties, {
56
61
  userId: args.options.id !== undefined,
57
62
  email: args.options.email !== undefined
58
63
  });
59
64
  });
60
- }, _YammerUserGetCommand_initOptions = function _YammerUserGetCommand_initOptions() {
65
+ }, _VivaEngageUserGetCommand_initOptions = function _VivaEngageUserGetCommand_initOptions() {
61
66
  this.options.unshift({
62
67
  option: '-i, --id [id]'
63
68
  }, {
64
69
  option: '--email [email]'
65
70
  });
66
- }, _YammerUserGetCommand_initValidators = function _YammerUserGetCommand_initValidators() {
71
+ }, _VivaEngageUserGetCommand_initValidators = function _VivaEngageUserGetCommand_initValidators() {
67
72
  this.validators.push(async (args) => {
68
73
  if (args.options.id !== undefined && args.options.email !== undefined) {
69
74
  return `You are only allowed to search by ID or e-mail but not both`;
@@ -71,5 +76,5 @@ _YammerUserGetCommand_instances = new WeakSet(), _YammerUserGetCommand_initTelem
71
76
  return true;
72
77
  });
73
78
  };
74
- export default new YammerUserGetCommand();
75
- //# sourceMappingURL=user-get.js.map
79
+ export default new VivaEngageUserGetCommand();
80
+ //# sourceMappingURL=engage-user-get.js.map
@@ -3,27 +3,31 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _YammerUserListCommand_instances, _YammerUserListCommand_initTelemetry, _YammerUserListCommand_initOptions, _YammerUserListCommand_initValidators;
6
+ var _VivaEngageUserListCommand_instances, _VivaEngageUserListCommand_initTelemetry, _VivaEngageUserListCommand_initOptions, _VivaEngageUserListCommand_initValidators;
7
7
  import request from '../../../../request.js';
8
- import YammerCommand from '../../../base/YammerCommand.js';
8
+ import VivaEngageCommand from '../../../base/VivaEngageCommand.js';
9
9
  import commands from '../../commands.js';
10
- class YammerUserListCommand extends YammerCommand {
10
+ import yammerCommands from './yammerCommands.js';
11
+ class VivaEngageUserListCommand extends VivaEngageCommand {
11
12
  get name() {
12
- return commands.USER_LIST;
13
+ return commands.ENGAGE_USER_LIST;
13
14
  }
14
15
  get description() {
15
16
  return 'Returns users from the current network';
16
17
  }
18
+ alias() {
19
+ return [yammerCommands.USER_LIST];
20
+ }
17
21
  defaultProperties() {
18
22
  return ['id', 'full_name', 'email'];
19
23
  }
20
24
  constructor() {
21
25
  super();
22
- _YammerUserListCommand_instances.add(this);
26
+ _VivaEngageUserListCommand_instances.add(this);
23
27
  this.items = [];
24
- __classPrivateFieldGet(this, _YammerUserListCommand_instances, "m", _YammerUserListCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _YammerUserListCommand_instances, "m", _YammerUserListCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _YammerUserListCommand_instances, "m", _YammerUserListCommand_initValidators).call(this);
28
+ __classPrivateFieldGet(this, _VivaEngageUserListCommand_instances, "m", _VivaEngageUserListCommand_initTelemetry).call(this);
29
+ __classPrivateFieldGet(this, _VivaEngageUserListCommand_instances, "m", _VivaEngageUserListCommand_initOptions).call(this);
30
+ __classPrivateFieldGet(this, _VivaEngageUserListCommand_instances, "m", _VivaEngageUserListCommand_initValidators).call(this);
27
31
  }
28
32
  getAllItems(logger, args, page) {
29
33
  return new Promise((resolve, reject) => {
@@ -88,6 +92,7 @@ class YammerUserListCommand extends YammerCommand {
88
92
  });
89
93
  }
90
94
  async commandAction(logger, args) {
95
+ await this.showDeprecationWarning(logger, this.alias()[0], this.name);
91
96
  this.items = []; // this will reset the items array in interactive mode
92
97
  try {
93
98
  await this.getAllItems(logger, args, 1);
@@ -98,7 +103,7 @@ class YammerUserListCommand extends YammerCommand {
98
103
  }
99
104
  }
100
105
  }
101
- _YammerUserListCommand_instances = new WeakSet(), _YammerUserListCommand_initTelemetry = function _YammerUserListCommand_initTelemetry() {
106
+ _VivaEngageUserListCommand_instances = new WeakSet(), _VivaEngageUserListCommand_initTelemetry = function _VivaEngageUserListCommand_initTelemetry() {
102
107
  this.telemetry.push((args) => {
103
108
  Object.assign(this.telemetryProperties, {
104
109
  letter: args.options.letter !== undefined,
@@ -108,7 +113,7 @@ _YammerUserListCommand_instances = new WeakSet(), _YammerUserListCommand_initTel
108
113
  groupId: args.options.groupId !== undefined
109
114
  });
110
115
  });
111
- }, _YammerUserListCommand_initOptions = function _YammerUserListCommand_initOptions() {
116
+ }, _VivaEngageUserListCommand_initOptions = function _VivaEngageUserListCommand_initOptions() {
112
117
  this.options.unshift({
113
118
  option: '-g, --groupId [groupId]'
114
119
  }, {
@@ -121,7 +126,7 @@ _YammerUserListCommand_instances = new WeakSet(), _YammerUserListCommand_initTel
121
126
  option: '--sortBy [sortBy]',
122
127
  autocomplete: ['messages', 'followers']
123
128
  });
124
- }, _YammerUserListCommand_initValidators = function _YammerUserListCommand_initValidators() {
129
+ }, _VivaEngageUserListCommand_initValidators = function _VivaEngageUserListCommand_initValidators() {
125
130
  this.validators.push(async (args) => {
126
131
  if (args.options.groupId && typeof args.options.groupId !== 'number') {
127
132
  return `${args.options.groupId} is not a number`;
@@ -141,5 +146,5 @@ _YammerUserListCommand_instances = new WeakSet(), _YammerUserListCommand_initTel
141
146
  return true;
142
147
  });
143
148
  };
144
- export default new YammerUserListCommand();
145
- //# sourceMappingURL=user-list.js.map
149
+ export default new VivaEngageUserListCommand();
150
+ //# sourceMappingURL=engage-user-list.js.map
@@ -22,4 +22,4 @@ export default {
22
22
  USER_GET: `${prefix} user get`,
23
23
  USER_LIST: `${prefix} user list`
24
24
  };
25
- //# sourceMappingURL=commands.js.map
25
+ //# sourceMappingURL=yammerCommands.js.map
@@ -1,5 +1,26 @@
1
1
  const prefix = 'viva';
2
2
  export default {
3
- CONNECTIONS_APP_CREATE: `${prefix} connections app create`
3
+ CONNECTIONS_APP_CREATE: `${prefix} connections app create`,
4
+ ENGAGE_GROUP_LIST: `${prefix} engage group list`,
5
+ ENGAGE_GROUP_USER_ADD: `${prefix} engage group user add`,
6
+ ENGAGE_GROUP_USER_REMOVE: `${prefix} engage group user remove`,
7
+ ENGAGE_MESSAGE_ADD: `${prefix} engage message add`,
8
+ ENGAGE_MESSAGE_GET: `${prefix} engage message get`,
9
+ ENGAGE_MESSAGE_LIKE_SET: `${prefix} engage message like set`,
10
+ ENGAGE_MESSAGE_LIST: `${prefix} engage message list`,
11
+ ENGAGE_MESSAGE_REMOVE: `${prefix} engage message remove`,
12
+ ENGAGE_NETWORK_LIST: `${prefix} engage network list`,
13
+ ENGAGE_REPORT_ACTIVITYCOUNTS: `${prefix} engage report activitycounts`,
14
+ ENGAGE_REPORT_ACTIVITYUSERCOUNTS: `${prefix} engage report activityusercounts`,
15
+ ENGAGE_REPORT_ACTIVITYUSERDETAIL: `${prefix} engage report activityuserdetail`,
16
+ ENGAGE_REPORT_DEVICEUSAGEDISTRIBUTIONUSERCOUNTS: `${prefix} engage report deviceusagedistributionusercounts`,
17
+ ENGAGE_REPORT_DEVICEUSAGEUSERCOUNTS: `${prefix} engage report deviceusageusercounts`,
18
+ ENGAGE_REPORT_DEVICEUSAGEUSERDETAIL: `${prefix} engage report deviceusageuserdetail`,
19
+ ENGAGE_REPORT_GROUPSACTIVITYCOUNTS: `${prefix} engage report groupsactivitycounts`,
20
+ ENGAGE_REPORT_GROUPSACTIVITYDETAIL: `${prefix} engage report groupsactivitydetail`,
21
+ ENGAGE_REPORT_GROUPSACTIVITYGROUPCOUNTS: `${prefix} engage report groupsactivitygroupcounts`,
22
+ ENGAGE_SEARCH: `${prefix} engage search`,
23
+ ENGAGE_USER_GET: `${prefix} engage user get`,
24
+ ENGAGE_USER_LIST: `${prefix} engage user list`
4
25
  };
5
26
  //# sourceMappingURL=commands.js.map
package/dist/utils/spo.js CHANGED
@@ -1312,6 +1312,28 @@ export const spo = {
1312
1312
  responseType: 'json'
1313
1313
  };
1314
1314
  await request.post(requestOptions);
1315
+ },
1316
+ /**
1317
+ * Retrieves the site ID for a given web URL.
1318
+ * @param webUrl The web URL for which to retrieve the site ID.
1319
+ * @param logger The logger object.
1320
+ * @param verbose Set for verbose logging
1321
+ * @returns A promise that resolves to the site ID.
1322
+ */
1323
+ async getSiteId(webUrl, logger, verbose) {
1324
+ if (verbose && logger) {
1325
+ logger.logToStderr(`Getting site id for URL: ${webUrl}...`);
1326
+ }
1327
+ const url = new URL(webUrl);
1328
+ const requestOptions = {
1329
+ url: `https://graph.microsoft.com/v1.0/sites/${formatting.encodeQueryParameter(url.host)}:${url.pathname}?$select=id`,
1330
+ headers: {
1331
+ accept: 'application/json;odata.metadata=none'
1332
+ },
1333
+ responseType: 'json'
1334
+ };
1335
+ const site = await request.get(requestOptions);
1336
+ return site.id;
1315
1337
  }
1316
1338
  };
1317
1339
  //# sourceMappingURL=spo.js.map
@@ -166,6 +166,37 @@ export const urlUtil = {
166
166
  relativeUrl = relativeUrl.substring(0, relativeUrl.length - 1);
167
167
  }
168
168
  return `${baseUrl}/${relativeUrl}`;
169
+ },
170
+ /**
171
+ * Get the absolute URL from the target SharePoint URL.
172
+ * @param {string} webUrl - The base web URL.
173
+ * @param {string} url - The target SharePoint URL.
174
+ * @returns {string} - The target site absolute URL.
175
+ *
176
+ * Example Scenarios:
177
+ * - webUrl = "https://contoso.sharepoint.com" and targetUrl = "/teams/sales/Shared Documents/temp/123/234",
178
+ * returns "https://contoso.sharepoint.com/teams/sales".
179
+ * - webUrl = "https://contoso.sharepoint.com" and targetUrl = "https://contoso-my.sharepoint.com/personal/john_contoso_onmicrosoft_com/Documents/123",
180
+ * returns "https://contoso-my.sharepoint.com/personal/john_contoso_onmicrosoft_com".
181
+ * - webUrl = "https://contoso.sharepoint.com/teams/sales" and targetUrl = "/Shared Documents/temp",
182
+ * returns "https://contoso.sharepoint.com".
183
+ * - webUrl = "https://contoso.sharepoint.com" and targetUrl = "/teams/sales/Shared Documents/temp",
184
+ * returns "https://contoso.sharepoint.com/teams/sales".
185
+ */
186
+ getTargetSiteAbsoluteUrl(webUrl, url) {
187
+ const fullUrl = url.startsWith('https://') ? url : urlUtil.getAbsoluteUrl(webUrl, url);
188
+ // Pattern to match SharePoint URLs
189
+ const urlPattern = /https:\/\/[\w\-]+\.sharepoint\.com\/(teams|sites|personal)\/([\w\-]+)/;
190
+ const match = fullUrl.match(urlPattern);
191
+ if (match) {
192
+ // If a match is found, return the matched URL
193
+ return match[0];
194
+ }
195
+ else {
196
+ // Extract the root URL
197
+ const rootUrl = new URL(fullUrl);
198
+ return rootUrl.origin;
199
+ }
169
200
  }
170
201
  };
171
202
  //# sourceMappingURL=urlUtil.js.map
@@ -321,6 +321,10 @@ export const validation = {
321
321
  return true;
322
322
  }
323
323
  return false;
324
+ },
325
+ isValidMailNickname(mailNickname) {
326
+ const mailNicknameRegEx = new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]*$/i);
327
+ return mailNicknameRegEx.test(mailNickname);
324
328
  }
325
329
  };
326
330
  //# sourceMappingURL=validation.js.map
@@ -16,25 +16,25 @@ m365 cli consent [options]
16
16
 
17
17
  ```md definition-list
18
18
  `-s, --service <service>`
19
- : Service for which to consent permissions. Allowed values: `yammer`
19
+ : Service for which to consent permissions. Allowed values: `VivaEngage`, (deprecated)`yammer`.
20
20
  ```
21
21
 
22
22
  <Global />
23
23
 
24
24
  ## Remarks
25
25
 
26
- Using the `cli consent` command you can consent additional permissions for the Azure AD application used by the CLI for Microsoft 365. This is for example necessary to use Yammer commands, which require the Yammer API permission that isn't granted to the CLI by default.
26
+ Using the `cli consent` command you can consent additional permissions for the Azure AD application used by the CLI for Microsoft 365. This is for example necessary to use Viva Engage commands, which require the Viva Engage API permission that isn't granted to the CLI by default.
27
27
 
28
28
  After executing the command, the CLI for Microsoft 365 will present you with a URL that you need to open in the web browser in order to consent the permissions for the selected Microsoft 365 service.
29
29
 
30
- To simplify things, rather than wondering which permissions you should grant for which CLI commands, this command allows you to easily grant all the necessary permissions for using commands for the specified Microsoft 365 service, like Yammer.
30
+ To simplify things, rather than wondering which permissions you should grant for which CLI commands, this command allows you to easily grant all the necessary permissions for using commands for the specified Microsoft 365 service, like Viva Engage.
31
31
 
32
32
  ## Examples
33
33
 
34
- Consent permissions to the Yammer API
34
+ Consent permissions to the Viva Engage API
35
35
 
36
36
  ```sh
37
- m365 cli consent --service yammer
37
+ m365 cli consent --service VivaEngage
38
38
  ```
39
39
 
40
40
  ## Response
@@ -43,28 +43,28 @@ m365 cli consent --service yammer
43
43
  <TabItem value="JSON">
44
44
 
45
45
  ```json
46
- "To consent permissions for executing yammer commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation"
46
+ "To consent permissions for executing VivaEngage commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation"
47
47
  ```
48
48
 
49
49
  </TabItem>
50
50
  <TabItem value="Text">
51
51
 
52
52
  ```text
53
- To consent permissions for executing yammer commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation
53
+ To consent permissions for executing VivaEngage commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation
54
54
  ```
55
55
 
56
56
  </TabItem>
57
57
  <TabItem value="CSV">
58
58
 
59
59
  ```csv
60
- To consent permissions for executing yammer commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation
60
+ To consent permissions for executing VivaEngage commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation
61
61
  ```
62
62
 
63
63
  </TabItem>
64
64
  <TabItem value="Markdown">
65
65
 
66
66
  ```md
67
- To consent permissions for executing yammer commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation
67
+ To consent permissions for executing VivaEngage commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation
68
68
  ```
69
69
 
70
70
  </TabItem>
@@ -1,6 +1,4 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
- import Tabs from '@theme/Tabs';
3
- import TabItem from '@theme/TabItem';
4
2
 
5
3
  # entra administrativeunit member add
6
4
 
@@ -94,6 +92,10 @@ Add a single device specified by name to an administrative unit specified by nam
94
92
  m365 entra administrativeunit member add --administrativeUnitName 'Marketing Division' --deviceName 'JohnDoe-PC'
95
93
  ```
96
94
 
95
+ ## Response
96
+
97
+ The command won't return a response on success.
98
+
97
99
  ## More information
98
100
 
99
- - Administrative units: https://learn.microsoft.com/entra/identity/role-based-access-control/administrative-units
101
+ - Administrative units: https://learn.microsoft.com/entra/identity/role-based-access-control/administrative-units