@pnp/cli-microsoft365 12.1.0-beta.dbc076e → 12.1.0-beta.f55735f

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 (121) hide show
  1. package/allCommands.json +1 -1
  2. package/allCommandsFull.json +1 -1
  3. package/dist/m365/spfx/commands/package/package-generate.js +30 -51
  4. package/dist/m365/spfx/commands/project/project-azuredevops-pipeline-add.js +27 -62
  5. package/dist/m365/spfx/commands/project/project-doctor.js +20 -51
  6. package/dist/m365/spfx/commands/project/project-externalize.js +16 -26
  7. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +28 -65
  8. package/dist/m365/spfx/commands/project/project-permissions-grant.js +4 -2
  9. package/dist/m365/spfx/commands/project/project-rename.js +17 -29
  10. package/dist/m365/spfx/commands/project/project-upgrade.js +0 -3
  11. package/dist/m365/spfx/commands/spfx-doctor.js +23 -47
  12. package/dist/m365/spo/commands/file/file-add.js +51 -77
  13. package/dist/m365/spo/commands/file/file-archive.js +1 -1
  14. package/dist/m365/spo/commands/file/file-checkin.js +35 -64
  15. package/dist/m365/spo/commands/file/file-checkout-undo.js +25 -49
  16. package/dist/m365/spo/commands/file/file-checkout.js +24 -47
  17. package/dist/m365/spo/commands/file/file-copy.js +37 -68
  18. package/dist/m365/spo/commands/file/file-get.js +44 -79
  19. package/dist/m365/spo/commands/file/file-list.js +16 -39
  20. package/dist/m365/spo/commands/file/file-move.js +30 -68
  21. package/dist/m365/spo/commands/file/file-remove.js +27 -56
  22. package/dist/m365/spo/commands/file/file-rename.js +15 -36
  23. package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +26 -51
  24. package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +25 -50
  25. package/dist/m365/spo/commands/file/file-roleassignment-add.js +47 -75
  26. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +39 -70
  27. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +26 -52
  28. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +25 -49
  29. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +24 -47
  30. package/dist/m365/spo/commands/file/file-sharinglink-add.js +46 -70
  31. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +33 -57
  32. package/dist/m365/spo/commands/file/file-sharinglink-get.js +25 -47
  33. package/dist/m365/spo/commands/file/file-sharinglink-list.js +32 -53
  34. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +26 -51
  35. package/dist/m365/spo/commands/file/file-sharinglink-set.js +29 -55
  36. package/dist/m365/spo/commands/file/file-unarchive.js +1 -1
  37. package/dist/m365/spo/commands/file/file-version-clear.js +25 -45
  38. package/dist/m365/spo/commands/file/file-version-get.js +25 -43
  39. package/dist/m365/spo/commands/file/file-version-keep.js +1 -1
  40. package/dist/m365/spo/commands/file/file-version-list.js +24 -41
  41. package/dist/m365/spo/commands/file/file-version-remove.js +26 -47
  42. package/dist/m365/spo/commands/file/file-version-restore.js +26 -47
  43. package/dist/m365/spo/commands/folder/folder-add.js +19 -48
  44. package/dist/m365/spo/commands/folder/folder-copy.js +36 -62
  45. package/dist/m365/spo/commands/folder/folder-get.js +30 -51
  46. package/dist/m365/spo/commands/folder/folder-list.js +16 -39
  47. package/dist/m365/spo/commands/folder/folder-move.js +36 -62
  48. package/dist/m365/spo/commands/folder/folder-remove.js +15 -36
  49. package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +30 -48
  50. package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +30 -50
  51. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +49 -79
  52. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +37 -67
  53. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +15 -36
  54. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +14 -33
  55. package/dist/m365/spo/commands/folder/folder-set.js +28 -48
  56. package/dist/m365/spo/commands/folder/folder-sharinglink-add.js +58 -86
  57. package/dist/m365/spo/commands/folder/folder-sharinglink-clear.js +33 -50
  58. package/dist/m365/spo/commands/folder/folder-sharinglink-get.js +33 -42
  59. package/dist/m365/spo/commands/folder/folder-sharinglink-list.js +32 -47
  60. package/dist/m365/spo/commands/folder/folder-sharinglink-remove.js +34 -41
  61. package/dist/m365/spo/commands/folder/folder-sharinglink-set.js +38 -43
  62. package/dist/m365/spo/commands/page/page-add.js +31 -68
  63. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +74 -101
  64. package/dist/m365/spo/commands/page/page-column-get.js +15 -32
  65. package/dist/m365/spo/commands/page/page-column-list.js +14 -27
  66. package/dist/m365/spo/commands/page/page-control-get.js +18 -27
  67. package/dist/m365/spo/commands/page/page-control-list.js +13 -20
  68. package/dist/m365/spo/commands/page/page-control-remove.js +1 -1
  69. package/dist/m365/spo/commands/page/page-control-set.js +51 -61
  70. package/dist/m365/spo/commands/page/page-copy.js +15 -31
  71. package/dist/m365/spo/commands/page/page-header-set.js +25 -89
  72. package/dist/m365/spo/commands/page/page-list.js +12 -18
  73. package/dist/m365/spo/commands/page/page-remove.js +16 -39
  74. package/dist/m365/spo/commands/page/page-section-add.js +108 -173
  75. package/dist/m365/spo/commands/page/page-section-get.js +17 -27
  76. package/dist/m365/spo/commands/page/page-section-list.js +13 -20
  77. package/dist/m365/spo/commands/page/page-section-remove.js +4 -1
  78. package/dist/m365/spo/commands/page/page-set.js +50 -100
  79. package/dist/m365/spo/commands/page/page-template-list.js +12 -18
  80. package/dist/m365/spo/commands/page/page-text-add.js +23 -45
  81. package/dist/m365/viva/commands/connections/connections-app-create.js +36 -42
  82. package/dist/m365/viva/commands/engage/engage-community-add.js +75 -71
  83. package/dist/m365/viva/commands/engage/engage-community-get.js +8 -16
  84. package/dist/m365/viva/commands/engage/engage-community-list.js +5 -0
  85. package/dist/m365/viva/commands/engage/engage-community-remove.js +28 -48
  86. package/dist/m365/viva/commands/engage/engage-community-set.js +43 -66
  87. package/dist/m365/viva/commands/engage/engage-community-user-add.js +7 -12
  88. package/dist/m365/viva/commands/engage/engage-community-user-list.js +1 -1
  89. package/dist/m365/viva/commands/engage/engage-community-user-remove.js +4 -2
  90. package/dist/m365/viva/commands/engage/engage-message-add.js +22 -52
  91. package/dist/m365/viva/commands/engage/engage-message-get.js +8 -23
  92. package/dist/m365/viva/commands/engage/engage-message-like-set.js +10 -39
  93. package/dist/m365/viva/commands/engage/engage-message-list.js +22 -66
  94. package/dist/m365/viva/commands/engage/engage-message-remove.js +9 -32
  95. package/dist/m365/viva/commands/engage/engage-network-list.js +8 -22
  96. package/dist/m365/viva/commands/engage/engage-report-activitycounts.js +2 -1
  97. package/dist/m365/viva/commands/engage/engage-report-activityusercounts.js +2 -1
  98. package/dist/m365/viva/commands/engage/engage-report-activityuserdetail.js +2 -1
  99. package/dist/m365/viva/commands/engage/engage-report-deviceusagedistributionusercounts.js +2 -1
  100. package/dist/m365/viva/commands/engage/engage-report-deviceusageusercounts.js +2 -1
  101. package/dist/m365/viva/commands/engage/engage-report-deviceusageuserdetail.js +2 -1
  102. package/dist/m365/viva/commands/engage/engage-report-groupsactivitycounts.js +2 -1
  103. package/dist/m365/viva/commands/engage/engage-report-groupsactivitydetail.js +2 -1
  104. package/dist/m365/viva/commands/engage/engage-report-groupsactivitygroupcounts.js +2 -1
  105. package/dist/m365/viva/commands/engage/engage-role-list.js +5 -0
  106. package/dist/m365/viva/commands/engage/engage-role-member-add.js +3 -5
  107. package/dist/m365/viva/commands/engage/engage-role-member-list.js +1 -1
  108. package/dist/m365/viva/commands/engage/engage-role-member-remove.js +4 -2
  109. package/dist/m365/viva/commands/engage/engage-search.js +16 -65
  110. package/dist/m365/viva/commands/engage/engage-user-get.js +15 -33
  111. package/dist/m365/viva/commands/engage/engage-user-list.js +22 -57
  112. package/docs/docs/cmd/spo/listitem/listitem-record-declare.mdx +19 -0
  113. package/docs/docs/cmd/spo/listitem/listitem-record-lock.mdx +21 -0
  114. package/docs/docs/cmd/spo/listitem/listitem-record-undeclare.mdx +21 -0
  115. package/docs/docs/cmd/spo/listitem/listitem-record-unlock.mdx +21 -0
  116. package/docs/docs/cmd/spo/page/page-text-add.mdx +1 -1
  117. package/docs/docs/cmd/viva/engage/engage-community-add.mdx +19 -0
  118. package/docs/docs/cmd/viva/engage/engage-community-get.mdx +19 -0
  119. package/docs/docs/cmd/viva/engage/engage-community-remove.mdx +21 -0
  120. package/docs/docs/cmd/viva/engage/engage-community-set.mdx +19 -0
  121. package/package.json +1 -1
