@pnp/cli-microsoft365 12.0.0-beta.1752794 → 12.0.0-beta.235caf5

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 (216) hide show
  1. package/allCommands.json +1 -1
  2. package/allCommandsFull.json +1 -1
  3. package/dist/Auth.js +19 -2
  4. package/dist/cli/cli.js +3 -0
  5. package/dist/config.js +1 -0
  6. package/dist/m365/cli/commands/cli-consent.js +9 -2
  7. package/dist/m365/entra/commands/agent/agent-blueprint-list.js +52 -0
  8. package/dist/m365/entra/commands/m365group/m365group-add.js +52 -97
  9. package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +20 -33
  10. package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +20 -39
  11. package/dist/m365/entra/commands/m365group/m365group-get.js +20 -41
  12. package/dist/m365/entra/commands/m365group/m365group-list.js +11 -31
  13. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-clear.js +8 -22
  14. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-list.js +9 -25
  15. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-remove.js +21 -43
  16. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-restore.js +21 -41
  17. package/dist/m365/entra/commands/m365group/m365group-remove.js +25 -46
  18. package/dist/m365/entra/commands/m365group/m365group-renew.js +19 -32
  19. package/dist/m365/entra/commands/m365group/m365group-set.js +86 -141
  20. package/dist/m365/entra/commands/m365group/m365group-teamify.js +20 -43
  21. package/dist/m365/entra/commands/m365group/m365group-user-add.js +44 -77
  22. package/dist/m365/entra/commands/m365group/m365group-user-list.js +28 -55
  23. package/dist/m365/entra/commands/m365group/m365group-user-remove.js +37 -74
  24. package/dist/m365/entra/commands/m365group/m365group-user-set.js +45 -77
  25. package/dist/m365/entra/commands.js +1 -0
  26. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +14 -16
  27. package/dist/m365/outlook/commands/calendargroup/calendargroup-add.js +97 -0
  28. package/dist/m365/outlook/commands/event/event-add.js +324 -0
  29. package/dist/m365/outlook/commands.js +2 -0
  30. package/dist/m365/spe/commands/container/container-permission-add.js +114 -0
  31. package/dist/m365/spe/commands/container/container-permission-remove.js +94 -0
  32. package/dist/m365/spe/commands/container/container-permission-set.js +90 -0
  33. package/dist/m365/spe/commands.js +3 -0
  34. package/dist/m365/spfx/commands/SpfxCompatibilityMatrix.js +15 -0
  35. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.24.0.js +19 -0
  36. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  37. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012021_TSC_excludeDirectories.js +43 -0
  38. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027002_OVERRIDES_qs.js +33 -0
  39. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027003_OVERRIDES_uuid.js +33 -0
  40. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.24.0.js +77 -0
  41. package/dist/m365/spfx/commands/project/project-upgrade.js +2 -1
  42. package/dist/m365/spo/commands/commandset/commandset-add.js +17 -59
  43. package/dist/m365/spo/commands/commandset/commandset-get.js +24 -62
  44. package/dist/m365/spo/commands/commandset/commandset-list.js +11 -34
  45. package/dist/m365/spo/commands/commandset/commandset-remove.js +21 -54
  46. package/dist/m365/spo/commands/commandset/commandset-set.js +30 -83
  47. package/dist/m365/spo/commands/contenttype/contenttype-add.js +22 -51
  48. package/dist/m365/spo/commands/contenttype/contenttype-field-list.js +38 -62
  49. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +25 -54
  50. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +20 -43
  51. package/dist/m365/spo/commands/contenttype/contenttype-get.js +29 -54
  52. package/dist/m365/spo/commands/contenttype/contenttype-list.js +13 -30
  53. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +24 -39
  54. package/dist/m365/spo/commands/contenttype/contenttype-set.js +42 -63
  55. package/dist/m365/spo/commands/contenttype/contenttype-sync.js +37 -59
  56. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +5 -0
  57. package/dist/m365/spo/commands/customaction/customaction-add.js +124 -145
  58. package/dist/m365/spo/commands/customaction/customaction-clear.js +12 -43
  59. package/dist/m365/spo/commands/customaction/customaction-get.js +28 -59
  60. package/dist/m365/spo/commands/customaction/customaction-list.js +12 -42
  61. package/dist/m365/spo/commands/customaction/customaction-remove.js +26 -54
  62. package/dist/m365/spo/commands/customaction/customaction-set.js +75 -132
  63. package/dist/m365/spo/commands/externaluser/externaluser-list.js +5 -14
  64. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +5 -0
  65. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +8 -22
  66. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +10 -18
  67. package/dist/m365/spo/commands/listitem/listitem-add.js +27 -55
  68. package/dist/m365/spo/commands/listitem/listitem-attachment-add.js +30 -58
  69. package/dist/m365/spo/commands/listitem/listitem-attachment-get.js +27 -52
  70. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +26 -50
  71. package/dist/m365/spo/commands/listitem/listitem-attachment-remove.js +28 -55
  72. package/dist/m365/spo/commands/listitem/listitem-attachment-set.js +30 -57
  73. package/dist/m365/spo/commands/listitem/listitem-batch-add.js +36 -58
  74. package/dist/m365/spo/commands/listitem/listitem-batch-remove.js +68 -92
  75. package/dist/m365/spo/commands/listitem/listitem-batch-set.js +37 -57
  76. package/dist/m365/spo/commands/listitem/listitem-get.js +45 -68
  77. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +31 -55
  78. package/dist/m365/spo/commands/listitem/listitem-list.js +47 -81
  79. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +37 -60
  80. package/dist/m365/spo/commands/listitem/listitem-record-lock.js +30 -52
  81. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +31 -52
  82. package/dist/m365/spo/commands/listitem/listitem-record-unlock.js +30 -52
  83. package/dist/m365/spo/commands/listitem/listitem-remove.js +33 -61
  84. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-ensure.js +46 -67
  85. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-remove.js +33 -56
  86. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +55 -98
  87. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +48 -74
  88. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +33 -56
  89. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +31 -53
  90. package/dist/m365/spo/commands/listitem/listitem-set.js +33 -58
  91. package/dist/m365/spo/commands/navigation/navigation-node-add.js +74 -120
  92. package/dist/m365/spo/commands/navigation/navigation-node-get.js +4 -13
  93. package/dist/m365/spo/commands/navigation/navigation-node-list.js +1 -1
  94. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +13 -47
  95. package/dist/m365/spo/commands/navigation/navigation-node-set.js +53 -114
  96. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +1 -1
  97. package/dist/m365/spo/commands/page/page-column-list.js +7 -8
  98. package/dist/m365/spo/commands/page/page-section-list.js +15 -17
  99. package/dist/m365/spo/commands/page/page-unpublish.js +53 -0
  100. package/dist/m365/spo/commands/sitescript/sitescript-add.js +22 -37
  101. package/dist/m365/spo/commands/sitescript/sitescript-get.js +9 -26
  102. package/dist/m365/spo/commands/sitescript/sitescript-list.js +5 -0
  103. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +9 -33
  104. package/dist/m365/spo/commands/sitescript/sitescript-set.js +29 -56
  105. package/dist/m365/spo/commands/spo-search.js +43 -116
  106. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +8 -1
  107. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -1
  108. package/dist/m365/spo/commands/term/term-group-list.js +7 -8
  109. package/dist/m365/spo/commands/term/term-set-list.js +6 -9
  110. package/dist/m365/spo/commands.js +1 -0
  111. package/dist/m365/spp/commands/contentcenter/contentcenter-list.js +5 -0
  112. package/dist/m365/spp/commands/model/model-get.js +25 -45
  113. package/dist/m365/spp/commands/model/model-list.js +12 -23
  114. package/dist/m365/spp/commands/model/model-remove.js +25 -45
  115. package/dist/m365/teams/commands/app/app-install.js +35 -44
  116. package/dist/m365/teams/commands/app/app-list.js +8 -33
  117. package/dist/m365/teams/commands/app/app-publish.js +21 -27
  118. package/dist/m365/teams/commands/app/app-remove.js +22 -39
  119. package/dist/m365/teams/commands/app/app-uninstall.js +12 -34
  120. package/dist/m365/teams/commands/app/app-update.js +35 -45
  121. package/dist/m365/teams/commands/funsettings/funsettings-list.js +12 -23
  122. package/dist/m365/teams/commands/funsettings/funsettings-set.js +18 -54
  123. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +12 -23
  124. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +15 -40
  125. package/dist/m365/teams/commands/meeting/meeting-add.js +57 -68
  126. package/dist/m365/teams/commands/meeting/meeting-attendancereport-get.js +33 -58
  127. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +14 -38
  128. package/dist/m365/teams/commands/meeting/meeting-get.js +14 -38
  129. package/dist/m365/teams/commands/meeting/meeting-list.js +34 -59
  130. package/dist/m365/teams/commands/meeting/meeting-transcript-get.js +34 -58
  131. package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +29 -50
  132. package/dist/m365/teams/commands/membersettings/membersettings-list.js +12 -23
  133. package/dist/m365/teams/commands/membersettings/membersettings-set.js +18 -49
  134. package/dist/m365/teams/commands/message/message-get.js +19 -30
  135. package/dist/m365/teams/commands/message/message-list.js +26 -43
  136. package/dist/m365/teams/commands/message/message-remove.js +43 -58
  137. package/dist/m365/teams/commands/message/message-reply-list.js +19 -30
  138. package/dist/m365/teams/commands/message/message-restore.js +40 -50
  139. package/dist/m365/teams/commands/message/message-send.js +19 -30
  140. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +12 -23
  141. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +18 -60
  142. package/dist/m365/teams/commands/report/report-deviceusagedistributionusercounts.js +10 -0
  143. package/dist/m365/teams/commands/report/report-deviceusageusercounts.js +10 -0
  144. package/dist/m365/teams/commands/report/report-deviceusageuserdetail.js +22 -0
  145. package/dist/m365/teams/commands/report/report-directroutingcalls.js +19 -39
  146. package/dist/m365/teams/commands/report/report-pstncalls.js +19 -39
  147. package/dist/m365/teams/commands/report/report-useractivitycounts.js +10 -0
  148. package/dist/m365/teams/commands/report/report-useractivityusercounts.js +10 -0
  149. package/dist/m365/teams/commands/report/report-useractivityuserdetail.js +22 -0
  150. package/dist/m365/teams/commands/tab/tab-add.js +23 -49
  151. package/dist/m365/teams/commands/tab/tab-get.js +55 -56
  152. package/dist/m365/teams/commands/tab/tab-list.js +17 -28
  153. package/dist/m365/teams/commands/tab/tab-remove.js +23 -42
  154. package/dist/m365/teams/commands/team/team-add.js +76 -114
  155. package/dist/m365/teams/commands/team/team-app-list.js +23 -36
  156. package/dist/m365/teams/commands/team/team-archive.js +24 -39
  157. package/dist/m365/teams/commands/team/team-clone.js +28 -62
  158. package/dist/m365/teams/commands/team/team-get.js +23 -36
  159. package/dist/m365/teams/commands/team/team-list.js +43 -57
  160. package/dist/m365/teams/commands/team/team-remove.js +24 -37
  161. package/dist/m365/teams/commands/team/team-set.js +23 -52
  162. package/dist/m365/teams/commands/team/team-unarchive.js +23 -28
  163. package/dist/m365/teams/commands/user/user-app-add.js +40 -49
  164. package/dist/m365/teams/commands/user/user-app-list.js +26 -39
  165. package/dist/m365/teams/commands/user/user-app-remove.js +37 -49
  166. package/dist/m365/teams/commands/user/user-app-upgrade.js +36 -52
  167. package/dist/m365/teams/commands/user/user-list.js +17 -39
  168. package/dist/m365/tenant/commands/report/report-activeusercounts.js +2 -1
  169. package/dist/m365/tenant/commands/report/report-activeuserdetail.js +2 -1
  170. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +9 -0
  171. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +9 -0
  172. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +9 -0
  173. package/dist/m365/tenant/commands/report/report-servicesusercounts.js +2 -1
  174. package/dist/m365/tenant/commands/report/report-settings-get.js +5 -0
  175. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +9 -20
  176. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +8 -20
  177. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +8 -15
  178. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +8 -15
  179. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +12 -26
  180. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +8 -22
  181. package/dist/utils/calendar.js +1 -1
  182. package/dist/utils/formatting.js +16 -0
  183. package/dist/utils/pid.js +7 -16
  184. package/dist/utils/spe.js +1 -1
  185. package/dist/utils/spo.js +39 -0
  186. package/dist/utils/validation.js +24 -0
  187. package/dist/utils/zod.js +17 -7
  188. package/docs/docs/cmd/entra/agent/agent-blueprint-list.mdx +175 -0
  189. package/docs/docs/cmd/login.mdx +15 -2
  190. package/docs/docs/cmd/outlook/calendargroup/calendargroup-add.mdx +126 -0
  191. package/docs/docs/cmd/outlook/event/event-add.mdx +390 -0
  192. package/docs/docs/cmd/spe/container/container-add.mdx +0 -8
  193. package/docs/docs/cmd/spe/container/container-list.mdx +0 -8
  194. package/docs/docs/cmd/spe/container/container-permission-add.mdx +140 -0
  195. package/docs/docs/cmd/spe/container/container-permission-remove.mdx +78 -0
  196. package/docs/docs/cmd/spe/container/container-permission-set.mdx +78 -0
  197. package/docs/docs/cmd/spe/container/container-recyclebinitem-list.mdx +0 -8
  198. package/docs/docs/cmd/spe/container/container-recyclebinitem-restore.mdx +0 -8
  199. package/docs/docs/cmd/spe/container/container-remove.mdx +0 -8
  200. package/docs/docs/cmd/spe/containertype/containertype-add.mdx +1 -1
  201. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  202. package/docs/docs/cmd/spo/externaluser/externaluser-list.mdx +17 -30
  203. package/docs/docs/cmd/spo/navigation/navigation-node-add.mdx +45 -30
  204. package/docs/docs/cmd/spo/navigation/navigation-node-get.mdx +64 -42
  205. package/docs/docs/cmd/spo/navigation/navigation-node-set.mdx +10 -8
  206. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.mdx +0 -21
  207. package/docs/docs/cmd/spo/page/page-unpublish.mdx +63 -0
  208. package/docs/docs/cmd/teams/tab/tab-add.mdx +19 -0
  209. package/docs/docs/cmd/teams/tab/tab-get.mdx +19 -0
  210. package/docs/docs/cmd/teams/tab/tab-list.mdx +19 -0
  211. package/docs/docs/cmd/teams/tab/tab-remove.mdx +21 -0
  212. package/docs/docs/cmd/viva/engage/engage-message-add.mdx +17 -0
  213. package/docs/docs/cmd/viva/engage/engage-message-get.mdx +17 -0
  214. package/docs/docs/cmd/viva/engage/engage-message-list.mdx +17 -0
  215. package/docs/docs/cmd/viva/engage/engage-message-remove.mdx +19 -0
  216. package/package.json +4 -6
