@pnp/cli-microsoft365 7.5.0-beta.494c631 → 7.5.0-beta.cae14d0

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 (92) hide show
  1. package/.devcontainer/Dockerfile +2 -2
  2. package/Dockerfile +2 -2
  3. package/allCommands.json +1 -1
  4. package/allCommandsFull.json +1 -1
  5. package/dist/m365/app/commands/app-get.js +2 -2
  6. package/dist/m365/entra/commands/administrativeunit/administrativeunit-get.js +2 -2
  7. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-add.js +8 -8
  8. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-get.js +2 -2
  9. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-list.js +2 -2
  10. package/dist/m365/entra/commands/administrativeunit/administrativeunit-remove.js +2 -2
  11. package/dist/m365/entra/commands/administrativeunit/administrativeunit-roleassignment-add.js +4 -4
  12. package/dist/m365/entra/commands/app/app-permission-add.js +3 -7
  13. package/dist/m365/entra/commands/group/group-get.js +3 -3
  14. package/dist/m365/entra/commands/group/group-remove.js +2 -2
  15. package/dist/m365/entra/commands/group/group-user-add.js +145 -0
  16. package/dist/m365/entra/commands/group/group-user-list.js +2 -2
  17. package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +2 -2
  18. package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +3 -3
  19. package/dist/m365/entra/commands/m365group/m365group-get.js +3 -3
  20. package/dist/m365/entra/commands/m365group/m365group-remove.js +2 -2
  21. package/dist/m365/entra/commands/m365group/m365group-renew.js +2 -2
  22. package/dist/m365/entra/commands/m365group/m365group-set.js +2 -2
  23. package/dist/m365/entra/commands/m365group/m365group-teamify.js +2 -2
  24. package/dist/m365/entra/commands/m365group/m365group-user-add.js +2 -2
  25. package/dist/m365/entra/commands/m365group/m365group-user-list.js +3 -3
  26. package/dist/m365/entra/commands/m365group/m365group-user-remove.js +2 -2
  27. package/dist/m365/entra/commands/m365group/m365group-user-set.js +2 -2
  28. package/dist/m365/entra/commands.js +1 -0
  29. package/dist/m365/external/commands/connection/connection-doctor.js +2 -1
  30. package/dist/m365/flow/commands/owner/owner-ensure.js +4 -4
  31. package/dist/m365/flow/commands/owner/owner-remove.js +4 -4
  32. package/dist/m365/onenote/commands/notebook/notebook-list.js +2 -2
  33. package/dist/m365/onenote/commands/page/page-list.js +2 -2
  34. package/dist/m365/pa/commands/app/app-owner-set.js +2 -2
  35. package/dist/m365/pa/commands/app/app-permission-ensure.js +4 -4
  36. package/dist/m365/pa/commands/app/app-permission-remove.js +4 -4
  37. package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
  38. package/dist/m365/planner/commands/bucket/bucket-get.js +2 -2
  39. package/dist/m365/planner/commands/bucket/bucket-list.js +2 -2
  40. package/dist/m365/planner/commands/bucket/bucket-remove.js +2 -2
  41. package/dist/m365/planner/commands/bucket/bucket-set.js +2 -2
  42. package/dist/m365/planner/commands/plan/plan-add.js +2 -2
  43. package/dist/m365/planner/commands/plan/plan-get.js +2 -2
  44. package/dist/m365/planner/commands/plan/plan-list.js +2 -2
  45. package/dist/m365/planner/commands/plan/plan-remove.js +2 -2
  46. package/dist/m365/planner/commands/plan/plan-set.js +2 -2
  47. package/dist/m365/planner/commands/roster/roster-member-add.js +2 -2
  48. package/dist/m365/planner/commands/roster/roster-member-get.js +2 -2
  49. package/dist/m365/planner/commands/roster/roster-member-remove.js +2 -2
  50. package/dist/m365/planner/commands/task/task-add.js +2 -2
  51. package/dist/m365/planner/commands/task/task-get.js +2 -2
  52. package/dist/m365/planner/commands/task/task-list.js +2 -2
  53. package/dist/m365/planner/commands/task/task-remove.js +2 -2
  54. package/dist/m365/planner/commands/task/task-set.js +2 -2
  55. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +1 -1
  56. package/dist/m365/spo/commands/group/group-member-add.js +4 -4
  57. package/dist/m365/spo/commands/group/group-member-remove.js +2 -2
  58. package/dist/m365/spo/commands/group/group-set.js +2 -2
  59. package/dist/m365/spo/commands/site/site-remove.js +2 -2
  60. package/dist/m365/spo/commands/site/site-set.js +2 -2
  61. package/dist/m365/spo/commands/user/user-ensure.js +2 -2
  62. package/dist/m365/teams/commands/app/app-install.js +2 -2
  63. package/dist/m365/teams/commands/channel/channel-get.js +2 -2
  64. package/dist/m365/teams/commands/channel/channel-list.js +2 -2
  65. package/dist/m365/teams/commands/channel/channel-member-add.js +2 -2
  66. package/dist/m365/teams/commands/channel/channel-member-list.js +2 -2
  67. package/dist/m365/teams/commands/channel/channel-member-remove.js +2 -2
  68. package/dist/m365/teams/commands/channel/channel-member-set.js +2 -2
  69. package/dist/m365/teams/commands/channel/channel-remove.js +2 -2
  70. package/dist/m365/teams/commands/channel/channel-set.js +2 -2
  71. package/dist/m365/teams/commands/meeting/meeting-add.js +2 -2
  72. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +2 -2
  73. package/dist/m365/teams/commands/meeting/meeting-get.js +3 -3
  74. package/dist/m365/teams/commands/meeting/meeting-list.js +2 -2
  75. package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +2 -2
  76. package/dist/m365/teams/commands/tab/tab-get.js +2 -2
  77. package/dist/m365/teams/commands/team/team-add.js +6 -6
  78. package/dist/m365/teams/commands/team/team-archive.js +2 -2
  79. package/dist/m365/teams/commands/team/team-get.js +2 -2
  80. package/dist/m365/teams/commands/team/team-remove.js +2 -2
  81. package/dist/m365/teams/commands/team/team-unarchive.js +2 -2
  82. package/dist/utils/{aadAdministrativeUnit.js → entraAdministrativeUnit.js} +2 -2
  83. package/dist/utils/{aadDevice.js → entraDevice.js} +2 -2
  84. package/dist/utils/{aadGroup.js → entraGroup.js} +2 -2
  85. package/dist/utils/{aadUser.js → entraUser.js} +38 -2
  86. package/dist/utils/spo.js +2 -2
  87. package/dist/utils/validation.js +4 -0
  88. package/docs/docs/cmd/entra/app/app-permission-add.mdx +2 -2
  89. package/docs/docs/cmd/entra/group/group-user-add.mdx +62 -0
  90. package/docs/docs/cmd/spo/listitem/listitem-list.mdx +1 -1
  91. package/npm-shrinkwrap.json +168 -166
  92. package/package.json +18 -18
