@pnp/cli-microsoft365 11.9.0-beta.8c1ee05 → 11.9.0-beta.9bd71dd

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 (153) hide show
  1. package/.devcontainer/Dockerfile +2 -2
  2. package/.devproxy/api-specs/sharepoint.yaml +166 -0
  3. package/allCommands.json +1 -1
  4. package/allCommandsFull.json +1 -1
  5. package/dist/m365/cli/commands/app/app-reconsent.js +8 -0
  6. package/dist/m365/cli/commands/cli-consent.js +8 -31
  7. package/dist/m365/cli/commands/cli-doctor.js +6 -1
  8. package/dist/m365/cli/commands/cli-issue.js +8 -36
  9. package/dist/m365/cli/commands/completion/completion-clink-update.js +8 -0
  10. package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +8 -16
  11. package/dist/m365/cli/commands/completion/completion-pwsh-update.js +8 -0
  12. package/dist/m365/cli/commands/completion/completion-sh-setup.js +8 -0
  13. package/dist/m365/cli/commands/completion/completion-sh-update.js +8 -0
  14. package/dist/m365/cli/commands/config/config-get.js +9 -32
  15. package/dist/m365/cli/commands/config/config-list.js +8 -0
  16. package/dist/m365/cli/commands/config/config-reset.js +9 -34
  17. package/dist/m365/cli/commands/config/config-set.js +86 -70
  18. package/dist/m365/commands/request.js +26 -60
  19. package/dist/m365/commands/search.js +59 -77
  20. package/dist/m365/commands/setup.js +16 -31
  21. package/dist/m365/commands/version.js +6 -0
  22. package/dist/m365/connection/commands/connection-remove.js +9 -29
  23. package/dist/m365/connection/commands/connection-use.js +8 -26
  24. package/dist/m365/context/commands/context-init.js +6 -0
  25. package/dist/m365/context/commands/option/option-set.js +9 -18
  26. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-add.js +32 -63
  27. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-get.js +21 -45
  28. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-list.js +32 -53
  29. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-remove.js +34 -74
  30. package/dist/m365/entra/commands/administrativeunit/administrativeunit-roleassignment-add.js +37 -57
  31. package/dist/m365/entra/commands/approleassignment/approleassignment-add.js +23 -48
  32. package/dist/m365/entra/commands/approleassignment/approleassignment-list.js +20 -43
  33. package/dist/m365/entra/commands/approleassignment/approleassignment-remove.js +24 -51
  34. package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-add.js +20 -43
  35. package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-get.js +20 -43
  36. package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-list.js +9 -25
  37. package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-remove.js +21 -50
  38. package/dist/m365/entra/commands/groupsetting/groupsetting-add.js +9 -25
  39. package/dist/m365/entra/commands/groupsetting/groupsetting-get.js +8 -24
  40. package/dist/m365/entra/commands/groupsetting/groupsetting-list.js +6 -0
  41. package/dist/m365/entra/commands/groupsetting/groupsetting-remove.js +9 -33
  42. package/dist/m365/entra/commands/groupsetting/groupsetting-set.js +8 -24
  43. package/dist/m365/entra/commands/groupsettingtemplate/groupsettingtemplate-get.js +19 -38
  44. package/dist/m365/entra/commands/groupsettingtemplate/groupsettingtemplate-list.js +6 -0
  45. package/dist/m365/entra/commands/multitenant/multitenant-get.js +8 -1
  46. package/dist/m365/entra/commands/multitenant/multitenant-remove.js +8 -22
  47. package/dist/m365/entra/commands/multitenant/multitenant-set.js +15 -36
  48. package/dist/m365/entra/commands/oauth2grant/oauth2grant-add.js +10 -31
  49. package/dist/m365/entra/commands/oauth2grant/oauth2grant-list.js +8 -24
  50. package/dist/m365/entra/commands/oauth2grant/oauth2grant-remove.js +9 -17
  51. package/dist/m365/entra/commands/oauth2grant/oauth2grant-set.js +9 -17
  52. package/dist/m365/entra/commands/pim/pim-role-assignment-add.js +68 -114
  53. package/dist/m365/entra/commands/pim/pim-role-assignment-eligibility-list.js +28 -55
  54. package/dist/m365/entra/commands/pim/pim-role-assignment-list.js +30 -57
  55. package/dist/m365/entra/commands/pim/pim-role-assignment-remove.js +50 -90
  56. package/dist/m365/entra/commands/pim/pim-role-request-list.js +36 -69
  57. package/dist/m365/entra/commands/policy/policy-list.js +13 -56
  58. package/dist/m365/entra/commands/user/user-add.js +39 -118
  59. package/dist/m365/entra/commands/user/user-get.js +24 -49
  60. package/dist/m365/entra/commands/user/user-groupmembership-list.js +25 -48
  61. package/dist/m365/entra/commands/user/user-guest-add.js +14 -39
  62. package/dist/m365/entra/commands/user/user-hibp.js +12 -34
  63. package/dist/m365/entra/commands/user/user-license-add.js +23 -42
  64. package/dist/m365/entra/commands/user/user-license-list.js +21 -42
  65. package/dist/m365/entra/commands/user/user-license-remove.js +25 -47
  66. package/dist/m365/entra/commands/user/user-list.js +12 -39
  67. package/dist/m365/entra/commands/user/user-password-validate.js +8 -15
  68. package/dist/m365/entra/commands/user/user-recyclebinitem-clear.js +8 -22
  69. package/dist/m365/entra/commands/user/user-recyclebinitem-remove.js +9 -33
  70. package/dist/m365/entra/commands/user/user-recyclebinitem-restore.js +8 -24
  71. package/dist/m365/entra/commands/user/user-registrationdetails-list.js +43 -113
  72. package/dist/m365/entra/commands/user/user-remove.js +22 -42
  73. package/dist/m365/entra/commands/user/user-set.js +69 -149
  74. package/dist/m365/entra/commands/user/user-signin-list.js +22 -51
  75. package/dist/m365/external/commands/connection/connection-add.js +40 -65
  76. package/dist/m365/external/commands/connection/connection-doctor.js +14 -30
  77. package/dist/m365/external/commands/connection/connection-get.js +19 -28
  78. package/dist/m365/external/commands/connection/connection-remove.js +20 -25
  79. package/dist/m365/external/commands/connection/connection-schema-add.js +53 -42
  80. package/dist/m365/external/commands/connection/connection-urltoitemresolver-add.js +12 -23
  81. package/dist/m365/external/commands/item/item-add.js +37 -60
  82. package/dist/m365/file/commands/convert/convert-pdf.js +18 -33
  83. package/dist/m365/file/commands/file-add.js +28 -34
  84. package/dist/m365/file/commands/file-copy.js +18 -34
  85. package/dist/m365/file/commands/file-list.js +18 -24
  86. package/dist/m365/file/commands/file-move.js +22 -35
  87. package/dist/m365/flow/commands/flow-disable.js +10 -26
  88. package/dist/m365/flow/commands/flow-enable.js +10 -26
  89. package/dist/m365/flow/commands/flow-export.js +45 -71
  90. package/dist/m365/flow/commands/flow-get.js +10 -26
  91. package/dist/m365/flow/commands/flow-list.js +17 -48
  92. package/dist/m365/flow/commands/flow-remove.js +11 -38
  93. package/dist/m365/flow/commands/owner/owner-ensure.js +30 -65
  94. package/dist/m365/flow/commands/owner/owner-list.js +10 -35
  95. package/dist/m365/flow/commands/owner/owner-remove.js +30 -61
  96. package/dist/m365/flow/commands/run/run-cancel.js +11 -37
  97. package/dist/m365/flow/commands/run/run-get.js +12 -43
  98. package/dist/m365/flow/commands/run/run-list.js +29 -61
  99. package/dist/m365/flow/commands/run/run-resubmit.js +11 -37
  100. package/dist/m365/graph/commands/changelog/changelog-list.js +68 -67
  101. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +25 -31
  102. package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +8 -15
  103. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +26 -50
  104. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +9 -24
  105. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +32 -53
  106. package/dist/m365/graph/commands/subscription/subscription-add.js +63 -89
  107. package/dist/m365/outlook/commands/calendar/calendar-get.js +1 -1
  108. package/dist/m365/outlook/commands/calendar/calendar-list.js +64 -0
  109. package/dist/m365/outlook/commands/mail/mail-send.js +55 -84
  110. package/dist/m365/outlook/commands/message/message-get.js +27 -27
  111. package/dist/m365/outlook/commands/message/message-list.js +53 -80
  112. package/dist/m365/outlook/commands/message/message-move.js +43 -40
  113. package/dist/m365/outlook/commands/message/message-remove.js +17 -45
  114. package/dist/m365/outlook/commands.js +1 -0
  115. package/dist/m365/spe/commands/container/container-get.js +54 -26
  116. package/dist/m365/spe/commands/container/container-permission-list.js +43 -4
  117. package/dist/m365/spe/commands/container/container-set.js +77 -0
  118. package/dist/m365/spe/commands.js +1 -0
  119. package/dist/m365/spo/commands/file/file-unarchive.js +83 -0
  120. package/dist/m365/spo/commands/folder/folder-archive.js +89 -0
  121. package/dist/m365/spo/commands/list/list-sensitivitylabel-remove.js +83 -0
  122. package/dist/m365/spo/commands.js +3 -0
  123. package/dist/m365/viva/commands/engage/engage-role-member-add.js +79 -0
  124. package/dist/m365/viva/commands.js +1 -0
  125. package/docs/docs/cmd/outlook/calendar/calendar-get.mdx +7 -7
  126. package/docs/docs/cmd/outlook/calendar/calendar-list.mdx +155 -0
  127. package/docs/docs/cmd/spe/container/container-get.mdx +24 -3
  128. package/docs/docs/cmd/spe/container/container-permission-list.mdx +24 -3
  129. package/docs/docs/cmd/spe/container/container-set.mdx +160 -0
  130. package/docs/docs/cmd/spo/app/app-add.mdx +19 -0
  131. package/docs/docs/cmd/spo/app/app-deploy.mdx +21 -0
  132. package/docs/docs/cmd/spo/app/app-get.mdx +19 -0
  133. package/docs/docs/cmd/spo/app/app-install.mdx +21 -0
  134. package/docs/docs/cmd/spo/app/app-instance-list.mdx +19 -0
  135. package/docs/docs/cmd/spo/app/app-list.mdx +19 -0
  136. package/docs/docs/cmd/spo/app/app-remove.mdx +21 -0
  137. package/docs/docs/cmd/spo/app/app-retract.mdx +21 -0
  138. package/docs/docs/cmd/spo/app/app-teamspackage-download.mdx +21 -0
  139. package/docs/docs/cmd/spo/app/app-uninstall.mdx +21 -0
  140. package/docs/docs/cmd/spo/app/app-upgrade.mdx +21 -0
  141. package/docs/docs/cmd/spo/apppage/apppage-add.mdx +19 -1
  142. package/docs/docs/cmd/spo/apppage/apppage-set.mdx +21 -0
  143. package/docs/docs/cmd/spo/commandset/commandset-add.mdx +19 -0
  144. package/docs/docs/cmd/spo/commandset/commandset-get.mdx +19 -0
  145. package/docs/docs/cmd/spo/commandset/commandset-list.mdx +19 -0
  146. package/docs/docs/cmd/spo/commandset/commandset-remove.mdx +21 -0
  147. package/docs/docs/cmd/spo/commandset/commandset-set.mdx +21 -0
  148. package/docs/docs/cmd/spo/file/file-unarchive.mdx +68 -0
  149. package/docs/docs/cmd/spo/folder/folder-archive.mdx +73 -0
  150. package/docs/docs/cmd/spo/list/list-sensitivitylabel-remove.mdx +77 -0
  151. package/docs/docs/cmd/viva/engage/engage-role-member-add.mdx +76 -0
  152. package/npm-shrinkwrap.json +280 -128
  153. package/package.json +18 -18
