@pnp/cli-microsoft365 12.0.0-beta.e4f7675 → 12.0.0-beta.feb621e

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 (188) hide show
  1. package/.devproxy/generate-openapi-spec.json +1 -1
  2. package/allCommands.json +1 -1
  3. package/allCommandsFull.json +1 -1
  4. package/dist/Auth.js +2 -6
  5. package/dist/auth/FileTokenStorage.js +0 -3
  6. package/dist/auth/msalCachePlugin.js +201 -12
  7. package/dist/googleAnalytics.js +96 -0
  8. package/dist/m365/commands/logout.js +2 -4
  9. package/dist/m365/entra/commands/m365group/m365group-remove.js +4 -3
  10. package/dist/m365/spe/commands/container/container-remove.js +6 -7
  11. package/dist/m365/spfx/commands/SpfxCompatibilityMatrix.js +15 -0
  12. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.24.0-rc.0.js +19 -0
  13. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  14. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012021_TSC_excludeDirectories.js +43 -0
  15. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027002_OVERRIDES_qs.js +33 -0
  16. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027003_OVERRIDES_uuid.js +33 -0
  17. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.24.0-rc.0.js +77 -0
  18. package/dist/m365/spfx/commands/project/project-upgrade.js +12 -11
  19. package/dist/m365/spo/commands/app/app-add.js +35 -56
  20. package/dist/m365/spo/commands/app/app-deploy.js +41 -59
  21. package/dist/m365/spo/commands/app/app-get.js +40 -56
  22. package/dist/m365/spo/commands/app/app-install.js +20 -41
  23. package/dist/m365/spo/commands/app/app-instance-list.js +12 -24
  24. package/dist/m365/spo/commands/app/app-list.js +26 -44
  25. package/dist/m365/spo/commands/app/app-remove.js +32 -52
  26. package/dist/m365/spo/commands/app/app-retract.js +32 -51
  27. package/dist/m365/spo/commands/app/app-teamspackage-download.js +35 -54
  28. package/dist/m365/spo/commands/app/app-uninstall.js +21 -44
  29. package/dist/m365/spo/commands/app/app-upgrade.js +20 -41
  30. package/dist/m365/spo/commands/feature/feature-disable.js +20 -50
  31. package/dist/m365/spo/commands/feature/feature-enable.js +22 -50
  32. package/dist/m365/spo/commands/feature/feature-list.js +11 -36
  33. package/dist/m365/spo/commands/field/field-add.js +33 -62
  34. package/dist/m365/spo/commands/field/field-get.js +30 -57
  35. package/dist/m365/spo/commands/field/field-list.js +21 -46
  36. package/dist/m365/spo/commands/field/field-remove.js +32 -63
  37. package/dist/m365/spo/commands/field/field-set.js +34 -66
  38. package/dist/m365/spo/commands/file/file-archive.js +1 -1
  39. package/dist/m365/spo/commands/file/file-get.js +4 -3
  40. package/dist/m365/spo/commands/file/file-remove.js +5 -5
  41. package/dist/m365/spo/commands/file/file-unarchive.js +1 -1
  42. package/dist/m365/spo/commands/folder/folder-archive.js +1 -1
  43. package/dist/m365/spo/commands/folder/folder-remove.js +5 -5
  44. package/dist/m365/spo/commands/folder/folder-unarchive.js +90 -0
  45. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +5 -0
  46. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +8 -26
  47. package/dist/m365/spo/commands/homesite/homesite-list.js +5 -0
  48. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +38 -63
  49. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +11 -27
  50. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +25 -47
  51. package/dist/m365/spo/commands/hubsite/hubsite-get.js +25 -37
  52. package/dist/m365/spo/commands/hubsite/hubsite-list.js +12 -24
  53. package/dist/m365/spo/commands/hubsite/hubsite-register.js +10 -18
  54. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +14 -32
  55. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +12 -29
  56. package/dist/m365/spo/commands/hubsite/hubsite-set.js +19 -46
  57. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +11 -27
  58. package/dist/m365/spo/commands/list/list-remove.js +4 -4
  59. package/dist/m365/spo/commands/listitem/listitem-batch-remove.js +5 -4
  60. package/dist/m365/spo/commands/listitem/listitem-get.js +1 -12
  61. package/dist/m365/spo/commands/listitem/listitem-remove.js +8 -5
  62. package/dist/m365/spo/commands/navigation/navigation-node-list.js +6 -4
  63. package/dist/m365/spo/commands/page/page-remove.js +7 -7
  64. package/dist/m365/spo/commands/site/site-remove.js +7 -7
  65. package/dist/m365/spo/commands/spo-get.js +5 -0
  66. package/dist/m365/spo/commands/spo-set.js +10 -21
  67. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +1 -1
  68. package/dist/m365/spo/commands/user/user-ensure.js +24 -60
  69. package/dist/m365/spo/commands/user/user-get.js +25 -65
  70. package/dist/m365/spo/commands/user/user-list.js +10 -18
  71. package/dist/m365/spo/commands/user/user-remove.js +26 -68
  72. package/dist/m365/spo/commands/userprofile/userprofile-get.js +10 -23
  73. package/dist/m365/spo/commands/userprofile/userprofile-set.js +10 -19
  74. package/dist/m365/spo/commands/web/web-add.js +20 -55
  75. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +10 -18
  76. package/dist/m365/spo/commands/web/web-get.js +12 -30
  77. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +10 -18
  78. package/dist/m365/spo/commands/web/web-list.js +10 -18
  79. package/dist/m365/spo/commands/web/web-reindex.js +10 -18
  80. package/dist/m365/spo/commands/web/web-remove.js +11 -27
  81. package/dist/m365/spo/commands/web/web-retentionlabel-list.js +10 -18
  82. package/dist/m365/spo/commands/web/web-roleassignment-add.js +40 -64
  83. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +31 -58
  84. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +12 -36
  85. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +11 -29
  86. package/dist/m365/spo/commands/web/web-rule-get.js +47 -0
  87. package/dist/m365/spo/commands/web/web-rule-list.js +6 -4
  88. package/dist/m365/spo/commands/web/web-rule-remove.js +0 -3
  89. package/dist/m365/spo/commands/web/web-set.js +26 -96
  90. package/dist/m365/spo/commands.js +3 -3
  91. package/dist/m365/teams/commands/channel/channel-add.js +46 -57
  92. package/dist/m365/teams/commands/channel/channel-get.js +41 -48
  93. package/dist/m365/teams/commands/channel/channel-list.js +28 -42
  94. package/dist/m365/teams/commands/channel/channel-member-add.js +53 -54
  95. package/dist/m365/teams/commands/channel/channel-member-list.js +47 -55
  96. package/dist/m365/teams/commands/channel/channel-member-remove.js +62 -62
  97. package/dist/m365/teams/commands/channel/channel-member-set.js +61 -65
  98. package/dist/m365/teams/commands/channel/channel-remove.js +47 -49
  99. package/dist/m365/teams/commands/channel/channel-set.js +47 -54
  100. package/dist/m365/teams/commands/chat/chat-get.js +30 -45
  101. package/dist/m365/teams/commands/chat/chat-list.js +22 -42
  102. package/dist/m365/teams/commands/chat/chat-member-add.js +43 -64
  103. package/dist/m365/teams/commands/chat/chat-member-list.js +10 -23
  104. package/dist/m365/teams/commands/chat/chat-member-remove.js +28 -50
  105. package/dist/m365/teams/commands/chat/chat-message-send.js +32 -55
  106. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +10 -28
  107. package/dist/telemetry.js +7 -11
  108. package/dist/utils/spo.js +1 -3
  109. package/dist/utils/urlUtil.js +2 -2
  110. package/docs/docs/cmd/entra/m365group/m365group-remove.mdx +4 -4
  111. package/docs/docs/cmd/spe/container/container-remove.mdx +5 -5
  112. package/docs/docs/cmd/spo/file/file-archive.mdx +9 -1
  113. package/docs/docs/cmd/spo/file/file-checkin.mdx +2 -2
  114. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -1
  115. package/docs/docs/cmd/spo/file/file-checkout.mdx +2 -2
  116. package/docs/docs/cmd/spo/file/file-copy.mdx +2 -2
  117. package/docs/docs/cmd/spo/file/file-get.mdx +6 -6
  118. package/docs/docs/cmd/spo/file/file-remove.mdx +4 -4
  119. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
  120. package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +1 -1
  121. package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
  122. package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
  123. package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +3 -3
  124. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +2 -2
  125. package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +2 -2
  126. package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +22 -1
  127. package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +24 -1
  128. package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +22 -1
  129. package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +22 -1
  130. package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +24 -1
  131. package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +22 -1
  132. package/docs/docs/cmd/spo/file/file-unarchive.mdx +9 -1
  133. package/docs/docs/cmd/spo/file/file-version-clear.mdx +1 -1
  134. package/docs/docs/cmd/spo/file/file-version-get.mdx +1 -1
  135. package/docs/docs/cmd/spo/file/file-version-keep.mdx +1 -1
  136. package/docs/docs/cmd/spo/file/file-version-list.mdx +1 -1
  137. package/docs/docs/cmd/spo/file/file-version-remove.mdx +1 -1
  138. package/docs/docs/cmd/spo/file/file-version-restore.mdx +1 -1
  139. package/docs/docs/cmd/spo/folder/folder-archive.mdx +7 -1
  140. package/docs/docs/cmd/spo/folder/folder-copy.mdx +1 -1
  141. package/docs/docs/cmd/spo/folder/folder-get.mdx +2 -2
  142. package/docs/docs/cmd/spo/folder/folder-remove.mdx +4 -4
  143. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
  144. package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
  145. package/docs/docs/cmd/spo/folder/folder-sharinglink-add.mdx +22 -1
  146. package/docs/docs/cmd/spo/folder/folder-sharinglink-clear.mdx +23 -0
  147. package/docs/docs/cmd/spo/folder/folder-sharinglink-get.mdx +21 -0
  148. package/docs/docs/cmd/spo/folder/folder-sharinglink-list.mdx +22 -1
  149. package/docs/docs/cmd/spo/folder/folder-sharinglink-remove.mdx +24 -1
  150. package/docs/docs/cmd/spo/folder/folder-sharinglink-set.mdx +21 -0
  151. package/docs/docs/cmd/spo/folder/folder-unarchive.mdx +76 -0
  152. package/docs/docs/cmd/spo/list/list-remove.mdx +4 -4
  153. package/docs/docs/cmd/spo/listitem/listitem-batch-remove.mdx +8 -2
  154. package/docs/docs/cmd/spo/listitem/listitem-get.mdx +0 -6
  155. package/docs/docs/cmd/spo/listitem/listitem-remove.mdx +8 -2
  156. package/docs/docs/cmd/spo/navigation/navigation-node-list.mdx +37 -27
  157. package/docs/docs/cmd/spo/page/page-remove.mdx +4 -4
  158. package/docs/docs/cmd/spo/site/site-apppermission-add.mdx +52 -21
  159. package/docs/docs/cmd/spo/site/site-remove.mdx +3 -3
  160. package/docs/docs/cmd/spo/web/web-rule-get.mdx +108 -0
  161. package/docs/docs/cmd/spo/web/web-rule-list.mdx +8 -12
  162. package/docs/docs/cmd/spo/web/web-rule-remove.mdx +0 -6
  163. package/docs/docs/cmd/spp/model/model-get.mdx +1 -1
  164. package/docs/docs/cmd/spp/model/model-remove.mdx +1 -1
  165. package/docs/docs/cmd/teams/app/app-install.mdx +21 -0
  166. package/docs/docs/cmd/teams/app/app-list.mdx +19 -0
  167. package/docs/docs/cmd/teams/app/app-publish.mdx +17 -0
  168. package/docs/docs/cmd/teams/app/app-remove.mdx +19 -0
  169. package/docs/docs/cmd/teams/app/app-uninstall.mdx +21 -0
  170. package/docs/docs/cmd/teams/app/app-update.mdx +19 -0
  171. package/docs/docs/cmd/tenant/people/people-profilecardproperty-add.mdx +19 -0
  172. package/docs/docs/cmd/tenant/people/people-profilecardproperty-get.mdx +19 -0
  173. package/docs/docs/cmd/tenant/people/people-profilecardproperty-list.mdx +19 -0
  174. package/docs/docs/cmd/tenant/people/people-profilecardproperty-remove.mdx +19 -0
  175. package/docs/docs/cmd/tenant/people/people-profilecardproperty-set.mdx +19 -0
  176. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.mdx +19 -0
  177. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.mdx +19 -0
  178. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.mdx +19 -0
  179. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.mdx +19 -0
  180. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.mdx +19 -0
  181. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.mdx +19 -0
  182. package/docs/docs/cmd/viva/engage/engage-message-add.mdx +17 -0
  183. package/docs/docs/cmd/viva/engage/engage-message-get.mdx +17 -0
  184. package/docs/docs/cmd/viva/engage/engage-message-list.mdx +17 -0
  185. package/docs/docs/cmd/viva/engage/engage-message-remove.mdx +19 -0
  186. package/npm-shrinkwrap.json +1120 -3216
  187. package/package.json +24 -38
  188. package/dist/appInsights.js +0 -43