@@ -7,7 +7,7 @@ var _SpoGroupSetCommand_instances, _SpoGroupSetCommand_initTelemetry, _SpoGroupS
7
7
  import { cli } from '../../../../cli/cli.js';
8
8
  import request from '../../../../request.js';
9
9
  import { validation } from '../../../../utils/validation.js';
10
- import aadUserGetCommand from '../../../entra/commands/user/user-get.js';
10
+ import entraUserGetCommand from '../../../entra/commands/user/user-get.js';
11
11
  import SpoCommand from '../../../base/SpoCommand.js';
12
12
  import commands from '../../commands.js';
13
13
  class SpoGroupSetCommand extends SpoCommand {
@@ -77,7 +77,7 @@ class SpoGroupSetCommand extends SpoCommand {
77
77
  debug: options.debug,
78
78
  verbose: options.verbose
79
79
  };
80
- const output = await cli.executeCommandWithOutput(aadUserGetCommand, { options: { ...cmdOptions, _: [] } });
80
+ const output = await cli.executeCommandWithOutput(entraUserGetCommand, { options: { ...cmdOptions, _: [] } });
81
81
  const getUserOutput = JSON.parse(output.stdout);
82
82
  const requestOptions = {
83
83
  url: `${options.webUrl}/_api/web/ensureUser('${getUserOutput.userPrincipalName}')?$select=Id`,
@@ -8,7 +8,7 @@ import chalk from 'chalk';
8
8
  import { cli } from '../../../../cli/cli.js';
9
9
  import config from '../../../../config.js';
10
10
  import request from '../../../../request.js';
11
- import { aadGroup } from '../../../../utils/aadGroup.js';
11
+ import { entraGroup } from '../../../../utils/entraGroup.js';
12
12
  import { formatting } from '../../../../utils/formatting.js';
13
13
  import { spo } from '../../../../utils/spo.js';
14
14
  import { validation } from '../../../../utils/validation.js';
@@ -57,7 +57,7 @@ class SpoSiteRemoveCommand extends SpoCommand {
57
57
  await logger.logToStderr(`Site attached to group ${groupId}. Initiating group delete operation via Graph API`);
58
58
  }
59
59
  try {
60
- const group = await aadGroup.getGroupById(groupId);
60
+ const group = await entraGroup.getGroupById(groupId);
61
61
  if (args.options.skipRecycleBin || args.options.wait) {
62
62
  await logger.logToStderr(chalk.yellow(`Entered site is a groupified site. Hence, the parameters 'skipRecycleBin' and 'wait' will not be applicable.`));
63
63
  }
@@ -12,7 +12,7 @@ import { formatting } from '../../../../utils/formatting.js';
12
12
  import { spo } from '../../../../utils/spo.js';
13
13
  import { urlUtil } from '../../../../utils/urlUtil.js';
14
14
  import { validation } from '../../../../utils/validation.js';
15
- import aadM365GroupSetCommand from '../../../entra/commands/m365group/m365group-set.js';
15
+ import entraM365GroupSetCommand from '../../../entra/commands/m365group/m365group-set.js';
16
16
  import SpoCommand from '../../../base/SpoCommand.js';
17
17
  import commands from '../../commands.js';
18
18
  import { SharingCapabilities } from '../site/SharingCapabilities.js';
@@ -243,7 +243,7 @@ class SpoSiteSetCommand extends SpoCommand {
243
243
  debug: this.debug,
244
244
  verbose: this.verbose
245
245
  };
246
- promises.push(cli.executeCommand(aadM365GroupSetCommand, { options: { ...commandOptions, _: [] } }));
246
+ promises.push(cli.executeCommand(entraM365GroupSetCommand, { options: { ...commandOptions, _: [] } }));
247
247
  }
248
248
  if (args.options.description) {
249
249
  promises.push(this.setGroupifiedSiteDescription(args.options.description));
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _SpoUserEnsureCommand_instances, _SpoUserEnsureCommand_initTelemetry, _SpoUserEnsureCommand_initOptions, _SpoUserEnsureCommand_initValidators, _SpoUserEnsureCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
- import { aadUser } from '../../../../utils/aadUser.js';
8
+ import { entraUser } from '../../../../utils/entraUser.js';
9
9
  import { validation } from '../../../../utils/validation.js';
10
10
  import SpoCommand from '../../../base/SpoCommand.js';
11
11
  import commands from '../../commands.js';
@@ -55,7 +55,7 @@ class SpoUserEnsureCommand extends SpoCommand {
55
55
  if (this.verbose) {
56
56
  await logger.logToStderr(`Retrieving user principal name for user with id ${entraId}`);
57
57
  }
58
- return await aadUser.getUpnByUserId(entraId);
58
+ return await entraUser.getUpnByUserId(entraId);
59
59
  }
60
60
  }
61
61
  _SpoUserEnsureCommand_instances = new WeakSet(), _SpoUserEnsureCommand_initTelemetry = function _SpoUserEnsureCommand_initTelemetry() {
@@ -8,7 +8,7 @@ import { cli } from '../../../../cli/cli.js';
8
8
  import request from '../../../../request.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
- import aadUserGetCommand from '../../../entra/commands/user/user-get.js';
11
+ import entraUserGetCommand from '../../../entra/commands/user/user-get.js';
12
12
  import GraphCommand from '../../../base/GraphCommand.js';
13
13
  import commands from '../../commands.js';
14
14
  class TeamsAppInstallCommand extends GraphCommand {
@@ -70,7 +70,7 @@ class TeamsAppInstallCommand extends GraphCommand {
70
70
  verbose: args.options.verbose
71
71
  };
72
72
  try {
73
- const res = await cli.executeCommandWithOutput(aadUserGetCommand, { options: { ...options, _: [] } });
73
+ const res = await cli.executeCommandWithOutput(entraUserGetCommand, { options: { ...options, _: [] } });
74
74
  if (this.verbose) {
75
75
  await logger.logToStderr(res.stderr);
76
76
  }
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsChannelGetCommand_instances, _TeamsChannelGetCommand_initTelemetry, _TeamsChannelGetCommand_initOptions, _TeamsChannelGetCommand_initValidators, _TeamsChannelGetCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
- import { aadGroup } from '../../../../utils/aadGroup.js';
8
+ import { entraGroup } from '../../../../utils/entraGroup.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -30,7 +30,7 @@ class TeamsChannelGetCommand extends GraphCommand {
30
30
  if (args.options.teamId) {
31
31
  return args.options.teamId;
32
32
  }
33
- const group = await aadGroup.getGroupByDisplayName(args.options.teamName);
33
+ const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
34
34
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
35
35
  throw `The specified team does not exist in the Microsoft Teams`;
36
36
  }
@@ -4,7 +4,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
6
  var _TeamsChannelListCommand_instances, _TeamsChannelListCommand_initTelemetry, _TeamsChannelListCommand_initOptions, _TeamsChannelListCommand_initValidators, _TeamsChannelListCommand_initOptionSets;
7
- import { aadGroup } from '../../../../utils/aadGroup.js';
7
+ import { entraGroup } from '../../../../utils/entraGroup.js';
8
8
  import { odata } from '../../../../utils/odata.js';
9
9
  import { validation } from '../../../../utils/validation.js';
10
10
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -31,7 +31,7 @@ class TeamsChannelListCommand extends GraphCommand {
31
31
  if (args.options.teamId) {
32
32
  return args.options.teamId;
33
33
  }
34
- const group = await aadGroup.getGroupByDisplayName(args.options.teamName);
34
+ const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
35
35
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
36
36
  throw 'The specified team does not exist in the Microsoft Teams';
37
37
  }
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsChannelMemberAddCommand_instances, _TeamsChannelMemberAddCommand_initTelemetry, _TeamsChannelMemberAddCommand_initOptions, _TeamsChannelMemberAddCommand_initValidators, _TeamsChannelMemberAddCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
- import { aadGroup } from '../../../../utils/aadGroup.js';
8
+ import { entraGroup } from '../../../../utils/entraGroup.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -63,7 +63,7 @@ class TeamsChannelMemberAddCommand extends GraphCommand {
63
63
  if (args.options.teamId) {
64
64
  return args.options.teamId;
65
65
  }
66
- const group = await aadGroup.getGroupByDisplayName(args.options.teamName);
66
+ const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
67
67
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
68
68
  throw 'The specified team does not exist in the Microsoft Teams';
69
69
  }
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsChannelMemberListCommand_instances, _TeamsChannelMemberListCommand_initTelemetry, _TeamsChannelMemberListCommand_initOptions, _TeamsChannelMemberListCommand_initValidators, _TeamsChannelMemberListCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
- import { aadGroup } from '../../../../utils/aadGroup.js';
8
+ import { entraGroup } from '../../../../utils/entraGroup.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
10
10
  import { odata } from '../../../../utils/odata.js';
11
11
  import { validation } from '../../../../utils/validation.js';
@@ -55,7 +55,7 @@ class TeamsChannelMemberListCommand extends GraphCommand {
55
55
  if (args.options.teamId) {
56
56
  return args.options.teamId;
57
57
  }
58
- const group = await aadGroup.getGroupByDisplayName(args.options.teamName);
58
+ const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
59
59
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
60
60
  throw 'The specified team does not exist in the Microsoft Teams';
61
61
  }
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
6
6
  var _TeamsChannelMemberRemoveCommand_instances, _TeamsChannelMemberRemoveCommand_initTelemetry, _TeamsChannelMemberRemoveCommand_initOptions, _TeamsChannelMemberRemoveCommand_initValidators, _TeamsChannelMemberRemoveCommand_initOptionSets;
7
7
  import { cli } from '../../../../cli/cli.js';
8
8
  import request from '../../../../request.js';
9
- import { aadGroup } from '../../../../utils/aadGroup.js';
9
+ import { entraGroup } from '../../../../utils/entraGroup.js';
10
10
  import { formatting } from '../../../../utils/formatting.js';
11
11
  import { validation } from '../../../../utils/validation.js';
12
12
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -72,7 +72,7 @@ class TeamsChannelMemberRemoveCommand extends GraphCommand {
72
72
  if (args.options.teamId) {
73
73
  return args.options.teamId;
74
74
  }
75
- const group = await aadGroup.getGroupByDisplayName(args.options.teamName);
75
+ const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
76
76
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
77
77
  throw 'The specified team does not exist in the Microsoft Teams';
78
78
  }
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsChannelMemberSetCommand_instances, _TeamsChannelMemberSetCommand_initTelemetry, _TeamsChannelMemberSetCommand_initOptions, _TeamsChannelMemberSetCommand_initValidators, _TeamsChannelMemberSetCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
- import { aadGroup } from '../../../../utils/aadGroup.js';
8
+ import { entraGroup } from '../../../../utils/entraGroup.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -56,7 +56,7 @@ class TeamsChannelMemberSetCommand extends GraphCommand {
56
56
  if (args.options.teamId) {
57
57
  return args.options.teamId;
58
58
  }
59
- const group = await aadGroup.getGroupByDisplayName(args.options.teamName);
59
+ const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
60
60
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
61
61
  throw `The specified team does not exist in the Microsoft Teams`;
62
62
  }
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
6
6
  var _TeamsChannelRemoveCommand_instances, _TeamsChannelRemoveCommand_initTelemetry, _TeamsChannelRemoveCommand_initOptions, _TeamsChannelRemoveCommand_initValidators, _TeamsChannelRemoveCommand_initOptionSets;
7
7
  import { cli } from '../../../../cli/cli.js';
8
8
  import request from '../../../../request.js';
9
- import { aadGroup } from '../../../../utils/aadGroup.js';
9
+ import { entraGroup } from '../../../../utils/entraGroup.js';
10
10
  import { formatting } from '../../../../utils/formatting.js';
11
11
  import { validation } from '../../../../utils/validation.js';
12
12
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -63,7 +63,7 @@ class TeamsChannelRemoveCommand extends GraphCommand {
63
63
  if (args.options.teamId) {
64
64
  return args.options.teamId;
65
65
  }
66
- const group = await aadGroup.getGroupByDisplayName(args.options.teamName);
66
+ const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
67
67
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
68
68
  throw 'The specified team does not exist';
69
69
  }
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsChannelSetCommand_instances, _TeamsChannelSetCommand_initTelemetry, _TeamsChannelSetCommand_initOptions, _TeamsChannelSetCommand_initValidators, _TeamsChannelSetCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
- import { aadGroup } from '../../../../utils/aadGroup.js';
8
+ import { entraGroup } from '../../../../utils/entraGroup.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -58,7 +58,7 @@ class TeamsChannelSetCommand extends GraphCommand {
58
58
  if (args.options.teamId) {
59
59
  return args.options.teamId;
60
60
  }
61
- const group = await aadGroup.getGroupByDisplayName(args.options.teamName);
61
+ const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
62
62
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
63
63
  throw 'The specified team does not exist';
64
64
  }
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsMeetingAddCommand_instances, _TeamsMeetingAddCommand_initTelemetry, _TeamsMeetingAddCommand_initOptions, _TeamsMeetingAddCommand_initValidators;
7
7
  import auth from '../../../../Auth.js';
8
- import { aadUser } from '../../../../utils/aadUser.js';
8
+ import { entraUser } from '../../../../utils/entraUser.js';
9
9
  import { accessToken } from '../../../../utils/accessToken.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import GraphCommand from "../../../base/GraphCommand.js";
@@ -53,7 +53,7 @@ class TeamsMeetingAddCommand extends GraphCommand {
53
53
  if (this.verbose) {
54
54
  await logger.logToStderr(`Retrieving Organizer Id...`);
55
55
  }
56
- const organizerId = await aadUser.getUserIdByEmail(options.organizerEmail);
56
+ const organizerId = await entraUser.getUserIdByEmail(options.organizerEmail);
57
57
  requestUrl = `${this.resource}/v1.0/users/${organizerId}`;
58
58
  }
59
59
  if (this.verbose) {
@@ -9,7 +9,7 @@ import { cli } from '../../../../cli/cli.js';
9
9
  import { accessToken } from '../../../../utils/accessToken.js';
10
10
  import { odata } from '../../../../utils/odata.js';
11
11
  import { validation } from '../../../../utils/validation.js';
12
- import aadUserGetCommand from '../../../entra/commands/user/user-get.js';
12
+ import entraUserGetCommand from '../../../entra/commands/user/user-get.js';
13
13
  import GraphCommand from "../../../base/GraphCommand.js";
14
14
  import commands from '../../commands.js';
15
15
  class TeamsMeetingAttendancereportListCommand extends GraphCommand {
@@ -71,7 +71,7 @@ class TeamsMeetingAttendancereportListCommand extends GraphCommand {
71
71
  debug: this.debug,
72
72
  verbose: this.verbose
73
73
  };
74
- const output = await cli.executeCommandWithOutput(aadUserGetCommand, { options: { ...options, _: [] } });
74
+ const output = await cli.executeCommandWithOutput(entraUserGetCommand, { options: { ...options, _: [] } });
75
75
  const getUserOutput = JSON.parse(output.stdout);
76
76
  return getUserOutput.id;
77
77
  }
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
6
6
  var _TeamsMeetingGetCommand_instances, _TeamsMeetingGetCommand_initTelemetry, _TeamsMeetingGetCommand_initOptions, _TeamsMeetingGetCommand_initValidators;
7
7
  import auth from '../../../../Auth.js';
8
8
  import request from '../../../../request.js';
9
- import { aadUser } from '../../../../utils/aadUser.js';
9
+ import { entraUser } from '../../../../utils/entraUser.js';
10
10
  import { accessToken } from '../../../../utils/accessToken.js';
11
11
  import { formatting } from '../../../../utils/formatting.js';
12
12
  import { validation } from '../../../../utils/validation.js';
@@ -76,9 +76,9 @@ class TeamsMeetingGetCommand extends GraphCommand {
76
76
  return options.userId;
77
77
  }
78
78
  if (options.userName) {
79
- return aadUser.getUserIdByUpn(options.userName);
79
+ return entraUser.getUserIdByUpn(options.userName);
80
80
  }
81
- return aadUser.getUserIdByEmail(options.email);
81
+ return entraUser.getUserIdByEmail(options.email);
82
82
  }
83
83
  }