@@ -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
@@ -1,17 +1,33 @@
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 _SpoFileGetCommand_instances, _SpoFileGetCommand_initTelemetry, _SpoFileGetCommand_initOptions, _SpoFileGetCommand_initValidators, _SpoFileGetCommand_initOptionSets, _SpoFileGetCommand_initTypes;
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 { formatting } from '../../../../utils/formatting.js';
11
7
  import { urlUtil } from '../../../../utils/urlUtil.js';
12
8
  import { validation } from '../../../../utils/validation.js';
13
9
  import SpoCommand from '../../../base/SpoCommand.js';
14
10
  import commands from '../../commands.js';
11
+ export const options = z.strictObject({
12
+ ...globalOptionsZod.shape,
13
+ webUrl: z.string()
14
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
15
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
16
+ })
17
+ .alias('u'),
18
+ url: z.string().optional(),
19
+ id: z.guid().optional().alias('i'),
20
+ asString: z.boolean().optional(),
21
+ asListItem: z.boolean().optional(),
22
+ asFile: z.boolean().optional(),
23
+ path: z.string()
24
+ .refine(p => fs.existsSync(path.dirname(p)), {
25
+ error: 'Specified path where to save the file does not exits'
26
+ })
27
+ .optional()
28
+ .alias('p'),
29
+ withPermissions: z.boolean().optional()
30
+ });
15
31
  class SpoFileGetCommand extends SpoCommand {
16
32
  get name() {
17
33
  return commands.FILE_GET;
@@ -19,14 +35,28 @@ class SpoFileGetCommand extends SpoCommand {
19
35
  get description() {
20
36
  return 'Gets information about the specified file';
21
37
  }
22
- constructor() {
23
- super();
24
- _SpoFileGetCommand_instances.add(this);
25
- __classPrivateFieldGet(this, _SpoFileGetCommand_instances, "m", _SpoFileGetCommand_initTelemetry).call(this);
26
- __classPrivateFieldGet(this, _SpoFileGetCommand_instances, "m", _SpoFileGetCommand_initOptions).call(this);
27
- __classPrivateFieldGet(this, _SpoFileGetCommand_instances, "m", _SpoFileGetCommand_initValidators).call(this);
28
- __classPrivateFieldGet(this, _SpoFileGetCommand_instances, "m", _SpoFileGetCommand_initOptionSets).call(this);
29
- __classPrivateFieldGet(this, _SpoFileGetCommand_instances, "m", _SpoFileGetCommand_initTypes).call(this);
38
+ get schema() {
39
+ return options;
40
+ }
41
+ getRefinedSchema(schema) {
42
+ return schema
43
+ .refine(opts => [opts.id, opts.url].filter(o => o !== undefined).length === 1, {
44
+ error: `Specify 'id' or 'url', but not both.`,
45
+ params: {
46
+ customCode: 'optionSet',
47
+ options: ['id', 'url']
48
+ }
49
+ })
50
+ .refine(opts => !opts.asFile || !!opts.path, {
51
+ error: 'The path should be specified when the --asFile option is used',
52
+ path: ['path'],
53
+ params: {
54
+ customCode: 'required'
55
+ }
56
+ })
57
+ .refine(opts => [opts.asFile, opts.asListItem, opts.asString].filter(o => o === true).length <= 1, {
58
+ error: 'Specify to retrieve the file either as file, list item or string but not multiple'
59
+ });
30
60
  }
31
61
  getExcludedOptionsWithUrls() {
32
62
  return ['url'];
@@ -117,70 +147,5 @@ class SpoFileGetCommand extends SpoCommand {
117
147
  }
118
148
  }
119
149
  }
120
- _SpoFileGetCommand_instances = new WeakSet(), _SpoFileGetCommand_initTelemetry = function _SpoFileGetCommand_initTelemetry() {
121
- this.telemetry.push((args) => {
122
- Object.assign(this.telemetryProperties, {
123
- id: typeof args.options.id !== 'undefined',
124
- url: typeof args.options.url !== 'undefined',
125
- asString: !!args.options.asString,
126
- asListItem: !!args.options.asListItem,
127
- asFile: !!args.options.asFile,
128
- path: typeof args.options.path !== 'undefined',
129
- withPermissions: !!args.options.withPermissions
130
- });
131
- });
132
- }, _SpoFileGetCommand_initOptions = function _SpoFileGetCommand_initOptions() {
133
- this.options.unshift({
134
- option: '-u, --webUrl <webUrl>'
135
- }, {
136
- option: '--url [url]'
137
- }, {
138
- option: '-i, --id [id]'
139
- }, {
140
- option: '--asString'
141
- }, {
142
- option: '--asListItem'
143
- }, {
144
- option: '--asFile'
145
- }, {
146
- option: '-p, --path [path]'
147
- }, {
148
- option: '--withPermissions'
149
- });
150
- }, _SpoFileGetCommand_initValidators = function _SpoFileGetCommand_initValidators() {
151
- this.validators.push(async (args) => {
152
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
153
- if (isValidSharePointUrl !== true) {
154
- return isValidSharePointUrl;
155
- }
156
- if (args.options.id) {
157
- if (!validation.isValidGuid(args.options.id)) {
158
- return `${args.options.id} is not a valid GUID`;
159
- }
160
- }
161
- if (args.options.asFile && !args.options.path) {
162
- return 'The path should be specified when the --asFile option is used';
163
- }
164
- if (args.options.path && !fs.existsSync(path.dirname(args.options.path))) {
165
- return 'Specified path where to save the file does not exits';
166
- }
167
- if (args.options.asFile) {
168
- if (args.options.asListItem || args.options.asString) {
169
- return 'Specify to retrieve the file either as file, list item or string but not multiple';
170
- }
171
- }
172
- if (args.options.asListItem) {
173
- if (args.options.asFile || args.options.asString) {
174
- return 'Specify to retrieve the file either as file, list item or string but not multiple';
175
- }
176
- }
177
- return true;
178
- });
179
- }, _SpoFileGetCommand_initOptionSets = function _SpoFileGetCommand_initOptionSets() {
180
- this.optionSets.push({ options: ['id', 'url'] });
181
- }, _SpoFileGetCommand_initTypes = function _SpoFileGetCommand_initTypes() {
182
- this.types.string.push('webUrl', 'url', 'id', 'path');
183
- this.types.boolean.push('asString', 'asListItem', 'asFile', 'withPermissions');
184
- };
185
150
  export default new SpoFileGetCommand();
186
151
  //# sourceMappingURL=file-get.js.map
@@ -1,15 +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 _SpoFileListCommand_instances, _SpoFileListCommand_initTelemetry, _SpoFileListCommand_initOptions, _SpoFileListCommand_initValidators, _SpoFileListCommand_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
+ folderUrl: z.string().alias('f'),
17
+ fields: z.string().optional(),
18
+ filter: z.string().optional(),
19
+ recursive: z.boolean().optional().alias('r')
20
+ });
13
21
  class SpoFileListCommand extends SpoCommand {
14
22
  get name() {
15
23
  return commands.FILE_LIST;
@@ -17,13 +25,8 @@ class SpoFileListCommand extends SpoCommand {
17
25
  get description() {
18
26
  return 'Lists all available files in the specified folder and site';
19
27
  }
20
- constructor() {
21
- super();
22
- _SpoFileListCommand_instances.add(this);
23
- __classPrivateFieldGet(this, _SpoFileListCommand_instances, "m", _SpoFileListCommand_initTelemetry).call(this);
24
- __classPrivateFieldGet(this, _SpoFileListCommand_instances, "m", _SpoFileListCommand_initOptions).call(this);
25
- __classPrivateFieldGet(this, _SpoFileListCommand_instances, "m", _SpoFileListCommand_initValidators).call(this);
26
- __classPrivateFieldGet(this, _SpoFileListCommand_instances, "m", _SpoFileListCommand_initTypes).call(this);
28
+ get schema() {
29
+ return options;
27
30
  }
28
31
  async commandAction(logger, args) {
29
32
  if (this.verbose) {
@@ -133,32 +136,6 @@ class SpoFileListCommand extends SpoCommand {
133
136
  };
134
137
  }
135
138
  }
136
- _SpoFileListCommand_instances = new WeakSet(), _SpoFileListCommand_initTelemetry = function _SpoFileListCommand_initTelemetry() {
137
- this.telemetry.push((args) => {
138
- Object.assign(this.telemetryProperties, {
139
- recursive: args.options.recursive,
140
- fields: typeof args.options.fields !== 'undefined',
141
- filter: typeof args.options.filter !== 'undefined'
142
- });
143
- });
144
- }, _SpoFileListCommand_initOptions = function _SpoFileListCommand_initOptions() {
145
- this.options.unshift({
146
- option: '-u, --webUrl <webUrl>'
147
- }, {
148
- option: '-f, --folderUrl <folderUrl>'
149
- }, {
150
- option: '--fields [fields]'
151
- }, {
152
- option: '--filter [filter]'
153
- }, {
154
- option: '-r, --recursive'
155
- });
156
- }, _SpoFileListCommand_initValidators = function _SpoFileListCommand_initValidators() {
157
- this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.webUrl));
158
- }, _SpoFileListCommand_initTypes = function _SpoFileListCommand_initTypes() {
159
- this.types.string.push('webUrl', 'folderUrl', 'fields', 'filter');
160
- this.types.boolean.push('recursive');
161
- };
162
139
  SpoFileListCommand.pageSize = 5000;
163
140
  export default new SpoFileListCommand();
164
141
  //# sourceMappingURL=file-list.js.map
@@ -1,15 +1,27 @@
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 _SpoFileMoveCommand_instances, _SpoFileMoveCommand_initTelemetry, _SpoFileMoveCommand_initOptions, _SpoFileMoveCommand_initValidators, _SpoFileMoveCommand_initOptionSets, _SpoFileMoveCommand_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';
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
+ sourceUrl: z.string().optional().alias('s'),
17
+ sourceId: z.guid().optional().alias('i'),
18
+ targetUrl: z.string().alias('t'),
19
+ newName: z.string().optional(),
20
+ nameConflictBehavior: z.enum(['fail', 'replace', 'rename']).optional(),
21
+ withItemPermissions: z.boolean().optional(),
22
+ bypassSharedLock: z.boolean().optional(),
23
+ skipWait: z.boolean().optional()
24
+ });
13
25
  class SpoFileMoveCommand extends SpoCommand {
14
26
  get name() {
15
27
  return commands.FILE_MOVE;
@@ -17,15 +29,18 @@ class SpoFileMoveCommand extends SpoCommand {
17
29
  get description() {
18
30
  return 'Moves a file to another location';
19
31
  }
20
- constructor() {
21
- super();
22
- _SpoFileMoveCommand_instances.add(this);
23
- this.nameConflictBehaviorOptions = ['fail', 'replace', 'rename'];
24
- __classPrivateFieldGet(this, _SpoFileMoveCommand_instances, "m", _SpoFileMoveCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _SpoFileMoveCommand_instances, "m", _SpoFileMoveCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _SpoFileMoveCommand_instances, "m", _SpoFileMoveCommand_initValidators).call(this);
27
- __classPrivateFieldGet(this, _SpoFileMoveCommand_instances, "m", _SpoFileMoveCommand_initOptionSets).call(this);
28
- __classPrivateFieldGet(this, _SpoFileMoveCommand_instances, "m", _SpoFileMoveCommand_initTypes).call(this);
32
+ get schema() {
33
+ return options;
34
+ }
35
+ getRefinedSchema(schema) {
36
+ return schema
37
+ .refine(opts => [opts.sourceUrl, opts.sourceId].filter(o => o !== undefined).length === 1, {
38
+ error: `Specify 'sourceUrl' or 'sourceId', but not both.`,
39
+ params: {
40
+ customCode: 'optionSet',
41
+ options: ['sourceUrl', 'sourceId']
42
+ }
43
+ });
29
44
  }
30
45
  getExcludedOptionsWithUrls() {
31
46
  return ['targetUrl', 'sourceUrl'];
@@ -111,58 +126,5 @@ class SpoFileMoveCommand extends SpoCommand {
111
126
  return urlUtil.removeTrailingSlashes(result);
112
127
  }
113
128
  }
114
- _SpoFileMoveCommand_instances = new WeakSet(), _SpoFileMoveCommand_initTelemetry = function _SpoFileMoveCommand_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
- withItemPermissions: !!args.options.withItemPermissions,
122
- bypassSharedLock: !!args.options.bypassSharedLock,
123
- skipWait: !!args.options.skipWait
124
- });
125
- });
126
- }, _SpoFileMoveCommand_initOptions = function _SpoFileMoveCommand_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: '--withItemPermissions'
142
- }, {
143
- option: '--bypassSharedLock'
144
- }, {
145
- option: '--skipWait'
146
- });
147
- }, _SpoFileMoveCommand_initValidators = function _SpoFileMoveCommand_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.indexOf(args.options.nameConflictBehavior) === -1) {
157
- return `'${args.options.nameConflictBehavior}' is not a valid value for nameConflictBehavior. Allowed values are: ${this.nameConflictBehaviorOptions.join(', ')}.`;
158
- }
159
- return true;
160
- });
161
- }, _SpoFileMoveCommand_initOptionSets = function _SpoFileMoveCommand_initOptionSets() {
162
- this.optionSets.push({ options: ['sourceUrl', 'sourceId'] });
163
- }, _SpoFileMoveCommand_initTypes = function _SpoFileMoveCommand_initTypes() {
164
- this.types.string.push('webUrl', 'sourceUrl', 'sourceId', 'targetUrl', 'newName', 'nameConflictBehavior');
165
- this.types.boolean.push('withItemPermissions', 'bypassSharedLock', 'skipWait');
166
- };
167
129
  export default new SpoFileMoveCommand();
