@pnp/cli-microsoft365 7.5.0-beta.494c631 → 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 (204) hide show
  1. package/.devcontainer/Dockerfile +2 -2
  2. package/.eslintrc.cjs +6 -2
  3. package/.mocharc.json +3 -5
  4. package/Dockerfile +2 -5
  5. package/README.md +2 -2
  6. package/allCommands.json +1 -1
  7. package/allCommandsFull.json +1 -1
  8. package/dist/Command.js +1 -1
  9. package/dist/m365/app/commands/app-get.js +2 -2
  10. package/dist/m365/base/AppCommand.js +2 -2
  11. package/dist/m365/base/{YammerCommand.js → VivaEngageCommand.js} +2 -2
  12. package/dist/m365/cli/commands/cli-consent.js +5 -3
  13. package/dist/m365/entra/aadCommands.js +3 -0
  14. package/dist/m365/entra/commands/administrativeunit/administrativeunit-get.js +2 -2
  15. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-add.js +8 -8
  16. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-get.js +2 -2
  17. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-list.js +2 -2
  18. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-remove.js +153 -0
  19. package/dist/m365/entra/commands/administrativeunit/administrativeunit-remove.js +2 -2
  20. package/dist/m365/entra/commands/administrativeunit/administrativeunit-roleassignment-add.js +4 -4
  21. package/dist/m365/entra/commands/app/app-add.js +1 -1
  22. package/dist/m365/entra/commands/app/app-get.js +1 -1
  23. package/dist/m365/entra/commands/app/app-list.js +1 -1
  24. package/dist/m365/entra/commands/app/app-permission-add.js +4 -8
  25. package/dist/m365/entra/commands/app/app-permission-list.js +182 -0
  26. package/dist/m365/entra/commands/app/app-remove.js +1 -1
  27. package/dist/m365/entra/commands/app/app-role-add.js +1 -1
  28. package/dist/m365/entra/commands/app/app-role-list.js +1 -1
  29. package/dist/m365/entra/commands/app/app-role-remove.js +1 -1
  30. package/dist/m365/entra/commands/app/app-set.js +1 -1
  31. package/dist/m365/entra/commands/{sp/sp-add.js → enterpriseapp/enterpriseapp-add.js} +18 -18
  32. package/dist/m365/entra/commands/{sp/sp-get.js → enterpriseapp/enterpriseapp-get.js} +19 -19
  33. package/dist/m365/entra/commands/{sp/sp-list.js → enterpriseapp/enterpriseapp-list.js} +13 -13
  34. package/dist/m365/entra/commands/group/group-add.js +224 -0
  35. package/dist/m365/entra/commands/group/group-get.js +3 -3
  36. package/dist/m365/entra/commands/group/group-remove.js +2 -2
  37. package/dist/m365/entra/commands/group/group-user-add.js +145 -0
  38. package/dist/m365/entra/commands/group/group-user-list.js +2 -2
  39. package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +2 -2
  40. package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +3 -3
  41. package/dist/m365/entra/commands/m365group/m365group-get.js +3 -3
  42. package/dist/m365/entra/commands/m365group/m365group-remove.js +2 -2
  43. package/dist/m365/entra/commands/m365group/m365group-renew.js +2 -2
  44. package/dist/m365/entra/commands/m365group/m365group-report-activitygroupcounts.js +1 -1
  45. package/dist/m365/entra/commands/m365group/m365group-set.js +2 -2
  46. package/dist/m365/entra/commands/m365group/m365group-teamify.js +2 -2
  47. package/dist/m365/entra/commands/m365group/m365group-user-add.js +2 -2
  48. package/dist/m365/entra/commands/m365group/m365group-user-list.js +3 -3
  49. package/dist/m365/entra/commands/m365group/m365group-user-remove.js +2 -2
  50. package/dist/m365/entra/commands/m365group/m365group-user-set.js +2 -2
  51. package/dist/m365/entra/commands/user/user-get.js +38 -38
  52. package/dist/m365/entra/commands/user/user-registrationdetails-list.js +224 -0
  53. package/dist/m365/entra/commands.js +17 -0
  54. package/dist/m365/external/commands/connection/connection-doctor.js +2 -1
  55. package/dist/m365/file/commands/file-copy.js +151 -0
  56. package/dist/m365/file/commands.js +1 -0
  57. package/dist/m365/flow/commands/owner/owner-ensure.js +4 -4
  58. package/dist/m365/flow/commands/owner/owner-remove.js +4 -4
  59. package/dist/m365/onenote/commands/notebook/notebook-list.js +2 -2
  60. package/dist/m365/onenote/commands/page/page-list.js +2 -2
  61. package/dist/m365/pa/commands/app/app-owner-set.js +2 -2
  62. package/dist/m365/pa/commands/app/app-permission-ensure.js +4 -4
  63. package/dist/m365/pa/commands/app/app-permission-remove.js +4 -4
  64. package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
  65. package/dist/m365/planner/commands/bucket/bucket-get.js +2 -2
  66. package/dist/m365/planner/commands/bucket/bucket-list.js +2 -2
  67. package/dist/m365/planner/commands/bucket/bucket-remove.js +2 -2
  68. package/dist/m365/planner/commands/bucket/bucket-set.js +2 -2
  69. package/dist/m365/planner/commands/plan/plan-add.js +2 -2
  70. package/dist/m365/planner/commands/plan/plan-get.js +2 -2
  71. package/dist/m365/planner/commands/plan/plan-list.js +2 -2
  72. package/dist/m365/planner/commands/plan/plan-remove.js +2 -2
  73. package/dist/m365/planner/commands/plan/plan-set.js +2 -2
  74. package/dist/m365/planner/commands/roster/roster-member-add.js +2 -2
  75. package/dist/m365/planner/commands/roster/roster-member-get.js +2 -2
  76. package/dist/m365/planner/commands/roster/roster-member-remove.js +2 -2
  77. package/dist/m365/planner/commands/task/task-add.js +2 -2
  78. package/dist/m365/planner/commands/task/task-get.js +2 -2
  79. package/dist/m365/planner/commands/task/task-list.js +2 -2
  80. package/dist/m365/planner/commands/task/task-remove.js +2 -2
  81. package/dist/m365/planner/commands/task/task-set.js +2 -2
  82. package/dist/m365/spfx/commands/project/DeployWorkflow.js +4 -3
  83. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +1 -1
  84. package/dist/m365/spo/commands/group/group-member-add.js +4 -4
  85. package/dist/m365/spo/commands/group/group-member-remove.js +2 -2
  86. package/dist/m365/spo/commands/group/group-set.js +2 -2
  87. package/dist/m365/spo/commands/site/site-remove.js +2 -2
  88. package/dist/m365/spo/commands/site/site-set.js +2 -2
  89. package/dist/m365/spo/commands/user/user-ensure.js +2 -2
  90. package/dist/m365/teams/commands/app/app-install.js +2 -2
  91. package/dist/m365/teams/commands/channel/channel-get.js +2 -2
  92. package/dist/m365/teams/commands/channel/channel-list.js +2 -2
  93. package/dist/m365/teams/commands/channel/channel-member-add.js +2 -2
  94. package/dist/m365/teams/commands/channel/channel-member-list.js +2 -2
  95. package/dist/m365/teams/commands/channel/channel-member-remove.js +2 -2
  96. package/dist/m365/teams/commands/channel/channel-member-set.js +2 -2
  97. package/dist/m365/teams/commands/channel/channel-remove.js +2 -2
  98. package/dist/m365/teams/commands/channel/channel-set.js +2 -2
  99. package/dist/m365/teams/commands/meeting/meeting-add.js +2 -2
  100. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +2 -2
  101. package/dist/m365/teams/commands/meeting/meeting-get.js +3 -3
  102. package/dist/m365/teams/commands/meeting/meeting-list.js +2 -2
  103. package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +2 -2
  104. package/dist/m365/teams/commands/tab/tab-get.js +2 -2
  105. package/dist/m365/teams/commands/team/team-add.js +6 -6
  106. package/dist/m365/teams/commands/team/team-archive.js +2 -2
  107. package/dist/m365/teams/commands/team/team-get.js +2 -2
  108. package/dist/m365/teams/commands/team/team-remove.js +2 -2
  109. package/dist/m365/teams/commands/team/team-unarchive.js +2 -2
  110. package/dist/m365/{yammer/commands/group/group-list.js → viva/commands/engage/engage-group-list.js} +19 -14
  111. package/dist/m365/{yammer/commands/group/group-user-add.js → viva/commands/engage/engage-group-user-add.js} +19 -14
  112. package/dist/m365/{yammer/commands/group/group-user-remove.js → viva/commands/engage/engage-group-user-remove.js} +19 -14
  113. package/dist/m365/{yammer/commands/message/message-add.js → viva/commands/engage/engage-message-add.js} +19 -14
  114. package/dist/m365/{yammer/commands/message/message-get.js → viva/commands/engage/engage-message-get.js} +17 -12
  115. package/dist/m365/{yammer/commands/message/message-like-set.js → viva/commands/engage/engage-message-like-set.js} +21 -16
  116. package/dist/m365/{yammer/commands/message/message-list.js → viva/commands/engage/engage-message-list.js} +21 -16
  117. package/dist/m365/{yammer/commands/message/message-remove.js → viva/commands/engage/engage-message-remove.js} +20 -15
  118. package/dist/m365/{yammer/commands/network/network-list.js → viva/commands/engage/engage-network-list.js} +16 -11
  119. package/dist/m365/viva/commands/engage/engage-report-activitycounts.js +23 -0
  120. package/dist/m365/viva/commands/engage/engage-report-activityusercounts.js +23 -0
  121. package/dist/m365/viva/commands/engage/engage-report-activityuserdetail.js +23 -0
  122. package/dist/m365/viva/commands/engage/engage-report-deviceusagedistributionusercounts.js +23 -0
  123. package/dist/m365/viva/commands/engage/engage-report-deviceusageusercounts.js +23 -0
  124. package/dist/m365/viva/commands/engage/engage-report-deviceusageuserdetail.js +23 -0
  125. package/dist/m365/viva/commands/engage/engage-report-groupsactivitycounts.js +23 -0
  126. package/dist/m365/viva/commands/engage/engage-report-groupsactivitydetail.js +23 -0
  127. package/dist/m365/viva/commands/engage/engage-report-groupsactivitygroupcounts.js +23 -0
  128. package/dist/m365/{yammer/commands/yammer-search.js → viva/commands/engage/engage-search.js} +23 -18
  129. package/dist/m365/{yammer/commands/user/user-get.js → viva/commands/engage/engage-user-get.js} +18 -13
  130. package/dist/m365/{yammer/commands/user/user-list.js → viva/commands/engage/engage-user-list.js} +18 -13
  131. package/dist/m365/{yammer/commands.js → viva/commands/engage/yammerCommands.js} +1 -1
  132. package/dist/m365/viva/commands.js +22 -1
  133. package/dist/utils/{aadAdministrativeUnit.js → entraAdministrativeUnit.js} +2 -2
  134. package/dist/utils/{aadDevice.js → entraDevice.js} +2 -2
  135. package/dist/utils/{aadGroup.js → entraGroup.js} +2 -2
  136. package/dist/utils/{aadUser.js → entraUser.js} +38 -2
  137. package/dist/utils/spo.js +24 -2
  138. package/dist/utils/urlUtil.js +31 -0
  139. package/dist/utils/validation.js +8 -0
  140. package/docs/docs/cmd/cli/cli-consent.mdx +9 -9
  141. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-add.mdx +5 -3
  142. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-remove.mdx +107 -0
  143. package/docs/docs/cmd/entra/app/app-add.mdx +2 -1
  144. package/docs/docs/cmd/entra/app/app-get.mdx +1 -0
  145. package/docs/docs/cmd/entra/app/app-list.mdx +1 -0
  146. package/docs/docs/cmd/entra/app/app-permission-add.mdx +3 -2
  147. package/docs/docs/cmd/entra/app/app-permission-list.mdx +105 -0
  148. package/docs/docs/cmd/entra/app/app-remove.mdx +1 -0
  149. package/docs/docs/cmd/entra/app/app-role-add.mdx +1 -0
  150. package/docs/docs/cmd/entra/app/app-role-list.mdx +1 -0
  151. package/docs/docs/cmd/entra/app/app-role-remove.mdx +1 -0
  152. package/docs/docs/cmd/entra/app/app-set.mdx +1 -0
  153. package/docs/docs/cmd/entra/{sp/sp-add.mdx → enterpriseapp/enterpriseapp-add.mdx} +16 -15
  154. package/docs/docs/cmd/entra/{sp/sp-get.mdx → enterpriseapp/enterpriseapp-get.mdx} +15 -14
  155. package/docs/docs/cmd/entra/{sp/sp-list.mdx → enterpriseapp/enterpriseapp-list.mdx} +22 -21
  156. package/docs/docs/cmd/entra/group/group-add.mdx +231 -0
  157. package/docs/docs/cmd/entra/group/group-user-add.mdx +62 -0
  158. package/docs/docs/cmd/entra/m365group/m365group-report-activitygroupcounts.mdx +1 -1
  159. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-add.mdx +3 -3
  160. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-list.mdx +1 -1
  161. package/docs/docs/cmd/entra/user/user-registrationdetails-list.mdx +246 -0
  162. package/docs/docs/cmd/external/item/item-add.mdx +1 -1
  163. package/docs/docs/cmd/file/convert/convert-pdf.mdx +4 -0
  164. package/docs/docs/cmd/file/file-add.mdx +4 -0
  165. package/docs/docs/cmd/file/file-copy.mdx +68 -0
  166. package/docs/docs/cmd/file/file-list.mdx +100 -0
  167. package/docs/docs/cmd/setup.mdx +4 -0
  168. package/docs/docs/cmd/spo/list/list-webhook-set.mdx +1 -1
  169. package/docs/docs/cmd/spo/listitem/listitem-list.mdx +1 -1
  170. package/docs/docs/cmd/spo/theme/theme-set.mdx +14 -2
  171. package/docs/docs/cmd/{yammer/group/group-list.mdx → viva/engage/engage-group-list.mdx} +13 -13
  172. package/docs/docs/cmd/{yammer/group/group-user-add.mdx → viva/engage/engage-group-user-add.mdx} +7 -7
  173. package/docs/docs/cmd/{yammer/group/group-user-remove.mdx → viva/engage/engage-group-user-remove.mdx} +10 -10
  174. package/docs/docs/cmd/{yammer/message/message-add.mdx → viva/engage/engage-message-add.mdx} +12 -13
  175. package/docs/docs/cmd/{yammer/message/message-get.mdx → viva/engage/engage-message-get.mdx} +10 -10
  176. package/docs/docs/cmd/{yammer/message/message-like-set.mdx → viva/engage/engage-message-like-set.mdx} +10 -10
  177. package/docs/docs/cmd/{yammer/message/message-list.mdx → viva/engage/engage-message-list.mdx} +21 -21
  178. package/docs/docs/cmd/{yammer/message/message-remove.mdx → viva/engage/engage-message-remove.mdx} +10 -10
  179. package/docs/docs/cmd/{yammer/network/network-list.mdx → viva/engage/engage-network-list.mdx} +6 -6
  180. package/docs/docs/cmd/{yammer/report/report-activitycounts.mdx → viva/engage/engage-report-activitycounts.mdx} +9 -9
  181. package/docs/docs/cmd/{yammer/report/report-activityusercounts.mdx → viva/engage/engage-report-activityusercounts.mdx} +9 -9
  182. package/docs/docs/cmd/{yammer/report/report-activityuserdetail.mdx → viva/engage/engage-report-activityuserdetail.mdx} +11 -12
  183. package/docs/docs/cmd/{yammer/report/report-deviceusagedistributionusercounts.mdx → viva/engage/engage-report-deviceusagedistributionusercounts.mdx} +5 -5
  184. package/docs/docs/cmd/{yammer/report/report-deviceusageusercounts.mdx → viva/engage/engage-report-deviceusageusercounts.mdx} +5 -5
  185. package/docs/docs/cmd/{yammer/report/report-deviceusageuserdetail.mdx → viva/engage/engage-report-deviceusageuserdetail.mdx} +11 -11
  186. package/docs/docs/cmd/{yammer/report/report-groupsactivitycounts.mdx → viva/engage/engage-report-groupsactivitycounts.mdx} +9 -9
  187. package/docs/docs/cmd/{yammer/report/report-groupsactivitydetail.mdx → viva/engage/engage-report-groupsactivitydetail.mdx} +11 -11
  188. package/docs/docs/cmd/{yammer/report/report-groupsactivitygroupcounts.mdx → viva/engage/engage-report-groupsactivitygroupcounts.mdx} +5 -5
  189. package/docs/docs/cmd/{yammer/yammer-search.mdx → viva/engage/engage-search.mdx} +10 -10
  190. package/docs/docs/cmd/{yammer/user/user-get.mdx → viva/engage/engage-user-get.mdx} +8 -8
  191. package/docs/docs/cmd/{yammer/user/user-list.mdx → viva/engage/engage-user-list.mdx} +11 -11
  192. package/npm-shrinkwrap.json +228 -166
  193. package/package.json +20 -19
  194. package/dist/m365/base/AzmgmtCommand.js +0 -18
  195. package/dist/m365/base/AzmgmtItemsListCommand.js +0 -41
  196. package/dist/m365/yammer/commands/report/report-activitycounts.js +0 -15
  197. package/dist/m365/yammer/commands/report/report-activityusercounts.js +0 -15
  198. package/dist/m365/yammer/commands/report/report-activityuserdetail.js +0 -15
  199. package/dist/m365/yammer/commands/report/report-deviceusagedistributionusercounts.js +0 -15
  200. package/dist/m365/yammer/commands/report/report-deviceusageusercounts.js +0 -15
  201. package/dist/m365/yammer/commands/report/report-deviceusageuserdetail.js +0 -15
  202. package/dist/m365/yammer/commands/report/report-groupsactivitycounts.js +0 -15
  203. package/dist/m365/yammer/commands/report/report-groupsactivitydetail.js +0 -15
  204. package/dist/m365/yammer/commands/report/report-groupsactivitygroupcounts.js +0 -15