@@ -1,12 +1,40 @@
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 _ExternalItemAddCommand_instances, _a, _ExternalItemAddCommand_initTelemetry, _ExternalItemAddCommand_initOptions, _ExternalItemAddCommand_initValidators;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import request from '../../../../request.js';
8
4
  import GraphCommand from '../../../base/GraphCommand.js';
9
5
  import commands from '../../commands.js';
6
+ const contentTypes = ['text', 'html'];
7
+ export const options = z.object({
8
+ ...globalOptionsZod.shape,
9
+ id: z.string(),
10
+ externalConnectionId: z.string(),
11
+ content: z.string(),
12
+ contentType: z.enum(contentTypes).optional(),
13
+ acls: z.string()
14
+ .refine(val => {
15
+ const acls = val.split(';');
16
+ return acls.every(acl => acl.split(',').length === 3);
17
+ }, {
18
+ message: 'The value for option acls is not in the correct format. The correct format is "accessType,type,value", eg. "grant,everyone,everyone"'
19
+ })
20
+ .refine(val => {
21
+ const acls = val.split(';');
22
+ const accessTypeValues = ['grant', 'deny'];
23
+ return acls.every(acl => accessTypeValues.includes(acl.split(',')[0]));
24
+ }, {
25
+ message: 'The accessType value for option acls is not valid. Allowed values are grant, deny'
26
+ })
27
+ .refine(val => {
28
+ const acls = val.split(';');
29
+ const aclTypeValues = ['user', 'group', 'everyone', 'everyoneExceptGuests', 'externalGroup'];
30
+ return acls.every(acl => {
31
+ const parts = acl.split(',');
32
+ return parts.length >= 2 && aclTypeValues.includes(parts[1]);
33
+ });
34
+ }, {
35
+ message: 'The type value for option acls is not valid. Allowed values are user, group, everyone, everyoneExceptGuests, externalGroup'
36
+ })
37
+ }).passthrough();
10
38
  class ExternalItemAddCommand extends GraphCommand {
11
39
  get name() {
12
40
  return commands.ITEM_ADD;
@@ -14,12 +42,8 @@ class ExternalItemAddCommand extends GraphCommand {
14
42
  get description() {
15
43
  return 'Creates external item';
16
44
  }
17
- constructor() {
18
- super();
19
- _ExternalItemAddCommand_instances.add(this);
20
- __classPrivateFieldGet(this, _ExternalItemAddCommand_instances, "m", _ExternalItemAddCommand_initTelemetry).call(this);
21
- __classPrivateFieldGet(this, _ExternalItemAddCommand_instances, "m", _ExternalItemAddCommand_initOptions).call(this);
22
- __classPrivateFieldGet(this, _ExternalItemAddCommand_instances, "m", _ExternalItemAddCommand_initValidators).call(this);
45
+ get schema() {
46
+ return options;
23
47
  }
24
48
  allowUnknownOptions() {
25
49
  return true;
@@ -47,7 +71,7 @@ class ExternalItemAddCommand extends GraphCommand {
47
71
  // we need to rewrite the @odata properties to the correct format
48
72
  // to extract multiple values for collections into arrays
49
73
  this.rewriteCollectionProperties(args.options);
50
- this.addUnknownOptionsToPayload(requestBody.properties, args.options);
74
+ this.addUnknownOptionsToPayloadZod(requestBody.properties, args.options);
51
75
  const requestOptions = {
52
76
  url: `${this.resource}/v1.0/external/connections/${args.options.externalConnectionId}/items/${args.options.id}`,
53
77
  headers: {
@@ -91,52 +115,5 @@ class ExternalItemAddCommand extends GraphCommand {
91
115
  });
92
116
  }
93
117
  }
94
- _a = ExternalItemAddCommand, _ExternalItemAddCommand_instances = new WeakSet(), _ExternalItemAddCommand_initTelemetry = function _ExternalItemAddCommand_initTelemetry() {
95
- this.telemetry.push((args) => {
96
- Object.assign(this.telemetryProperties, {
97
- contentType: typeof args.options.contentType
98
- });
99
- this.trackUnknownOptions(this.telemetryProperties, args.options);
100
- });
101
- }, _ExternalItemAddCommand_initOptions = function _ExternalItemAddCommand_initOptions() {
102
- this.options.unshift({
103
- option: '--id <id>'
104
- }, {
105
- option: '--externalConnectionId <externalConnectionId>'
106
- }, {
107
- option: '--content <content>'
108
- }, {
109
- option: '--contentType [contentType]',
110
- autocomplete: _a.contentType
111
- }, {
112
- option: '--acls <acls>'
113
- });
114
- }, _ExternalItemAddCommand_initValidators = function _ExternalItemAddCommand_initValidators() {
115
- this.validators.push(async (args) => {
116
- if (args.options.contentType &&
117
- _a.contentType.indexOf(args.options.contentType) < 0) {
118
- return `${args.options.contentType} is not a valid value for contentType. Allowed values are ${_a.contentType.join(', ')}`;
119
- }
120
- // verify that each value for ACLs consists of three parts
121
- // and that the values are correct
122
- const acls = args.options.acls.split(';');
123
- for (let i = 0; i < acls.length; i++) {
124
- const acl = acls[i].split(',');
125
- if (acl.length !== 3) {
126
- return `The value ${acls[i]} for option acls is not in the correct format. The correct format is "accessType,type,value", eg. "grant,everyone,everyone"`;
127
- }
128
- const accessTypeValues = ['grant', 'deny'];
129
- if (accessTypeValues.indexOf(acl[0]) < 0) {
130
- return `The value ${acl[0]} for option acls is not valid. Allowed values are ${accessTypeValues.join(', ')}}`;
131
- }
132
- const aclTypeValues = ['user', 'group', 'everyone', 'everyoneExceptGuests', 'externalGroup'];
133
- if (aclTypeValues.indexOf(acl[1]) < 0) {
134
- return `The value ${acl[1]} for option acls is not valid. Allowed values are ${aclTypeValues.join(', ')}}`;
135
- }
136
- }
137
- return true;
138
- });
139
- };
140
- ExternalItemAddCommand.contentType = ['text', 'html'];
141
118
  export default new ExternalItemAddCommand();
142
119
  //# sourceMappingURL=item-add.js.map
@@ -1,19 +1,19 @@
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 _FileConvertPdfCommand_instances, _FileConvertPdfCommand_initOptions, _FileConvertPdfCommand_initValidators;
7
1
  import fs from 'fs';
8
2
  import os from 'os';
9
3
  import path from 'path';
10
4
  import { v4 } from 'uuid';
5
+ import { z } from 'zod';
11
6
  import auth from '../../../../Auth.js';
12
- import { CommandError } from '../../../../Command.js';
7
+ import { CommandError, globalOptionsZod } from '../../../../Command.js';
13
8
  import request from '../../../../request.js';
14
9
  import { accessToken } from '../../../../utils/accessToken.js';
15
10
  import GraphCommand from '../../../base/GraphCommand.js';
16
11
  import commands from '../../commands.js';
12
+ export const options = z.strictObject({
13
+ ...globalOptionsZod.shape,
14
+ sourceFile: z.string().alias('s'),
15
+ targetFile: z.string().alias('t')
16
+ });
17
17
  class FileConvertPdfCommand extends GraphCommand {
18
18
  get name() {
19
19
  return commands.CONVERT_PDF;
@@ -21,11 +21,17 @@ class FileConvertPdfCommand extends GraphCommand {
21
21
  get description() {
22
22
  return 'Converts the specified file to PDF using Microsoft Graph';
23
23
  }
24
- constructor() {
25
- super();
26
- _FileConvertPdfCommand_instances.add(this);
27
- __classPrivateFieldGet(this, _FileConvertPdfCommand_instances, "m", _FileConvertPdfCommand_initOptions).call(this);
28
- __classPrivateFieldGet(this, _FileConvertPdfCommand_instances, "m", _FileConvertPdfCommand_initValidators).call(this);
24
+ get schema() {
25
+ return options;
26
+ }
27
+ getRefinedSchema(schema) {
28
+ return schema
29
+ .refine(options => options.sourceFile.toLowerCase().startsWith('https://') || fs.existsSync(options.sourceFile), {
30
+ error: e => `Specified source file ${e.input.sourceFile} doesn't exist`
31
+ })
32
+ .refine(options => options.targetFile.toLowerCase().startsWith('https://') || !fs.existsSync(options.targetFile), {
33
+ error: e => `Another file found at ${e.input.targetFile}`
34
+ });
29
35
  }
30
36
  async commandAction(logger, args) {
31
37
  let sourceFileUrl = '';
@@ -376,26 +382,5 @@ class FileConvertPdfCommand extends GraphCommand {
376
382
  return request.delete(requestOptions);
377
383
  }
378
384
  }
379
- _FileConvertPdfCommand_instances = new WeakSet(), _FileConvertPdfCommand_initOptions = function _FileConvertPdfCommand_initOptions() {
380
- this.options.unshift({
381
- option: '-s, --sourceFile <sourceFile>'
382
- }, {
383
- option: '-t, --targetFile <targetFile>'
384
- });
385
- }, _FileConvertPdfCommand_initValidators = function _FileConvertPdfCommand_initValidators() {
386
- this.validators.push(async (args) => {
387
- if (!args.options.sourceFile.toLowerCase().startsWith('https://') &&
388
- !fs.existsSync(args.options.sourceFile)) {
389
- // assume local path
390
- return `Specified source file ${args.options.sourceFile} doesn't exist`;
391
- }
392
- if (!args.options.targetFile.toLowerCase().startsWith('https://') &&
393
- fs.existsSync(args.options.targetFile)) {
394
- // assume local path
395
- return `Another file found at ${args.options.targetFile}`;
396
- }
397
- return true;
398
- });
399
- };
400
385
  export default new FileConvertPdfCommand();
401
386
  //# sourceMappingURL=convert-pdf.js.map
@@ -1,15 +1,21 @@
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 _FileAddCommand_instances, _FileAddCommand_initTelemetry, _FileAddCommand_initOptions, _FileAddCommand_initValidators;
7
1
  import fs from 'fs';
8
2
  import path from 'path';
3
+ import { z } from 'zod';
4
+ import { globalOptionsZod } from '../../../Command.js';
9
5
  import request from '../../../request.js';
10
6
  import { validation } from '../../../utils/validation.js';
11
7
  import GraphCommand from '../../base/GraphCommand.js';
12
8
  import commands from '../commands.js';
9
+ export const options = z.strictObject({
10
+ ...globalOptionsZod.shape,
11
+ folderUrl: z.string()
12
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
13
+ error: e => `'${e.input}' is not a valid SharePoint Online folder URL.`
14
+ })
15
+ .alias('u'),
16
+ filePath: z.string().alias('p'),
17
+ siteUrl: z.string().optional()
18
+ });
13
19
  class FileAddCommand extends GraphCommand {
14
20
  get name() {
15
21
  return commands.ADD;
@@ -17,12 +23,22 @@ class FileAddCommand extends GraphCommand {
17
23
  get description() {
18
24
  return 'Uploads file to the specified site';
19
25
  }
20
- constructor() {
21
- super();
22
- _FileAddCommand_instances.add(this);
23
- __classPrivateFieldGet(this, _FileAddCommand_instances, "m", _FileAddCommand_initTelemetry).call(this);
24
- __classPrivateFieldGet(this, _FileAddCommand_instances, "m", _FileAddCommand_initOptions).call(this);
25
- __classPrivateFieldGet(this, _FileAddCommand_instances, "m", _FileAddCommand_initValidators).call(this);
26
+ get schema() {
27
+ return options;
28
+ }
29
+ getRefinedSchema(schema) {
30
+ return schema
31
+ .refine(options => fs.existsSync(options.filePath), {
32
+ error: e => `Specified source file ${e.input.filePath} doesn't exist`
33
+ })
34
+ .refine(options => {
35
+ if (options.siteUrl) {
36
+ return validation.isValidSharePointUrl(options.siteUrl) === true;
37
+ }
38
+ return true;
39
+ }, {
40
+ error: e => `'${e.input.siteUrl}' is not a valid SharePoint Online site URL.`
41
+ });
26
42
  }
27
43
  async commandAction(logger, args) {
28
44
  let folderUrlWithoutTrailingSlash = args.options.folderUrl;
@@ -211,27 +227,5 @@ class FileAddCommand extends GraphCommand {
211
227
  return drive.id;
212
228
  }
213
229
  }
214
- _FileAddCommand_instances = new WeakSet(), _FileAddCommand_initTelemetry = function _FileAddCommand_initTelemetry() {
215
- this.telemetry.push((args) => {
216
- Object.assign(this.telemetryProperties, {
217
- siteUrl: typeof args.options.siteUrl !== 'undefined'
218
- });
219
- });
220
- }, _FileAddCommand_initOptions = function _FileAddCommand_initOptions() {
221
- this.options.unshift({ option: '-u, --folderUrl <folderUrl>' }, { option: '-p, --filePath <filePath>' }, { option: '--siteUrl [siteUrl]' });
222
- }, _FileAddCommand_initValidators = function _FileAddCommand_initValidators() {
223
- this.validators.push(async (args) => {
224
- if (!fs.existsSync(args.options.filePath)) {
225
- return `Specified source file ${args.options.sourceFile} doesn't exist`;
226
- }
227
- if (args.options.siteUrl) {
228
- const isValidSiteUrl = validation.isValidSharePointUrl(args.options.siteUrl);
229
- if (isValidSiteUrl !== true) {
230
- return isValidSiteUrl;
231
- }
232
- }
233
- return validation.isValidSharePointUrl(args.options.folderUrl);
234
- });
235
- };
236
230
  export default new FileAddCommand();
237
231
  //# sourceMappingURL=file-add.js.map
@@ -1,15 +1,24 @@
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 _FileCopyCommand_instances, _FileCopyCommand_initTelemetry, _FileCopyCommand_initOptions, _FileCopyCommand_initValidators;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../Command.js';
7
3
  import request from '../../../request.js';
8
4
  import { urlUtil } from '../../../utils/urlUtil.js';
9
5
  import { spo } from '../../../utils/spo.js';
10
6
  import { validation } from '../../../utils/validation.js';
11
7
  import GraphCommand from '../../base/GraphCommand.js';
12
8
  import commands from '../commands.js';
9
+ const nameConflictBehaviorOptions = ['fail', 'replace', 'rename'];
10
+ export const options = z.strictObject({
11
+ ...globalOptionsZod.shape,
12
+ webUrl: z.string()
13
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
14
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
15
+ })
16
+ .alias('u'),
17
+ sourceUrl: z.string().alias('s'),
18
+ targetUrl: z.string().alias('t'),
19
+ newName: z.string().optional(),
20
+ nameConflictBehavior: z.enum(nameConflictBehaviorOptions).optional()
21
+ });
13
22
  class FileCopyCommand extends GraphCommand {
14
23
  get name() {
15
24
  return commands.COPY;
@@ -17,13 +26,8 @@ class FileCopyCommand extends GraphCommand {
17
26
  get description() {
18
27
  return 'Copies a file to another location using the Microsoft Graph';
19
28
  }
20
- constructor() {
21
- super();
22
- _FileCopyCommand_instances.add(this);
23
- this.nameConflictBehaviorOptions = ['fail', 'replace', 'rename'];
24
- __classPrivateFieldGet(this, _FileCopyCommand_instances, "m", _FileCopyCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _FileCopyCommand_instances, "m", _FileCopyCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _FileCopyCommand_instances, "m", _FileCopyCommand_initValidators).call(this);
29
+ get schema() {
30
+ return options;
27
31
  }
28
32
  async commandAction(logger, args) {
29
33
  try {
@@ -52,7 +56,7 @@ class FileCopyCommand extends GraphCommand {
52
56
  const sourceFileName = sourcePath.substring(sourcePath.lastIndexOf('/') + 1);
53
57
  const sourceFileExtension = sourceFileName.includes('.') ? sourceFileName.substring(sourceFileName.lastIndexOf('.')) : '';
54
58
  const newNameExtension = newName.includes('.') ? newName.substring(newName.lastIndexOf('.')) : '';
55
- requestOptions.data.name = newNameExtension ? `${newName.replace(newNameExtension, "")}${sourceFileExtension}` : `${newName}${sourceFileExtension}`;
59
+ requestOptions.data.name = newNameExtension ? `${newName.replace(newNameExtension, '')}${sourceFileExtension}` : `${newName}${sourceFileExtension}`;
56
60
  }
57
61
  await request.post(requestOptions);
58
62
  }
@@ -127,25 +131,5 @@ class FileCopyCommand extends GraphCommand {
127
131
  return url.startsWith('https://') ? url : urlUtil.getAbsoluteUrl(webUrl, url);
128
132
  }
129
133
  }
130
- _FileCopyCommand_instances = new WeakSet(), _FileCopyCommand_initTelemetry = function _FileCopyCommand_initTelemetry() {
131
- this.telemetry.push((args) => {
132
- Object.assign(this.telemetryProperties, {
133
- webUrl: typeof args.options.webUrl !== 'undefined',
134
- sourceUrl: typeof args.options.sourceUrl !== 'undefined',
135
- targetUrl: typeof args.options.targetUrl !== 'undefined',
136
- newName: typeof args.options.newName !== 'undefined',
137
- nameConflictBehavior: typeof args.options.nameConflictBehavior !== 'undefined'
138
- });
139
- });
140
- }, _FileCopyCommand_initOptions = function _FileCopyCommand_initOptions() {
141
- this.options.unshift({ option: '-u, --webUrl <webUrl>' }, { option: '-s, --sourceUrl <sourceUrl>' }, { option: '-t, --targetUrl <targetUrl>' }, { option: '--newName [newName]' }, { option: '--nameConflictBehavior [nameConflictBehavior]', autocomplete: this.nameConflictBehaviorOptions });
142
- }, _FileCopyCommand_initValidators = function _FileCopyCommand_initValidators() {
143
- this.validators.push(async (args) => {
144
- if (args.options.nameConflictBehavior && this.nameConflictBehaviorOptions.indexOf(args.options.nameConflictBehavior) === -1) {
145
- return `${args.options.nameConflictBehavior} is not a valid nameConflictBehavior value. Allowed values: ${this.nameConflictBehaviorOptions.join(', ')}.`;
146
- }
147
- return validation.isValidSharePointUrl(args.options.webUrl);
148
- });
149
- };
150
134
  export default new FileCopyCommand();
151
135
  //# sourceMappingURL=file-copy.js.map
@@ -1,16 +1,26 @@
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 _FileListCommand_instances, _FileListCommand_initTelemetry, _FileListCommand_initOptions, _FileListCommand_initValidators;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../Command.js';
7
3
  import request from '../../../request.js';
8
4
  import { formatting } from '../../../utils/formatting.js';
9
5
  import { odata } from '../../../utils/odata.js';
10
6
  import { validation } from '../../../utils/validation.js';
11
7
  import GraphCommand from '../../base/GraphCommand.js';
12
8
  import commands from '../commands.js';
9
+ export const options = z.strictObject({
10
+ ...globalOptionsZod.shape,
11
+ webUrl: z.string()
12
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
13
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
14
+ })
15
+ .alias('u'),
16
+ folderUrl: z.string(),
17
+ recursive: z.boolean().optional()
18
+ });
13
19
  class FileListCommand extends GraphCommand {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.foldersToGetFilesFrom = [];
23
+ }
14
24
  get name() {
15
25
  return commands.LIST;
16
26
  }
@@ -20,13 +30,8 @@ class FileListCommand extends GraphCommand {
20
30
  defaultProperties() {
21
31
  return ['name', 'lastModifiedByUser'];
22
32
  }
23
- constructor() {
24
- super();
25
- _FileListCommand_instances.add(this);
26
- this.foldersToGetFilesFrom = [];
27
- __classPrivateFieldGet(this, _FileListCommand_instances, "m", _FileListCommand_initTelemetry).call(this);
28
- __classPrivateFieldGet(this, _FileListCommand_instances, "m", _FileListCommand_initOptions).call(this);
29
- __classPrivateFieldGet(this, _FileListCommand_instances, "m", _FileListCommand_initValidators).call(this);
33
+ get schema() {
34
+ return options;
30
35
  }
31
36
  async commandAction(logger, args) {
32
37
  let webUrl = args.options.webUrl;
@@ -161,16 +166,5 @@ class FileListCommand extends GraphCommand {
161
166
  return files;
162
167
  }
163
168
  }
164
- _FileListCommand_instances = new WeakSet(), _FileListCommand_initTelemetry = function _FileListCommand_initTelemetry() {
165
- this.telemetry.push((args) => {
166
- Object.assign(this.telemetryProperties, {
167
- recursive: !!args.options.recursive
168
- });
169
- });
170
- }, _FileListCommand_initOptions = function _FileListCommand_initOptions() {
171
- this.options.unshift({ option: '-u, --webUrl <webUrl>' }, { option: '--folderUrl <folderUrl>' }, { option: '--recursive' });
172
- }, _FileListCommand_initValidators = function _FileListCommand_initValidators() {
173
- this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.webUrl));
174
- };
175
169
  export default new FileListCommand();
176
170
  //# sourceMappingURL=file-list.js.map
@@ -1,9 +1,5 @@
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 _FileMoveCommand_instances, _FileMoveCommand_initTelemetry, _FileMoveCommand_initOptions, _FileMoveCommand_initValidators;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../Command.js';
7
3
  import GraphCommand from '../../base/GraphCommand.js';
8
4
  import { setTimeout } from 'timers/promises';
9
5
  import commands from '../commands.js';
@@ -12,21 +8,32 @@ import { spo } from '../../../utils/spo.js';
12
8
  import { urlUtil } from '../../../utils/urlUtil.js';
13
9
  import { drive } from '../../../utils/drive.js';
14
10
  import { validation } from '../../../utils/validation.js';
11
+ const nameConflictBehaviorOptions = ['fail', 'replace', 'rename'];
12
+ export const options = z.strictObject({
13
+ ...globalOptionsZod.shape,
14
+ webUrl: z.string()
15
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
16
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
17
+ })
18
+ .alias('u'),
19
+ sourceUrl: z.string().alias('s'),
20
+ targetUrl: z.string().alias('t'),
21
+ newName: z.string().optional(),
22
+ nameConflictBehavior: z.enum(nameConflictBehaviorOptions).optional()
23
+ });
15
24
  class FileMoveCommand extends GraphCommand {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.pollingInterval = 10000;
28
+ }
16
29
  get name() {
17
30
  return commands.MOVE;
18
31
  }
19
32
  get description() {
20
33
  return 'Moves a file to another location using the Microsoft Graph';
21
34
  }
22
- constructor() {
23
- super();
24
- _FileMoveCommand_instances.add(this);
25
- this.pollingInterval = 10000;
26
- this.nameConflictBehaviorOptions = ['fail', 'replace', 'rename'];
27
- __classPrivateFieldGet(this, _FileMoveCommand_instances, "m", _FileMoveCommand_initTelemetry).call(this);
28
- __classPrivateFieldGet(this, _FileMoveCommand_instances, "m", _FileMoveCommand_initOptions).call(this);
29
- __classPrivateFieldGet(this, _FileMoveCommand_instances, "m", _FileMoveCommand_initValidators).call(this);
35
+ get schema() {
36
+ return options;
30
37
  }
31
38
  async commandAction(logger, args) {
32
39
  try {
@@ -83,7 +90,7 @@ class FileMoveCommand extends GraphCommand {
83
90
  const sourceFileName = sourcePath.substring(sourcePath.lastIndexOf('/') + 1);
84
91
  const sourceFileExtension = sourceFileName.includes('.') ? sourceFileName.substring(sourceFileName.lastIndexOf('.')) : '';
85
92
  const newNameExtension = newName.includes('.') ? newName.substring(newName.lastIndexOf('.')) : '';
86
- requestOptions.data.name = newNameExtension ? `${newName.replace(newNameExtension, "")}${sourceFileExtension}` : `${newName}${sourceFileExtension}`;
93
+ requestOptions.data.name = newNameExtension ? `${newName.replace(newNameExtension, '')}${sourceFileExtension}` : `${newName}${sourceFileExtension}`;
87
94
  }
88
95
  return requestOptions;
89
96
  }
@@ -111,25 +118,5 @@ class FileMoveCommand extends GraphCommand {
111
118
  }
112
119
  }
113
120
  }
114
- _FileMoveCommand_instances = new WeakSet(), _FileMoveCommand_initTelemetry = function _FileMoveCommand_initTelemetry() {
115
- this.telemetry.push((args) => {
116
- Object.assign(this.telemetryProperties, {
117
- webUrl: typeof args.options.webUrl !== 'undefined',
118
- sourceUrl: typeof args.options.sourceUrl !== 'undefined',
119
- targetUrl: typeof args.options.targetUrl !== 'undefined',
120
- newName: typeof args.options.newName !== 'undefined',
121
- nameConflictBehavior: typeof args.options.nameConflictBehavior !== 'undefined'
122
- });
123
- });
124
- }, _FileMoveCommand_initOptions = function _FileMoveCommand_initOptions() {
125
- this.options.unshift({ option: '-u, --webUrl <webUrl>' }, { option: '-s, --sourceUrl <sourceUrl>' }, { option: '-t, --targetUrl <targetUrl>' }, { option: '--newName [newName]' }, { option: '--nameConflictBehavior [nameConflictBehavior]', autocomplete: this.nameConflictBehaviorOptions });
126
- }, _FileMoveCommand_initValidators = function _FileMoveCommand_initValidators() {
127
- this.validators.push(async (args) => {
128
- if (args.options.nameConflictBehavior && this.nameConflictBehaviorOptions.indexOf(args.options.nameConflictBehavior) === -1) {
129
- return `${args.options.nameConflictBehavior} is not a valid nameConflictBehavior value. Allowed values: ${this.nameConflictBehaviorOptions.join(', ')}.`;
130
- }
131
- return validation.isValidSharePointUrl(args.options.webUrl);
132
- });
133
- };
134
121
  export default new FileMoveCommand();
135
122
  //# sourceMappingURL=file-move.js.map
@@ -1,13 +1,15 @@
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 _FlowDisableCommand_instances, _FlowDisableCommand_initTelemetry, _FlowDisableCommand_initOptions;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../Command.js';
7
3
  import request from '../../../request.js';
8
4
  import { formatting } from '../../../utils/formatting.js';
9
5
  import PowerAutomateCommand from '../../base/PowerAutomateCommand.js';
10
6
  import commands from '../commands.js';
7
+ export const options = z.strictObject({
8
+ ...globalOptionsZod.shape,
9
+ name: z.string().alias('n'),
10
+ environmentName: z.string().alias('e'),
11
+ asAdmin: z.boolean().optional()
12
+ });
11
13
  class FlowDisableCommand extends PowerAutomateCommand {
12
14
  get name() {
13
15
  return commands.DISABLE;
@@ -15,11 +17,8 @@ class FlowDisableCommand extends PowerAutomateCommand {
15
17
  get description() {
16
18
  return 'Disables specified Microsoft Flow';
17
19
  }
18
- constructor() {
19
- super();
20
- _FlowDisableCommand_instances.add(this);
21
- __classPrivateFieldGet(this, _FlowDisableCommand_instances, "m", _FlowDisableCommand_initTelemetry).call(this);
22
- __classPrivateFieldGet(this, _FlowDisableCommand_instances, "m", _FlowDisableCommand_initOptions).call(this);
20
+ get schema() {
21
+ return options;
23
22
  }
24
23
  async commandAction(logger, args) {
25
24
  if (this.verbose) {
@@ -40,20 +39,5 @@ class FlowDisableCommand extends PowerAutomateCommand {
40
39
  }
41
40
  }
42
41
  }
43
- _FlowDisableCommand_instances = new WeakSet(), _FlowDisableCommand_initTelemetry = function _FlowDisableCommand_initTelemetry() {
44
- this.telemetry.push((args) => {
45
- Object.assign(this.telemetryProperties, {
46
- asAdmin: !!args.options.asAdmin
47
- });
48
- });
49
- }, _FlowDisableCommand_initOptions = function _FlowDisableCommand_initOptions() {
50
- this.options.unshift({
51
- option: '-n, --name <name>'
52
- }, {
53
- option: '-e, --environmentName <environmentName>'
54
- }, {
55
- option: '--asAdmin'
56
- });
57
- };
58
42
  export default new FlowDisableCommand();
59
43
  //# sourceMappingURL=flow-disable.js.map
@@ -1,13 +1,15 @@
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 _FlowEnableCommand_instances, _FlowEnableCommand_initTelemetry, _FlowEnableCommand_initOptions;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../Command.js';
7
3
  import request from '../../../request.js';
8
4
  import { formatting } from '../../../utils/formatting.js';
9
5
  import PowerAutomateCommand from '../../base/PowerAutomateCommand.js';
10
6
  import commands from '../commands.js';
7
+ export const options = z.strictObject({
8
+ ...globalOptionsZod.shape,
9
+ name: z.string().alias('n'),
10
+ environmentName: z.string().alias('e'),
11
+ asAdmin: z.boolean().optional()
12
+ });
11
13
  class FlowEnableCommand extends PowerAutomateCommand {
12
14
  get name() {
13
15
  return commands.ENABLE;
@@ -15,11 +17,8 @@ class FlowEnableCommand extends PowerAutomateCommand {
15
17
  get description() {
16
18
  return 'Enables specified Microsoft Flow';
17
19
  }
18
- constructor() {
19
- super();
20
- _FlowEnableCommand_instances.add(this);
21
- __classPrivateFieldGet(this, _FlowEnableCommand_instances, "m", _FlowEnableCommand_initTelemetry).call(this);
22
- __classPrivateFieldGet(this, _FlowEnableCommand_instances, "m", _FlowEnableCommand_initOptions).call(this);
20
+ get schema() {
21
+ return options;
23
22
  }
24
23
  async commandAction(logger, args) {
25
24
  if (this.verbose) {
@@ -40,20 +39,5 @@ class FlowEnableCommand extends PowerAutomateCommand {
40
39
  }
41
40
  }
42
41
  }
43
- _FlowEnableCommand_instances = new WeakSet(), _FlowEnableCommand_initTelemetry = function _FlowEnableCommand_initTelemetry() {
44
- this.telemetry.push((args) => {
45
- Object.assign(this.telemetryProperties, {
46
- asAdmin: !!args.options.asAdmin
47
- });
48
- });
49
- }, _FlowEnableCommand_initOptions = function _FlowEnableCommand_initOptions() {
50
- this.options.unshift({
51
- option: '-n, --name <name>'
52
- }, {
53
- option: '-e, --environmentName <environmentName>'
54
- }, {
55
- option: '--asAdmin'
56
- });
57
- };
58
42
  export default new FlowEnableCommand();
59
43
  //# sourceMappingURL=flow-enable.js.map