84
84
  _TeamsMeetingGetCommand_instances = new WeakSet(), _TeamsMeetingGetCommand_initTelemetry = function _TeamsMeetingGetCommand_initTelemetry() {
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsMeetingListCommand_instances, _TeamsMeetingListCommand_initTelemetry, _TeamsMeetingListCommand_initOptions, _TeamsMeetingListCommand_initValidators;
7
7
  import auth from '../../../../Auth.js';
8
- import { aadUser } from '../../../../utils/aadUser.js';
8
+ import { entraUser } from '../../../../utils/entraUser.js';
9
9
  import { accessToken } from '../../../../utils/accessToken.js';
10
10
  import { odata } from '../../../../utils/odata.js';
11
11
  import { validation } from '../../../../utils/validation.js';
@@ -60,7 +60,7 @@ class TeamsMeetingListCommand extends GraphCommand {
60
60
  requestUrl += `users/${options.userId || options.userName}`;
61
61
  }
62
62
  else if (options.email) {
63
- const userId = await aadUser.getUserIdByEmail(options.email);
63
+ const userId = await entraUser.getUserIdByEmail(options.email);
64
64
  requestUrl += `users/${userId}`;
65
65
  }
66
66
  else {
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsMeetingTranscriptListCommand_instances, _TeamsMeetingTranscriptListCommand_initTelemetry, _TeamsMeetingTranscriptListCommand_initOptions, _TeamsMeetingTranscriptListCommand_initValidators, _TeamsMeetingTranscriptListCommand_initOptionSets;
7
7
  import auth from '../../../../Auth.js';
8
- import { aadUser } from '../../../../utils/aadUser.js';
8
+ import { entraUser } from '../../../../utils/entraUser.js';
9
9
  import { accessToken } from '../../../../utils/accessToken.js';
10
10
  import { odata } from '../../../../utils/odata.js';
11
11
  import { validation } from '../../../../utils/validation.js';
@@ -51,7 +51,7 @@ class TeamsMeetingTranscriptListCommand extends GraphCommand {
51
51
  if (this.verbose) {
52
52
  await logger.logToStderr(`Getting user ID for user with email '${args.options.email}'.`);
53
53
  }
54
- const userId = await aadUser.getUserIdByEmail(args.options.email);
54
+ const userId = await entraUser.getUserIdByEmail(args.options.email);
55
55
  requestUrl += userId;
56
56
  }
57
57
  }
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsTabGetCommand_instances, _TeamsTabGetCommand_initTelemetry, _TeamsTabGetCommand_initOptions, _TeamsTabGetCommand_initValidators, _TeamsTabGetCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
- import { aadGroup } from '../../../../utils/aadGroup.js';
8
+ import { entraGroup } from '../../../../utils/entraGroup.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -31,7 +31,7 @@ class TeamsTabGetCommand extends GraphCommand {
31
31
  if (args.options.teamId) {
32
32
  return args.options.teamId;
33
33
  }
34
- const group = await aadGroup.getGroupByDisplayName(args.options.teamName);
34
+ const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
35
35
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
36
36
  throw 'The specified team does not exist in the Microsoft Teams';
37
37
  }
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
6
6
  var _TeamsTeamAddCommand_instances, _TeamsTeamAddCommand_initTelemetry, _TeamsTeamAddCommand_initOptions, _TeamsTeamAddCommand_initOptionSets;
