@pnp/cli-microsoft365 12.1.0-beta.79db3d9 → 12.1.0-beta.ab87e08

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 (82) hide show
  1. package/allCommands.json +1 -1
  2. package/allCommandsFull.json +1 -1
  3. package/dist/m365/spo/commands/file/file-add.js +51 -77
  4. package/dist/m365/spo/commands/file/file-archive.js +1 -1
  5. package/dist/m365/spo/commands/file/file-checkin.js +35 -64
  6. package/dist/m365/spo/commands/file/file-checkout-undo.js +25 -49
  7. package/dist/m365/spo/commands/file/file-checkout.js +24 -47
  8. package/dist/m365/spo/commands/file/file-copy.js +37 -68
  9. package/dist/m365/spo/commands/file/file-get.js +44 -79
  10. package/dist/m365/spo/commands/file/file-list.js +16 -39
  11. package/dist/m365/spo/commands/file/file-move.js +30 -68
  12. package/dist/m365/spo/commands/file/file-remove.js +27 -56
  13. package/dist/m365/spo/commands/file/file-rename.js +15 -36
  14. package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +26 -51
  15. package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +25 -50
  16. package/dist/m365/spo/commands/file/file-roleassignment-add.js +47 -75
  17. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +39 -70
  18. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +26 -52
  19. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +25 -49
  20. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +24 -47
  21. package/dist/m365/spo/commands/file/file-sharinglink-add.js +46 -70
  22. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +33 -57
  23. package/dist/m365/spo/commands/file/file-sharinglink-get.js +25 -47
  24. package/dist/m365/spo/commands/file/file-sharinglink-list.js +32 -53
  25. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +26 -51
  26. package/dist/m365/spo/commands/file/file-sharinglink-set.js +29 -55
  27. package/dist/m365/spo/commands/file/file-unarchive.js +1 -1
  28. package/dist/m365/spo/commands/file/file-version-clear.js +25 -45
  29. package/dist/m365/spo/commands/file/file-version-get.js +25 -43
  30. package/dist/m365/spo/commands/file/file-version-keep.js +1 -1
  31. package/dist/m365/spo/commands/file/file-version-list.js +24 -41
  32. package/dist/m365/spo/commands/file/file-version-remove.js +26 -47
  33. package/dist/m365/spo/commands/file/file-version-restore.js +26 -47
  34. package/dist/m365/spo/commands/folder/folder-add.js +19 -48
  35. package/dist/m365/spo/commands/folder/folder-copy.js +36 -62
  36. package/dist/m365/spo/commands/folder/folder-get.js +30 -51
  37. package/dist/m365/spo/commands/folder/folder-list.js +16 -39
  38. package/dist/m365/spo/commands/folder/folder-move.js +36 -62
  39. package/dist/m365/spo/commands/folder/folder-remove.js +15 -36
  40. package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +30 -48
  41. package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +30 -50
  42. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +49 -79
  43. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +37 -67
  44. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +15 -36
  45. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +14 -33
  46. package/dist/m365/spo/commands/folder/folder-set.js +28 -48
  47. package/dist/m365/spo/commands/folder/folder-sharinglink-add.js +58 -86
  48. package/dist/m365/spo/commands/folder/folder-sharinglink-clear.js +33 -50
  49. package/dist/m365/spo/commands/folder/folder-sharinglink-get.js +33 -42
  50. package/dist/m365/spo/commands/folder/folder-sharinglink-list.js +32 -47
  51. package/dist/m365/spo/commands/folder/folder-sharinglink-remove.js +34 -41
  52. package/dist/m365/spo/commands/folder/folder-sharinglink-set.js +38 -43
  53. package/dist/m365/spo/commands/page/page-add.js +31 -68
  54. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +74 -101
  55. package/dist/m365/spo/commands/page/page-column-get.js +15 -32
  56. package/dist/m365/spo/commands/page/page-column-list.js +14 -27
  57. package/dist/m365/spo/commands/page/page-control-get.js +18 -27
  58. package/dist/m365/spo/commands/page/page-control-list.js +13 -20
  59. package/dist/m365/spo/commands/page/page-control-remove.js +1 -1
  60. package/dist/m365/spo/commands/page/page-control-set.js +51 -61
  61. package/dist/m365/spo/commands/page/page-copy.js +15 -31
  62. package/dist/m365/spo/commands/page/page-header-set.js +25 -89
  63. package/dist/m365/spo/commands/page/page-list.js +12 -18
  64. package/dist/m365/spo/commands/page/page-remove.js +16 -39
  65. package/dist/m365/spo/commands/page/page-section-add.js +108 -173
  66. package/dist/m365/spo/commands/page/page-section-get.js +17 -27
  67. package/dist/m365/spo/commands/page/page-section-list.js +13 -20
  68. package/dist/m365/spo/commands/page/page-section-remove.js +4 -1
  69. package/dist/m365/spo/commands/page/page-set.js +50 -100
  70. package/dist/m365/spo/commands/page/page-template-list.js +12 -18
  71. package/dist/m365/spo/commands/page/page-text-add.js +23 -45
  72. package/docs/docs/cmd/spo/listitem/listitem-record-declare.mdx +19 -0
  73. package/docs/docs/cmd/spo/listitem/listitem-record-lock.mdx +21 -0
  74. package/docs/docs/cmd/spo/listitem/listitem-record-undeclare.mdx +21 -0
  75. package/docs/docs/cmd/spo/listitem/listitem-record-unlock.mdx +21 -0
  76. package/docs/docs/cmd/spo/page/page-text-add.mdx +1 -1
  77. package/docs/docs/cmd/viva/engage/engage-community-add.mdx +19 -0
  78. package/docs/docs/cmd/viva/engage/engage-community-get.mdx +19 -0
  79. package/docs/docs/cmd/viva/engage/engage-community-remove.mdx +21 -0
  80. package/docs/docs/cmd/viva/engage/engage-community-set.mdx +19 -0
  81. package/npm-shrinkwrap.json +55 -55
  82. package/package.json +1 -1