@@ -1,15 +1,25 @@
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 _TeamsChatMemberRemoveCommand_instances, _TeamsChatMemberRemoveCommand_initTelemetry, _TeamsChatMemberRemoveCommand_initOptions, _TeamsChatMemberRemoveCommand_initValidators, _TeamsChatMemberRemoveCommand_initOptionSets;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import { odata } from '../../../../utils/odata.js';
8
4
  import { validation } from '../../../../utils/validation.js';
9
5
  import GraphCommand from '../../../base/GraphCommand.js';
10
6
  import commands from '../../commands.js';
11
7
  import { cli } from '../../../../cli/cli.js';
12
8
  import request from '../../../../request.js';
9
+ export const options = z.strictObject({
10
+ ...globalOptionsZod.shape,
11
+ chatId: z.string().refine(val => validation.isValidTeamsChatId(val), {
12
+ message: 'The value of the option chatId must be a valid Teams ChatId.'
13
+ }).alias('i'),
14
+ id: z.string().optional(),
15
+ userId: z.string().refine(val => validation.isValidGuid(val), {
16
+ message: 'The value of the option userId must be a valid GUID.'
17
+ }).optional(),
18
+ userName: z.string().refine(val => validation.isValidUserPrincipalName(val), {
19
+ message: 'The value of the option userName must be a valid user principal name.'
20
+ }).optional(),
21
+ force: z.boolean().optional().alias('f')
22
+ });
13
23
  class TeamsChatMemberRemoveCommand extends GraphCommand {
14
24
  get name() {
15
25
  return commands.CHAT_MEMBER_REMOVE;
@@ -17,13 +27,18 @@ class TeamsChatMemberRemoveCommand extends GraphCommand {
17
27
  get description() {
18
28
  return 'Removes a member from a Microsoft Teams chat conversation';
19
29
  }
20
- constructor() {
21
- super();
22
- _TeamsChatMemberRemoveCommand_instances.add(this);
23
- __classPrivateFieldGet(this, _TeamsChatMemberRemoveCommand_instances, "m", _TeamsChatMemberRemoveCommand_initTelemetry).call(this);
24
- __classPrivateFieldGet(this, _TeamsChatMemberRemoveCommand_instances, "m", _TeamsChatMemberRemoveCommand_initOptions).call(this);
25
- __classPrivateFieldGet(this, _TeamsChatMemberRemoveCommand_instances, "m", _TeamsChatMemberRemoveCommand_initValidators).call(this);
26
- __classPrivateFieldGet(this, _TeamsChatMemberRemoveCommand_instances, "m", _TeamsChatMemberRemoveCommand_initOptionSets).call(this);
30
+ get schema() {
31
+ return options;
32
+ }
33
+ getRefinedSchema(schema) {
34
+ return schema
35
+ .refine(opts => [opts.id, opts.userId, opts.userName].filter(x => x !== undefined).length === 1, {
36
+ message: 'Specify one of id, userId or userName, but not more than one.',
37
+ params: {
38
+ customCode: 'optionSet',
39
+ options: ['id', 'userId', 'userName']
40
+ }
41
+ });
27
42
  }
28
43
  async commandAction(logger, args) {
29
44
  const removeUserFromChat = async () => {
@@ -76,42 +91,5 @@ class TeamsChatMemberRemoveCommand extends GraphCommand {
76
91
  }
77
92
  }
78
93
  }
79
- _TeamsChatMemberRemoveCommand_instances = new WeakSet(), _TeamsChatMemberRemoveCommand_initTelemetry = function _TeamsChatMemberRemoveCommand_initTelemetry() {
80
- this.telemetry.push((args) => {
81
- Object.assign(this.telemetryProperties, {
82
- id: typeof args.options.id !== 'undefined',
83
- userId: typeof args.options.userId !== 'undefined',
84
- userName: typeof args.options.userName !== 'undefined',
85
- force: !!args.options.force
86
- });
87
- });
88
- }, _TeamsChatMemberRemoveCommand_initOptions = function _TeamsChatMemberRemoveCommand_initOptions() {
89
- this.options.unshift({
90
- option: '-i, --chatId <chatId>'
91
- }, {
92
- option: '--id [id]'
93
- }, {
94
- option: '--userId [userId]'
95
- }, {
96
- option: '--userName [userName]'
97
- }, {
98
- option: '-f, --force'
99
- });
100
- }, _TeamsChatMemberRemoveCommand_initValidators = function _TeamsChatMemberRemoveCommand_initValidators() {
101
- this.validators.push(async (args) => {
102
- if (!validation.isValidTeamsChatId(args.options.chatId)) {
103
- return `${args.options.chatId} is not a valid Teams chatId.`;
104
- }
105
- if (args.options.userId && !validation.isValidGuid(args.options.userId)) {
106
- return `${args.options.userId} is not a valid userId.`;
107
- }
108
- if (args.options.userName && !validation.isValidUserPrincipalName(args.options.userName)) {
109
- return `${args.options.userName} is not a valid user principal name.`;
110
- }
111
- return true;
112
- });
113
- }, _TeamsChatMemberRemoveCommand_initOptionSets = function _TeamsChatMemberRemoveCommand_initOptionSets() {
114
- this.optionSets.push({ options: ['id', 'userId', 'userName'] });
115
- };
116
94
  export default new TeamsChatMemberRemoveCommand();
117
95
  //# sourceMappingURL=chat-member-remove.js.map
@@ -1,10 +1,6 @@
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 _TeamsChatMessageSendCommand_instances, _TeamsChatMessageSendCommand_initTelemetry, _TeamsChatMessageSendCommand_initOptions, _TeamsChatMessageSendCommand_initValidators, _TeamsChatMessageSendCommand_initOptionSets;
1
+ import { z } from 'zod';
7
2
  import auth from '../../../../Auth.js';
3
+ import { globalOptionsZod } from '../../../../Command.js';
8
4
  import request from '../../../../request.js';
9
5
  import { accessToken } from '../../../../utils/accessToken.js';
10
6
  import { validation } from '../../../../utils/validation.js';
@@ -13,6 +9,24 @@ import { chatUtil } from './chatUtil.js';
13
9
  import { cli } from '../../../../cli/cli.js';
14
10
  import { formatting } from '../../../../utils/formatting.js';
15
11
  import GraphDelegatedCommand from '../../../base/GraphDelegatedCommand.js';
12
+ export const options = z.strictObject({
13
+ ...globalOptionsZod.shape,
14
+ chatId: z.string().refine(val => validation.isValidTeamsChatId(val), {
15
+ message: 'The value is not a valid Teams ChatId.'
16
+ }).optional(),
17
+ userEmails: z.string().refine(val => {
18
+ const userEmails = val.trim().toLowerCase().split(',').filter(e => e && e !== '');
19
+ if (!userEmails || userEmails.length === 0) {
20
+ return false;
21
+ }
22
+ return userEmails.every(e => validation.isValidUserPrincipalName(e));
23
+ }, {
24
+ message: 'The option userEmails contains one or more invalid email addresses.'
25
+ }).alias('e').optional(),
26
+ chatName: z.string().optional(),
27
+ message: z.string().alias('m'),
28
+ contentType: z.enum(['text', 'html']).optional()
29
+ });
16
30
  class TeamsChatMessageSendCommand extends GraphDelegatedCommand {
17
31
  get name() {
18
32
  return commands.CHAT_MESSAGE_SEND;
@@ -20,14 +34,18 @@ class TeamsChatMessageSendCommand extends GraphDelegatedCommand {
20
34
  get description() {
21
35
  return 'Sends a chat message to a Microsoft Teams chat conversation.';
22
36
  }
23
- constructor() {
24
- super();
25
- _TeamsChatMessageSendCommand_instances.add(this);
26
- this.contentTypes = ['text', 'html'];
27
- __classPrivateFieldGet(this, _TeamsChatMessageSendCommand_instances, "m", _TeamsChatMessageSendCommand_initTelemetry).call(this);
28
- __classPrivateFieldGet(this, _TeamsChatMessageSendCommand_instances, "m", _TeamsChatMessageSendCommand_initOptions).call(this);
29
- __classPrivateFieldGet(this, _TeamsChatMessageSendCommand_instances, "m", _TeamsChatMessageSendCommand_initValidators).call(this);
30
- __classPrivateFieldGet(this, _TeamsChatMessageSendCommand_instances, "m", _TeamsChatMessageSendCommand_initOptionSets).call(this);
37
+ get schema() {
38
+ return options;
39
+ }
40
+ getRefinedSchema(schema) {
41
+ return schema
42
+ .refine(opts => [opts.chatId, opts.userEmails, opts.chatName].filter(x => x !== undefined).length === 1, {
43
+ message: 'Specify one of chatId, userEmails or chatName, but not more than one.',
44
+ params: {
45
+ customCode: 'optionSet',
46
+ options: ['chatId', 'userEmails', 'chatName']
47
+ }
48
+ });
31
49
  }
32
50
  async commandAction(logger, args) {
33
51
  try {
@@ -126,46 +144,5 @@ class TeamsChatMessageSendCommand extends GraphDelegatedCommand {
126
144
  return request.post(requestOptions);
127
145
  }
128
146
  }
129
- _TeamsChatMessageSendCommand_instances = new WeakSet(), _TeamsChatMessageSendCommand_initTelemetry = function _TeamsChatMessageSendCommand_initTelemetry() {
130
- this.telemetry.push((args) => {
131
- Object.assign(this.telemetryProperties, {
132
- chatId: typeof args.options.chatId !== 'undefined',
133
- userEmails: typeof args.options.userEmails !== 'undefined',
134
- chatName: typeof args.options.chatName !== 'undefined',
135
- contentType: args.options.contentType ?? 'text'
136
- });
137
- });
138
- }, _TeamsChatMessageSendCommand_initOptions = function _TeamsChatMessageSendCommand_initOptions() {
139
- this.options.unshift({
140
- option: '--chatId [chatId]'
141
- }, {
142
- option: '-e, --userEmails [userEmails]'
143
- }, {
144
- option: '--chatName [chatName]'
145
- }, {
146
- option: '-m, --message <message>'
147
- }, {
148
- option: '--contentType [contentType]',
149
- autocomplete: this.contentTypes
150
- });
151
- }, _TeamsChatMessageSendCommand_initValidators = function _TeamsChatMessageSendCommand_initValidators() {
152
- this.validators.push(async (args) => {
153
- if (args.options.chatId && !validation.isValidTeamsChatId(args.options.chatId)) {
154
- return `${args.options.chatId} is not a valid Teams ChatId.`;
155
- }
156
- if (args.options.userEmails) {
157
- const userEmails = args.options.userEmails.trim().toLowerCase().split(',').filter(e => e && e !== '');
158
- if (!userEmails || userEmails.length === 0 || userEmails.some(e => !validation.isValidUserPrincipalName(e))) {
159
- return `${args.options.userEmails} contains one or more invalid email addresses.`;
160
- }
161
- }
162
- if (args.options.contentType && !this.contentTypes.includes(args.options.contentType)) {
163
- return `'${args.options.contentType}' is not a valid value for option contentType. Allowed values are ${this.contentTypes.join(', ')}.`;
164
- }
165
- return true;
166
- });
167
- }, _TeamsChatMessageSendCommand_initOptionSets = function _TeamsChatMessageSendCommand_initOptionSets() {
168
- this.optionSets.push({ options: ['chatId', 'userEmails', 'chatName'] });
169
- };
170
147
  export default new TeamsChatMessageSendCommand();
171
148
  //# sourceMappingURL=chat-message-send.js.map
@@ -1,13 +1,14 @@
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 _UtilAccessTokenGetCommand_instances, _UtilAccessTokenGetCommand_initTelemetry, _UtilAccessTokenGetCommand_initOptions;
1
+ import { z } from 'zod';
7
2
  import auth, { Auth } from '../../../../Auth.js';
8
- import Command from '../../../../Command.js';
3
+ import Command, { globalOptionsZod } from '../../../../Command.js';
9
4
  import commands from '../../commands.js';
10
5
  import { accessToken } from '../../../../utils/accessToken.js';
6
+ export const options = z.strictObject({
7
+ ...globalOptionsZod.shape,
8
+ resource: z.string().alias('r'),
9
+ new: z.boolean().optional(),
10
+ decoded: z.boolean().optional()
11
+ });
11
12
  class UtilAccessTokenGetCommand extends Command {
12
13
  get name() {
13
14
  return commands.ACCESSTOKEN_GET;
@@ -15,11 +16,8 @@ class UtilAccessTokenGetCommand extends Command {
15
16
  get description() {
16
17
  return 'Gets access token for the specified resource';
17
18
  }
18
- constructor() {
19
- super();
20
- _UtilAccessTokenGetCommand_instances.add(this);
21
- __classPrivateFieldGet(this, _UtilAccessTokenGetCommand_instances, "m", _UtilAccessTokenGetCommand_initTelemetry).call(this);
22
- __classPrivateFieldGet(this, _UtilAccessTokenGetCommand_instances, "m", _UtilAccessTokenGetCommand_initOptions).call(this);
19
+ get schema() {
20
+ return options;
23
21
  }
24
22
  async commandAction(logger, args) {
25
23
  let resource = args.options.resource;
@@ -49,21 +47,5 @@ class UtilAccessTokenGetCommand extends Command {
49
47
  }
50
48
  }
51
49
  }
52
- _UtilAccessTokenGetCommand_instances = new WeakSet(), _UtilAccessTokenGetCommand_initTelemetry = function _UtilAccessTokenGetCommand_initTelemetry() {
53
- this.telemetry.push((args) => {
54
- Object.assign(this.telemetryProperties, {
55
- new: args.options.new,
56
- decoded: args.options.decoded
57
- });
58
- });
59
- }, _UtilAccessTokenGetCommand_initOptions = function _UtilAccessTokenGetCommand_initOptions() {
60
- this.options.unshift({
61
- option: '-r, --resource <resource>'
62
- }, {
63
- option: '--new'
64
- }, {
65
- option: '--decoded'
66
- });
67
- };
68
50
  export default new UtilAccessTokenGetCommand();
69
51
  //# sourceMappingURL=accesstoken-get.js.map
package/dist/telemetry.js CHANGED
@@ -1,25 +1,21 @@
1
- import appInsights from './appInsights.js';
2
1
  import { cli } from './cli/cli.js';
2
+ import { googleAnalytics } from './googleAnalytics.js';
3
3
  import { settingsNames } from './settingsNames.js';
4
4
  import { pid } from './utils/pid.js';
5
5
  import { session } from './utils/session.js';
6
6
  async function trackTelemetry(object) {
7
7
  try {
8
8
  const { commandName, properties, exception } = object;
9
- appInsights.commonProperties.shell = pid.getProcessName(process.ppid) || '';
10
- appInsights.context.tags[appInsights.context.keys.sessionId] = session.getId(process.ppid);
9
+ const context = {
10
+ shell: pid.getProcessName(process.ppid) || '',
11
+ sessionId: session.getId(process.ppid)
12
+ };
11
13
  if (exception) {
12
- appInsights.trackException({
13
- exception
14
- });
14
+ await googleAnalytics.trackException(exception, context);
15
15
  }
16
16
  else {
17
- appInsights.trackEvent({
18
- name: commandName,
19
- properties
20
- });
17
+ await googleAnalytics.trackEvent(commandName, properties, context);
21
18
  }
22
- await appInsights.flush();
23
19
  }
24
20
  catch {
25
21
  // Do nothing
package/dist/utils/spo.js CHANGED
@@ -1250,9 +1250,7 @@ export const spo = {
1250
1250
  // Neither properties nor contentTypeName provided, no need to proceed
1251
1251
  throw 'Either properties or contentTypeName must be provided for systemUpdateListItem.';
1252
1252
  }
1253
- const parsedUrl = new URL(absoluteListUrl);
1254
- const serverRelativeSiteMatch = absoluteListUrl.match(new RegExp('/sites/[^/]+'));
1255
- const webUrl = `${parsedUrl.protocol}//${parsedUrl.host}${serverRelativeSiteMatch ?? ''}`;
1253
+ const webUrl = absoluteListUrl.substring(0, absoluteListUrl.indexOf('/_api/'));
1256
1254
  if (verbose && logger) {
1257
1255
  await logger.logToStderr(`Getting list id...`);
1258
1256
  }
@@ -165,8 +165,8 @@ export const urlUtil = {
165
165
  */
166
166
  getTargetSiteAbsoluteUrl(webUrl, url) {
167
167
  const fullUrl = url.startsWith('https://') ? url : urlUtil.getAbsoluteUrl(webUrl, url);
168
- // Pattern to match SharePoint URLs
169
- const urlPattern = /https:\/\/[\w-]+\.sharepoint\.com\/(teams|sites|personal)\/([\w-]+)/;
168
+ // Pattern to match SharePoint site collection URLs on any of the supported managed paths
169
+ const urlPattern = /^https:\/\/[\w-]+\.sharepoint\.com\/(teams|sites|personal)\/[^/?#]+/i;
170
170
  const match = fullUrl.match(urlPattern);
171
171
  if (match) {
172
172
  // If a match is found, return the matched URL
@@ -24,8 +24,8 @@ m365 entra m365group remove [options]
24
24
  `-f, --force`
25
25
  : Don't prompt for confirming removing the group
26
26
 
27
- `--skipRecycleBin`
28
- : Set to directly remove the group without moving it to the Recycle Bin
27
+ `--permanent`
28
+ : Permanently remove the group without leaving it in the recycle bin.
29
29
  ```
30
30
 
31
31
  <Global />
@@ -53,7 +53,7 @@ m365 entra m365group remove [options]
53
53
 
54
54
  If the specified _id_ doesn't refer to an existing group, you will get a `Resource does not exist` error. Additionally, if you do not have access to the group or the associated group-connected site, you will get an `Access denied` error.
55
55
 
56
- When you use `--skipRecycleBin` flag to remove a Microsoft 365 group permanently, the process involves deleting the associated group-connected site and the group, and then checking if the group has been moved to the deleted groups list. In some cases, it may take a few seconds for the group to appear in the deleted groups list.
56
+ When you use the `--permanent` flag to remove a Microsoft 365 group permanently, the process involves deleting the associated group-connected site and the group, and then checking if the group has been moved to the deleted groups list. In some cases, it may take a few seconds for the group to appear in the deleted groups list.
57
57
 
58
58
  To ensure a smooth deletion process, the command employs a retry mechanism with the following parameters:
59
59
 
@@ -80,7 +80,7 @@ m365 entra m365group remove --displayName Finance --force
80
80
  Remove group with id _28beab62-7540-4db1-a23f-29a6018a3848_ without prompting for confirmation and without moving it to the Recycle Bin
81
81
 
82
82
  ```sh
83
- m365 entra m365group remove --id 28beab62-7540-4db1-a23f-29a6018a3848 --force --skipRecycleBin
83
+ m365 entra m365group remove --id 28beab62-7540-4db1-a23f-29a6018a3848 --force --permanent
84
84
  ```
85
85
 
86
86
  ## Response
@@ -27,8 +27,8 @@ m365 spe container remove [options]
27
27
  `--containerTypeName [containerTypeName]`
28
28
  : The name of the container type. Specify either `containerTypeId` or `containerTypeName` when using `name` but not both.
29
29
 
30
- `--recycle`
31
- : Recycle the container instance instead of permanently deleting it.
30
+ `--permanent`
31
+ : Permanently delete the container instance instead of moving it to the recycle bin.
32
32
 
33
33
  `-f, --force`
34
34
  : Do not prompt for confirmation.
@@ -67,16 +67,16 @@ The command is based on an API that is currently in preview and is subject to ch
67
67
 
68
68
  ## Examples
69
69
 
70
- Remove a container by ID.
70
+ Move a container specified by ID to the recycle bin.
71
71
 
72
72
  ```sh
73
73
  m365 spe container remove --id "b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z"
74
74
  ```
75
75
 
76
- Move a container specified by ID to the recycle bin.
76
+ Permanently remove a container by ID.
77
77
 
78
78
  ```sh
79
- m365 spe container remove --id "b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z" --recycle
79
+ m365 spe container remove --id "b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z" --permanent
80
80
  ```
81
81
 
82
82
  Remove a container by name specifying the container type id.
@@ -22,7 +22,7 @@ m365 spo file archive [options]
22
22
  : The server- or site-relative decoded URL of the file to archive. Specify either `url` or `id`, but not both.
23
23
 
24
24
  `-i, --id [id]`
25
- : The UniqueId (GUID) of the file to archive. Specify either `url` or `id`, but not both.
25
+ : The unique ID (GUID) of the file to archive. Specify either `url` or `id`, but not both.
26
26
 
27
27
  `-f, --force`
28
28
  : Don't prompt for confirmation.
@@ -30,6 +30,14 @@ m365 spo file archive [options]
30
30
 
31
31
  <Global />
32
32
 
33
+ ## Remarks
34
+
35
+ :::warning
36
+
37
+ You will be able to reactivate an archived file instantly for the first 7 days. After that, it will take up to 24 hours to reactivate.
38
+
39
+ :::
40
+
33
41
  ## Permissions
34
42
 
35
43
  <Tabs>
@@ -22,7 +22,7 @@ m365 spo file checkin [options]
22
22
  : The server- or site-relative decoded URL of the file to retrieve. Specify either `url` or `id` but not both.
23
23
 
24
24
  `-i, --id [id]`
25
- : The UniqueId (GUID) of the file to retrieve. Specify either `url` or `id` but not both.
25
+ : The unique ID (GUID) of the file to retrieve. Specify either `url` or `id` but not both.
26
26
 
27
27
  `-t, --type [type]`
28
28
  : Type of the check in. Allowed values: `Minor`, `Major`, `Overwrite`. Defaults to `Major`.
@@ -54,7 +54,7 @@ m365 spo file checkin [options]
54
54
 
55
55
  ## Examples
56
56
 
57
- Checks in file with the specified UniqueId located in the specified site.
57
+ Checks in file with the specified unique ID located in the specified site.
58
58
 
59
59
  ```sh
60
60
  m365 spo file checkin --webUrl https://contoso.sharepoint.com/sites/project-x --id 'b2307a39-e878-458b-bc90-03bc578531d6'
@@ -22,7 +22,7 @@ m365 spo file checkout undo [options]
22
22
  : The server- or site-relative decoded URL of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
23
23
 
24
24
  `-i, --fileId [fileId]`
25
- : The UniqueId (GUID) of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
25
+ : The unique ID (GUID) of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
26
26
 
27
27
  `-f, --force`
28
28
  : Don't prompt for confirmation.
@@ -22,7 +22,7 @@ m365 spo file checkout [options]
22
22
  : The server- or site-relative decoded URL of the file to retrieve. Specify either `url` or `id` but not both.
23
23
 
24
24
  `-i, --id [id]`
25
- : The UniqueId (GUID) of the file to retrieve. Specify either `url` or `id` but not both.
25
+ : The unique ID (GUID) of the file to retrieve. Specify either `url` or `id` but not both.
26
26
  ```
27
27
 
28
28
  <Global />
@@ -48,7 +48,7 @@ m365 spo file checkout [options]
48
48
 
49
49
  ## Examples
50
50
 
51
- Checks out file with the specified UniqueId located in the specified site.
51
+ Checks out file with the specified unique ID located in the specified site.
52
52
 
53
53
  ```sh
54
54
  m365 spo file checkout --webUrl https://contoso.sharepoint.com/sites/project-x --id 'b2307a39-e878-458b-bc90-03bc578531d6'
@@ -85,13 +85,13 @@ Copy a file by site-relative URL to a document library in another site collectio
85
85
  m365 spo file copy --webUrl https://contoso.sharepoint.com/sites/project --sourceUrl "/Shared Documents/Document.pdf" --targetUrl "/sites/IT/Shared Documents" --ignoreVersionHistory
86
86
  ```
87
87
 
88
- Copy file by sourceId (UniqueId) to a document library in another site collection and rename the file (without specifying the file extension).
88
+ Copy file by sourceId (unique ID) to a document library in another site collection and rename the file (without specifying the file extension).
89
89
 
90
90
  ```sh
91
91
  m365 spo file copy --webUrl https://contoso.sharepoint.com/sites/project --sourceId "b2307a39-e878-458b-bc90-03bc578531d6" --targetUrl "/sites/IT/Shared Documents" --newName "Report.pdf"
92
92
  ```
93
93
 
94
- Copy file by sourceId (UniqueId) to a document library in another site collection with a new name, rename the file if it already exists.
94
+ Copy file by sourceId (unique ID) to a document library in another site collection with a new name, rename the file if it already exists.
95
95
 
96
96
  ```sh
97
97
  m365 spo file copy --webUrl https://contoso.sharepoint.com/sites/project --sourceId "b2307a39-e878-458b-bc90-03bc578531d6" --targetUrl "/sites/IT/Shared Documents" --newName "Report.pdf" --nameConflictBehavior rename
@@ -22,7 +22,7 @@ m365 spo file get [options]
22
22
  : The server- or site-relative decoded URL of the file to retrieve. Specify either `url` or `id` but not both.
23
23
 
24
24
  `-i, --id [id]`
25
- : The UniqueId (GUID) of the file to retrieve. Specify either `url` or `id` but not both.
25
+ : The unique ID (GUID) of the file to retrieve. Specify either `url` or `id` but not both.
26
26
 
27
27
  `--asString`
28
28
  : Set to retrieve the contents of the specified file as string.
@@ -63,25 +63,25 @@ m365 spo file get [options]
63
63
 
64
64
  ## Examples
65
65
 
66
- Get file properties for a file with id (UniqueId) parameter located in a site.
66
+ Get file properties for a file with id (unique ID) parameter located in a site.
67
67
 
68
68
  ```sh
69
69
  m365 spo file get --webUrl https://contoso.sharepoint.com/sites/project-x --id 'b2307a39-e878-458b-bc90-03bc578531d6'
70
70
  ```
71
71
 
72
- Get contents of the file with id (UniqueId) parameter located in a site.
72
+ Get contents of the file with id (unique ID) parameter located in a site.
73
73
 
74
74
  ```sh
75
75
  m365 spo file get --webUrl https://contoso.sharepoint.com/sites/project-x --id 'b2307a39-e878-458b-bc90-03bc578531d6' --asString
76
76
  ```
77
77
 
78
- Get list item properties for a file with id (UniqueId) parameter located in a site.
78
+ Get list item properties for a file with id (unique ID) parameter located in a site.
79
79
 
80
80
  ```sh
81
81
  m365 spo file get --webUrl https://contoso.sharepoint.com/sites/project-x --id 'b2307a39-e878-458b-bc90-03bc578531d6' --asListItem
82
82
  ```
83
83
 
84
- Saves the file with id (UniqueId) parameter located in a site to a local file.
84
+ Saves the file with id (unique ID) parameter located in a site to a local file.
85
85
 
86
86
  ```sh
87
87
  m365 spo file get --webUrl https://contoso.sharepoint.com/sites/project-x --id 'b2307a39-e878-458b-bc90-03bc578531d6' --asFile --path /Users/user/documents/SavedAsTest1.docx
@@ -111,7 +111,7 @@ Saves a file with the server-relative url located in a site to a local file.
111
111
  m365 spo file get --webUrl https://contoso.sharepoint.com/sites/project-x --url '/sites/project-x/documents/Test1.docx' --asFile --path /Users/user/documents/SavedAsTest1.docx
112
112
  ```
113
113
 
114
- Gets the file properties for a file with id (UniqueId) parameter located in a site with permissions.
114
+ Gets the file properties for a file with id (unique ID) parameter located in a site with permissions.
115
115
 
116
116
  ```sh
117
117
  m365 spo file get --webUrl https://contoso.sharepoint.com/sites/project-x --id 'b2307a39-e878-458b-bc90-03bc578531d6' --withPermissions
@@ -30,8 +30,8 @@ m365 spo page template remove
30
30
  `--url [url]`
31
31
  : The server- or site-relative decoded URL of the file to remove. Specify either `id` or `url` but not both.
32
32
 
33
- `--recycle`
34
- : Recycle the file instead of actually deleting it.
33
+ `--permanent`
34
+ : Permanently delete the file instead of moving it to the recycle bin.
35
35
 
36
36
  `--bypassSharedLock`
37
37
  : Remove the file even if it is locked for shared use.
@@ -75,10 +75,10 @@ Remove a file by site-relative URL.
75
75
  m365 spo file remove --webUrl https://contoso.sharepoint.com/sites/project-x --url "/Shared Documents/Test.docx"
76
76
  ```
77
77
 
78
- Remove a file by server-relative URL to the recycle bin.
78
+ Permanently remove a file by server-relative URL.
79
79
 
80
80
  ```sh
81
- m365 spo file remove --webUrl https://contoso.sharepoint.com/sites/project-x --url "/sites/project-x/Shared Documents/Test.docx" --recycle
81
+ m365 spo file remove --webUrl https://contoso.sharepoint.com/sites/project-x --url "/sites/project-x/Shared Documents/Test.docx" --permanent
82
82
  ```
83
83
 
84
84
  Remove a file that is locked
@@ -22,7 +22,7 @@ m365 spo file retentionlabel ensure [options]
22
22
  : The site- or server-relative decoded URL of the file that should be labelled. Specify either `fileUrl` or `fileId` but not both.
23
23
 
24
24
  `-i, --fileId [fileId]`
25
- : The UniqueId (GUID) of the file that should be labelled. Specify either `fileUrl` or `fileId` but not both.
25
+ : The unique ID (GUID) of the file that should be labelled. Specify either `fileUrl` or `fileId` but not both.
26
26
 
27
27
  `--name <name>`
28
28
  : Name of the retention label to apply to the file.
@@ -22,7 +22,7 @@ m365 spo file retentionlabel remove [options]
22
22
  : The server- or site-relative decoded URL of the file of which the label should be removed. Specify either `fileUrl` or `fileId` but not both.
23
23
 
24
24
  `-i, --fileId [fileId]`
25
- : The UniqueId (GUID) of the file of which the label should be removed. Specify either `fileUrl` or `fileId` but not both.
25
+ : The unique ID (GUID) of the file of which the label should be removed. Specify either `fileUrl` or `fileId` but not both.
26
26
 
27
27
  `-f, --force`
28
28
  : Don't prompt for confirming removing the retention label from a file.
@@ -22,7 +22,7 @@ m365 spo file roleassignment add [options]
22
22
  : The server- or site-relative decoded URL of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
23
23
 
24
24
  `-i, --fileId [fileId]`
25
- : The UniqueId (GUID) of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
25
+ : The unique ID (GUID) of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
26
26
 
27
27
  `--principalId [principalId]`
28
28
  : The SharePoint Id of the principal. It may be either a user id or group id to add a role assignment for. Specify either `upn`, `groupName`, or `principalId` but not multiple.
@@ -22,7 +22,7 @@ m365 spo file roleassignment remove [options]
22
22
  : The server- or site-relative decoded URL of the file. Specify either `fileUrl` or `fileId` but not both.
23
23
 
24
24
  `-i, --fileId [fileId]`
25
- : The UniqueId (GUID) of the file. Specify either `fileUrl` or `fileId` but not both.
25
+ : The unique ID (GUID) of the file. Specify either `fileUrl` or `fileId` but not both.
26
26
 
27
27
  `--principalId [principalId]`
28
28
  : The SharePoint Id of the principal. It may be either a user id or group id. Specify either `upn`, `groupName`, `entraGroupId`, `entraGroupName`, or `principalId` but not multiple.
@@ -22,7 +22,7 @@ m365 spo file roleinheritance break [options]
22
22
  : The server- or site-relative decoded URL of the file. Specify either `fileUrl` or `fileId` but not both.
23
23
 
24
24
  `-i, --fileId [fileId]`
25
- : The UniqueId (GUID) of the file. Specify either `fileUrl` or `fileId` but not both.
25
+ : The unique ID (GUID) of the file. Specify either `fileUrl` or `fileId` but not both.
26
26
 
27
27
  `-c, --clearExistingPermissions`
28
28
  : Clear all existing permissions from the file.
@@ -54,13 +54,13 @@ m365 spo file roleinheritance break [options]
54
54
 
55
55
  ## Examples
56
56
 
57
- Break the inheritance of a file with a specific id (UniqueId).
57
+ Break the inheritance of a file with a specific id (unique ID).
58
58
 
59
59
  ```sh
60
60
  m365 spo file roleinheritance break --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileId "b2307a39-e878-458b-bc90-03bc578531d6"
61
61
  ```
62
62
 
63
- Break the inheritance of a file with a specific id (UniqueId) and clear all existing permissions.
63
+ Break the inheritance of a file with a specific id (unique ID) and clear all existing permissions.
64
64
 
65
65
  ```sh
66
66
  m365 spo file roleinheritance break --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileId "b2307a39-e878-458b-bc90-03bc578531d6" --clearExistingPermissions
@@ -22,7 +22,7 @@ m365 spo file roleinheritance reset [options]
22
22
  : The server- or site-relative decoded URL of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
23
23
 
24
24
  `-i, --fileId [fileId]`
25
- : The UniqueId (GUID) of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
25
+ : The unique ID (GUID) of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
26
26
 
27
27
  `-f, --force`
28
28
  : Don't prompt for confirmation.
@@ -51,7 +51,7 @@ m365 spo file roleinheritance reset [options]
51
51
 
52
52
  ## Examples
53
53
 
54
- Reset inheritance of file with the specified id (UniqueId) located in the specified site.
54
+ Reset inheritance of file with the specified id (unique ID) located in the specified site.
55
55
 
56
56
  ```sh
57
57
  m365 spo file roleinheritance reset --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileId "b2307a39-e878-458b-bc90-03bc578531d6"