7
7
  import { setTimeout } from 'timers/promises';
8
8
  import request from '../../../../request.js';
9
- import { aadGroup } from '../../../../utils/aadGroup.js';
9
+ import { entraGroup } from '../../../../utils/entraGroup.js';
10
10
  import GraphCommand from '../../../base/GraphCommand.js';
11
11
  import commands from '../../commands.js';
12
12
  class TeamsTeamAddCommand extends GraphCommand {
@@ -77,8 +77,8 @@ class TeamsTeamAddCommand extends GraphCommand {
77
77
  }
78
78
  else {
79
79
  await this.waitUntilTeamFinishedProvisioning(teamsAsyncOperation, requestOptions, logger);
80
- const aadGroup = await this.getAadGroup(teamsAsyncOperation.targetResourceId, logger);
81
- await logger.log(aadGroup);
80
+ const entraGroup = await this.getEntraGroup(teamsAsyncOperation.targetResourceId, logger);
81
+ await logger.log(entraGroup);
82
82
  }
83
83
  }
84
84
  catch (err) {
@@ -104,17 +104,17 @@ class TeamsTeamAddCommand extends GraphCommand {
104
104
  await this.waitUntilTeamFinishedProvisioning(teamsAsyncOperation, requestOptions, logger);
105
105
  }
106
106
  }