168
130
  //# sourceMappingURL=file-move.js.map
@@ -1,16 +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 _SpoFileRemoveCommand_instances, _SpoFileRemoveCommand_initTelemetry, _SpoFileRemoveCommand_initOptions, _SpoFileRemoveCommand_initValidators, _SpoFileRemoveCommand_initOptionSets, _SpoFileRemoveCommand_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
+ id: z.guid().optional().alias('i'),
18
+ url: z.string().optional(),
19
+ permanent: z.boolean().optional(),
20
+ bypassSharedLock: z.boolean().optional(),
21
+ force: z.boolean().optional().alias('f')
22
+ });
14
23
  class SpoFileRemoveCommand extends SpoCommand {
15
24
  get name() {
16
25
  return commands.FILE_REMOVE;
@@ -21,14 +30,18 @@ class SpoFileRemoveCommand extends SpoCommand {
21
30
  alias() {
22
31
  return [commands.PAGE_TEMPLATE_REMOVE];
23
32
  }
24
- constructor() {
25
- super();
26
- _SpoFileRemoveCommand_instances.add(this);
27
- __classPrivateFieldGet(this, _SpoFileRemoveCommand_instances, "m", _SpoFileRemoveCommand_initTelemetry).call(this);
28
- __classPrivateFieldGet(this, _SpoFileRemoveCommand_instances, "m", _SpoFileRemoveCommand_initOptions).call(this);
29
- __classPrivateFieldGet(this, _SpoFileRemoveCommand_instances, "m", _SpoFileRemoveCommand_initValidators).call(this);
30
- __classPrivateFieldGet(this, _SpoFileRemoveCommand_instances, "m", _SpoFileRemoveCommand_initOptionSets).call(this);
31
- __classPrivateFieldGet(this, _SpoFileRemoveCommand_instances, "m", _SpoFileRemoveCommand_initTypes).call(this);
33
+ get schema() {
34
+ return options;
35
+ }
36
+ getRefinedSchema(schema) {
37
+ return schema
38
+ .refine(opts => [opts.id, opts.url].filter(o => o !== undefined).length === 1, {
39
+ error: `Specify 'id' or 'url', but not both.`,
40
+ params: {
41
+ customCode: 'optionSet',
42
+ options: ['id', 'url']
43
+ }
44
+ });
32
45
  }
33
46
  getExcludedOptionsWithUrls() {
34
47
  return ['url'];
@@ -80,47 +93,5 @@ class SpoFileRemoveCommand extends SpoCommand {
80
93
  }
81
94
  }
82
95
  }
83
- _SpoFileRemoveCommand_instances = new WeakSet(), _SpoFileRemoveCommand_initTelemetry = function _SpoFileRemoveCommand_initTelemetry() {
84
- this.telemetry.push((args) => {
85
- Object.assign(this.telemetryProperties, {
86
- id: typeof args.options.id !== 'undefined',
87
- url: typeof args.options.url !== 'undefined',
88
- permanent: !!args.options.permanent,
89
- bypassSharedLock: !!args.options.bypassSharedLock,
90
- force: !!args.options.force
91
- });
92
- });
93
- }, _SpoFileRemoveCommand_initOptions = function _SpoFileRemoveCommand_initOptions() {
94
- this.options.unshift({
95
- option: '-u, --webUrl <webUrl>'
96
- }, {
97
- option: '-i, --id [id]'
98
- }, {
99
- option: '--url [url]'
100
- }, {
101
- option: '--permanent'
102
- }, {
103
- option: '--bypassSharedLock'
104
- }, {
105
- option: '-f, --force'
106
- });
107
- }, _SpoFileRemoveCommand_initValidators = function _SpoFileRemoveCommand_initValidators() {
108
- this.validators.push(async (args) => {
109
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
110
- if (isValidSharePointUrl !== true) {
111
- return isValidSharePointUrl;
112
- }
113
- if (args.options.id &&
114
- !validation.isValidGuid(args.options.id)) {
115
- return `${args.options.id} is not a valid GUID`;
116
- }
117
- return true;
118
- });
119
- }, _SpoFileRemoveCommand_initOptionSets = function _SpoFileRemoveCommand_initOptionSets() {
120
- this.optionSets.push({ options: ['id', 'url'] });
121
- }, _SpoFileRemoveCommand_initTypes = function _SpoFileRemoveCommand_initTypes() {
122
- this.types.string.push('webUrl', 'id', 'url');
123
- this.types.boolean.push('permanent', 'bypassSharedLock', 'force');
124
- };
125
96
  export default new SpoFileRemoveCommand();
126
97
  //# sourceMappingURL=file-remove.js.map