@@ -0,0 +1,182 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _EntraAppPermissionListCommand_instances, _EntraAppPermissionListCommand_initTelemetry, _EntraAppPermissionListCommand_initOptions, _EntraAppPermissionListCommand_initValidators, _EntraAppPermissionListCommand_initOptionSets;
7
+ import GraphCommand from "../../../base/GraphCommand.js";
8
+ import commands from "../../commands.js";
9
+ import request from "../../../../request.js";
10
+ import { validation } from "../../../../utils/validation.js";
11
+ import { formatting } from "../../../../utils/formatting.js";
12
+ class EntraAppPermissionListCommand extends GraphCommand {
13
+ get name() {
14
+ return commands.APP_PERMISSION_LIST;
15
+ }
16
+ get description() {
17
+ return 'Lists the application and delegated permissions for a specified Entra Application Registration';
18
+ }
19
+ constructor() {
20
+ super();
21
+ _EntraAppPermissionListCommand_instances.add(this);
22
+ this.allowedTypes = ['delegated', 'application', 'all'];
23
+ __classPrivateFieldGet(this, _EntraAppPermissionListCommand_instances, "m", _EntraAppPermissionListCommand_initTelemetry).call(this);
24
+ __classPrivateFieldGet(this, _EntraAppPermissionListCommand_instances, "m", _EntraAppPermissionListCommand_initOptions).call(this);
25
+ __classPrivateFieldGet(this, _EntraAppPermissionListCommand_instances, "m", _EntraAppPermissionListCommand_initValidators).call(this);
26
+ __classPrivateFieldGet(this, _EntraAppPermissionListCommand_instances, "m", _EntraAppPermissionListCommand_initOptionSets).call(this);
27
+ }
28
+ async commandAction(logger, args) {
29
+ try {
30
+ const appObjectId = await this.getAppObjectId(args.options);
31
+ const type = args.options.type ?? 'all';
32
+ const permissions = await this.getAppRegPermissions(appObjectId, type, logger);
33
+ await logger.log(permissions);
34
+ }
35
+ catch (err) {
36
+ this.handleRejectedODataJsonPromise(err);
37
+ }
38
+ }
39
+ async getAppObjectId(options) {
40
+ if (options.appObjectId) {
41
+ return options.appObjectId;
42
+ }
43
+ const requestOptions = {
44
+ url: `${this.resource}/v1.0/myorganization/applications?$filter=appId eq '${formatting.encodeQueryParameter(options.appId)}'&$select=id`,
45
+ headers: {
46
+ accept: 'application/json;odata.metadata=none'
47
+ },
48
+ responseType: 'json'
49
+ };
50
+ const res = await request.get(requestOptions);
51
+ if (res.value.length === 0) {
52
+ throw `No Azure AD application registration with ID ${options.appId} found`;
53
+ }
54
+ return res.value[0].id;
55
+ }
56
+ async getAppRegPermissions(appObjectId, permissionType, logger) {
57
+ const requestOptions = {
58
+ url: `${this.resource}/v1.0/myorganization/applications/${appObjectId}`,
59
+ headers: {
60
+ accept: 'application/json;odata.metadata=none'
61
+ },
62
+ responseType: 'json'
63
+ };
64
+ const application = await request.get(requestOptions);
65
+ const requiredResourceAccess = application.requiredResourceAccess;
66
+ if (requiredResourceAccess.length === 0) {
67
+ return [];
68
+ }
69
+ const servicePrincipalsToResolve = requiredResourceAccess.map(resourceAccess => {
70
+ return {
71
+ appId: resourceAccess.resourceAppId
72
+ };
73
+ });
74
+ const servicePrincipals = await Promise
75
+ .all(servicePrincipalsToResolve.map(servicePrincipalInfo => this.getServicePrincipal(servicePrincipalInfo, permissionType, logger)));
76
+ const apiPermissions = [];
77
+ requiredResourceAccess.forEach(requiredResourceAccess => {
78
+ const servicePrincipal = servicePrincipals
79
+ .find(servicePrincipal => servicePrincipal?.appId === requiredResourceAccess.resourceAppId);
80
+ const resourceName = servicePrincipal?.displayName ?? requiredResourceAccess.resourceAppId;
81
+ requiredResourceAccess.resourceAccess.forEach(permission => {
82
+ if (permissionType === 'application' && permission.type === 'Scope') {
83
+ return;
84
+ }
85
+ if (permissionType === 'delegated' && permission.type === 'Role') {
86
+ return;
87
+ }
88
+ apiPermissions.push({
89
+ resource: resourceName,
90
+ resourceId: requiredResourceAccess.resourceAppId,
91
+ permission: this.getPermissionName(permission.id, permission.type, servicePrincipal),
92
+ type: permission.type === 'Role' ? 'Application' : 'Delegated'
93
+ });
94
+ });
95
+ });
96
+ return apiPermissions;
97
+ }
98
+ getPermissionName(permissionId, permissionType, servicePrincipal) {
99
+ if (!servicePrincipal) {
100
+ return permissionId;
101
+ }
102
+ if (permissionType === 'Role') {
103
+ return servicePrincipal.appRoles
104
+ .find(appRole => appRole.id === permissionId)?.value ?? permissionId;
105
+ }
106
+ // permissionType === 'Scope'
107
+ return servicePrincipal.oauth2PermissionScopes
108
+ .find(permissionScope => permissionScope.id === permissionId)?.value ?? permissionId;
109
+ }
110
+ async getServicePrincipal(servicePrincipalInfo, permissionType, logger) {
111
+ if (this.verbose) {
112
+ await logger.logToStderr(`Retrieving service principal ${servicePrincipalInfo.appId}`);
113
+ }
114
+ const requestOptions = {
115
+ url: `${this.resource}/v1.0/servicePrincipals?$filter=appId eq '${servicePrincipalInfo.appId}'&$select=appId,id,displayName`,
116
+ headers: {
117
+ accept: 'application/json;odata.metadata=none'
118
+ },
119
+ responseType: 'json'
120
+ };
121
+ const response = await request.get(requestOptions);
122
+ if (servicePrincipalInfo.appId && response.value.length === 0) {
123
+ return null;
124
+ }
125
+ const servicePrincipal = response.value[0];
126
+ if (this.verbose) {
127
+ await logger.logToStderr(`Retrieving permissions for service principal ${servicePrincipal.id}...`);
128
+ }
129
+ const oauth2PermissionScopesRequestOptions = {
130
+ url: `${this.resource}/v1.0/servicePrincipals/${servicePrincipal.id}/oauth2PermissionScopes`,
131
+ headers: {
132
+ accept: 'application/json;odata.metadata=none'
133
+ },
134
+ responseType: 'json'
135
+ };
136
+ const appRolesRequestOptions = {
137
+ url: `${this.resource}/v1.0/servicePrincipals/${servicePrincipal.id}/appRoles`,
138
+ headers: {
139
+ accept: 'application/json;odata.metadata=none'
140
+ },
141
+ responseType: 'json'
142
+ };
143
+ let permissions;
144
+ if (permissionType === 'all' || permissionType === 'delegated') {
145
+ permissions = await request.get(oauth2PermissionScopesRequestOptions);
146
+ servicePrincipal.oauth2PermissionScopes = permissions.value;
147
+ }
148
+ if (permissionType === 'all' || permissionType === 'application') {
149
+ permissions = await request.get(appRolesRequestOptions);
150
+ servicePrincipal.appRoles = permissions.value;
151
+ }
152
+ return servicePrincipal;
153
+ }
154
+ }
155
+ _EntraAppPermissionListCommand_instances = new WeakSet(), _EntraAppPermissionListCommand_initTelemetry = function _EntraAppPermissionListCommand_initTelemetry() {
156
+ this.telemetry.push((args) => {
157
+ Object.assign(this.telemetryProperties, {
158
+ appId: typeof args.options.appId !== 'undefined',
159
+ appObjectId: typeof args.options.appObjectId !== 'undefined',
160
+ type: typeof args.options.type !== 'undefined'
161
+ });
162
+ });
163
+ }, _EntraAppPermissionListCommand_initOptions = function _EntraAppPermissionListCommand_initOptions() {
164
+ this.options.unshift({ option: '-i, --appId [appId]' }, { option: '--appObjectId [appObjectId]' }, { option: '--type [type]', autocomplete: this.allowedTypes });
165
+ }, _EntraAppPermissionListCommand_initValidators = function _EntraAppPermissionListCommand_initValidators() {
166
+ this.validators.push(async (args) => {
167
+ if (args.options.appId && !validation.isValidGuid(args.options.appId)) {
168
+ return `${args.options.appId} is not a valid GUID`;
169
+ }
170
+ if (args.options.appObjectId && !validation.isValidGuid(args.options.appObjectId)) {
171
+ return `${args.options.appObjectId} is not a valid GUID`;
172
+ }
173
+ if (args.options.type && this.allowedTypes.indexOf(args.options.type.toLowerCase()) === -1) {
174
+ return `${args.options.type} is not a valid type. Allowed types are ${this.allowedTypes.join(', ')}`;
175
+ }
176
+ return true;
177
+ });
178
+ }, _EntraAppPermissionListCommand_initOptionSets = function _EntraAppPermissionListCommand_initOptionSets() {
179
+ this.optionSets.push({ options: ['appId', 'appObjectId'] });
180
+ };
181
+ export default new EntraAppPermissionListCommand();
182
+ //# sourceMappingURL=app-permission-list.js.map
@@ -19,7 +19,7 @@ class EntraAppRemoveCommand extends GraphCommand {
19
19
  return 'Removes an Entra app registration';
20
20
  }