107
- async getAadGroup(id, logger) {
107
+ async getEntraGroup(id, logger) {
108
108
  let group;
109
109
  try {
110
- group = await aadGroup.getGroupById(id);
110
+ group = await entraGroup.getGroupById(id);
111
111
  }
112
112
  catch {
113
113
  if (this.verbose) {
114
114
  await logger.logToStderr(`Error occurred on retrieving the aad group. Retrying in ${this.pollingInterval / 1000} seconds.`);
115
115
  }
116
116
  await setTimeout(this.pollingInterval);
117
- return await this.getAadGroup(id, logger);
117
+ return await this.getEntraGroup(id, logger);
118
118
  }
119
119
  return group;
120
120
  }
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsTeamArchiveCommand_instances, _TeamsTeamArchiveCommand_initTelemetry, _TeamsTeamArchiveCommand_initOptions, _TeamsTeamArchiveCommand_initValidators, _TeamsTeamArchiveCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
- import { aadGroup } from '../../../../utils/aadGroup.js';
8
+ import { entraGroup } from '../../../../utils/entraGroup.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -29,7 +29,7 @@ class TeamsTeamArchiveCommand extends GraphCommand {
29
29
  if (args.options.id) {
30
30
  return args.options.id;
31
31
  }
32
- const group = await aadGroup.getGroupByDisplayName(args.options.name);
32
+ const group = await entraGroup.getGroupByDisplayName(args.options.name);
33
33
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
34
34
  throw 'The specified team does not exist in the Microsoft Teams';
35
35
  }
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsTeamGetCommand_instances, _TeamsTeamGetCommand_initTelemetry, _TeamsTeamGetCommand_initOptions, _TeamsTeamGetCommand_initValidators, _TeamsTeamGetCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
- import { aadGroup } from '../../../../utils/aadGroup.js';
8
+ import { entraGroup } from '../../../../utils/entraGroup.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -29,7 +29,7 @@ class TeamsTeamGetCommand extends GraphCommand {
29
29
  if (args.options.id) {
30
30
  return args.options.id;
31
31
  }