@@ -1,12 +1,8 @@
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 _SpoFileAddCommand_instances, _SpoFileAddCommand_initTelemetry, _SpoFileAddCommand_initOptions, _SpoFileAddCommand_initValidators, _SpoFileAddCommand_initTypes;
7
1
  import fs from 'fs';
8
2
  import path from 'path';
9
3
  import { v4 } from 'uuid';
4
+ import { z } from 'zod';
5
+ import { globalOptionsZod } from '../../../../Command.js';
10
6
  import request from '../../../../request.js';
11
7
  import { formatting } from '../../../../utils/formatting.js';
12
8
  import { spo } from '../../../../utils/spo.js';
@@ -14,7 +10,37 @@ import { urlUtil } from '../../../../utils/urlUtil.js';
14
10
  import { validation } from '../../../../utils/validation.js';
15
11
  import SpoCommand from '../../../base/SpoCommand.js';
16
12
  import commands from '../../commands.js';
13
+ export const options = z.object({
14
+ ...globalOptionsZod.shape,
15
+ webUrl: z.string()
16
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
17
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
18
+ })
19
+ .alias('u'),
20
+ folder: z.string(),
21
+ path: z.string()
22
+ .refine(filePath => fs.existsSync(filePath), {
23
+ error: 'Specified path of the file to add does not exist',
24
+ abort: true
25
+ })
26
+ .alias('p'),
27
+ contentType: z.string().optional().alias('c'),
28
+ checkOut: z.boolean().optional(),
29
+ checkInComment: z.string().optional(),
30
+ approve: z.boolean().optional(),
31
+ approveComment: z.string().optional(),
32
+ publish: z.boolean().optional(),
33
+ publishComment: z.string().optional(),
34
+ overwrite: z.boolean().optional(),
35
+ fileName: z.string().optional()
36
+ }).catchall(z.unknown());
17
37
  class SpoFileAddCommand extends SpoCommand {
38
+ constructor() {
39
+ super(...arguments);
40
+ this.fileChunkingThreshold = 250 * 1024 * 1024; // max 250 MB
41
+ this.fileChunkSize = 250 * 1024 * 1024; // max fileChunkingThreshold
42
+ this.fileChunkRetryAttempts = 5;
43
+ }
18
44
  get name() {
19
45
  return commands.FILE_ADD;
20
46
  }
@@ -24,16 +50,25 @@ class SpoFileAddCommand extends SpoCommand {
24
50
  allowUnknownOptions() {
25
51
  return true;
26
52
  }
27
- constructor() {
28
- super();
29
- _SpoFileAddCommand_instances.add(this);
30
- this.fileChunkingThreshold = 250 * 1024 * 1024; // max 250 MB
31
- this.fileChunkSize = 250 * 1024 * 1024; // max fileChunkingThreshold
32
- this.fileChunkRetryAttempts = 5;
33
- __classPrivateFieldGet(this, _SpoFileAddCommand_instances, "m", _SpoFileAddCommand_initTelemetry).call(this);
34
- __classPrivateFieldGet(this, _SpoFileAddCommand_instances, "m", _SpoFileAddCommand_initOptions).call(this);
35
- __classPrivateFieldGet(this, _SpoFileAddCommand_instances, "m", _SpoFileAddCommand_initValidators).call(this);
36
- __classPrivateFieldGet(this, _SpoFileAddCommand_instances, "m", _SpoFileAddCommand_initTypes).call(this);
53
+ get schema() {
54
+ return options;
55
+ }
56
+ getRefinedSchema(schema) {
57
+ return schema
58
+ .refine(opts => !opts.publishComment || opts.publish, {
59
+ error: '--publishComment cannot be used without --publish',
60
+ path: ['publish'],
61
+ params: {
62
+ customCode: 'required'
63
+ }
64
+ })
65
+ .refine(opts => !opts.approveComment || opts.approve, {
66
+ error: '--approveComment cannot be used without --approve',
67
+ path: ['approve'],
68
+ params: {
69
+ customCode: 'required'
70
+ }
71
+ });
37
72
  }
38
73
  async commandAction(logger, args) {
39
74
  const folderPath = urlUtil.getServerRelativePath(args.options.webUrl, args.options.folder);
@@ -452,66 +487,5 @@ class SpoFileAddCommand extends SpoCommand {
452
487
  return result;
453
488
  }
454
489
  }
455
- _SpoFileAddCommand_instances = new WeakSet(), _SpoFileAddCommand_initTelemetry = function _SpoFileAddCommand_initTelemetry() {
456
- this.telemetry.push((args) => {
457
- Object.assign(this.telemetryProperties, {
458
- contentType: typeof args.options.contentType !== 'undefined',
459
- checkOut: !!args.options.checkOut,
460
- checkInComment: typeof args.options.checkInComment !== 'undefined',
461
- approve: !!args.options.approve,
462
- approveComment: typeof args.options.approveComment !== 'undefined',
463
- publish: !!args.options.publish,
464
- publishComment: typeof args.options.publishComment !== 'undefined',
465
- overwrite: !!args.options.overwrite,
466
- fileName: typeof args.options.fileName !== 'undefined'
467
- });
468
- });
469
- }, _SpoFileAddCommand_initOptions = function _SpoFileAddCommand_initOptions() {
470
- this.options.unshift({
471
- option: '-u, --webUrl <webUrl>'
472
- }, {
473
- option: '--folder <folder>'
474
- }, {
475
- option: '-p, --path <path>'
476
- }, {
477
- option: '-c, --contentType [contentType]'
478
- }, {
479
- option: '--checkOut'
480
- }, {
481
- option: '--checkInComment [checkInComment]'
482
- }, {
483
- option: '--approve'
484
- }, {
485
- option: '--approveComment [approveComment]'
486
- }, {
487
- option: '--publish'
488
- }, {
489
- option: '--publishComment [publishComment]'
490
- }, {
491
- option: '--overwrite'
492
- }, {
493
- option: '--fileName [fileName]'
494
- });
495
- }, _SpoFileAddCommand_initValidators = function _SpoFileAddCommand_initValidators() {
496
- this.validators.push(async (args) => {
497
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
498
- if (isValidSharePointUrl !== true) {
499
- return isValidSharePointUrl;
500
- }
501
- if (args.options.path && !fs.existsSync(args.options.path)) {
502
- return 'Specified path of the file to add does not exist';
503
- }
504
- if (args.options.publishComment && !args.options.publish) {
505
- return '--publishComment cannot be used without --publish';
506
- }
507
- if (args.options.approveComment && !args.options.approve) {
508
- return '--approveComment cannot be used without --approve';
509
- }
510
- return true;
511
- });
512
- }, _SpoFileAddCommand_initTypes = function _SpoFileAddCommand_initTypes() {
513
- this.types.string.push('webUrl', 'folder', 'path', 'contentType', 'checkInComment', 'approveComment', 'publishComment', 'fileName');
514
- this.types.boolean.push('checkOut', 'approve', 'publish', 'overwrite');
515
- };
516
490
  export default new SpoFileAddCommand();
517
491
  //# sourceMappingURL=file-add.js.map
@@ -15,7 +15,7 @@ export const options = z.strictObject({
15
15
  })
16
16
  .alias('u'),
17
17
  url: z.string().optional(),
18
- id: z.uuid().optional().alias('i'),
18
+ id: z.guid().optional().alias('i'),
19
19
  force: z.boolean().optional().alias('f')
20
20
  });
21
21
  class SpoFileArchiveCommand extends SpoCommand {
@@ -1,13 +1,10 @@
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 _SpoFileCheckinCommand_instances, _SpoFileCheckinCommand_initTelemetry, _SpoFileCheckinCommand_initOptions, _SpoFileCheckinCommand_initValidators, _SpoFileCheckinCommand_initOptionSets, _SpoFileCheckinCommand_initTypes;
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 { urlUtil } from '../../../../utils/urlUtil.js';
10
6
  import { validation } from '../../../../utils/validation.js';
7
+ import { zod } from '../../../../utils/zod.js';
11
8
  import SpoCommand from '../../../base/SpoCommand.js';
12
9
  import commands from '../../commands.js';
13
10
  var CheckinType;
@@ -16,6 +13,26 @@ var CheckinType;
16
13
  CheckinType[CheckinType["Major"] = 1] = "Major";
17
14
  CheckinType[CheckinType["Overwrite"] = 2] = "Overwrite";
18
15
  })(CheckinType || (CheckinType = {}));