@@ -1,15 +1,65 @@
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 _SpoCustomActionSetCommand_instances, _SpoCustomActionSetCommand_initTelemetry, _SpoCustomActionSetCommand_initOptions, _SpoCustomActionSetCommand_initValidators;
1
+ import { globalOptionsZod } from '../../../../Command.js';
7
2
  import request from '../../../../request.js';
8
3
  import { formatting } from '../../../../utils/formatting.js';
9
4
  import { validation } from '../../../../utils/validation.js';
5
+ import { zod } from '../../../../utils/zod.js';
10
6
  import SpoCommand from '../../../base/SpoCommand.js';
11
7
  import { BasePermissions, PermissionKind } from '../../base-permissions.js';
12
8
  import commands from '../../commands.js';
9
+ import { z } from 'zod';
10
+ const permissionKinds = Object.entries(PermissionKind)
11
+ .filter(([, value]) => typeof value === 'number')
12
+ .map(([key]) => key);
13
+ const permissionKindSet = new Set(permissionKinds);
14
+ const registrationTypes = {
15
+ None: 'None',
16
+ List: 'List',
17
+ ContentType: 'ContentType',
18
+ ProgId: 'ProgId',
19
+ FileType: 'FileType'
20
+ };
21
+ const registrationTypeValues = Object.values(registrationTypes);
22
+ export const options = z.strictObject({
23
+ ...globalOptionsZod.shape,
24
+ webUrl: z.string().refine(val => validation.isValidSharePointUrl(val) === true, {
25
+ error: e => `${e.input} is not a valid SharePoint Online site URL.`
26
+ }).alias('u'),
27
+ id: z.string().refine(val => validation.isValidGuid(val), {
28
+ error: e => `${e.input} is not valid. Custom action id (Guid) expected`
29
+ }).alias('i'),
30
+ name: z.string().optional().alias('n'),
31
+ title: z.string().optional().alias('t'),
32
+ location: z.string().optional().alias('l'),
33
+ group: z.string().optional().alias('g'),
34
+ description: z.string().optional().alias('d'),
35
+ sequence: z.coerce.number().refine(val => val >= 0 && val <= 65536, {
36
+ message: 'Invalid option sequence. Expected value in range from 0 to 65536'
37
+ }).optional(),
38
+ actionUrl: z.string().optional(),
39
+ imageUrl: z.string().optional(),
40
+ commandUIExtension: z.string().optional().alias('e'),
41
+ registrationId: z.string().optional(),
42
+ registrationType: zod.coercedEnum(registrationTypes)
43
+ .optional()
44
+ .autocomplete(registrationTypeValues),
45
+ rights: z.string().refine(val => {
46
+ const items = val.split(',').map(item => item.trim());
47
+ return items.every(item => permissionKindSet.has(item));
48
+ }, {
49
+ error: e => {
50
+ const items = e.input.split(',').map(item => item.trim());
51
+ const invalid = items.find(item => !permissionKindSet.has(item));
52
+ return `Rights option '${invalid}' is not recognized as valid PermissionKind choice. Please note it is case sensitive`;
53
+ }
54
+ }).optional().autocomplete(permissionKinds),
55
+ scriptSrc: z.string().optional(),
56
+ scriptBlock: z.string().optional(),
57
+ scope: z.enum(['Site', 'Web', 'All']).optional().alias('s'),
58
+ clientSideComponentId: z.string().refine(val => validation.isValidGuid(val), {
59
+ error: e => `ClientSideComponentId ${e.input} is not a valid GUID`
60
+ }).optional().alias('c'),
61
+ clientSideComponentProperties: z.string().optional().alias('p')
62
+ });
13
63
  class SpoCustomActionSetCommand extends SpoCommand {
14
64
  get name() {
15
65
  return commands.CUSTOMACTION_SET;
@@ -17,25 +67,25 @@ class SpoCustomActionSetCommand extends SpoCommand {
17
67
  get description() {
18
68
  return 'Updates a user custom action for site or site collection';
19
69
  }
20
- /**
21
- * Maps the base PermissionsKind enum to string array so it can
22
- * more easily be used in validation or descriptions.
23
- */
24
- get permissionsKindMap() {
25
- const result = [];
26
- for (const kind in PermissionKind) {
27
- if (typeof PermissionKind[kind] === 'number') {
28
- result.push(kind);
29
- }
30
- }
31
- return result;
70
+ get schema() {
71
+ return options;
32
72
  }
33
- constructor() {
34
- super();
35
- _SpoCustomActionSetCommand_instances.add(this);
36
- __classPrivateFieldGet(this, _SpoCustomActionSetCommand_instances, "m", _SpoCustomActionSetCommand_initTelemetry).call(this);
37
- __classPrivateFieldGet(this, _SpoCustomActionSetCommand_instances, "m", _SpoCustomActionSetCommand_initOptions).call(this);
38
- __classPrivateFieldGet(this, _SpoCustomActionSetCommand_instances, "m", _SpoCustomActionSetCommand_initValidators).call(this);
73
+ getRefinedSchema(schema) {
74
+ return schema
75
+ .refine(opts => opts.title || opts.name || opts.location ||
76
+ opts.actionUrl || opts.clientSideComponentId || opts.clientSideComponentProperties ||
77
+ opts.commandUIExtension || opts.group || opts.imageUrl ||
78
+ opts.description || opts.registrationId || opts.registrationType ||
79
+ opts.rights || opts.scriptBlock || opts.scriptSrc ||
80
+ opts.sequence !== undefined, {
81
+ message: 'Please specify option to be updated'
82
+ })
83
+ .refine(opts => !(opts.scriptSrc && opts.scriptBlock), {
84
+ message: 'Either option scriptSrc or scriptBlock can be specified, but not both'
85
+ });
86
+ }
87
+ get permissionsKindMap() {
88
+ return permissionKinds;
39
89
  }
40
90
  async commandAction(logger, args) {
41
91
  try {
@@ -104,7 +154,7 @@ class SpoCustomActionSetCommand extends SpoCommand {
104
154
  if (options.description) {
105
155
  requestBody.Description = options.description;
106
156
  }
107
- if (options.sequence) {
157
+ if (options.sequence !== undefined) {
108
158
  requestBody.Sequence = options.sequence;
109
159
  }
110
160
  if (options.registrationType) {
@@ -162,112 +212,5 @@ class SpoCustomActionSetCommand extends SpoCommand {
162
212
  return 0; // None
163
213
  }
164
214
  }
165
- _SpoCustomActionSetCommand_instances = new WeakSet(), _SpoCustomActionSetCommand_initTelemetry = function _SpoCustomActionSetCommand_initTelemetry() {
166
- this.telemetry.push((args) => {
167
- Object.assign(this.telemetryProperties, {
168
- location: args.options.location,
169
- scope: args.options.scope || 'Web',
170
- group: (!(!args.options.group)).toString(),
171
- description: (!(!args.options.description)).toString(),
172
- sequence: (!(!args.options.sequence)).toString(),
173
- actionUrl: (!(!args.options.actionUrl)).toString(),
174
- imageUrl: (!(!args.options.imageUrl)).toString(),
175
- commandUIExtension: (!(!args.options.commandUIExtension)).toString(),
176
- registrationId: args.options.registrationId,
177
- registrationType: args.options.registrationType,
178
- rights: args.options.rights,
179
- scriptSrc: (!(!args.options.scriptSrc)).toString(),
180
- scriptBlock: (!(!args.options.scriptBlock)).toString(),
181
- clientSideComponentId: (!(!args.options.clientSideComponentId)).toString(),
182
- clientSideComponentProperties: (!(!args.options.clientSideComponentProperties)).toString()
183
- });
184
- });
185
- }, _SpoCustomActionSetCommand_initOptions = function _SpoCustomActionSetCommand_initOptions() {
186
- this.options.unshift({
187
- option: '-u, --webUrl <webUrl>'
188
- }, {
189
- option: '-i, --id <id>'
190
- }, {
191
- option: '-n, --name [name]'
192
- }, {
193
- option: '-t, --title [title]'
194
- }, {
195
- option: '-l, --location [location]'
196
- }, {
197
- option: '-g, --group [group]'
198
- }, {
199
- option: '-d, --description [description]'
200
- }, {
201
- option: '--sequence [sequence]'
202
- }, {
203
- option: '--actionUrl [actionUrl]'
204
- }, {
205
- option: '--imageUrl [imageUrl]'
206
- }, {
207
- option: '-e, --commandUIExtension [commandUIExtension]'
208
- }, {
209
- option: '--registrationId [registrationId]'
210
- }, {
211
- option: '--registrationType [registrationType]',
212
- autocomplete: ['None', 'List', 'ContentType', 'ProgId', 'FileType']
213
- }, {
214
- option: '--rights [rights]',
215
- autocomplete: this.permissionsKindMap
216
- }, {
217
- option: '-s, --scope [scope]',
218
- autocomplete: ['Site', 'Web', 'All']
219
- }, {
220
- option: '--scriptBlock [scriptBlock]'
221
- }, {
222
- option: '--scriptSrc [scriptSrc]'
223
- }, {
224
- option: '-c, --clientSideComponentId [clientSideComponentId]'
225
- }, {
226
- option: '-p, --clientSideComponentProperties [clientSideComponentProperties]'
227
- });
228
- }, _SpoCustomActionSetCommand_initValidators = function _SpoCustomActionSetCommand_initValidators() {
229
- this.validators.push(async (args) => {
230
- if (validation.isValidGuid(args.options.id) === false) {
231
- return `${args.options.id} is not valid. Custom action id (Guid) expected`;
232
- }
233
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
234
- if (isValidSharePointUrl !== true) {
235
- return isValidSharePointUrl;
236
- }
237
- if (!args.options.title && !args.options.name && !args.options.location &&
238
- !args.options.actionUrl && !args.options.clientSideComponentId && !args.options.clientSideComponentProperties &&
239
- !args.options.commandUIExtension && !args.options.group && !args.options.imageUrl &&
240
- !args.options.description && !args.options.registrationId && !args.options.registrationType &&
241
- !args.options.rights && !args.options.scriptBlock && !args.options.scriptSrc &&
242
- !args.options.sequence) {
243
- return 'Please specify option to be updated';
244
- }
245
- if (args.options.scriptSrc && args.options.scriptBlock) {
246
- return 'Either option scriptSrc or scriptBlock can be specified, but not both';
247
- }
248
- if (args.options.sequence && (args.options.sequence < 0 || args.options.sequence > 65536)) {
249
- return 'Invalid option sequence. Expected value in range from 0 to 65536';
250
- }
251
- if (args.options.clientSideComponentId && validation.isValidGuid(args.options.clientSideComponentId) === false) {
252
- return `ClientSideComponentId ${args.options.clientSideComponentId} is not a valid GUID`;
253
- }
254
- if (args.options.scope &&
255
- args.options.scope !== 'Site' &&
256
- args.options.scope !== 'Web' &&
257
- args.options.scope !== 'All') {
258
- return `${args.options.scope} is not a valid custom action scope. Allowed values are Site|Web|All`;
259
- }
260
- if (args.options.rights) {
261
- const rights = args.options.rights.split(',');
262
- for (const item of rights) {
263
- const kind = PermissionKind[item.trim()];
264
- if (!kind) {
265
- return `Rights option '${item}' is not recognized as valid PermissionKind choice. Please note it is case-sensitive`;
266
- }
267
- }
268
- }
269
- return true;
270
- });
271
- };
272
215
  export default new SpoCustomActionSetCommand();
273
216
  //# sourceMappingURL=customaction-set.js.map
@@ -57,20 +57,11 @@ class SpoExternalUserListCommand extends SpoCommand {
57
57
  }
58
58
  else {
59
59
  const results = json.pop();
60
- if (results.TotalUserCount > 0) {
61
- await logger.log(results.ExternalUserCollection._Child_Items_.map(e => {
62
- delete e._ObjectType_;
63
- const dateChunks = e.WhenCreated
64
- .replace('/Date(', '')
65
- .replace(')/', '')
66
- .split(',')
67
- .map(c => {
68
- return parseInt(c);
69
- });
70
- e.WhenCreated = new Date(dateChunks[0], dateChunks[1], dateChunks[2], dateChunks[3], dateChunks[4], dateChunks[5], dateChunks[6]);
71
- return e;
72
- }));
73
- }
60
+ await logger.log(results.ExternalUserCollection._Child_Items_.map(e => {
61
+ delete e._ObjectType_;
62
+ e.WhenCreated = formatting.extractCsomDate(e.WhenCreated);
63
+ return e;
64
+ }));
74
65
  }
75
66
  }
76
67
  catch (err) {
@@ -1,8 +1,10 @@
1
+ import { globalOptionsZod } from '../../../../Command.js';
1
2
  import config from '../../../../config.js';
2
3
  import request from '../../../../request.js';
3
4
  import { spo } from '../../../../utils/spo.js';
4
5
  import SpoCommand from '../../../base/SpoCommand.js';
5
6
  import commands from '../../commands.js';
7
+ export const options = globalOptionsZod.strict();
6
8
  class SpoKnowledgehubGetCommand extends SpoCommand {
7
9
  get name() {
8
10
  return commands.KNOWLEDGEHUB_GET;
@@ -10,6 +12,9 @@ class SpoKnowledgehubGetCommand extends SpoCommand {
10
12
  get description() {
11
13
  return 'Gets the Knowledge Hub Site URL for your tenant';
12
14
  }
15
+ get schema() {
16
+ return options;
17
+ }
13
18
  async commandAction(logger) {
14
19
  try {
15
20
  const spoAdminUrl = await spo.getSpoAdminUrl(logger, this.debug);
@@ -1,15 +1,15 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _SpoKnowledgehubRemoveCommand_instances, _SpoKnowledgehubRemoveCommand_initTelemetry, _SpoKnowledgehubRemoveCommand_initOptions;
1
+ import { z } from 'zod';
7
2
  import { cli } from '../../../../cli/cli.js';
3
+ import { globalOptionsZod } from '../../../../Command.js';
8
4
  import config from '../../../../config.js';
9
5
  import request from '../../../../request.js';
10
6
  import { spo } from '../../../../utils/spo.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
+ force: z.boolean().optional().alias('f')
12
+ });
13
13
  class SpoKnowledgehubRemoveCommand extends SpoCommand {
14
14
  get name() {
15
15
  return commands.KNOWLEDGEHUB_REMOVE;
@@ -17,11 +17,8 @@ class SpoKnowledgehubRemoveCommand extends SpoCommand {
17
17
  get description() {
18
18
  return 'Removes the Knowledge Hub Site setting for your tenant';
19
19
  }
20
- constructor() {
21
- super();
22
- _SpoKnowledgehubRemoveCommand_instances.add(this);
23
- __classPrivateFieldGet(this, _SpoKnowledgehubRemoveCommand_instances, "m", _SpoKnowledgehubRemoveCommand_initTelemetry).call(this);
24
- __classPrivateFieldGet(this, _SpoKnowledgehubRemoveCommand_instances, "m", _SpoKnowledgehubRemoveCommand_initOptions).call(this);
20
+ get schema() {
21
+ return options;
25
22
  }
26
23
  async commandAction(logger, args) {
27
24
  const removeKnowledgehub = async () => {
@@ -64,16 +61,5 @@ class SpoKnowledgehubRemoveCommand extends SpoCommand {
64
61
  }
65
62
  }
66
63
  }
67
- _SpoKnowledgehubRemoveCommand_instances = new WeakSet(), _SpoKnowledgehubRemoveCommand_initTelemetry = function _SpoKnowledgehubRemoveCommand_initTelemetry() {
68
- this.telemetry.push((args) => {
69
- Object.assign(this.telemetryProperties, {
70
- force: (!(!args.options.force)).toString()
71
- });
72
- });
73
- }, _SpoKnowledgehubRemoveCommand_initOptions = function _SpoKnowledgehubRemoveCommand_initOptions() {
74
- this.options.unshift({
75
- option: '-f, --force'
76
- });
77
- };
78
64
  export default new SpoKnowledgehubRemoveCommand();
79
65
  //# sourceMappingURL=knowledgehub-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 _SpoKnowledgehubSetCommand_instances, _SpoKnowledgehubSetCommand_initOptions, _SpoKnowledgehubSetCommand_initValidators;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import config from '../../../../config.js';
8
4
  import request from '../../../../request.js';
9
5
  import { formatting } from '../../../../utils/formatting.js';
@@ -11,6 +7,12 @@ import { spo } from '../../../../utils/spo.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
+ siteUrl: z.string().refine(url => validation.isValidSharePointUrl(url) === true, {
13
+ message: 'The value of the option \'siteUrl\' is not a valid SharePoint Online site URL.'
14
+ }).alias('u')
15
+ });
14
16
  class SpoKnowledgehubSetCommand extends SpoCommand {
15
17
  get name() {
16
18
  return commands.KNOWLEDGEHUB_SET;
@@ -18,11 +20,8 @@ class SpoKnowledgehubSetCommand extends SpoCommand {
18
20
  get description() {
19
21
  return 'Sets the Knowledge Hub Site for your tenant';
20
22
  }
21
- constructor() {
22
- super();
23
- _SpoKnowledgehubSetCommand_instances.add(this);
24
- __classPrivateFieldGet(this, _SpoKnowledgehubSetCommand_instances, "m", _SpoKnowledgehubSetCommand_initOptions).call(this);
25
- __classPrivateFieldGet(this, _SpoKnowledgehubSetCommand_instances, "m", _SpoKnowledgehubSetCommand_initValidators).call(this);
23
+ get schema() {
24
+ return options;
26
25
  }
27
26
  async commandAction(logger, args) {
28
27
  try {
@@ -51,12 +50,5 @@ class SpoKnowledgehubSetCommand extends SpoCommand {
51
50
  }
52
51
  }
53
52
  }
54
- _SpoKnowledgehubSetCommand_instances = new WeakSet(), _SpoKnowledgehubSetCommand_initOptions = function _SpoKnowledgehubSetCommand_initOptions() {
55
- this.options.unshift({
56
- option: '-u, --siteUrl <siteUrl>'
57
- });
58
- }, _SpoKnowledgehubSetCommand_initValidators = function _SpoKnowledgehubSetCommand_initValidators() {
59
- this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.siteUrl));
60
- };
61
53
  export default new SpoKnowledgehubSetCommand();
62
54
  //# sourceMappingURL=knowledgehub-set.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 _SpoListItemAddCommand_instances, _SpoListItemAddCommand_initTelemetry, _SpoListItemAddCommand_initOptions, _SpoListItemAddCommand_initValidators, _SpoListItemAddCommand_initTypes, _SpoListItemAddCommand_initOptionSets;
7
1
  import os from 'os';
2
+ import { z } from 'zod';
3
+ import { globalOptionsZod } from '../../../../Command.js';
8
4
  import request from '../../../../request.js';
9
5
  import { basic } from '../../../../utils/basic.js';
10
6
  import { formatting } from '../../../../utils/formatting.js';
@@ -13,6 +9,19 @@ import { urlUtil } from '../../../../utils/urlUtil.js';
13
9
  import { validation } from '../../../../utils/validation.js';
14
10
  import SpoCommand from '../../../base/SpoCommand.js';
15
11
  import commands from '../../commands.js';
12
+ export const options = z.object({
13
+ ...globalOptionsZod.shape,
14
+ webUrl: z.string().refine(url => validation.isValidSharePointUrl(url) === true, {
15
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
16
+ }).alias('u'),
17
+ listId: z.string().refine(id => validation.isValidGuid(id), {
18
+ error: e => `${e.input} in option listId is not a valid GUID`
19
+ }).optional().alias('l'),
20
+ listTitle: z.string().optional().alias('t'),
21
+ listUrl: z.string().optional(),
22
+ contentType: z.string().optional().alias('c'),
23
+ folder: z.string().optional()
24
+ }).catchall(z.unknown());
16
25
  class SpoListItemAddCommand extends SpoCommand {
17
26
  allowUnknownOptions() {
18
27
  return true;
@@ -23,14 +32,18 @@ class SpoListItemAddCommand extends SpoCommand {
23
32
  get description() {
24
33
  return 'Creates a list item in the specified list';
25
34
  }
26
- constructor() {
27
- super();
28
- _SpoListItemAddCommand_instances.add(this);
29
- __classPrivateFieldGet(this, _SpoListItemAddCommand_instances, "m", _SpoListItemAddCommand_initTelemetry).call(this);
30
- __classPrivateFieldGet(this, _SpoListItemAddCommand_instances, "m", _SpoListItemAddCommand_initOptions).call(this);
31
- __classPrivateFieldGet(this, _SpoListItemAddCommand_instances, "m", _SpoListItemAddCommand_initValidators).call(this);
32
- __classPrivateFieldGet(this, _SpoListItemAddCommand_instances, "m", _SpoListItemAddCommand_initTypes).call(this);
33
- __classPrivateFieldGet(this, _SpoListItemAddCommand_instances, "m", _SpoListItemAddCommand_initOptionSets).call(this);
35
+ get schema() {
36
+ return options;
37
+ }
38
+ getRefinedSchema(schema) {
39
+ return schema
40
+ .refine(opts => [opts.listId, opts.listTitle, opts.listUrl].filter(o => o !== undefined).length === 1, {
41
+ error: 'Use one of the following options: listId, listTitle, listUrl.',
42
+ params: {
43
+ customCode: 'optionSet',
44
+ options: ['listId', 'listTitle', 'listUrl']
45
+ }
46
+ });
34
47
  }
35
48
  async commandAction(logger, args) {
36
49
  try {
@@ -177,46 +190,5 @@ class SpoListItemAddCommand extends SpoCommand {
177
190
  return requestBody;
178
191
  }
179
192
  }
180
- _SpoListItemAddCommand_instances = new WeakSet(), _SpoListItemAddCommand_initTelemetry = function _SpoListItemAddCommand_initTelemetry() {
181
- this.telemetry.push((args) => {
182
- Object.assign(this.telemetryProperties, {
183
- listId: typeof args.options.listId !== 'undefined',
184
- listTitle: typeof args.options.listTitle !== 'undefined',
185
- listUrl: typeof args.options.listUrl !== 'undefined',
186
- contentType: typeof args.options.contentType !== 'undefined',
187
- folder: typeof args.options.folder !== 'undefined'
188
- });
189
- });
190
- }, _SpoListItemAddCommand_initOptions = function _SpoListItemAddCommand_initOptions() {
191
- this.options.unshift({
192
- option: '-u, --webUrl <webUrl>'
193
- }, {
194
- option: '-l, --listId [listId]'
195
- }, {
196
- option: '-t, --listTitle [listTitle]'
197
- }, {
198
- option: '--listUrl [listUrl]'
199
- }, {
200
- option: '-c, --contentType [contentType]'
201
- }, {
202
- option: '--folder [folder]'
203
- });
204
- }, _SpoListItemAddCommand_initValidators = function _SpoListItemAddCommand_initValidators() {
205
- this.validators.push(async (args) => {
206
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
207
- if (isValidSharePointUrl !== true) {
208
- return isValidSharePointUrl;
209
- }
210
- if (args.options.listId &&
211
- !validation.isValidGuid(args.options.listId)) {
212
- return `${args.options.listId} in option listId is not a valid GUID`;
213
- }
214
- return true;
215
- });
216
- }, _SpoListItemAddCommand_initTypes = function _SpoListItemAddCommand_initTypes() {
217
- this.types.string.push('webUrl', 'listId', 'listTitle', 'listUrl', 'contentType', 'folder');
218
- }, _SpoListItemAddCommand_initOptionSets = function _SpoListItemAddCommand_initOptionSets() {
219
- this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] });
220
- };
221
193
  export default new SpoListItemAddCommand();
222
194
  //# sourceMappingURL=listitem-add.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 _SpoListItemAttachmentAddCommand_instances, _SpoListItemAttachmentAddCommand_initTelemetry, _SpoListItemAttachmentAddCommand_initOptions, _SpoListItemAttachmentAddCommand_initValidators, _SpoListItemAttachmentAddCommand_initOptionSets;
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';
@@ -11,6 +7,22 @@ import { validation } from '../../../../utils/validation.js';
11
7
  import SpoCommand from '../../../base/SpoCommand.js';
12
8
  import commands from '../../commands.js';
13
9
  import fs from 'fs';
10
+ export const options = z.strictObject({
11
+ ...globalOptionsZod.shape,
12
+ webUrl: z.string().refine(url => validation.isValidSharePointUrl(url) === true, {
13
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
14
+ }).alias('u'),
15
+ listId: z.string().refine(id => validation.isValidGuid(id), {
16
+ error: e => `${e.input} in option listId is not a valid GUID.`
17
+ }).optional(),
18
+ listTitle: z.string().optional(),
19
+ listUrl: z.string().optional(),
20
+ listItemId: z.number().int().positive(),
21
+ filePath: z.string().refine(path => fs.existsSync(path), {
22
+ error: e => `File with path '${e.input}' was not found.`
23
+ }).alias('p'),
24
+ fileName: z.string().optional().alias('n')
25
+ });
14
26
  class SpoListItemAttachmentAddCommand extends SpoCommand {
15
27
  get name() {
16
28
  return commands.LISTITEM_ATTACHMENT_ADD;
@@ -18,13 +30,18 @@ class SpoListItemAttachmentAddCommand extends SpoCommand {
18
30
  get description() {
19
31
  return 'Adds an attachment to a list item';
20
32
  }
21
- constructor() {
22
- super();
23
- _SpoListItemAttachmentAddCommand_instances.add(this);
24
- __classPrivateFieldGet(this, _SpoListItemAttachmentAddCommand_instances, "m", _SpoListItemAttachmentAddCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _SpoListItemAttachmentAddCommand_instances, "m", _SpoListItemAttachmentAddCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _SpoListItemAttachmentAddCommand_instances, "m", _SpoListItemAttachmentAddCommand_initValidators).call(this);
27
- __classPrivateFieldGet(this, _SpoListItemAttachmentAddCommand_instances, "m", _SpoListItemAttachmentAddCommand_initOptionSets).call(this);
33
+ get schema() {
34
+ return options;
35
+ }
36
+ getRefinedSchema(schema) {
37
+ return schema
38
+ .refine(opts => [opts.listId, opts.listTitle, opts.listUrl].filter(o => o !== undefined).length === 1, {
39
+ error: 'Use one of the following options: listId, listTitle, listUrl.',
40
+ params: {
41
+ customCode: 'optionSet',
42
+ options: ['listId', 'listTitle', 'listUrl']
43
+ }
44
+ });
28
45
  }
29
46
  async commandAction(logger, args) {
30
47
  if (this.verbose) {
@@ -78,50 +95,5 @@ class SpoListItemAttachmentAddCommand extends SpoCommand {
78
95
  }
79
96
  }
80
97
  }
81
- _SpoListItemAttachmentAddCommand_instances = new WeakSet(), _SpoListItemAttachmentAddCommand_initTelemetry = function _SpoListItemAttachmentAddCommand_initTelemetry() {
82
- this.telemetry.push((args) => {
83
- Object.assign(this.telemetryProperties, {
84
- listId: typeof args.options.listId !== 'undefined',
85
- listTitle: typeof args.options.listTitle !== 'undefined',
86
- listUrl: typeof args.options.listUrl !== 'undefined',
87
- fileName: typeof args.options.fileName !== 'undefined'
88
- });
89
- });
90
- }, _SpoListItemAttachmentAddCommand_initOptions = function _SpoListItemAttachmentAddCommand_initOptions() {
91
- this.options.unshift({
92
- option: '-u, --webUrl <webUrl>'
93
- }, {
94
- option: '--listId [listId]'
95
- }, {
96
- option: '--listTitle [listTitle]'
97
- }, {
98
- option: '--listUrl [listUrl]'
99
- }, {
100
- option: '--listItemId <listItemId>'
101
- }, {
102
- option: '-p, --filePath <filePath>'
103
- }, {
104
- option: '-n, --fileName [fileName]'
105
- });
106
- }, _SpoListItemAttachmentAddCommand_initValidators = function _SpoListItemAttachmentAddCommand_initValidators() {
107
- this.validators.push(async (args) => {
108
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
109
- if (isValidSharePointUrl !== true) {
110
- return isValidSharePointUrl;
111
- }
112
- if (isNaN(args.options.listItemId)) {
113
- return `${args.options.listItemId} in option listItemId is not a valid number.`;
114
- }
115
- if (args.options.listId && !validation.isValidGuid(args.options.listId)) {
116
- return `${args.options.listId} in option listId is not a valid GUID.`;
117
- }
118
- if (!fs.existsSync(args.options.filePath)) {
119
- return `File with path '${args.options.filePath}' was not found.`;
120
- }
121
- return true;
122
- });
123
- }, _SpoListItemAttachmentAddCommand_initOptionSets = function _SpoListItemAttachmentAddCommand_initOptionSets() {
124
- this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] });
125
- };
126
98
  export default new SpoListItemAttachmentAddCommand();
127
99
  //# sourceMappingURL=listitem-attachment-add.js.map