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

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 (134) hide show
  1. package/allCommands.json +1 -1
  2. package/allCommandsFull.json +1 -1
  3. package/dist/cli/cli.js +12 -7
  4. package/dist/m365/entra/commands/app/app-add.js +106 -150
  5. package/dist/m365/entra/commands/app/app-get.js +22 -38
  6. package/dist/m365/entra/commands/app/app-list.js +10 -22
  7. package/dist/m365/entra/commands/app/app-permission-add.js +36 -50
  8. package/dist/m365/entra/commands/app/app-permission-list.js +29 -48
  9. package/dist/m365/entra/commands/app/app-permission-remove.js +44 -82
  10. package/dist/m365/entra/commands/app/app-remove.js +21 -38
  11. package/dist/m365/entra/commands/app/app-role-add.js +32 -46
  12. package/dist/m365/entra/commands/app/app-role-list.js +20 -25
  13. package/dist/m365/entra/commands/app/app-role-remove.js +33 -41
  14. package/dist/m365/entra/commands/app/app-set.js +46 -69
  15. package/dist/m365/spfx/commands/package/package-generate.js +30 -51
  16. package/dist/m365/spfx/commands/project/project-azuredevops-pipeline-add.js +27 -62
  17. package/dist/m365/spfx/commands/project/project-doctor.js +20 -51
  18. package/dist/m365/spfx/commands/project/project-externalize.js +16 -26
  19. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +28 -65
  20. package/dist/m365/spfx/commands/project/project-permissions-grant.js +4 -2
  21. package/dist/m365/spfx/commands/project/project-rename.js +17 -29
  22. package/dist/m365/spfx/commands/project/project-upgrade.js +0 -3
  23. package/dist/m365/spfx/commands/spfx-doctor.js +23 -47
  24. package/dist/m365/spo/commands/file/file-add.js +51 -77
  25. package/dist/m365/spo/commands/file/file-archive.js +1 -1
  26. package/dist/m365/spo/commands/file/file-checkin.js +35 -64
  27. package/dist/m365/spo/commands/file/file-checkout-undo.js +25 -49
  28. package/dist/m365/spo/commands/file/file-checkout.js +24 -47
  29. package/dist/m365/spo/commands/file/file-copy.js +37 -68
  30. package/dist/m365/spo/commands/file/file-get.js +44 -79
  31. package/dist/m365/spo/commands/file/file-list.js +16 -39
  32. package/dist/m365/spo/commands/file/file-move.js +30 -68
  33. package/dist/m365/spo/commands/file/file-remove.js +27 -56
  34. package/dist/m365/spo/commands/file/file-rename.js +15 -36
  35. package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +26 -51
  36. package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +25 -50
  37. package/dist/m365/spo/commands/file/file-roleassignment-add.js +47 -75
  38. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +39 -70
  39. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +26 -52
  40. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +25 -49
  41. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +24 -47
  42. package/dist/m365/spo/commands/file/file-sharinglink-add.js +46 -70
  43. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +33 -57
  44. package/dist/m365/spo/commands/file/file-sharinglink-get.js +25 -47
  45. package/dist/m365/spo/commands/file/file-sharinglink-list.js +32 -53
  46. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +26 -51
  47. package/dist/m365/spo/commands/file/file-sharinglink-set.js +29 -55
  48. package/dist/m365/spo/commands/file/file-unarchive.js +1 -1
  49. package/dist/m365/spo/commands/file/file-version-clear.js +25 -45
  50. package/dist/m365/spo/commands/file/file-version-get.js +25 -43
  51. package/dist/m365/spo/commands/file/file-version-keep.js +1 -1
  52. package/dist/m365/spo/commands/file/file-version-list.js +24 -41
  53. package/dist/m365/spo/commands/file/file-version-remove.js +26 -47
  54. package/dist/m365/spo/commands/file/file-version-restore.js +26 -47
  55. package/dist/m365/spo/commands/folder/folder-add.js +19 -48
  56. package/dist/m365/spo/commands/folder/folder-copy.js +36 -62
  57. package/dist/m365/spo/commands/folder/folder-get.js +30 -51
  58. package/dist/m365/spo/commands/folder/folder-list.js +16 -39
  59. package/dist/m365/spo/commands/folder/folder-move.js +36 -62
  60. package/dist/m365/spo/commands/folder/folder-remove.js +15 -36
  61. package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +30 -48
  62. package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +30 -50
  63. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +49 -79
  64. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +37 -67
  65. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +15 -36
  66. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +14 -33
  67. package/dist/m365/spo/commands/folder/folder-set.js +28 -48
  68. package/dist/m365/spo/commands/folder/folder-sharinglink-add.js +58 -86
  69. package/dist/m365/spo/commands/folder/folder-sharinglink-clear.js +33 -50
  70. package/dist/m365/spo/commands/folder/folder-sharinglink-get.js +33 -42
  71. package/dist/m365/spo/commands/folder/folder-sharinglink-list.js +32 -47
  72. package/dist/m365/spo/commands/folder/folder-sharinglink-remove.js +34 -41
  73. package/dist/m365/spo/commands/folder/folder-sharinglink-set.js +38 -43
  74. package/dist/m365/spo/commands/page/page-add.js +31 -68
  75. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +74 -101
  76. package/dist/m365/spo/commands/page/page-column-get.js +15 -32
  77. package/dist/m365/spo/commands/page/page-column-list.js +14 -27
  78. package/dist/m365/spo/commands/page/page-control-get.js +18 -27
  79. package/dist/m365/spo/commands/page/page-control-list.js +13 -20
  80. package/dist/m365/spo/commands/page/page-control-remove.js +1 -1
  81. package/dist/m365/spo/commands/page/page-control-set.js +51 -61
  82. package/dist/m365/spo/commands/page/page-copy.js +15 -31
  83. package/dist/m365/spo/commands/page/page-header-set.js +25 -89
  84. package/dist/m365/spo/commands/page/page-list.js +12 -18
  85. package/dist/m365/spo/commands/page/page-remove.js +16 -39
  86. package/dist/m365/spo/commands/page/page-section-add.js +108 -173
  87. package/dist/m365/spo/commands/page/page-section-get.js +17 -27
  88. package/dist/m365/spo/commands/page/page-section-list.js +13 -20
  89. package/dist/m365/spo/commands/page/page-section-remove.js +4 -1
  90. package/dist/m365/spo/commands/page/page-set.js +50 -100
  91. package/dist/m365/spo/commands/page/page-template-list.js +12 -18
  92. package/dist/m365/spo/commands/page/page-text-add.js +23 -45
  93. package/dist/m365/viva/commands/connections/connections-app-create.js +36 -42
  94. package/dist/m365/viva/commands/engage/engage-community-add.js +75 -71
  95. package/dist/m365/viva/commands/engage/engage-community-get.js +8 -16
  96. package/dist/m365/viva/commands/engage/engage-community-list.js +5 -0
  97. package/dist/m365/viva/commands/engage/engage-community-remove.js +28 -48
  98. package/dist/m365/viva/commands/engage/engage-community-set.js +43 -66
  99. package/dist/m365/viva/commands/engage/engage-community-user-add.js +7 -12
  100. package/dist/m365/viva/commands/engage/engage-community-user-list.js +1 -1
  101. package/dist/m365/viva/commands/engage/engage-community-user-remove.js +4 -2
  102. package/dist/m365/viva/commands/engage/engage-message-add.js +22 -52
  103. package/dist/m365/viva/commands/engage/engage-message-get.js +8 -23
  104. package/dist/m365/viva/commands/engage/engage-message-like-set.js +10 -39
  105. package/dist/m365/viva/commands/engage/engage-message-list.js +22 -66
  106. package/dist/m365/viva/commands/engage/engage-message-remove.js +9 -32
  107. package/dist/m365/viva/commands/engage/engage-network-list.js +8 -22
  108. package/dist/m365/viva/commands/engage/engage-report-activitycounts.js +2 -1
  109. package/dist/m365/viva/commands/engage/engage-report-activityusercounts.js +2 -1
  110. package/dist/m365/viva/commands/engage/engage-report-activityuserdetail.js +2 -1
  111. package/dist/m365/viva/commands/engage/engage-report-deviceusagedistributionusercounts.js +2 -1
  112. package/dist/m365/viva/commands/engage/engage-report-deviceusageusercounts.js +2 -1
  113. package/dist/m365/viva/commands/engage/engage-report-deviceusageuserdetail.js +2 -1
  114. package/dist/m365/viva/commands/engage/engage-report-groupsactivitycounts.js +2 -1
  115. package/dist/m365/viva/commands/engage/engage-report-groupsactivitydetail.js +2 -1
  116. package/dist/m365/viva/commands/engage/engage-report-groupsactivitygroupcounts.js +2 -1
  117. package/dist/m365/viva/commands/engage/engage-role-list.js +5 -0
  118. package/dist/m365/viva/commands/engage/engage-role-member-add.js +3 -5
  119. package/dist/m365/viva/commands/engage/engage-role-member-list.js +1 -1
  120. package/dist/m365/viva/commands/engage/engage-role-member-remove.js +4 -2
  121. package/dist/m365/viva/commands/engage/engage-search.js +16 -65
  122. package/dist/m365/viva/commands/engage/engage-user-get.js +15 -33
  123. package/dist/m365/viva/commands/engage/engage-user-list.js +22 -57
  124. package/docs/docs/cmd/spo/listitem/listitem-record-declare.mdx +19 -0
  125. package/docs/docs/cmd/spo/listitem/listitem-record-lock.mdx +21 -0
  126. package/docs/docs/cmd/spo/listitem/listitem-record-undeclare.mdx +21 -0
  127. package/docs/docs/cmd/spo/listitem/listitem-record-unlock.mdx +21 -0
  128. package/docs/docs/cmd/spo/page/page-text-add.mdx +1 -1
  129. package/docs/docs/cmd/viva/engage/engage-community-add.mdx +19 -0
  130. package/docs/docs/cmd/viva/engage/engage-community-get.mdx +19 -0
  131. package/docs/docs/cmd/viva/engage/engage-community-remove.mdx +21 -0
  132. package/docs/docs/cmd/viva/engage/engage-community-set.mdx +19 -0
  133. package/npm-shrinkwrap.json +55 -55
  134. package/package.json +1 -1