16
+ var CheckinTypeOption;
17
+ (function (CheckinTypeOption) {
18
+ CheckinTypeOption["Minor"] = "Minor";
19
+ CheckinTypeOption["Major"] = "Major";
20
+ CheckinTypeOption["Overwrite"] = "Overwrite";
21
+ })(CheckinTypeOption || (CheckinTypeOption = {}));
22
+ export const options = z.strictObject({
23
+ ...globalOptionsZod.shape,
24
+ webUrl: z.string()
25
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
26
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
27
+ })
28
+ .alias('u'),
29
+ url: z.string().optional(),
30
+ id: z.guid().optional().alias('i'),
31
+ type: zod.coercedEnum(CheckinTypeOption).optional().alias('t'),
32
+ comment: z.string()
33
+ .max(1023, { error: 'The length of the comment must be less than 1024 letters' })
34
+ .optional()
35
+ });
19
36
  class SpoFileCheckinCommand extends SpoCommand {
20
37
  get name() {
21
38
  return commands.FILE_CHECKIN;
@@ -23,14 +40,18 @@ class SpoFileCheckinCommand extends SpoCommand {
23
40
  get description() {
24
41
  return 'Checks in specified file';
25
42
  }
26
- constructor() {
27
- super();
28
- _SpoFileCheckinCommand_instances.add(this);
29
- __classPrivateFieldGet(this, _SpoFileCheckinCommand_instances, "m", _SpoFileCheckinCommand_initTelemetry).call(this);
30
- __classPrivateFieldGet(this, _SpoFileCheckinCommand_instances, "m", _SpoFileCheckinCommand_initOptions).call(this);
31
- __classPrivateFieldGet(this, _SpoFileCheckinCommand_instances, "m", _SpoFileCheckinCommand_initValidators).call(this);
32
- __classPrivateFieldGet(this, _SpoFileCheckinCommand_instances, "m", _SpoFileCheckinCommand_initOptionSets).call(this);
33
- __classPrivateFieldGet(this, _SpoFileCheckinCommand_instances, "m", _SpoFileCheckinCommand_initTypes).call(this);
43
+ get schema() {
44
+ return options;
45
+ }
46
+ getRefinedSchema(schema) {
47
+ return schema
48
+ .refine(opts => [opts.url, opts.id].filter(o => o !== undefined).length === 1, {
49
+ error: `Specify 'url' or 'id', but not both.`,
50
+ params: {
51
+ customCode: 'optionSet',
52
+ options: ['url', 'id']
53
+ }
54
+ });
34
55
  }
35
56
  getExcludedOptionsWithUrls() {
36
57
  return ['url'];
@@ -73,55 +94,5 @@ class SpoFileCheckinCommand extends SpoCommand {
73
94
  }
74
95
  }
75
96
  }
76
- _SpoFileCheckinCommand_instances = new WeakSet(), _SpoFileCheckinCommand_initTelemetry = function _SpoFileCheckinCommand_initTelemetry() {
77
- this.telemetry.push((args) => {
78
- Object.assign(this.telemetryProperties, {
79
- id: typeof args.options.id !== 'undefined',
80
- url: typeof args.options.url !== 'undefined',
81
- type: args.options.type || 'Major',
82
- comment: typeof args.options.comment !== 'undefined'
83
- });
84
- });
85
- }, _SpoFileCheckinCommand_initOptions = function _SpoFileCheckinCommand_initOptions() {
86
- this.options.unshift({
87
- option: '-u, --webUrl <webUrl>'
88
- }, {
89
- option: '--url [url]'
90
- }, {
91
- option: '-i, --id [id]'
92
- }, {
93
- option: '-t, --type [type]',
94
- autocomplete: ['Minor', 'Major', 'Overwrite']
95
- }, {
96
- option: '--comment [comment]'
97
- });
98
- }, _SpoFileCheckinCommand_initValidators = function _SpoFileCheckinCommand_initValidators() {
99
- this.validators.push(async (args) => {
100
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
101
- if (isValidSharePointUrl !== true) {
102
- return isValidSharePointUrl;
103
- }
104
- if (args.options.id) {
105
- if (!validation.isValidGuid(args.options.id)) {
106
- return `${args.options.id} is not a valid GUID`;
107
- }
108
- }
109
- if (args.options.comment && args.options.comment.length > 1023) {
110
- return 'The length of the comment must be less than 1024 letters';
111
- }
112
- if (args.options.type) {
113
- const allowedValues = ['minor', 'major', 'overwrite'];
114
- const type = args.options.type.toLowerCase();
115
- if (allowedValues.indexOf(type) === -1) {
116
- return 'Wrong type specified. Available values are Minor|Major|Overwrite';
117
- }
118
- }
119
- return true;
120
- });
121
- }, _SpoFileCheckinCommand_initOptionSets = function _SpoFileCheckinCommand_initOptionSets() {
122
- this.optionSets.push({ options: ['url', 'id'] });
123
- }, _SpoFileCheckinCommand_initTypes = function _SpoFileCheckinCommand_initTypes() {
124
- this.types.string.push('webUrl', 'url', 'id', 'type', 'comment');
125
- };
126
97
  export default new SpoFileCheckinCommand();
127
98
  //# sourceMappingURL=file-checkin.js.map
@@ -1,16 +1,23 @@
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 _SpoFileCheckoutUndoCommand_instances, _SpoFileCheckoutUndoCommand_initTelemetry, _SpoFileCheckoutUndoCommand_initOptions, _SpoFileCheckoutUndoCommand_initValidators, _SpoFileCheckoutUndoCommand_initOptionSets, _SpoFileCheckoutUndoCommand_initTypes;
1
+ import { z } from 'zod';
7
2
  import { cli } from '../../../../cli/cli.js';
3
+ import { globalOptionsZod } from '../../../../Command.js';
8
4
  import request from '../../../../request.js';
9
5
  import { formatting } from '../../../../utils/formatting.js';
10
6
  import { urlUtil } from '../../../../utils/urlUtil.js';
11
7
  import { validation } from '../../../../utils/validation.js';
12
8
  import SpoCommand from '../../../base/SpoCommand.js';
13
9
  import commands from '../../commands.js';
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
+ fileUrl: z.string().optional(),
18
+ fileId: z.guid().optional().alias('i'),
19
+ force: z.boolean().optional().alias('f')
20
+ });
14
21
  class SpoFileCheckoutUndoCommand extends SpoCommand {
15
22
  get name() {
16
23
  return commands.FILE_CHECKOUT_UNDO;
@@ -18,14 +25,18 @@ class SpoFileCheckoutUndoCommand extends SpoCommand {
18
25
  get description() {
19
26
  return 'Discards a checked out file';
20
27
  }
21
- constructor() {
22
- super();
23
- _SpoFileCheckoutUndoCommand_instances.add(this);
24
- __classPrivateFieldGet(this, _SpoFileCheckoutUndoCommand_instances, "m", _SpoFileCheckoutUndoCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _SpoFileCheckoutUndoCommand_instances, "m", _SpoFileCheckoutUndoCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _SpoFileCheckoutUndoCommand_instances, "m", _SpoFileCheckoutUndoCommand_initValidators).call(this);
27
- __classPrivateFieldGet(this, _SpoFileCheckoutUndoCommand_instances, "m", _SpoFileCheckoutUndoCommand_initOptionSets).call(this);
28
- __classPrivateFieldGet(this, _SpoFileCheckoutUndoCommand_instances, "m", _SpoFileCheckoutUndoCommand_initTypes).call(this);
28
+ get schema() {
29
+ return options;
30
+ }
31
+ getRefinedSchema(schema) {
32
+ return schema
33
+ .refine(opts => [opts.fileId, opts.fileUrl].filter(o => o !== undefined).length === 1, {
34
+ error: `Specify 'fileId' or 'fileUrl', but not both.`,
35
+ params: {
36
+ customCode: 'optionSet',
37
+ options: ['fileId', 'fileUrl']
38
+ }
39
+ });
29
40
  }
30
41
  async commandAction(logger, args) {
31
42
  const undoCheckout = async () => {
@@ -66,40 +77,5 @@ class SpoFileCheckoutUndoCommand extends SpoCommand {
66
77
  }
67
78
  }
68
79
  }
69
- _SpoFileCheckoutUndoCommand_instances = new WeakSet(), _SpoFileCheckoutUndoCommand_initTelemetry = function _SpoFileCheckoutUndoCommand_initTelemetry() {
70
- this.telemetry.push((args) => {
71
- Object.assign(this.telemetryProperties, {
72
- fileId: typeof args.options.fileId !== 'undefined',
73
- fileUrl: typeof args.options.fileUrl !== 'undefined',
74
- force: !!args.options.force
75
- });
76
- });
77
- }, _SpoFileCheckoutUndoCommand_initOptions = function _SpoFileCheckoutUndoCommand_initOptions() {
78
- this.options.unshift({
79
- option: '-u, --webUrl <webUrl>'
80
- }, {
81
- option: '--fileUrl [fileUrl]'
82
- }, {
83
- option: '-i, --fileId [fileId]'
84
- }, {
85
- option: '-f, --force'
86
- });
87
- }, _SpoFileCheckoutUndoCommand_initValidators = function _SpoFileCheckoutUndoCommand_initValidators() {
88
- this.validators.push(async (args) => {
89
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
90
- if (isValidSharePointUrl !== true) {
91
- return isValidSharePointUrl;
92
- }
93
- if (args.options.fileId && !validation.isValidGuid(args.options.fileId)) {
94
- return `${args.options.fileId} is not a valid GUID`;
95
- }
96
- return true;
97
- });
98
- }, _SpoFileCheckoutUndoCommand_initOptionSets = function _SpoFileCheckoutUndoCommand_initOptionSets() {
99
- this.optionSets.push({ options: ['fileId', 'fileUrl'] });
100
- }, _SpoFileCheckoutUndoCommand_initTypes = function _SpoFileCheckoutUndoCommand_initTypes() {
101
- this.types.string.push('webUrl', 'fileUrl', 'fileId');
102
- this.types.boolean.push('force');
103
- };
104
80
  export default new SpoFileCheckoutUndoCommand();
105
81
  //# sourceMappingURL=file-checkout-undo.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 _SpoFileCheckoutCommand_instances, _SpoFileCheckoutCommand_initTelemetry, _SpoFileCheckoutCommand_initOptions, _SpoFileCheckoutCommand_initValidators, _SpoFileCheckoutCommand_initOptionSets, _SpoFileCheckoutCommand_initTypes;
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 { urlUtil } from '../../../../utils/urlUtil.js';
10
6
  import { validation } from '../../../../utils/validation.js';
11
7
  import SpoCommand from '../../../base/SpoCommand.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
+ url: z.string().optional(),
17
+ id: z.guid().optional().alias('i')
18
+ });
13
19
  class SpoFileCheckoutCommand extends SpoCommand {
14
20
  get name() {
15
21
  return commands.FILE_CHECKOUT;
@@ -17,14 +23,18 @@ class SpoFileCheckoutCommand extends SpoCommand {
17
23
  get description() {
18
24
  return 'Checks out specified file';
19
25
  }
20
- constructor() {
21
- super();
22
- _SpoFileCheckoutCommand_instances.add(this);
23
- __classPrivateFieldGet(this, _SpoFileCheckoutCommand_instances, "m", _SpoFileCheckoutCommand_initTelemetry).call(this);
24
- __classPrivateFieldGet(this, _SpoFileCheckoutCommand_instances, "m", _SpoFileCheckoutCommand_initOptions).call(this);
25
- __classPrivateFieldGet(this, _SpoFileCheckoutCommand_instances, "m", _SpoFileCheckoutCommand_initValidators).call(this);
26
- __classPrivateFieldGet(this, _SpoFileCheckoutCommand_instances, "m", _SpoFileCheckoutCommand_initOptionSets).call(this);
27
- __classPrivateFieldGet(this, _SpoFileCheckoutCommand_instances, "m", _SpoFileCheckoutCommand_initTypes).call(this);
26
+ get schema() {
27
+ return options;
28
+ }
29
+ getRefinedSchema(schema) {
30
+ return schema
31
+ .refine(opts => [opts.id, opts.url].filter(o => o !== undefined).length === 1, {
32
+ error: `Specify 'id' or 'url', but not both.`,
33
+ params: {
34
+ customCode: 'optionSet',
35
+ options: ['id', 'url']
36
+ }
37
+ });
28
38
  }
29
39
  getExcludedOptionsWithUrls() {
30
40
  return ['url'];
@@ -53,38 +63,5 @@ class SpoFileCheckoutCommand extends SpoCommand {
53
63
  }
54
64
  }
55
65
  }
56
- _SpoFileCheckoutCommand_instances = new WeakSet(), _SpoFileCheckoutCommand_initTelemetry = function _SpoFileCheckoutCommand_initTelemetry() {
57
- this.telemetry.push((args) => {
58
- Object.assign(this.telemetryProperties, {
59
- id: typeof args.options.id !== 'undefined',
60
- url: typeof args.options.url !== 'undefined'
61
- });
62
- });
63
- }, _SpoFileCheckoutCommand_initOptions = function _SpoFileCheckoutCommand_initOptions() {
64
- this.options.unshift({
65
- option: '-u, --webUrl <webUrl>'
66
- }, {
67
- option: '--url [url]'
68
- }, {
69
- option: '-i, --id [id]'
70
- });
71
- }, _SpoFileCheckoutCommand_initValidators = function _SpoFileCheckoutCommand_initValidators() {
72
- this.validators.push(async (args) => {
73
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
74
- if (isValidSharePointUrl !== true) {
75
- return isValidSharePointUrl;
76
- }
77
- if (args.options.id) {
78
- if (!validation.isValidGuid(args.options.id)) {
79
- return `${args.options.id} is not a valid GUID`;
80
- }
81
- }
82
- return true;
83
- });
84
- }, _SpoFileCheckoutCommand_initOptionSets = function _SpoFileCheckoutCommand_initOptionSets() {
85
- this.optionSets.push({ options: ['id', 'url'] });
86
- }, _SpoFileCheckoutCommand_initTypes = function _SpoFileCheckoutCommand_initTypes() {
87
- this.types.string.push('webUrl', 'url', 'id');
88
- };
89
66
  export default new SpoFileCheckoutCommand();
90
67
  //# sourceMappingURL=file-checkout.js.map
@@ -1,15 +1,34 @@
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 _SpoFileCopyCommand_instances, _SpoFileCopyCommand_initTelemetry, _SpoFileCopyCommand_initOptions, _SpoFileCopyCommand_initValidators, _SpoFileCopyCommand_initOptionSets, _SpoFileCopyCommand_initTypes;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import request from '../../../../request.js';
8
4
  import { CreateFileCopyJobsNameConflictBehavior, spo } from '../../../../utils/spo.js';
9
5
  import { urlUtil } from '../../../../utils/urlUtil.js';
10
6
  import { validation } from '../../../../utils/validation.js';
7
+ import { zod } from '../../../../utils/zod.js';
11
8
  import SpoCommand from '../../../base/SpoCommand.js';
12
9
  import commands from '../../commands.js';
10
+ var NameConflictBehavior;
11
+ (function (NameConflictBehavior) {
12
+ NameConflictBehavior["fail"] = "fail";
13
+ NameConflictBehavior["replace"] = "replace";
14
+ NameConflictBehavior["rename"] = "rename";
15
+ })(NameConflictBehavior || (NameConflictBehavior = {}));
16
+ export const options = z.strictObject({
17
+ ...globalOptionsZod.shape,
18
+ webUrl: z.string()
19
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
20
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
21
+ })
22
+ .alias('u'),
23
+ sourceUrl: z.string().optional().alias('s'),
24
+ sourceId: z.guid().optional().alias('i'),
25
+ targetUrl: z.string().alias('t'),
26
+ newName: z.string().optional(),
27
+ nameConflictBehavior: zod.coercedEnum(NameConflictBehavior).optional(),
28
+ bypassSharedLock: z.boolean().optional(),
29
+ ignoreVersionHistory: z.boolean().optional(),
30
+ skipWait: z.boolean().optional()
31
+ });
13
32
  class SpoFileCopyCommand extends SpoCommand {
14
33
  get name() {
15
34
  return commands.FILE_COPY;
@@ -17,15 +36,18 @@ class SpoFileCopyCommand extends SpoCommand {
17
36
  get description() {
18
37
  return 'Copies a file to another location';
19
38
  }
20
- constructor() {
21
- super();
22
- _SpoFileCopyCommand_instances.add(this);
23
- this.nameConflictBehaviorOptions = ['fail', 'replace', 'rename'];
24
- __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initValidators).call(this);
27
- __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initOptionSets).call(this);
28
- __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initTypes).call(this);
39
+ get schema() {
40
+ return options;
41
+ }
42
+ getRefinedSchema(schema) {
43
+ return schema
44
+ .refine(opts => [opts.sourceUrl, opts.sourceId].filter(o => o !== undefined).length === 1, {
45
+ error: `Specify 'sourceUrl' or 'sourceId', but not both.`,
46
+ params: {
47
+ customCode: 'optionSet',
48
+ options: ['sourceUrl', 'sourceId']
49
+ }
50
+ });
29
51
  }
30
52
  getExcludedOptionsWithUrls() {
31
53
  return ['targetUrl', 'sourceUrl'];
@@ -111,58 +133,5 @@ class SpoFileCopyCommand extends SpoCommand {
111
133
  return urlUtil.removeTrailingSlashes(result);
112
134
  }
113
135
  }
114
- _SpoFileCopyCommand_instances = new WeakSet(), _SpoFileCopyCommand_initTelemetry = function _SpoFileCopyCommand_initTelemetry() {
115
- this.telemetry.push((args) => {
116
- Object.assign(this.telemetryProperties, {
117
- sourceUrl: typeof args.options.sourceUrl !== 'undefined',
118
- sourceId: typeof args.options.sourceId !== 'undefined',
119
- newName: typeof args.options.newName !== 'undefined',
120
- nameConflictBehavior: typeof args.options.nameConflictBehavior !== 'undefined',
121
- ignoreVersionHistory: !!args.options.ignoreVersionHistory,
122
- bypassSharedLock: !!args.options.bypassSharedLock,
123
- skipWait: !!args.options.skipWait
124
- });
125
- });
126
- }, _SpoFileCopyCommand_initOptions = function _SpoFileCopyCommand_initOptions() {
127
- this.options.unshift({
128
- option: '-u, --webUrl <webUrl>'
129
- }, {
130
- option: '-s, --sourceUrl [sourceUrl]'
131
- }, {
132
- option: '-i, --sourceId [sourceId]'
133
- }, {
134
- option: '-t, --targetUrl <targetUrl>'
135
- }, {
136
- option: '--newName [newName]'
137
- }, {
138
- option: '--nameConflictBehavior [nameConflictBehavior]',
139
- autocomplete: this.nameConflictBehaviorOptions
140
- }, {
141
- option: '--bypassSharedLock'
142
- }, {
143
- option: '--ignoreVersionHistory'
144
- }, {
145
- option: '--skipWait'
146
- });
147
- }, _SpoFileCopyCommand_initValidators = function _SpoFileCopyCommand_initValidators() {
148
- this.validators.push(async (args) => {
149
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
150
- if (isValidSharePointUrl !== true) {
151
- return isValidSharePointUrl;
152
- }
153
- if (args.options.sourceId && !validation.isValidGuid(args.options.sourceId)) {
154
- return `${args.options.sourceId} is not a valid GUID for sourceId.`;
155
- }
156
- if (args.options.nameConflictBehavior && !this.nameConflictBehaviorOptions.includes(args.options.nameConflictBehavior.toLowerCase())) {
157
- return `${args.options.nameConflictBehavior} is not a valid nameConflictBehavior value. Allowed values: ${this.nameConflictBehaviorOptions.join(', ')}.`;
158
- }
159
- return true;
160
- });
161
- }, _SpoFileCopyCommand_initOptionSets = function _SpoFileCopyCommand_initOptionSets() {
162
- this.optionSets.push({ options: ['sourceUrl', 'sourceId'] });
163
- }, _SpoFileCopyCommand_initTypes = function _SpoFileCopyCommand_initTypes() {
164
- this.types.string.push('webUrl', 'sourceUrl', 'sourceId', 'targetUrl', 'newName', 'nameConflictBehavior');
165
- this.types.boolean.push('bypassSharedLock', 'ignoreVersionHistory', 'skipWait');
166
- };
167
136
  export default new SpoFileCopyCommand();
168
137
  //# sourceMappingURL=file-copy.js.map