32
- const group = await aadGroup.getGroupByDisplayName(args.options.name);
32
+ const group = await entraGroup.getGroupByDisplayName(args.options.name);
33
33
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
34
34
  throw 'The specified team does not exist in the Microsoft Teams';
35
35
  }
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
6
6
  var _TeamsTeamRemoveCommand_instances, _TeamsTeamRemoveCommand_initTelemetry, _TeamsTeamRemoveCommand_initOptions, _TeamsTeamRemoveCommand_initValidators, _TeamsTeamRemoveCommand_initOptionSets;
7
7
  import { cli } from '../../../../cli/cli.js';
8
8
  import request from '../../../../request.js';
9
- import { aadGroup } from '../../../../utils/aadGroup.js';
9
+ import { entraGroup } from '../../../../utils/entraGroup.js';
10
10
  import { formatting } from '../../../../utils/formatting.js';
11
11
  import { validation } from '../../../../utils/validation.js';
12
12
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -30,7 +30,7 @@ class TeamsTeamRemoveCommand extends GraphCommand {
30
30
  if (args.options.id) {
31
31
  return args.options.id;
32
32
  }
33
- const group = await aadGroup.getGroupByDisplayName(args.options.name);
33
+ const group = await entraGroup.getGroupByDisplayName(args.options.name);
34
34
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
35
35
  throw `The specified team does not exist in the Microsoft Teams`;
36
36
  }
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsTeamUnarchiveCommand_instances, _TeamsTeamUnarchiveCommand_initOptions, _TeamsTeamUnarchiveCommand_initValidators, _TeamsTeamUnarchiveCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
- import { aadGroup } from '../../../../utils/aadGroup.js';
8
+ import { entraGroup } from '../../../../utils/entraGroup.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -28,7 +28,7 @@ class TeamsTeamUnarchiveCommand extends GraphCommand {
28
28
  if (args.options.id) {
29
29
  return args.options.id;
30
30
  }