21
21
  alias() {
22
- return [aadCommands.APP_REMOVE];
22
+ return [aadCommands.APP_REMOVE, commands.APPREGISTRATION_REMOVE];
23
23
  }
24
24
  constructor() {
25
25
  super();
@@ -19,7 +19,7 @@ class EntraAppRoleAddCommand extends GraphCommand {
19
19
  return 'Adds role to the specified Entra app registration';
20
20
  }
21
21
  alias() {
22
- return [aadCommands.APP_ROLE_ADD];
22
+ return [aadCommands.APP_ROLE_ADD, commands.APPREGISTRATION_ROLE_ADD];
23
23
  }
24
24
  constructor() {
25
25
  super();
@@ -19,7 +19,7 @@ class EntraAppRoleListCommand extends GraphCommand {
19
19
  return 'Gets Entra app registration roles';
20
20
  }
21
21
  alias() {
22
- return [aadCommands.APP_ROLE_LIST];
22
+ return [aadCommands.APP_ROLE_LIST, commands.APPREGISTRATION_ROLE_LIST];
23
23
  }
24
24
  constructor() {
25
25
  super();
@@ -19,7 +19,7 @@ class EntraAppRoleRemoveCommand extends GraphCommand {
19
19
  return 'Removes role from the specified Entra app registration';
20
20
  }
21
21
  alias() {
22
- return [aadCommands.APP_ROLE_REMOVE];
22
+ return [aadCommands.APP_ROLE_REMOVE, commands.APPREGISTRATION_ROLE_REMOVE];
23
23
  }
24
24
  constructor() {
25
25
  super();
@@ -19,7 +19,7 @@ class EntraAppSetCommand extends GraphCommand {
19
19
  return 'Updates Entra app registration';
20
20
  }
21
21
  alias() {
22
- return [aadCommands.APP_SET];
22
+ return [aadCommands.APP_SET, commands.APPREGISTRATION_SET];
23
23
  }
24
24
  constructor() {
25
25
  super();
@@ -3,7 +3,7 @@ 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 _EntraSpAddCommand_instances, _EntraSpAddCommand_initTelemetry, _EntraSpAddCommand_initOptions, _EntraSpAddCommand_initValidators, _EntraSpAddCommand_initOptionSets;
6
+ var _EntraEnterpriseAppAddCommand_instances, _EntraEnterpriseAppAddCommand_initTelemetry, _EntraEnterpriseAppAddCommand_initOptions, _EntraEnterpriseAppAddCommand_initValidators, _EntraEnterpriseAppAddCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
8
  import { formatting } from '../../../../utils/formatting.js';
9
9
  import { validation } from '../../../../utils/validation.js';
@@ -11,23 +11,23 @@ import GraphCommand from '../../../base/GraphCommand.js';
11
11
  import commands from '../../commands.js';
12
12
  import { cli } from '../../../../cli/cli.js';
13
13
  import aadCommands from '../../aadCommands.js';
14
- class EntraSpAddCommand extends GraphCommand {
14
+ class EntraEnterpriseAppAddCommand extends GraphCommand {
15
15
  get name() {
16
- return commands.SP_ADD;
16
+ return commands.ENTERPRISEAPP_ADD;
17
17
  }
18
18
  get description() {
19
- return 'Adds a service principal to a registered Entra app';
19
+ return 'Creates an enterprise application (or service principal) for a registered Entra app';
20
20
  }
21
21
  alias() {
22
- return [aadCommands.SP_ADD];
22
+ return [aadCommands.SP_ADD, commands.SP_ADD];
23
23
  }
24
24
  constructor() {
25
25
  super();
26
- _EntraSpAddCommand_instances.add(this);
27
- __classPrivateFieldGet(this, _EntraSpAddCommand_instances, "m", _EntraSpAddCommand_initTelemetry).call(this);
28
- __classPrivateFieldGet(this, _EntraSpAddCommand_instances, "m", _EntraSpAddCommand_initOptions).call(this);
29
- __classPrivateFieldGet(this, _EntraSpAddCommand_instances, "m", _EntraSpAddCommand_initValidators).call(this);
30
- __classPrivateFieldGet(this, _EntraSpAddCommand_instances, "m", _EntraSpAddCommand_initOptionSets).call(this);
26
+ _EntraEnterpriseAppAddCommand_instances.add(this);
27
+ __classPrivateFieldGet(this, _EntraEnterpriseAppAddCommand_instances, "m", _EntraEnterpriseAppAddCommand_initTelemetry).call(this);
28
+ __classPrivateFieldGet(this, _EntraEnterpriseAppAddCommand_instances, "m", _EntraEnterpriseAppAddCommand_initOptions).call(this);
29
+ __classPrivateFieldGet(this, _EntraEnterpriseAppAddCommand_instances, "m", _EntraEnterpriseAppAddCommand_initValidators).call(this);
30
+ __classPrivateFieldGet(this, _EntraEnterpriseAppAddCommand_instances, "m", _EntraEnterpriseAppAddCommand_initOptionSets).call(this);
31
31
  }
32
32
  async getAppId(args) {
33
33
  if (args.options.appId) {
@@ -50,11 +50,11 @@ class EntraSpAddCommand extends GraphCommand {
50
50
  const response = await request.get(appIdRequestOptions);
51
51
  const spItem = response.value[0];
52
52
  if (!spItem) {
53
- throw `The specified Azure AD app doesn't exist`;
53
+ throw `The specified Entra app doesn't exist`;
54
54
  }
55
55
  if (response.value.length > 1) {
56
56
  const resultAsKeyValuePair = formatting.convertArrayToHashTable('appId', response.value);
57
- const result = await cli.handleMultipleResultsFound(`Multiple Azure AD apps with name '${args.options.appName}' found.`, resultAsKeyValuePair);
57
+ const result = await cli.handleMultipleResultsFound(`Multiple Entra apps with name '${args.options.appName}' found.`, resultAsKeyValuePair);
58
58
  return result.appId;
59
59
  }
60
60
  return spItem.appId;
@@ -81,7 +81,7 @@ class EntraSpAddCommand extends GraphCommand {
81
81
  }
82
82
  }
83
83
  }
84
- _EntraSpAddCommand_instances = new WeakSet(), _EntraSpAddCommand_initTelemetry = function _EntraSpAddCommand_initTelemetry() {
84
+ _EntraEnterpriseAppAddCommand_instances = new WeakSet(), _EntraEnterpriseAppAddCommand_initTelemetry = function _EntraEnterpriseAppAddCommand_initTelemetry() {
85
85
  this.telemetry.push((args) => {
86
86
  Object.assign(this.telemetryProperties, {
87
87
  appId: (!(!args.options.appId)).toString(),
@@ -89,7 +89,7 @@ _EntraSpAddCommand_instances = new WeakSet(), _EntraSpAddCommand_initTelemetry =
89
89
  objectId: (!(!args.options.objectId)).toString()
90
90
  });
91
91
  });
92
- }, _EntraSpAddCommand_initOptions = function _EntraSpAddCommand_initOptions() {
92
+ }, _EntraEnterpriseAppAddCommand_initOptions = function _EntraEnterpriseAppAddCommand_initOptions() {
93
93
  this.options.unshift({
94
94
  option: '--appId [appId]'
95
95
  }, {
@@ -97,7 +97,7 @@ _EntraSpAddCommand_instances = new WeakSet(), _EntraSpAddCommand_initTelemetry =
97
97
  }, {
98
98
  option: '--objectId [objectId]'
99
99
  });
100
- }, _EntraSpAddCommand_initValidators = function _EntraSpAddCommand_initValidators() {
100
+ }, _EntraEnterpriseAppAddCommand_initValidators = function _EntraEnterpriseAppAddCommand_initValidators() {
101
101
  this.validators.push(async (args) => {
102
102
  if (args.options.appId && !validation.isValidGuid(args.options.appId)) {
103
103
  return `${args.options.appId} is not a valid appId GUID`;
@@ -107,8 +107,8 @@ _EntraSpAddCommand_instances = new WeakSet(), _EntraSpAddCommand_initTelemetry =
107
107
  }
108
108
  return true;
109
109
  });
110
- }, _EntraSpAddCommand_initOptionSets = function _EntraSpAddCommand_initOptionSets() {
110
+ }, _EntraEnterpriseAppAddCommand_initOptionSets = function _EntraEnterpriseAppAddCommand_initOptionSets() {
111
111
  this.optionSets.push({ options: ['appId', 'appName', 'objectId'] });
112
112
  };
113
- export default new EntraSpAddCommand();
114
- //# sourceMappingURL=sp-add.js.map
113
+ export default new EntraEnterpriseAppAddCommand();
114
+ //# sourceMappingURL=enterpriseapp-add.js.map
@@ -3,7 +3,7 @@ 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 _EntraSpGetCommand_instances, _EntraSpGetCommand_initTelemetry, _EntraSpGetCommand_initOptions, _EntraSpGetCommand_initValidators, _EntraSpGetCommand_initOptionSets;
6
+ var _EntraEnterpriseAppGetCommand_instances, _EntraEnterpriseAppGetCommand_initTelemetry, _EntraEnterpriseAppGetCommand_initOptions, _EntraEnterpriseAppGetCommand_initValidators, _EntraEnterpriseAppGetCommand_initOptionSets;
7
7
  import { cli } from '../../../../cli/cli.js';
8
8
  import request from '../../../../request.js';
9
9
  import { formatting } from '../../../../utils/formatting.js';
@@ -11,23 +11,23 @@ import { validation } from '../../../../utils/validation.js';
11
11
  import GraphCommand from '../../../base/GraphCommand.js';
12
12
  import aadCommands from '../../aadCommands.js';
13
13
  import commands from '../../commands.js';
14
- class EntraSpGetCommand extends GraphCommand {
14
+ class EntraEnterpriseAppGetCommand extends GraphCommand {
15
15
  get name() {
16
- return commands.SP_GET;
16
+ return commands.ENTERPRISEAPP_GET;
17
17
  }
18
18
  get description() {
19
- return 'Gets information about the specific service principal';
19
+ return 'Gets information about an Enterprise Application';
20
20
  }
21
21
  alias() {
22
- return [aadCommands.SP_GET];
22
+ return [aadCommands.SP_GET, commands.SP_GET];
23
23
  }
24
24
  constructor() {
25
25
  super();
26
- _EntraSpGetCommand_instances.add(this);
27
- __classPrivateFieldGet(this, _EntraSpGetCommand_instances, "m", _EntraSpGetCommand_initTelemetry).call(this);
28
- __classPrivateFieldGet(this, _EntraSpGetCommand_instances, "m", _EntraSpGetCommand_initOptions).call(this);
29
- __classPrivateFieldGet(this, _EntraSpGetCommand_instances, "m", _EntraSpGetCommand_initValidators).call(this);
30
- __classPrivateFieldGet(this, _EntraSpGetCommand_instances, "m", _EntraSpGetCommand_initOptionSets).call(this);
26
+ _EntraEnterpriseAppGetCommand_instances.add(this);
27
+ __classPrivateFieldGet(this, _EntraEnterpriseAppGetCommand_instances, "m", _EntraEnterpriseAppGetCommand_initTelemetry).call(this);
28
+ __classPrivateFieldGet(this, _EntraEnterpriseAppGetCommand_instances, "m", _EntraEnterpriseAppGetCommand_initOptions).call(this);
29
+ __classPrivateFieldGet(this, _EntraEnterpriseAppGetCommand_instances, "m", _EntraEnterpriseAppGetCommand_initValidators).call(this);
30
+ __classPrivateFieldGet(this, _EntraEnterpriseAppGetCommand_instances, "m", _EntraEnterpriseAppGetCommand_initOptionSets).call(this);
31
31
  }
32
32
  async getSpId(args) {
33
33
  if (args.options.appObjectId) {
@@ -50,18 +50,18 @@ class EntraSpGetCommand extends GraphCommand {
50
50
  const response = await request.get(idRequestOptions);
51
51
  const spItem = response.value[0];
52
52
  if (!spItem) {
53
- throw `The specified Azure AD app does not exist`;
53
+ throw `The specified Entra app does not exist`;
54
54
  }
55
55
  if (response.value.length > 1) {
56
56
  const resultAsKeyValuePair = formatting.convertArrayToHashTable('id', response.value);
57
- const result = await cli.handleMultipleResultsFound(`Multiple Azure AD apps with name '${args.options.appDisplayName}' found.`, resultAsKeyValuePair);
57
+ const result = await cli.handleMultipleResultsFound(`Multiple Entra apps with name '${args.options.appDisplayName}' found.`, resultAsKeyValuePair);
58
58
  return result.id;
59
59
  }
60
60
  return spItem.id;
61
61
  }
62
62
  async commandAction(logger, args) {
63
63
  if (this.verbose) {
64
- await logger.logToStderr(`Retrieving service principal information...`);
64
+ await logger.logToStderr(`Retrieving enterprise application information...`);
65
65
  }
66
66
  try {
67
67
  const id = await this.getSpId(args);
@@ -81,7 +81,7 @@ class EntraSpGetCommand extends GraphCommand {
81
81
  }
82
82
  }
83
83
  }
84
- _EntraSpGetCommand_instances = new WeakSet(), _EntraSpGetCommand_initTelemetry = function _EntraSpGetCommand_initTelemetry() {
84
+ _EntraEnterpriseAppGetCommand_instances = new WeakSet(), _EntraEnterpriseAppGetCommand_initTelemetry = function _EntraEnterpriseAppGetCommand_initTelemetry() {
85
85
  this.telemetry.push((args) => {
86
86
  Object.assign(this.telemetryProperties, {
87
87
  appId: (!(!args.options.appId)).toString(),
@@ -89,7 +89,7 @@ _EntraSpGetCommand_instances = new WeakSet(), _EntraSpGetCommand_initTelemetry =
89
89
  appObjectId: (!(!args.options.appObjectId)).toString()
90
90
  });
91
91
  });
92
- }, _EntraSpGetCommand_initOptions = function _EntraSpGetCommand_initOptions() {
92
+ }, _EntraEnterpriseAppGetCommand_initOptions = function _EntraEnterpriseAppGetCommand_initOptions() {
93
93
  this.options.unshift({
94
94
  option: '-i, --appId [appId]'
95
95
  }, {
@@ -97,7 +97,7 @@ _EntraSpGetCommand_instances = new WeakSet(), _EntraSpGetCommand_initTelemetry =
97
97
  }, {
98
98
  option: '--appObjectId [appObjectId]'
99
99
  });
100
- }, _EntraSpGetCommand_initValidators = function _EntraSpGetCommand_initValidators() {
100
+ }, _EntraEnterpriseAppGetCommand_initValidators = function _EntraEnterpriseAppGetCommand_initValidators() {
101
101
  this.validators.push(async (args) => {
102
102
  if (args.options.appId && !validation.isValidGuid(args.options.appId)) {
103
103
  return `${args.options.appId} is not a valid appId GUID`;
@@ -107,8 +107,8 @@ _EntraSpGetCommand_instances = new WeakSet(), _EntraSpGetCommand_initTelemetry =
107
107
  }
108
108
  return true;
109
109
  });
110
- }, _EntraSpGetCommand_initOptionSets = function _EntraSpGetCommand_initOptionSets() {
110
+ }, _EntraEnterpriseAppGetCommand_initOptionSets = function _EntraEnterpriseAppGetCommand_initOptionSets() {
111
111
  this.optionSets.push({ options: ['appId', 'appDisplayName', 'appObjectId'] });
112
112
  };
113
- export default new EntraSpGetCommand();
114
- //# sourceMappingURL=sp-get.js.map
113
+ export default new EntraEnterpriseAppGetCommand();
114
+ //# sourceMappingURL=enterpriseapp-get.js.map
@@ -3,33 +3,33 @@ 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 _EntraSpListCommand_instances, _EntraSpListCommand_initTelemetry, _EntraSpListCommand_initOptions;
6
+ var _EntraEnterpriseAppListCommand_instances, _EntraEnterpriseAppListCommand_initTelemetry, _EntraEnterpriseAppListCommand_initOptions;
7
7
  import { odata } from '../../../../utils/odata.js';
8
8
  import GraphCommand from '../../../base/GraphCommand.js';
9
9
  import aadCommands from '../../aadCommands.js';
10
10
  import commands from '../../commands.js';
11
- class EntraSpListCommand extends GraphCommand {
11
+ class EntraEnterpriseAppListCommand extends GraphCommand {
12
12
  get name() {
13
- return commands.SP_LIST;
13
+ return commands.ENTERPRISEAPP_LIST;
14
14
  }
15
15
  defaultProperties() {
16
16
  return ['appId', 'displayName', 'tag'];
17
17
  }
18
18
  get description() {
19
- return 'Lists the service principals in the directory';
19
+ return 'Lists the enterprise applications (or service principals) in Entra ID';
20
20
  }
21
21
  alias() {
22
- return [aadCommands.SP_LIST];
22
+ return [aadCommands.SP_LIST, commands.SP_LIST];
23
23
  }
24
24
  constructor() {
25
25
  super();
26
- _EntraSpListCommand_instances.add(this);
27
- __classPrivateFieldGet(this, _EntraSpListCommand_instances, "m", _EntraSpListCommand_initTelemetry).call(this);
28
- __classPrivateFieldGet(this, _EntraSpListCommand_instances, "m", _EntraSpListCommand_initOptions).call(this);
26
+ _EntraEnterpriseAppListCommand_instances.add(this);
27
+ __classPrivateFieldGet(this, _EntraEnterpriseAppListCommand_instances, "m", _EntraEnterpriseAppListCommand_initTelemetry).call(this);
28
+ __classPrivateFieldGet(this, _EntraEnterpriseAppListCommand_instances, "m", _EntraEnterpriseAppListCommand_initOptions).call(this);
29
29
  }
30
30
  async commandAction(logger, args) {
31
31
  if (this.verbose) {
32
- await logger.logToStderr(`Retrieving service principal information...`);
32
+ await logger.logToStderr(`Retrieving enterprise application information...`);
33
33
  }
34
34
  try {
35
35
  let requestUrl = `${this.resource}/v1.0/servicePrincipals`;
@@ -51,19 +51,19 @@ class EntraSpListCommand extends GraphCommand {
51
51
  }
52
52
  }
53
53
  }
54
- _EntraSpListCommand_instances = new WeakSet(), _EntraSpListCommand_initTelemetry = function _EntraSpListCommand_initTelemetry() {
54
+ _EntraEnterpriseAppListCommand_instances = new WeakSet(), _EntraEnterpriseAppListCommand_initTelemetry = function _EntraEnterpriseAppListCommand_initTelemetry() {
55
55
  this.telemetry.push((args) => {
56
56
  Object.assign(this.telemetryProperties, {
57
57
  displayName: typeof args.options.displayName !== 'undefined',
58
58
  tag: typeof args.options.tag !== 'undefined'
59
59
  });
60
60
  });
61
- }, _EntraSpListCommand_initOptions = function _EntraSpListCommand_initOptions() {
61
+ }, _EntraEnterpriseAppListCommand_initOptions = function _EntraEnterpriseAppListCommand_initOptions() {
62
62
  this.options.unshift({
63
63
  option: '--displayName [displayName]'
64
64
  }, {
65
65
  option: '--tag [tag]'
66
66
  });
67
67
  };
68
- export default new EntraSpListCommand();
69
- //# sourceMappingURL=sp-list.js.map
68
+ export default new EntraEnterpriseAppListCommand();
69
+ //# sourceMappingURL=enterpriseapp-list.js.map