@pnp/cli-microsoft365 11.1.0-beta.734344f → 11.1.0-beta.871ff4d

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 (103) hide show
  1. package/.devproxy/api-specs/sharepoint.yaml +41 -0
  2. package/allCommands.json +1 -1
  3. package/allCommandsFull.json +1 -1
  4. package/dist/m365/entra/commands/license/license-list.js +5 -0
  5. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.16.0.js +2 -0
  6. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.17.0.js +2 -0
  7. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.18.0.js +2 -0
  8. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.19.0.js +2 -0
  9. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.20.0.js +2 -0
  10. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.21.0.js +2 -0
  11. package/dist/m365/spo/commands/web/web-alert-list.js +107 -0
  12. package/dist/m365/spo/commands/web/web-alert-remove.js +59 -0
  13. package/dist/m365/spo/commands.js +2 -0
  14. package/docs/docs/cmd/booking/business/business-get.mdx +18 -1
  15. package/docs/docs/cmd/booking/business/business-list.mdx +18 -1
  16. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-add.mdx +19 -0
  17. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-get.mdx +19 -0
  18. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-list.mdx +19 -0
  19. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-add.mdx +21 -0
  20. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-get.mdx +19 -0
  21. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-list.mdx +19 -0
  22. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-remove.mdx +21 -0
  23. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-remove.mdx +21 -0
  24. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-roleassignment-add.mdx +19 -0
  25. package/docs/docs/cmd/entra/app/app-add.mdx +18 -0
  26. package/docs/docs/cmd/entra/app/app-get.mdx +19 -1
  27. package/docs/docs/cmd/entra/app/app-list.mdx +18 -1
  28. package/docs/docs/cmd/entra/app/app-remove.mdx +20 -0
  29. package/docs/docs/cmd/entra/app/app-set.mdx +20 -0
  30. package/docs/docs/cmd/entra/approleassignment/approleassignment-add.mdx +18 -0
  31. package/docs/docs/cmd/entra/approleassignment/approleassignment-list.mdx +18 -0
  32. package/docs/docs/cmd/entra/approleassignment/approleassignment-remove.mdx +20 -0
  33. package/docs/docs/cmd/entra/group/group-add.mdx +18 -0
  34. package/docs/docs/cmd/entra/group/group-get.mdx +18 -0
  35. package/docs/docs/cmd/entra/group/group-list.mdx +18 -0
  36. package/docs/docs/cmd/entra/group/group-member-add.mdx +20 -0
  37. package/docs/docs/cmd/entra/group/group-member-list.mdx +18 -0
  38. package/docs/docs/cmd/entra/group/group-member-remove.mdx +20 -0
  39. package/docs/docs/cmd/entra/group/group-member-set.mdx +20 -0
  40. package/docs/docs/cmd/entra/group/group-remove.mdx +20 -0
  41. package/docs/docs/cmd/entra/group/group-set.mdx +20 -0
  42. package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-clear.mdx +14 -0
  43. package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-list.mdx +19 -0
  44. package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-remove.mdx +14 -0
  45. package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-restore.mdx +21 -0
  46. package/docs/docs/cmd/entra/m365group/m365group-report-activitycounts.mdx +18 -0
  47. package/docs/docs/cmd/entra/m365group/m365group-report-activitydetail.mdx +18 -0
  48. package/docs/docs/cmd/entra/m365group/m365group-report-activityfilecounts.mdx +18 -0
  49. package/docs/docs/cmd/entra/m365group/m365group-report-activitygroupcounts.mdx +18 -0
  50. package/docs/docs/cmd/entra/m365group/m365group-report-activitystorage.mdx +18 -0
  51. package/docs/docs/cmd/entra/multitenant/multitenant-add.mdx +18 -0
  52. package/docs/docs/cmd/entra/multitenant/multitenant-get.mdx +18 -1
  53. package/docs/docs/cmd/entra/multitenant/multitenant-remove.mdx +20 -0
  54. package/docs/docs/cmd/entra/multitenant/multitenant-set.mdx +20 -0
  55. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-add.mdx +20 -0
  56. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-list.mdx +17 -0
  57. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-remove.mdx +20 -0
  58. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-set.mdx +20 -0
  59. package/docs/docs/cmd/entra/organization/organization-list.mdx +19 -2
  60. package/docs/docs/cmd/entra/pim/pim-role-assignment-add.mdx +18 -0
  61. package/docs/docs/cmd/entra/pim/pim-role-assignment-eligibility-list.mdx +18 -0
  62. package/docs/docs/cmd/entra/pim/pim-role-assignment-list.mdx +18 -0
  63. package/docs/docs/cmd/entra/pim/pim-role-assignment-remove.mdx +18 -0
  64. package/docs/docs/cmd/entra/pim/pim-role-request-list.mdx +18 -0
  65. package/docs/docs/cmd/graph/directoryextension/directoryextension-add.mdx +18 -0
  66. package/docs/docs/cmd/graph/directoryextension/directoryextension-get.mdx +18 -0
  67. package/docs/docs/cmd/graph/directoryextension/directoryextension-list.mdx +18 -0
  68. package/docs/docs/cmd/graph/directoryextension/directoryextension-remove.mdx +20 -0
  69. package/docs/docs/cmd/graph/schemaextension/schemaextension-add.mdx +18 -1
  70. package/docs/docs/cmd/graph/schemaextension/schemaextension-get.mdx +18 -1
  71. package/docs/docs/cmd/graph/schemaextension/schemaextension-list.mdx +19 -1
  72. package/docs/docs/cmd/graph/schemaextension/schemaextension-remove.mdx +20 -0
  73. package/docs/docs/cmd/graph/schemaextension/schemaextension-set.mdx +23 -3
  74. package/docs/docs/cmd/graph/subscription/subscription-add.mdx +27 -6
  75. package/docs/docs/cmd/outlook/mail/mail-send.mdx +21 -0
  76. package/docs/docs/cmd/outlook/mailbox/mailbox-settings-get.mdx +20 -1
  77. package/docs/docs/cmd/outlook/mailbox/mailbox-settings-set.mdx +20 -1
  78. package/docs/docs/cmd/outlook/room/room-list.mdx +19 -0
  79. package/docs/docs/cmd/outlook/roomlist/roomlist-list.mdx +19 -0
  80. package/docs/docs/cmd/purview/retentionevent/retentionevent-add.mdx +18 -0
  81. package/docs/docs/cmd/purview/retentionevent/retentionevent-get.mdx +18 -0
  82. package/docs/docs/cmd/purview/retentionevent/retentionevent-list.mdx +18 -0
  83. package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.mdx +20 -0
  84. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.mdx +18 -0
  85. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.mdx +18 -0
  86. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.mdx +18 -0
  87. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.mdx +21 -1
  88. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.mdx +21 -1
  89. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.mdx +11 -0
  90. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-get.mdx +12 -1
  91. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-list.mdx +12 -1
  92. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-remove.mdx +14 -1
  93. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-set.mdx +13 -0
  94. package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-get.mdx +18 -0
  95. package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-list.mdx +18 -0
  96. package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-policysettings-list.mdx +18 -0
  97. package/docs/docs/cmd/purview/threatassessment/threatassessment-add.mdx +12 -0
  98. package/docs/docs/cmd/purview/threatassessment/threatassessment-get.mdx +19 -0
  99. package/docs/docs/cmd/purview/threatassessment/threatassessment-list.mdx +19 -0
  100. package/docs/docs/cmd/spo/web/web-alert-list.mdx +187 -0
  101. package/docs/docs/cmd/spo/web/web-alert-remove.mdx +65 -0
  102. package/npm-shrinkwrap.json +136 -1
  103. package/package.json +4 -3