31
- const group = await aadGroup.getGroupByDisplayName(args.options.name);
31
+ const group = await entraGroup.getGroupByDisplayName(args.options.name);
32
32
  if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
33
33
  throw 'The specified team does not exist in the Microsoft Teams';
34
34
  }
@@ -1,7 +1,7 @@
1
1
  import { odata } from './odata.js';
2
2
  import { formatting } from './formatting.js';
3
3
  import { cli } from '../cli/cli.js';
4
- export const aadAdministrativeUnit = {
4
+ export const entraAdministrativeUnit = {
5
5
  /**
6
6
  * Get an administrative unit by its display name.
7
7
  * @param displayName Administrative unit display name.
@@ -22,4 +22,4 @@ export const aadAdministrativeUnit = {
22
22
  return administrativeUnits[0];
23
23
  }
24
24
  };
25
- //# sourceMappingURL=aadAdministrativeUnit.js.map
25
+ //# sourceMappingURL=entraAdministrativeUnit.js.map
@@ -2,7 +2,7 @@ import { odata } from "./odata.js";
2
2
  import { formatting } from "./formatting.js";
3
3
  import { cli } from "../cli/cli.js";
4
4
  const graphResource = 'https://graph.microsoft.com';
5
- export const aadDevice = {
5
+ export const entraDevice = {
6
6
  /**
7
7
  * Get a device by its display name.
8
8
  * @param displayName Device display name.
@@ -22,4 +22,4 @@ export const aadDevice = {
22
22
  return devices[0];
23
23
  }
24
24
  };
25
- //# sourceMappingURL=aadDevice.js.map
25
+ //# sourceMappingURL=entraDevice.js.map
@@ -3,7 +3,7 @@ import { formatting } from "./formatting.js";
3
3
  import { odata } from "./odata.js";
4
4
  import { cli } from '../cli/cli.js';
5
5
  const graphResource = 'https://graph.microsoft.com';
6
- export const aadGroup = {
6
+ export const entraGroup = {
7
7
  /**
8
8
  * Retrieve a single group.
9
9
  * @param id Group ID.
@@ -95,4 +95,4 @@ export const aadGroup = {
95
95
  return group.groupTypes.some(type => type === 'Unified');
96
96
  }
97
97
  };
98
- //# sourceMappingURL=aadGroup.js.map
98
+ //# sourceMappingURL=entraGroup.js.map
@@ -1,7 +1,7 @@
1
1
  import request from "../request.js";
2
2
  import { formatting } from "./formatting.js";
3
3
  const graphResource = 'https://graph.microsoft.com';
4
- export const aadUser = {
4
+ export const entraUser = {
5
5
  /**
6
6
  * Retrieve the id of a user by its UPN.
7
7
  * @param upn User UPN.
@@ -20,6 +20,42 @@ export const aadUser = {
20
20
  }
21
21
  return res.value[0].id;
22
22
  },
23
+ /**
24
+ * Retrieve the IDs of users by their UPNs. There is no guarantee that the order of the returned IDs will match the order of the specified UPNs.
25
+ * @param upns Array of user UPNs.
26
+ * @returns Array of user IDs.
27
+ */
28
+ async getUserIdsByUpns(upns) {
29
+ const userIds = [];
30
+ for (let i = 0; i < upns.length; i += 20) {
31
+ const upnsChunk = upns.slice(i, i + 20);
32
+ const requestOptions = {
33
+ url: `${graphResource}/v1.0/$batch`,
34
+ headers: {
35
+ accept: 'application/json;odata.metadata=none'
36
+ },
37
+ responseType: 'json',
38
+ data: {
39
+ requests: upnsChunk.map((upn, index) => ({
40
+ id: index + 1,
41
+ method: 'GET',
42
+ url: `/users/${formatting.encodeQueryParameter(upn)}?$select=id`,
43
+ headers: {
44
+ accept: 'application/json;odata.metadata=none'
45
+ }
46
+ }))
47
+ }
48
+ };
49
+ const res = await request.post(requestOptions);
50
+ for (const response of res.responses) {
51
+ if (response.status !== 200) {
52
+ throw Error(`The specified user with user name '${upnsChunk[response.id - 1]}' does not exist.`);
53
+ }
54
+ userIds.push(response.body.id);
55
+ }
56
+ }
57
+ return userIds;
58
+ },
23
59
  /**
24
60
  * Retrieve the ID of a user by its email.
25
61
  * @param mail User email.
@@ -54,4 +90,4 @@ export const aadUser = {
54
90
  return res.userPrincipalName;
55
91
  }
56
92
  };
57
- //# sourceMappingURL=aadUser.js.map
93
+ //# sourceMappingURL=entraUser.js.map
package/dist/utils/spo.js CHANGED
@@ -8,7 +8,7 @@ import request from "../request.js";
8
8
  import { formatting } from './formatting.js';
9
9
  import { odata } from './odata.js';
10
10
  import { RoleType } from '../m365/spo/commands/roledefinition/RoleType.js';
11
- import { aadGroup } from './aadGroup.js';
11
+ import { entraGroup } from './entraGroup.js';
12
12
  import { SharingCapabilities } from '../m365/spo/commands/site/SharingCapabilities.js';
13
13
  export const spo = {
14
14
  getRequestDigest(siteUrl) {
@@ -996,7 +996,7 @@ export const spo = {
996
996
  promises.push(request.post(requestOptions));
997
997
  }
998
998
  if (typeof isPublic !== 'undefined') {
999
- promises.push(aadGroup.setGroup(groupId, (isPublic === false), logger, verbose));
999
+ promises.push(entraGroup.setGroup(groupId, (isPublic === false), logger, verbose));
1000
1000
  }
1001
1001
  if (typeof owners !== 'undefined') {
1002
1002
  promises.push(spo.setGroupifiedSiteOwners(spoAdminUrl, groupId, owners, logger, verbose));
@@ -21,6 +21,10 @@ export const validation = {
21
21
  const guidRegEx = new RegExp(/^19:[0-9a-zA-Z-_]+(@thread\.v2|@unq\.gbl\.spaces)$/i);
22
22
  return guidRegEx.test(guid);
23
23
  },
24
+ isValidUserPrincipalNameArray(upns) {
25
+ const invalidGuid = upns.find(upn => !this.isValidUserPrincipalName(upn));
26
+ return invalidGuid || true;
27
+ },
24
28
  isValidUserPrincipalName(upn) {
25
29
  const upnRegEx = new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/i);
26
30
  // verify if the upn is a valid upn. @meusername will be replaced in a later stage with the actual username of the logged in user