@@ -1,10 +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 _SpoFolderGetCommand_instances, _SpoFolderGetCommand_initTelemetry, _SpoFolderGetCommand_initOptions, _SpoFolderGetCommand_initValidators, _SpoFolderGetCommand_initOptionSets, _SpoFolderGetCommand_initTypes;
7
- import { CommandError } from '../../../../Command.js';
1
+ import { z } from 'zod';
2
+ import { CommandError, globalOptionsZod } from '../../../../Command.js';
8
3
  import request from '../../../../request.js';
9
4
  import { formatting } from '../../../../utils/formatting.js';
10
5
  import { urlUtil } from '../../../../utils/urlUtil.js';
@@ -12,6 +7,22 @@ import { validation } from '../../../../utils/validation.js';
12
7
  import SpoCommand from '../../../base/SpoCommand.js';
13
8
  import commands from '../../commands.js';
14
9
  import { ListPrincipalType } from '../list/ListPrincipalType.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
+ url: z.string().optional(),
18
+ id: z.string()
19
+ .refine(id => validation.isValidGuid(id), {
20
+ error: e => `'${e.input}' is not a valid GUID.`
21
+ })
22
+ .optional()
23
+ .alias('i'),
24
+ withPermissions: z.boolean().optional()
25
+ });
15
26
  class SpoFolderGetCommand extends SpoCommand {
16
27
  get name() {
17
28
  return commands.FOLDER_GET;
@@ -19,14 +30,18 @@ class SpoFolderGetCommand extends SpoCommand {
19
30
  get description() {
20
31
  return 'Gets information about the specified folder';
21
32
  }
22
- constructor() {
23
- super();
24
- _SpoFolderGetCommand_instances.add(this);
25
- __classPrivateFieldGet(this, _SpoFolderGetCommand_instances, "m", _SpoFolderGetCommand_initTelemetry).call(this);
26
- __classPrivateFieldGet(this, _SpoFolderGetCommand_instances, "m", _SpoFolderGetCommand_initOptions).call(this);
27
- __classPrivateFieldGet(this, _SpoFolderGetCommand_instances, "m", _SpoFolderGetCommand_initValidators).call(this);
28
- __classPrivateFieldGet(this, _SpoFolderGetCommand_instances, "m", _SpoFolderGetCommand_initOptionSets).call(this);
29
- __classPrivateFieldGet(this, _SpoFolderGetCommand_instances, "m", _SpoFolderGetCommand_initTypes).call(this);
33
+ get schema() {
34
+ return options;
35
+ }
36
+ getRefinedSchema(schema) {
37
+ return schema
38
+ .refine(opts => [opts.url, opts.id].filter(o => o !== undefined).length === 1, {
39
+ error: `Specify either 'url' or 'id', but not both.`,
40
+ params: {
41
+ customCode: 'optionSet',
42
+ options: ['url', 'id']
43
+ }
44
+ });
30
45
  }
31
46
  getExcludedOptionsWithUrls() {
32
47
  return ['url'];
@@ -75,41 +90,5 @@ class SpoFolderGetCommand extends SpoCommand {
75
90
  }
76
91
  }
77
92
  }
78
- _SpoFolderGetCommand_instances = new WeakSet(), _SpoFolderGetCommand_initTelemetry = function _SpoFolderGetCommand_initTelemetry() {
79
- this.telemetry.push((args) => {
80
- Object.assign(this.telemetryProperties, {
81
- id: typeof args.options.id !== 'undefined',
82
- url: typeof args.options.url !== 'undefined',
83
- withPermissions: typeof args.options.withPermissions !== 'undefined'
84
- });
85
- });
86
- }, _SpoFolderGetCommand_initOptions = function _SpoFolderGetCommand_initOptions() {
87
- this.options.unshift({
88
- option: '-u, --webUrl <webUrl>'
89
- }, {
90
- option: '--url [url]'
91
- }, {
92
- option: '-i, --id [id]'
93
- }, {
94
- option: '--withPermissions'
95
- });
96
- }, _SpoFolderGetCommand_initValidators = function _SpoFolderGetCommand_initValidators() {
97
- this.validators.push(async (args) => {
98
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
99
- if (isValidSharePointUrl !== true) {
100
- return isValidSharePointUrl;
101
- }
102
- if (args.options.id) {
103
- if (!validation.isValidGuid(args.options.id)) {
104
- return `${args.options.id} is not a valid GUID`;
105
- }
106
- }
107
- return true;
108
- });
109
- }, _SpoFolderGetCommand_initOptionSets = function _SpoFolderGetCommand_initOptionSets() {
110
- this.optionSets.push({ options: ['url', 'id'] });
111
- }, _SpoFolderGetCommand_initTypes = function _SpoFolderGetCommand_initTypes() {
112
- this.types.string.push('webUrl', 'url', 'id');
113
- };
114
93
  export default new SpoFolderGetCommand();
115
94
  //# sourceMappingURL=folder-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 _SpoFolderListCommand_instances, _SpoFolderListCommand_initTelemetry, _SpoFolderListCommand_initOptions, _SpoFolderListCommand_initValidators, _SpoFolderListCommand_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
+ parentFolderUrl: z.string().alias('p'),
17
+ fields: z.string().optional(),
18
+ filter: z.string().optional(),
19
+ recursive: z.boolean().optional().alias('r')
20
+ });
13
21
  class SpoFolderListCommand extends SpoCommand {
14
22
  get name() {
15
23
  return commands.FOLDER_LIST;
@@ -20,13 +28,8 @@ class SpoFolderListCommand extends SpoCommand {
20
28
  defaultProperties() {
21
29
  return ['Name', 'ServerRelativeUrl'];
22
30
  }
23
- constructor() {
24
- super();
25
- _SpoFolderListCommand_instances.add(this);
26
- __classPrivateFieldGet(this, _SpoFolderListCommand_instances, "m", _SpoFolderListCommand_initTelemetry).call(this);
27
- __classPrivateFieldGet(this, _SpoFolderListCommand_instances, "m", _SpoFolderListCommand_initOptions).call(this);
28
- __classPrivateFieldGet(this, _SpoFolderListCommand_instances, "m", _SpoFolderListCommand_initValidators).call(this);
29
- __classPrivateFieldGet(this, _SpoFolderListCommand_instances, "m", _SpoFolderListCommand_initTypes).call(this);
31
+ get schema() {
32
+ return options;
30
33
  }
31
34
  async commandAction(logger, args) {
32
35
  if (this.verbose) {
@@ -104,32 +107,6 @@ class SpoFolderListCommand extends SpoCommand {
104
107
  };
105
108
  }
106
109
  }
107
- _SpoFolderListCommand_instances = new WeakSet(), _SpoFolderListCommand_initTelemetry = function _SpoFolderListCommand_initTelemetry() {
108
- this.telemetry.push((args) => {
109
- Object.assign(this.telemetryProperties, {
110
- recursive: !!args.options.recursive,
111
- fields: typeof args.options.fields !== 'undefined',
112
- filter: typeof args.options.filter !== 'undefined'
113
- });
114
- });
115
- }, _SpoFolderListCommand_initOptions = function _SpoFolderListCommand_initOptions() {
116
- this.options.unshift({
117
- option: '-u, --webUrl <webUrl>'
118
- }, {
119
- option: '-p, --parentFolderUrl <parentFolderUrl>'
120
- }, {
121
- option: '--fields [fields]'
122
- }, {
123
- option: '--filter [filter]'
124
- }, {
125
- option: '-r, --recursive'
126
- });
127
- }, _SpoFolderListCommand_initValidators = function _SpoFolderListCommand_initValidators() {
128
- this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.webUrl));
129
- }, _SpoFolderListCommand_initTypes = function _SpoFolderListCommand_initTypes() {
130
- this.types.string.push('webUrl', 'parentFolderUrl', 'fields', 'filter');
131
- this.types.boolean.push('recursive');
132
- };
133
110
  SpoFolderListCommand.pageSize = 5000;
134
111
  export default new SpoFolderListCommand();
135
112
  //# sourceMappingURL=folder-list.js.map
@@ -1,15 +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 _SpoFolderMoveCommand_instances, _SpoFolderMoveCommand_initTelemetry, _SpoFolderMoveCommand_initOptions, _SpoFolderMoveCommand_initValidators, _SpoFolderMoveCommand_initOptionSets, _SpoFolderMoveCommand_initTypes;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import request from '../../../../request.js';
8
4
  import { CreateFolderCopyJobsNameConflictBehavior, 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
+ const nameConflictBehaviorOptions = ['fail', '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().optional().alias('s'),
18
+ sourceId: z.string()
19
+ .refine(id => validation.isValidGuid(id), {
20
+ error: e => `'${e.input}' is not a valid GUID for sourceId.`
21
+ })
22
+ .optional()
23
+ .alias('i'),
24
+ targetUrl: z.string().alias('t'),
25
+ newName: z.string().optional(),
26
+ nameConflictBehavior: z.enum(nameConflictBehaviorOptions, {
27
+ error: e => `'${e.input}' is not a valid value for nameConflictBehavior. Allowed values are: ${nameConflictBehaviorOptions.join(', ')}.`
28
+ }).optional(),
29
+ skipWait: z.boolean().optional()
30
+ });
13
31
  class SpoFolderMoveCommand extends SpoCommand {
14
32
  get name() {
15
33
  return commands.FOLDER_MOVE;
@@ -17,15 +35,18 @@ class SpoFolderMoveCommand extends SpoCommand {
17
35
  get description() {
18
36
  return 'Moves a folder to another location';
19
37
  }
20
- constructor() {
21
- super();
22
- _SpoFolderMoveCommand_instances.add(this);
23
- this.nameConflictBehaviorOptions = ['fail', 'rename'];
24
- __classPrivateFieldGet(this, _SpoFolderMoveCommand_instances, "m", _SpoFolderMoveCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _SpoFolderMoveCommand_instances, "m", _SpoFolderMoveCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _SpoFolderMoveCommand_instances, "m", _SpoFolderMoveCommand_initValidators).call(this);
27
- __classPrivateFieldGet(this, _SpoFolderMoveCommand_instances, "m", _SpoFolderMoveCommand_initOptionSets).call(this);
28
- __classPrivateFieldGet(this, _SpoFolderMoveCommand_instances, "m", _SpoFolderMoveCommand_initTypes).call(this);
38
+ get schema() {
39
+ return options;
40
+ }
41
+ getRefinedSchema(schema) {
42
+ return schema
43
+ .refine(opts => [opts.sourceUrl, opts.sourceId].filter(o => o !== undefined).length === 1, {
44
+ error: `Specify either 'sourceUrl' or 'sourceId', but not both.`,
45
+ params: {
46
+ customCode: 'optionSet',
47
+ options: ['sourceUrl', 'sourceId']
48
+ }
49
+ });
29
50
  }
30
51
  getExcludedOptionsWithUrls() {
31
52
  return ['targetUrl', 'sourceUrl'];
@@ -102,52 +123,5 @@ class SpoFolderMoveCommand extends SpoCommand {
102
123
  return urlUtil.removeTrailingSlashes(result);
103
124
  }
104
125
  }
105
- _SpoFolderMoveCommand_instances = new WeakSet(), _SpoFolderMoveCommand_initTelemetry = function _SpoFolderMoveCommand_initTelemetry() {
106
- this.telemetry.push((args) => {
107
- Object.assign(this.telemetryProperties, {
108
- sourceUrl: typeof args.options.sourceUrl !== 'undefined',
109
- sourceId: typeof args.options.sourceId !== 'undefined',
110
- newName: typeof args.options.newName !== 'undefined',
111
- nameConflictBehavior: typeof args.options.nameConflictBehavior !== 'undefined',
112
- skipWait: !!args.options.skipWait
113
- });
114
- });
115
- }, _SpoFolderMoveCommand_initOptions = function _SpoFolderMoveCommand_initOptions() {
116
- this.options.unshift({
117
- option: '-u, --webUrl <webUrl>'
118
- }, {
119
- option: '-s, --sourceUrl [sourceUrl]'
120
- }, {
121
- option: '-i, --sourceId [sourceId]'
122
- }, {
123
- option: '-t, --targetUrl <targetUrl>'
124
- }, {
125
- option: '--newName [newName]'
126
- }, {
127
- option: '--nameConflictBehavior [nameConflictBehavior]',
128
- autocomplete: this.nameConflictBehaviorOptions
129
- }, {
130
- option: '--skipWait'
131
- });
132
- }, _SpoFolderMoveCommand_initValidators = function _SpoFolderMoveCommand_initValidators() {
133
- this.validators.push(async (args) => {
134
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
135
- if (isValidSharePointUrl !== true) {
136
- return isValidSharePointUrl;
137
- }
138
- if (args.options.sourceId && !validation.isValidGuid(args.options.sourceId)) {
139
- return `'${args.options.sourceId}' is not a valid GUID for sourceId.`;
140
- }
141
- if (args.options.nameConflictBehavior && this.nameConflictBehaviorOptions.indexOf(args.options.nameConflictBehavior) === -1) {
142
- return `'${args.options.nameConflictBehavior}' is not a valid value for nameConflictBehavior. Allowed values are: ${this.nameConflictBehaviorOptions.join(', ')}.`;
143
- }
144
- return true;
145
- });
146
- }, _SpoFolderMoveCommand_initOptionSets = function _SpoFolderMoveCommand_initOptionSets() {
147
- this.optionSets.push({ options: ['sourceUrl', 'sourceId'] });
148
- }, _SpoFolderMoveCommand_initTypes = function _SpoFolderMoveCommand_initTypes() {
149
- this.types.string.push('webUrl', 'sourceUrl', 'sourceId', 'targetUrl', 'newName', 'nameConflictBehavior');
150
- this.types.boolean.push('skipWait');
151
- };
152
126
  export default new SpoFolderMoveCommand();
153
127
  //# sourceMappingURL=folder-move.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 _SpoFolderRemoveCommand_instances, _SpoFolderRemoveCommand_initTelemetry, _SpoFolderRemoveCommand_initOptions, _SpoFolderRemoveCommand_initValidators, _SpoFolderRemoveCommand_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
+ url: z.string(),
18
+ permanent: z.boolean().optional(),
19
+ force: z.boolean().optional().alias('f')
20
+ });
14
21
  class SpoFolderRemoveCommand extends SpoCommand {
15
22
  get name() {
16
23
  return commands.FOLDER_REMOVE;
@@ -18,13 +25,8 @@ class SpoFolderRemoveCommand extends SpoCommand {
18
25
  get description() {
19
26
  return 'Deletes the specified folder';
20
27
  }
21
- constructor() {
22
- super();
23
- _SpoFolderRemoveCommand_instances.add(this);
24
- __classPrivateFieldGet(this, _SpoFolderRemoveCommand_instances, "m", _SpoFolderRemoveCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _SpoFolderRemoveCommand_instances, "m", _SpoFolderRemoveCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _SpoFolderRemoveCommand_instances, "m", _SpoFolderRemoveCommand_initValidators).call(this);
27
- __classPrivateFieldGet(this, _SpoFolderRemoveCommand_instances, "m", _SpoFolderRemoveCommand_initTypes).call(this);
28
+ get schema() {
29
+ return options;
28
30
  }
29
31
  getExcludedOptionsWithUrls() {
30
32
  return ['url'];
@@ -67,28 +69,5 @@ class SpoFolderRemoveCommand extends SpoCommand {
67
69
  }
68
70
  }
69
71
  }
70
- _SpoFolderRemoveCommand_instances = new WeakSet(), _SpoFolderRemoveCommand_initTelemetry = function _SpoFolderRemoveCommand_initTelemetry() {
71
- this.telemetry.push((args) => {
72
- Object.assign(this.telemetryProperties, {
73
- permanent: !!args.options.permanent,
74
- force: !!args.options.force
75
- });
76
- });
77
- }, _SpoFolderRemoveCommand_initOptions = function _SpoFolderRemoveCommand_initOptions() {
78
- this.options.unshift({
79
- option: '-u, --webUrl <webUrl>'
80
- }, {
81
- option: '--url <url>'
82
- }, {
83
- option: '--permanent'
84
- }, {
85
- option: '-f, --force'
86
- });
87
- }, _SpoFolderRemoveCommand_initValidators = function _SpoFolderRemoveCommand_initValidators() {
88
- this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.webUrl));
89
- }, _SpoFolderRemoveCommand_initTypes = function _SpoFolderRemoveCommand_initTypes() {
90
- this.types.string.push('webUrl', 'url');
91
- this.types.boolean.push('permanent', 'force');
92
- };
93
72
  export default new SpoFolderRemoveCommand();
94
73
  //# sourceMappingURL=folder-remove.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 _SpoFolderRetentionLabelEnsureCommand_instances, _SpoFolderRetentionLabelEnsureCommand_initTelemetry, _SpoFolderRetentionLabelEnsureCommand_initOptions, _SpoFolderRetentionLabelEnsureCommand_initValidators, _SpoFolderRetentionLabelEnsureCommand_initOptionSets, _SpoFolderRetentionLabelEnsureCommand_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 { spo } from '../../../../utils/spo.js';
@@ -11,6 +7,22 @@ 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
+ name: z.string(),
18
+ folderUrl: z.string().optional(),
19
+ folderId: z.string()
20
+ .refine(id => validation.isValidGuid(id), {
21
+ error: e => `'${e.input}' is not a valid GUID.`
22
+ })
23
+ .optional()
24
+ .alias('i')
25
+ });
14
26
  class SpoFolderRetentionLabelEnsureCommand extends SpoCommand {
15
27
  get name() {
16
28
  return commands.FOLDER_RETENTIONLABEL_ENSURE;
@@ -18,14 +30,18 @@ class SpoFolderRetentionLabelEnsureCommand extends SpoCommand {
18
30
  get description() {
19
31
  return 'Applies a retention label to a folder';
20
32
  }
21
- constructor() {
22
- super();
23
- _SpoFolderRetentionLabelEnsureCommand_instances.add(this);
24
- __classPrivateFieldGet(this, _SpoFolderRetentionLabelEnsureCommand_instances, "m", _SpoFolderRetentionLabelEnsureCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _SpoFolderRetentionLabelEnsureCommand_instances, "m", _SpoFolderRetentionLabelEnsureCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _SpoFolderRetentionLabelEnsureCommand_instances, "m", _SpoFolderRetentionLabelEnsureCommand_initValidators).call(this);
27
- __classPrivateFieldGet(this, _SpoFolderRetentionLabelEnsureCommand_instances, "m", _SpoFolderRetentionLabelEnsureCommand_initOptionSets).call(this);
28
- __classPrivateFieldGet(this, _SpoFolderRetentionLabelEnsureCommand_instances, "m", _SpoFolderRetentionLabelEnsureCommand_initTypes).call(this);
33
+ get schema() {
34
+ return options;
35
+ }
36
+ getRefinedSchema(schema) {
37
+ return schema
38
+ .refine(opts => [opts.folderUrl, opts.folderId].filter(o => o !== undefined).length === 1, {
39
+ error: `Specify either 'folderUrl' or 'folderId', but not both.`,
40
+ params: {
41
+ customCode: 'optionSet',
42
+ options: ['folderUrl', 'folderId']
43
+ }
44
+ });
29
45
  }
30
46
  async commandAction(logger, args) {
31
47
  try {
@@ -67,39 +83,5 @@ class SpoFolderRetentionLabelEnsureCommand extends SpoCommand {
67
83
  return await request.get(requestOptions);
68
84
  }
69
85
  }
70
- _SpoFolderRetentionLabelEnsureCommand_instances = new WeakSet(), _SpoFolderRetentionLabelEnsureCommand_initTelemetry = function _SpoFolderRetentionLabelEnsureCommand_initTelemetry() {
71
- this.telemetry.push((args) => {
72
- Object.assign(this.telemetryProperties, {
73
- folderUrl: typeof args.options.folderUrl !== 'undefined',
74
- folderId: typeof args.options.folderId !== 'undefined'
75
- });
76
- });
77
- }, _SpoFolderRetentionLabelEnsureCommand_initOptions = function _SpoFolderRetentionLabelEnsureCommand_initOptions() {
78
- this.options.unshift({
79
- option: '-u, --webUrl <webUrl>'
80
- }, {
81
- option: '--name <name>'
82
- }, {
83
- option: '--folderUrl [folderUrl]'
84
- }, {
85
- option: '-i, --folderId [folderId]'
86
- });
87
- }, _SpoFolderRetentionLabelEnsureCommand_initValidators = function _SpoFolderRetentionLabelEnsureCommand_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.folderId &&
94
- !validation.isValidGuid(args.options.folderId)) {
95
- return `${args.options.folderId} is not a valid GUID`;
96
- }
97
- return true;
98
- });
99
- }, _SpoFolderRetentionLabelEnsureCommand_initOptionSets = function _SpoFolderRetentionLabelEnsureCommand_initOptionSets() {
100
- this.optionSets.push({ options: ['folderUrl', 'folderId'] });
101
- }, _SpoFolderRetentionLabelEnsureCommand_initTypes = function _SpoFolderRetentionLabelEnsureCommand_initTypes() {
102
- this.types.string.push('webUrl', 'name', 'folderUrl', 'folderId');
103
- };
104
86
  export default new SpoFolderRetentionLabelEnsureCommand();
105
87
  //# sourceMappingURL=folder-retentionlabel-ensure.js.map
@@ -1,10 +1,6 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _SpoFolderRetentionLabelRemoveCommand_instances, _SpoFolderRetentionLabelRemoveCommand_initTelemetry, _SpoFolderRetentionLabelRemoveCommand_initOptions, _SpoFolderRetentionLabelRemoveCommand_initValidators, _SpoFolderRetentionLabelRemoveCommand_initOptionSets, _SpoFolderRetentionLabelRemoveCommand_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 { spo } from '../../../../utils/spo.js';
@@ -12,6 +8,22 @@ 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
+ folderUrl: z.string().optional(),
19
+ folderId: z.string()
20
+ .refine(id => validation.isValidGuid(id), {
21
+ error: e => `'${e.input}' is not a valid GUID.`
22
+ })
23
+ .optional()
24
+ .alias('i'),
25
+ force: z.boolean().optional().alias('f')
26
+ });
15
27
  class SpoFolderRetentionLabelRemoveCommand extends SpoCommand {
16
28
  get name() {
17
29
  return commands.FOLDER_RETENTIONLABEL_REMOVE;
@@ -19,14 +31,18 @@ class SpoFolderRetentionLabelRemoveCommand extends SpoCommand {
19
31
  get description() {
20
32
  return 'Clears the retention label from a folder';
21
33
  }
22
- constructor() {
23
- super();
24
- _SpoFolderRetentionLabelRemoveCommand_instances.add(this);
25
- __classPrivateFieldGet(this, _SpoFolderRetentionLabelRemoveCommand_instances, "m", _SpoFolderRetentionLabelRemoveCommand_initTelemetry).call(this);
26
- __classPrivateFieldGet(this, _SpoFolderRetentionLabelRemoveCommand_instances, "m", _SpoFolderRetentionLabelRemoveCommand_initOptions).call(this);
27
- __classPrivateFieldGet(this, _SpoFolderRetentionLabelRemoveCommand_instances, "m", _SpoFolderRetentionLabelRemoveCommand_initValidators).call(this);
28
- __classPrivateFieldGet(this, _SpoFolderRetentionLabelRemoveCommand_instances, "m", _SpoFolderRetentionLabelRemoveCommand_initOptionSets).call(this);
29
- __classPrivateFieldGet(this, _SpoFolderRetentionLabelRemoveCommand_instances, "m", _SpoFolderRetentionLabelRemoveCommand_initTypes).call(this);
34
+ get schema() {
35
+ return options;
36
+ }
37
+ getRefinedSchema(schema) {
38
+ return schema
39
+ .refine(opts => [opts.folderUrl, opts.folderId].filter(o => o !== undefined).length === 1, {
40
+ error: `Specify either 'folderUrl' or 'folderId', but not both.`,
41
+ params: {
42
+ customCode: 'optionSet',
43
+ options: ['folderUrl', 'folderId']
44
+ }
45
+ });
30
46
  }
31
47
  async commandAction(logger, args) {
32
48
  if (args.options.force) {
@@ -79,41 +95,5 @@ class SpoFolderRetentionLabelRemoveCommand extends SpoCommand {
79
95
  return await request.get(requestOptions);
80
96
  }
81
97
  }
82
- _SpoFolderRetentionLabelRemoveCommand_instances = new WeakSet(), _SpoFolderRetentionLabelRemoveCommand_initTelemetry = function _SpoFolderRetentionLabelRemoveCommand_initTelemetry() {
83
- this.telemetry.push((args) => {
84
- Object.assign(this.telemetryProperties, {
85
- folderUrl: typeof args.options.folderUrl !== 'undefined',
86
- folderId: typeof args.options.folderId !== 'undefined',
87
- force: !!args.options.force
88
- });
89
- });
90
- }, _SpoFolderRetentionLabelRemoveCommand_initOptions = function _SpoFolderRetentionLabelRemoveCommand_initOptions() {
91
- this.options.unshift({
92
- option: '-u, --webUrl <webUrl>'
93
- }, {
94
- option: '--folderUrl [folderUrl]'
95
- }, {
96
- option: '-i, --folderId [folderId]'
97
- }, {
98
- option: '-f, --force'
99
- });
100
- }, _SpoFolderRetentionLabelRemoveCommand_initValidators = function _SpoFolderRetentionLabelRemoveCommand_initValidators() {
101
- this.validators.push(async (args) => {
102
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
103
- if (isValidSharePointUrl !== true) {
104
- return isValidSharePointUrl;
105
- }
106
- if (args.options.folderId &&
107
- !validation.isValidGuid(args.options.folderId)) {
108
- return `${args.options.folderId} is not a valid GUID`;
109
- }
110
- return true;
111
- });
112
- }, _SpoFolderRetentionLabelRemoveCommand_initOptionSets = function _SpoFolderRetentionLabelRemoveCommand_initOptionSets() {
113
- this.optionSets.push({ options: ['folderUrl', 'folderId'] });
114
- }, _SpoFolderRetentionLabelRemoveCommand_initTypes = function _SpoFolderRetentionLabelRemoveCommand_initTypes() {
115
- this.types.string.push('webUrl', 'folderUrl', 'folderId');
116
- this.types.boolean.push('force');
117
- };
118
98
  export default new SpoFolderRetentionLabelRemoveCommand();
119
99
  //# sourceMappingURL=folder-retentionlabel-remove.js.map