@@ -1,6 +1,8 @@
1
1
  import { odata } from '../../../../utils/odata.js';
2
2
  import GraphCommand from '../../../base/GraphCommand.js';
3
3
  import commands from '../../commands.js';
4
+ import { globalOptionsZod } from '../../../../Command.js';
5
+ const options = globalOptionsZod.strict();
4
6
  class EntraLicenseListCommand extends GraphCommand {
5
7
  get name() {
6
8
  return commands.LICENSE_LIST;
@@ -8,6 +10,9 @@ class EntraLicenseListCommand extends GraphCommand {
8
10
  get description() {
9
11
  return 'Lists commercial subscriptions that an organization has acquired';
10
12
  }
13
+ get schema() {
14
+ return options;
15
+ }
11
16
  defaultProperties() {
12
17
  return ['id', 'skuId', 'skuPartNumber'];
13
18
  }
@@ -25,6 +25,7 @@ import { FN002001_DEVDEP_microsoft_sp_build_web } from "./rules/FN002001_DEVDEP_
25
25
  import { FN002002_DEVDEP_microsoft_sp_module_interfaces } from "./rules/FN002002_DEVDEP_microsoft_sp_module_interfaces.js";
26
26
  import { FN002015_DEVDEP_types_react } from "./rules/FN002015_DEVDEP_types_react.js";
27
27
  import { FN002016_DEVDEP_types_react_dom } from "./rules/FN002016_DEVDEP_types_react_dom.js";
28
+ import { FN002019_DEVDEP_spfx_fast_serve_helpers } from "./rules/FN002019_DEVDEP_spfx_fast_serve_helpers.js";
28
29
  import { FN002022_DEVDEP_microsoft_eslint_plugin_spfx } from "./rules/FN002022_DEVDEP_microsoft_eslint_plugin_spfx.js";
29
30
  import { FN002023_DEVDEP_microsoft_eslint_config_spfx } from "./rules/FN002023_DEVDEP_microsoft_eslint_config_spfx.js";
30
31
  import { FN010001_YORC_version } from "./rules/FN010001_YORC_version.js";
@@ -64,6 +65,7 @@ export default [
64
65
  new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.16.0'),
65
66
  new FN002015_DEVDEP_types_react('17.0.45'),
66
67
  new FN002016_DEVDEP_types_react_dom('17.0.17'),
68
+ new FN002019_DEVDEP_spfx_fast_serve_helpers('1.16.6'),
67
69
  new FN010001_YORC_version('1.16.0'),
68
70
  new FN010008_YORC_nodeVersion(),
69
71
  new FN010009_YORC_sdkVersions_microsoft_graph_client('3.0.2'),
@@ -20,6 +20,7 @@ import { FN001032_DEP_microsoft_sp_page_context } from './rules/FN001032_DEP_mic
20
20
  import { FN001034_DEP_microsoft_sp_adaptive_card_extension_base } from './rules/FN001034_DEP_microsoft_sp_adaptive_card_extension_base.js';
21
21
  import { FN002001_DEVDEP_microsoft_sp_build_web } from './rules/FN002001_DEVDEP_microsoft_sp_build_web.js';
22
22
  import { FN002002_DEVDEP_microsoft_sp_module_interfaces } from './rules/FN002002_DEVDEP_microsoft_sp_module_interfaces.js';
23
+ import { FN002019_DEVDEP_spfx_fast_serve_helpers } from './rules/FN002019_DEVDEP_spfx_fast_serve_helpers.js';
23
24
  import { FN002020_DEVDEP_microsoft_rush_stack_compiler_4_5 } from './rules/FN002020_DEVDEP_microsoft_rush_stack_compiler_4_5.js';
24
25
  import { FN002022_DEVDEP_microsoft_eslint_plugin_spfx } from './rules/FN002022_DEVDEP_microsoft_eslint_plugin_spfx.js';
25
26
  import { FN002023_DEVDEP_microsoft_eslint_config_spfx } from './rules/FN002023_DEVDEP_microsoft_eslint_config_spfx.js';
@@ -54,6 +55,7 @@ export default [
54
55
  new FN002023_DEVDEP_microsoft_eslint_config_spfx('1.17.0'),
55
56
  new FN002001_DEVDEP_microsoft_sp_build_web('1.17.0'),
56
57
  new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.17.0'),
58
+ new FN002019_DEVDEP_spfx_fast_serve_helpers('1.17.10'),
57
59
  new FN002020_DEVDEP_microsoft_rush_stack_compiler_4_5('0.4.0'),
58
60
  new FN002024_DEVDEP_eslint('8.7.0'),
59
61
  new FN007002_CFG_S_initialPage('https://{tenantDomain}/_layouts/workbench.aspx'),
@@ -22,6 +22,7 @@ import { FN001034_DEP_microsoft_sp_adaptive_card_extension_base } from './rules/
22
22
  import { FN001035_DEP_fluentui_react } from './rules/FN001035_DEP_fluentui_react.js';
23
23
  import { FN002001_DEVDEP_microsoft_sp_build_web } from './rules/FN002001_DEVDEP_microsoft_sp_build_web.js';
24
24
  import { FN002002_DEVDEP_microsoft_sp_module_interfaces } from './rules/FN002002_DEVDEP_microsoft_sp_module_interfaces.js';
25
+ import { FN002019_DEVDEP_spfx_fast_serve_helpers } from './rules/FN002019_DEVDEP_spfx_fast_serve_helpers.js';
25
26
  import { FN002022_DEVDEP_microsoft_eslint_plugin_spfx } from './rules/FN002022_DEVDEP_microsoft_eslint_plugin_spfx.js';
26
27
  import { FN002023_DEVDEP_microsoft_eslint_config_spfx } from './rules/FN002023_DEVDEP_microsoft_eslint_config_spfx.js';
27
28
  import { FN002026_DEVDEP_typescript } from './rules/FN002026_DEVDEP_typescript.js';
@@ -55,6 +56,7 @@ export default [
55
56
  new FN001034_DEP_microsoft_sp_adaptive_card_extension_base('1.18.0'),
56
57
  new FN002001_DEVDEP_microsoft_sp_build_web('1.18.0'),
57
58
  new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.18.0'),
59
+ new FN002019_DEVDEP_spfx_fast_serve_helpers('1.18.14'),
58
60
  new FN002022_DEVDEP_microsoft_eslint_plugin_spfx('1.18.0'),
59
61
  new FN002023_DEVDEP_microsoft_eslint_config_spfx('1.18.0'),
60
62
  new FN002026_DEVDEP_typescript('4.7.4'),
@@ -20,6 +20,7 @@ import { FN001032_DEP_microsoft_sp_page_context } from './rules/FN001032_DEP_mic
20
20
  import { FN001034_DEP_microsoft_sp_adaptive_card_extension_base } from './rules/FN001034_DEP_microsoft_sp_adaptive_card_extension_base.js';
21
21
  import { FN002001_DEVDEP_microsoft_sp_build_web } from './rules/FN002001_DEVDEP_microsoft_sp_build_web.js';
22
22
  import { FN002002_DEVDEP_microsoft_sp_module_interfaces } from './rules/FN002002_DEVDEP_microsoft_sp_module_interfaces.js';
23
+ import { FN002019_DEVDEP_spfx_fast_serve_helpers } from './rules/FN002019_DEVDEP_spfx_fast_serve_helpers.js';
23
24
  import { FN002022_DEVDEP_microsoft_eslint_plugin_spfx } from './rules/FN002022_DEVDEP_microsoft_eslint_plugin_spfx.js';
24
25
  import { FN002023_DEVDEP_microsoft_eslint_config_spfx } from './rules/FN002023_DEVDEP_microsoft_eslint_config_spfx.js';
25
26
  import { FN010001_YORC_version } from './rules/FN010001_YORC_version.js';
@@ -46,6 +47,7 @@ export default [
46
47
  new FN001034_DEP_microsoft_sp_adaptive_card_extension_base('1.19.0'),
47
48
  new FN002001_DEVDEP_microsoft_sp_build_web('1.20.1'),
48
49
  new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.20.1'),
50
+ new FN002019_DEVDEP_spfx_fast_serve_helpers('1.19.6'),
49
51
  new FN002022_DEVDEP_microsoft_eslint_plugin_spfx('1.20.1'),
50
52
  new FN002023_DEVDEP_microsoft_eslint_config_spfx('1.20.1'),
51
53
  new FN010001_YORC_version('1.19.0')
@@ -20,6 +20,7 @@ import { FN001032_DEP_microsoft_sp_page_context } from './rules/FN001032_DEP_mic
20
20
  import { FN001034_DEP_microsoft_sp_adaptive_card_extension_base } from './rules/FN001034_DEP_microsoft_sp_adaptive_card_extension_base.js';
21
21
  import { FN002001_DEVDEP_microsoft_sp_build_web } from './rules/FN002001_DEVDEP_microsoft_sp_build_web.js';
22
22
  import { FN002002_DEVDEP_microsoft_sp_module_interfaces } from './rules/FN002002_DEVDEP_microsoft_sp_module_interfaces.js';
23
+ import { FN002019_DEVDEP_spfx_fast_serve_helpers } from './rules/FN002019_DEVDEP_spfx_fast_serve_helpers.js';
23
24
  import { FN002021_DEVDEP_rushstack_eslint_config } from './rules/FN002021_DEVDEP_rushstack_eslint_config.js';
24
25
  import { FN002022_DEVDEP_microsoft_eslint_plugin_spfx } from './rules/FN002022_DEVDEP_microsoft_eslint_plugin_spfx.js';
25
26
  import { FN002023_DEVDEP_microsoft_eslint_config_spfx } from './rules/FN002023_DEVDEP_microsoft_eslint_config_spfx.js';
@@ -49,6 +50,7 @@ export default [
49
50
  new FN001034_DEP_microsoft_sp_adaptive_card_extension_base('1.20.0'),
50
51
  new FN002001_DEVDEP_microsoft_sp_build_web('1.20.2'),
51
52
  new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.20.2'),
53
+ new FN002019_DEVDEP_spfx_fast_serve_helpers('1.20.4'),
52
54
  new FN002024_DEVDEP_eslint('8.57.0'),
53
55
  new FN002021_DEVDEP_rushstack_eslint_config('4.0.1'),
54
56
  new FN002022_DEVDEP_microsoft_eslint_plugin_spfx('1.20.2'),
@@ -20,6 +20,7 @@ import { FN001032_DEP_microsoft_sp_page_context } from './rules/FN001032_DEP_mic
20
20
  import { FN001034_DEP_microsoft_sp_adaptive_card_extension_base } from './rules/FN001034_DEP_microsoft_sp_adaptive_card_extension_base.js';
21
21
  import { FN002001_DEVDEP_microsoft_sp_build_web } from './rules/FN002001_DEVDEP_microsoft_sp_build_web.js';
22
22
  import { FN002002_DEVDEP_microsoft_sp_module_interfaces } from './rules/FN002002_DEVDEP_microsoft_sp_module_interfaces.js';
23
+ import { FN002019_DEVDEP_spfx_fast_serve_helpers } from './rules/FN002019_DEVDEP_spfx_fast_serve_helpers.js';
23
24
  import { FN002022_DEVDEP_microsoft_eslint_plugin_spfx } from './rules/FN002022_DEVDEP_microsoft_eslint_plugin_spfx.js';
24
25
  import { FN002023_DEVDEP_microsoft_eslint_config_spfx } from './rules/FN002023_DEVDEP_microsoft_eslint_config_spfx.js';
25
26
  import { FN002024_DEVDEP_eslint } from './rules/FN002024_DEVDEP_eslint.js';
@@ -51,6 +52,7 @@ export default [
51
52
  new FN001034_DEP_microsoft_sp_adaptive_card_extension_base('1.21.0'),
52
53
  new FN002001_DEVDEP_microsoft_sp_build_web('1.21.0'),
53
54
  new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.21.0'),
55
+ new FN002019_DEVDEP_spfx_fast_serve_helpers('1.21.1'),
54
56
  new FN002024_DEVDEP_eslint('8.57.1'),
55
57
  new FN002022_DEVDEP_microsoft_eslint_plugin_spfx('1.21.0'),
56
58
  new FN002023_DEVDEP_microsoft_eslint_config_spfx('1.21.0'),
@@ -0,0 +1,107 @@
1
+ import commands from '../../commands.js';
2
+ import SpoCommand from '../../../base/SpoCommand.js';
3
+ import { globalOptionsZod } from '../../../../Command.js';
4
+ import { z } from 'zod';
5
+ import { zod } from '../../../../utils/zod.js';
6
+ import { validation } from '../../../../utils/validation.js';
7
+ import { spo } from '../../../../utils/spo.js';
8
+ import { entraUser } from '../../../../utils/entraUser.js';
9
+ import { formatting } from '../../../../utils/formatting.js';
10
+ import { odata } from '../../../../utils/odata.js';
11
+ import { cli } from '../../../../cli/cli.js';
12
+ export const options = globalOptionsZod
13
+ .extend({
14
+ webUrl: zod.alias('u', z.string()
15
+ .refine(url => validation.isValidSharePointUrl(url) === true, url => ({
16
+ message: `'${url}' is not a valid SharePoint site URL.`
17
+ }))),
18
+ listId: z.string()
19
+ .refine(id => validation.isValidGuid(id), id => ({
20
+ message: `'${id}' is not a valid GUID.`
21
+ })).optional(),
22
+ listUrl: z.string().optional(),
23
+ listTitle: z.string().optional(),
24
+ userName: z.string().refine(upn => validation.isValidUserPrincipalName(upn), upn => ({
25
+ message: `'${upn}' is not a valid UPN.`
26
+ })).optional(),
27
+ userId: z.string().refine(id => validation.isValidGuid(id), id => ({
28
+ message: `'${id}' is not a valid GUID.`
29
+ })).optional()
30
+ })
31
+ .strict();
32
+ class SpoWebAlertListCommand extends SpoCommand {
33
+ get name() {
34
+ return commands.WEB_ALERT_LIST;
35
+ }
36
+ get description() {
37
+ return 'Lists all SharePoint list alerts';
38
+ }
39
+ defaultProperties() {
40
+ return ['ID', 'Title', 'UserPrincipalName'];
41
+ }
42
+ get schema() {
43
+ return options;
44
+ }
45
+ getRefinedSchema(schema) {
46
+ return schema
47
+ .refine(options => [options.listId, options.listUrl, options.listTitle].filter(x => x !== undefined).length <= 1, {
48
+ message: `Specify either listId, listUrl, or listTitle, but not more than one.`
49
+ })
50
+ .refine(options => [options.userName, options.userId].filter(x => x !== undefined).length <= 1, {
51
+ message: `Specify either userName or userId, but not both.`
52
+ });
53
+ }
54
+ async commandAction(logger, args) {
55
+ if (this.verbose) {
56
+ const listParams = args.options.listId || args.options.listTitle || args.options.listUrl;
57
+ const userParams = args.options.userName || args.options.userId;
58
+ let message = `Retrieving alerts from site '${args.options.webUrl}'`;
59
+ if (listParams) {
60
+ message += ` for list '${listParams}'`;
61
+ }
62
+ if (userParams) {
63
+ message += `${listParams ? ' and' : ''} for user '${userParams}'`;
64
+ }
65
+ await logger.logToStderr(`${message}...`);
66
+ }
67
+ let requestUrl = `${args.options.webUrl}/_api/web/alerts?$expand=List,User,List/Rootfolder,Item&$select=*,List/Id,List/Title,List/Rootfolder/ServerRelativeUrl,Item/ID,Item/FileRef,Item/Guid`;
68
+ const filters = [];
69
+ let listId;
70
+ if (args.options.listId) {
71
+ listId = args.options.listId;
72
+ }
73
+ else if (args.options.listUrl || args.options.listTitle) {
74
+ listId = await spo.getListId(args.options.webUrl, args.options.listTitle, args.options.listUrl, logger, this.verbose);
75
+ }
76
+ if (listId) {
77
+ filters.push(`List/Id eq guid'${formatting.encodeQueryParameter(listId)}'`);
78
+ }
79
+ if (args.options.userName) {
80
+ filters.push(`User/UserPrincipalName eq '${formatting.encodeQueryParameter(args.options.userName)}'`);
81
+ }
82
+ else if (args.options.userId) {
83
+ const userPrincipalName = await entraUser.getUpnByUserId(args.options.userId);
84
+ filters.push(`User/UserPrincipalName eq '${formatting.encodeQueryParameter(userPrincipalName)}'`);
85
+ }
86
+ if (filters.length > 0) {
87
+ requestUrl += `&$filter=${filters.join(' and ')}`;
88
+ }
89
+ try {
90
+ const res = await odata.getAllItems(requestUrl);
91
+ res.forEach(alert => {
92
+ if (alert.Item) {
93
+ delete alert.Item['ID'];
94
+ }
95
+ if (cli.shouldTrimOutput(args.options.output)) {
96
+ alert.UserPrincipalName = alert.User?.UserPrincipalName;
97
+ }
98
+ });
99
+ await logger.log(res);
100
+ }
101
+ catch (err) {
102
+ this.handleRejectedODataJsonPromise(err);
103
+ }
104
+ }
105
+ }
106
+ export default new SpoWebAlertListCommand();
107
+ //# sourceMappingURL=web-alert-list.js.map
@@ -0,0 +1,59 @@
1
+ import commands from '../../commands.js';
2
+ import SpoCommand from '../../../base/SpoCommand.js';
3
+ import { globalOptionsZod } from '../../../../Command.js';
4
+ import { z } from 'zod';
5
+ import { zod } from '../../../../utils/zod.js';
6
+ import { validation } from '../../../../utils/validation.js';
7
+ import { formatting } from '../../../../utils/formatting.js';
8
+ import request from '../../../../request.js';
9
+ import { cli } from '../../../../cli/cli.js';
10
+ const options = globalOptionsZod
11
+ .extend({
12
+ webUrl: zod.alias('u', z.string()
13
+ .refine(url => validation.isValidSharePointUrl(url) === true, url => ({
14
+ message: `'${url}' is not a valid SharePoint URL.`
15
+ }))),
16
+ id: z.string()
17
+ .refine(id => validation.isValidGuid(id), id => ({
18
+ message: `'${id}' is not a valid GUID.`
19
+ })),
20
+ force: zod.alias('f', z.boolean().optional())
21
+ })
22
+ .strict();
23
+ class SpoWebAlertRemoveCommand extends SpoCommand {
24
+ get name() {
25
+ return commands.WEB_ALERT_REMOVE;
26
+ }
27
+ get description() {
28
+ return 'Removes an alert from a SharePoint list';
29
+ }
30
+ get schema() {
31
+ return options;
32
+ }
33
+ async commandAction(logger, args) {
34
+ if (!args.options.force) {
35
+ const result = await cli.promptForConfirmation({ message: `Are you sure you want to remove the alert with id '${args.options.id}' from site '${args.options.webUrl}'?` });
36
+ if (!result) {
37
+ return;
38
+ }
39
+ }
40
+ try {
41
+ if (this.verbose) {
42
+ await logger.logToStderr(`Removing alert with ID '${args.options.id}' from site '${args.options.webUrl}'...`);
43
+ }
44
+ const requestOptions = {
45
+ url: `${args.options.webUrl}/_api/web/Alerts/DeleteAlert('${formatting.encodeQueryParameter(args.options.id)}')`,
46
+ headers: {
47
+ accept: 'application/json;odata=nometadata'
48
+ },
49
+ responseType: 'json'
50
+ };
51
+ await request.delete(requestOptions);
52
+ }
53
+ catch (err) {
54
+ this.handleRejectedODataJsonPromise(err);
55
+ }
56
+ }
57
+ }
58
+ export default new SpoWebAlertRemoveCommand();
59
+ //# sourceMappingURL=web-alert-remove.js.map
@@ -355,6 +355,8 @@ export default {
355
355
  USERPROFILE_GET: `${prefix} userprofile get`,
356
356
  USERPROFILE_SET: `${prefix} userprofile set`,
357
357
  WEB_ADD: `${prefix} web add`,
358
+ WEB_ALERT_LIST: `${prefix} web alert list`,
359
+ WEB_ALERT_REMOVE: `${prefix} web alert remove`,
358
360
  WEB_CLIENTSIDEWEBPART_LIST: `${prefix} web clientsidewebpart list`,
359
361
  WEB_GET: `${prefix} web get`,
360
362
  WEB_INSTALLEDLANGUAGE_LIST: `${prefix} web installedlanguage list`,
@@ -24,6 +24,24 @@ m365 booking business get [options]
24
24
 
25
25
  <Global />
26
26
 
27
+ ## Permissions
28
+ <Tabs>
29
+ <TabItem value="Delegated">
30
+
31
+ | Resource | Permissions |
32
+ |-----------------|-------------------|
33
+ | Microsoft Graph | Bookings.Read.All |
34
+
35
+ </TabItem>
36
+ <TabItem value="Application">
37
+
38
+ | Resource | Permissions |
39
+ |-----------------|-----------------------------------|
40
+ | Microsoft Graph | BookingsAppointment.ReadWrite.All |
41
+
42
+ </TabItem>
43
+ </Tabs>
44
+
27
45
  ## Examples
28
46
 
29
47
  Retrieve the specified Microsoft Bookings business with the specified id.
@@ -186,4 +204,3 @@ m365 booking business get --name 'business name'
186
204
 
187
205
  </TabItem>
188
206
  </Tabs>
189
-
@@ -16,6 +16,24 @@ m365 booking business list [options]
16
16
 
17
17
  <Global />
18
18
 
19
+ ## Permissions
20
+ <Tabs>
21
+ <TabItem value="Delegated">
22
+
23
+ | Resource | Permissions |
24
+ |-----------------|-------------------|
25
+ | Microsoft Graph | Bookings.Read.All |
26
+
27
+ </TabItem>
28
+ <TabItem value="Application">
29
+
30
+ | Resource | Permissions |
31
+ |-----------------|-----------------------------------|
32
+ | Microsoft Graph | BookingsAppointment.ReadWrite.All |
33
+
34
+ </TabItem>
35
+ </Tabs>
36
+
19
37
  ## Examples
20
38
 
21
39
  Returns a list of all Microsoft Bookings businesses that are created for the tenant.
@@ -73,4 +91,3 @@ m365 booking business list
73
91
 
74
92
  </TabItem>
75
93
  </Tabs>
76
-
@@ -35,6 +35,25 @@ To use this command you must be either **Global Administrator** or **Privileged
35
35
 
36
36
  :::
37
37
 
38
+ ## Permissions
39
+
40
+ <Tabs>
41
+ <TabItem value="Delegated">
42
+
43
+ | Resource | Permissions |
44
+ |-----------------|----------------------------------|
45
+ | Microsoft Graph | AdministrativeUnit.ReadWrite.All |
46
+
47
+ </TabItem>
48
+ <TabItem value="Application">
49
+
50
+ | Resource | Permissions |
51
+ |-----------------|----------------------------------|
52
+ | Microsoft Graph | AdministrativeUnit.ReadWrite.All |
53
+
54
+ </TabItem>
55
+ </Tabs>
56
+
38
57
  ## Examples
39
58
 
40
59
  Create an administrative unit with a specific display name
@@ -31,6 +31,25 @@ m365 entra administrativeunit get [options]
31
31
 
32
32
  Using the `--properties` option, you can specify a comma-separated list of administrative unit properties to retrieve from the Microsoft Graph. If you don't specify any properties, the command will output the default properties returned by Graph.
33
33
 
34
+ ## Permissions
35
+
36
+ <Tabs>
37
+ <TabItem value="Delegated">
38
+
39
+ | Resource | Permissions |
40
+ |-----------------|-----------------------------|
41
+ | Microsoft Graph | AdministrativeUnit.Read.All |
42
+
43
+ </TabItem>
44
+ <TabItem value="Application">
45
+
46
+ | Resource | Permissions |
47
+ |-----------------|-----------------------------|
48
+ | Microsoft Graph | AdministrativeUnit.Read.All |
49
+
50
+ </TabItem>
51
+ </Tabs>
52
+
34
53
  ## Examples
35
54
 
36
55
  Get information about the administrative unit by its id.
@@ -25,6 +25,25 @@ m365 entra administrativeunit list [options]
25
25
 
26
26
  Using the `--properties` option, you can specify a comma-separated list of administrative unit properties to retrieve from the Microsoft Graph. If you don't specify any properties, the command will output the default properties returned by Graph.
27
27
 
28
+ ## Permissions
29
+
30
+ <Tabs>
31
+ <TabItem value="Delegated">
32
+
33
+ | Resource | Permissions |
34
+ |-----------------|-----------------------------|
35
+ | Microsoft Graph | AdministrativeUnit.Read.All |
36
+
37
+ </TabItem>
38
+ <TabItem value="Application">
39
+
40
+ | Resource | Permissions |
41
+ |-----------------|-----------------------------|
42
+ | Microsoft Graph | AdministrativeUnit.Read.All |
43
+
44
+ </TabItem>
45
+ </Tabs>
46
+
28
47
  ## Examples
29
48
 
30
49
  Retrieve a list of administrative units.
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # entra administrativeunit member add
4
6
 
@@ -48,6 +50,25 @@ To use this command you must be either **Global Administrator** or **Privileged
48
50
 
49
51
  :::
50
52
 
53
+ ## Permissions
54
+
55
+ <Tabs>
56
+ <TabItem value="Delegated">
57
+
58
+ | Resource | Permissions |
59
+ |-----------------|----------------------------------|
60
+ | Microsoft Graph | AdministrativeUnit.ReadWrite.All |
61
+
62
+ </TabItem>
63
+ <TabItem value="Application">
64
+
65
+ | Resource | Permissions |
66
+ |-----------------|----------------------------------|
67
+ | Microsoft Graph | AdministrativeUnit.ReadWrite.All |
68
+
69
+ </TabItem>
70
+ </Tabs>
71
+
51
72
  ## Examples
52
73
 
53
74
  Add a single user specified by id to an administrative unit specified by id
@@ -36,6 +36,25 @@ To get the member of a hidden membership in an administrative unit, the `Member.
36
36
 
37
37
  When the `properties` option includes values with a `/`, for example: `manager/displayName`, an additional `$expand` query parameter will be included on manager.
38
38
 
39
+ ## Permissions
40
+
41
+ <Tabs>
42
+ <TabItem value="Delegated">
43
+
44
+ | Resource | Permissions |
45
+ |-----------------|-----------------------------|
46
+ | Microsoft Graph | AdministrativeUnit.Read.All |
47
+
48
+ </TabItem>
49
+ <TabItem value="Application">
50
+
51
+ | Resource | Permissions |
52
+ |-----------------|-----------------------------|
53
+ | Microsoft Graph | AdministrativeUnit.Read.All |
54
+
55
+ </TabItem>
56
+ </Tabs>
57
+
39
58
  ## Examples
40
59
 
41
60
  Get information about a member specified by id from an administrative unit specified by id
@@ -39,6 +39,25 @@ To list the members of a hidden membership in an administrative unit, the `Membe
39
39
 
40
40
  When the `properties` option includes values with a `/`, for example: `manager/displayName`, an additional `$expand` query parameter will be included on manager.
41
41
 
42
+ ## Permissions
43
+
44
+ <Tabs>
45
+ <TabItem value="Delegated">
46
+
47
+ | Resource | Permissions |
48
+ |-----------------|-----------------------------|
49
+ | Microsoft Graph | AdministrativeUnit.Read.All |
50
+
51
+ </TabItem>
52
+ <TabItem value="Application">
53
+
54
+ | Resource | Permissions |
55
+ |-----------------|-----------------------------|
56
+ | Microsoft Graph | AdministrativeUnit.Read.All |
57
+
58
+ </TabItem>
59
+ </Tabs>
60
+
42
61
  ## Examples
43
62
 
44
63
  List members of an administrative unit specified by id
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # entra administrativeunit member remove
4
6
 
@@ -54,6 +56,25 @@ To use this command you must be either **Global Administrator** or **Privileged
54
56
 
55
57
  :::
56
58
 
59
+ ## Permissions
60
+
61
+ <Tabs>
62
+ <TabItem value="Delegated">
63
+
64
+ | Resource | Permissions |
65
+ |-----------------|----------------------------------|
66
+ | Microsoft Graph | AdministrativeUnit.ReadWrite.All |
67
+
68
+ </TabItem>
69
+ <TabItem value="Application">
70
+
71
+ | Resource | Permissions |
72
+ |-----------------|----------------------------------|
73
+ | Microsoft Graph | AdministrativeUnit.ReadWrite.All |
74
+
75
+ </TabItem>
76
+ </Tabs>
77
+
57
78
  ## Examples
58
79
 
59
80
  Remove a member specified by id from an administrative unit specified by id
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # entra administrativeunit remove
4
6
 
@@ -33,6 +35,25 @@ To use this command you must be either **Global Administrator** or **Privileged
33
35
 
34
36
  :::
35
37
 
38
+ ## Permissions
39
+
40
+ <Tabs>
41
+ <TabItem value="Delegated">
42
+
43
+ | Resource | Permissions |
44
+ |-----------------|----------------------------------|
45
+ | Microsoft Graph | AdministrativeUnit.ReadWrite.All |
46
+
47
+ </TabItem>
48
+ <TabItem value="Application">
49
+
50
+ | Resource | Permissions |
51
+ |-----------------|----------------------------------|
52
+ | Microsoft Graph | AdministrativeUnit.ReadWrite.All |
53
+
54
+ </TabItem>
55
+ </Tabs>
56
+
36
57
  ## Examples
37
58
 
38
59
  Remove an administrative unit by its id
@@ -44,6 +44,25 @@ To use this command you must be either **Global Administrator** or **Privileged
44
44
 
45
45
  :::
46
46
 
47
+ ## Permissions
48
+
49
+ <Tabs>
50
+ <TabItem value="Delegated">
51
+
52
+ | Resource | Permissions |
53
+ |-----------------|------------------------------------|
54
+ | Microsoft Graph | RoleManagement.ReadWrite.Directory |
55
+
56
+ </TabItem>
57
+ <TabItem value="Application">
58
+
59
+ | Resource | Permissions |
60
+ |-----------------|------------------------------------|
61
+ | Microsoft Graph | RoleManagement.ReadWrite.Directory |
62
+
63
+ </TabItem>
64
+ </Tabs>
65
+
47
66
  ## Examples
48
67
 
49
68
  Assign a role definition specified by id to a user specified by id for an administrative unit specified by id
@@ -120,6 +120,24 @@ If you want to store the information about the created Entra app registration, u
120
120
 
121
121
  When specifying `--grantAdminConsent` option, an enterprise application will be created for the app registration.
122
122
 
123
+ ## Permissions
124
+ <Tabs>
125
+ <TabItem value="Delegated">
126
+
127
+ | Resource | Permissions |
128
+ |-----------------|---------------------------|
129
+ | Microsoft Graph | Application.ReadWrite.All |
130
+
131
+ </TabItem>
132
+ <TabItem value="Application">
133
+
134
+ | Resource | Permissions |
135
+ |-----------------|-------------------------------|
136
+ | Microsoft Graph | Application.ReadWrite.OwnedBy |
137
+
138
+ </TabItem>
139
+ </Tabs>
140
+
123
141
  ## Examples
124
142
 
125
143
  Create new Entra app registration with the specified name