@pnp/cli-microsoft365 12.0.0-beta.4ac11a7 → 12.0.0-beta.8769a5e

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 (265) hide show
  1. package/allCommands.json +1 -1
  2. package/allCommandsFull.json +1 -1
  3. package/dist/Auth.js +4 -1
  4. package/dist/Command.js +11 -8
  5. package/dist/cli/cli.js +15 -0
  6. package/dist/config.js +2 -0
  7. package/dist/m365/cli/commands/cli-consent.js +9 -2
  8. package/dist/m365/entra/commands/agent/agent-blueprint-list.js +52 -0
  9. package/dist/m365/entra/commands/agent/agent-blueprintprincipal-list.js +56 -0
  10. package/dist/m365/entra/commands/m365group/m365group-add.js +52 -97
  11. package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +20 -33
  12. package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +20 -39
  13. package/dist/m365/entra/commands/m365group/m365group-get.js +20 -41
  14. package/dist/m365/entra/commands/m365group/m365group-list.js +11 -31
  15. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-clear.js +8 -22
  16. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-list.js +9 -25
  17. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-remove.js +21 -43
  18. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-restore.js +21 -41
  19. package/dist/m365/entra/commands/m365group/m365group-remove.js +25 -46
  20. package/dist/m365/entra/commands/m365group/m365group-renew.js +19 -32
  21. package/dist/m365/entra/commands/m365group/m365group-set.js +86 -141
  22. package/dist/m365/entra/commands/m365group/m365group-teamify.js +20 -43
  23. package/dist/m365/entra/commands/m365group/m365group-user-add.js +44 -77
  24. package/dist/m365/entra/commands/m365group/m365group-user-list.js +28 -55
  25. package/dist/m365/entra/commands/m365group/m365group-user-remove.js +37 -74
  26. package/dist/m365/entra/commands/m365group/m365group-user-set.js +45 -77
  27. package/dist/m365/entra/commands.js +2 -0
  28. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +14 -16
  29. package/dist/m365/outlook/commands/calendargroup/calendargroup-add.js +97 -0
  30. package/dist/m365/outlook/commands/event/event-add.js +324 -0
  31. package/dist/m365/outlook/commands.js +2 -0
  32. package/dist/m365/spe/commands/container/container-activate.js +8 -16
  33. package/dist/m365/spe/commands/container/container-list.js +21 -42
  34. package/dist/m365/spe/commands/container/container-permission-add.js +114 -0
  35. package/dist/m365/spe/commands/container/container-permission-remove.js +94 -0
  36. package/dist/m365/spe/commands/container/container-permission-set.js +90 -0
  37. package/dist/m365/spe/commands/containertype/containertype-list.js +5 -0
  38. package/dist/m365/spe/commands.js +3 -0
  39. package/dist/m365/spfx/commands/SpfxCompatibilityMatrix.js +1 -1
  40. package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.24.0-rc.0.js → doctor-1.24.0.js} +1 -1
  41. package/dist/m365/spfx/commands/project/project-doctor.js +1 -1
  42. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.24.0-rc.0.js → upgrade-1.24.0.js} +27 -27
  43. package/dist/m365/spfx/commands/project/project-upgrade.js +11 -11
  44. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +38 -71
  45. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-get.js +25 -59
  46. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +11 -34
  47. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-remove.js +25 -54
  48. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +52 -83
  49. package/dist/m365/spo/commands/apppage/apppage-add.js +21 -39
  50. package/dist/m365/spo/commands/apppage/apppage-set.js +20 -30
  51. package/dist/m365/spo/commands/commandset/commandset-add.js +17 -59
  52. package/dist/m365/spo/commands/commandset/commandset-get.js +24 -62
  53. package/dist/m365/spo/commands/commandset/commandset-list.js +11 -34
  54. package/dist/m365/spo/commands/commandset/commandset-remove.js +21 -54
  55. package/dist/m365/spo/commands/commandset/commandset-set.js +30 -83
  56. package/dist/m365/spo/commands/contenttype/contenttype-add.js +22 -51
  57. package/dist/m365/spo/commands/contenttype/contenttype-field-list.js +38 -62
  58. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +25 -54
  59. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +20 -43
  60. package/dist/m365/spo/commands/contenttype/contenttype-get.js +29 -54
  61. package/dist/m365/spo/commands/contenttype/contenttype-list.js +13 -30
  62. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +24 -39
  63. package/dist/m365/spo/commands/contenttype/contenttype-set.js +42 -63
  64. package/dist/m365/spo/commands/contenttype/contenttype-sync.js +37 -59
  65. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +5 -0
  66. package/dist/m365/spo/commands/customaction/customaction-add.js +124 -145
  67. package/dist/m365/spo/commands/customaction/customaction-clear.js +12 -43
  68. package/dist/m365/spo/commands/customaction/customaction-get.js +28 -59
  69. package/dist/m365/spo/commands/customaction/customaction-list.js +12 -42
  70. package/dist/m365/spo/commands/customaction/customaction-remove.js +26 -54
  71. package/dist/m365/spo/commands/customaction/customaction-set.js +75 -132
  72. package/dist/m365/spo/commands/externaluser/externaluser-list.js +5 -14
  73. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +5 -0
  74. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +8 -22
  75. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +10 -18
  76. package/dist/m365/spo/commands/listitem/listitem-add.js +27 -55
  77. package/dist/m365/spo/commands/listitem/listitem-attachment-add.js +30 -58
  78. package/dist/m365/spo/commands/listitem/listitem-attachment-get.js +27 -52
  79. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +26 -50
  80. package/dist/m365/spo/commands/listitem/listitem-attachment-remove.js +28 -55
  81. package/dist/m365/spo/commands/listitem/listitem-attachment-set.js +30 -57
  82. package/dist/m365/spo/commands/listitem/listitem-batch-add.js +36 -58
  83. package/dist/m365/spo/commands/listitem/listitem-batch-remove.js +68 -92
  84. package/dist/m365/spo/commands/listitem/listitem-batch-set.js +37 -57
  85. package/dist/m365/spo/commands/listitem/listitem-get.js +45 -68
  86. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +31 -55
  87. package/dist/m365/spo/commands/listitem/listitem-list.js +47 -81
  88. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +37 -60
  89. package/dist/m365/spo/commands/listitem/listitem-record-lock.js +30 -52
  90. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +31 -52
  91. package/dist/m365/spo/commands/listitem/listitem-record-unlock.js +30 -52
  92. package/dist/m365/spo/commands/listitem/listitem-remove.js +33 -61
  93. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-ensure.js +46 -67
  94. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-remove.js +33 -56
  95. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +55 -98
  96. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +48 -74
  97. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +33 -56
  98. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +31 -53
  99. package/dist/m365/spo/commands/listitem/listitem-set.js +33 -58
  100. package/dist/m365/spo/commands/navigation/navigation-node-add.js +1 -1
  101. package/dist/m365/spo/commands/navigation/navigation-node-get.js +1 -1
  102. package/dist/m365/spo/commands/navigation/navigation-node-list.js +1 -1
  103. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +13 -47
  104. package/dist/m365/spo/commands/navigation/navigation-node-set.js +2 -2
  105. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +15 -49
  106. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +6 -1
  107. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +9 -17
  108. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +5 -0
  109. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +11 -27
  110. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +10 -18
  111. package/dist/m365/spo/commands/page/page-column-list.js +7 -8
  112. package/dist/m365/spo/commands/page/page-section-list.js +15 -17
  113. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +9 -17
  114. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +5 -0
  115. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +9 -17
  116. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +29 -39
  117. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +10 -23
  118. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +5 -0
  119. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +19 -28
  120. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +24 -59
  121. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +10 -34
  122. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +19 -36
  123. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +8 -0
  124. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +9 -32
  125. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +10 -31
  126. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +8 -23
  127. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +10 -34
  128. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +9 -38
  129. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +9 -29
  130. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +27 -80
  131. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +8 -23
  132. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +8 -18
  133. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +9 -32
  134. package/dist/m365/spo/commands/spo-search.js +43 -116
  135. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +15 -46
  136. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +5 -0
  137. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +20 -57
  138. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-get.js +25 -49
  139. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-list.js +5 -1
  140. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-remove.js +25 -49
  141. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +47 -79
  142. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +23 -54
  143. package/dist/m365/spo/commands/tenant/tenant-commandset-get.js +25 -50
  144. package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +5 -1
  145. package/dist/m365/spo/commands/tenant/tenant-commandset-remove.js +25 -49
  146. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +41 -65
  147. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +5 -0
  148. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +10 -30
  149. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +8 -21
  150. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +5 -0
  151. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +104 -386
  152. package/dist/m365/spo/commands/term/term-add.js +95 -110
  153. package/dist/m365/spo/commands/term/term-get.js +63 -75
  154. package/dist/m365/spo/commands/term/term-group-add.js +11 -41
  155. package/dist/m365/spo/commands/term/term-group-get.js +16 -47
  156. package/dist/m365/spo/commands/term/term-group-list.js +16 -42
  157. package/dist/m365/spo/commands/term/term-list.js +42 -57
  158. package/dist/m365/spo/commands/term/term-set-add.js +50 -71
  159. package/dist/m365/spo/commands/term/term-set-get.js +41 -58
  160. package/dist/m365/spo/commands/term/term-set-list.js +22 -56
  161. package/dist/m365/spo/commands/theme/theme-apply.js +27 -43
  162. package/dist/m365/spo/commands/theme/theme-get.js +8 -15
  163. package/dist/m365/spo/commands/theme/theme-list.js +5 -0
  164. package/dist/m365/spo/commands/theme/theme-remove.js +9 -24
  165. package/dist/m365/spo/commands/theme/theme-set.js +12 -34
  166. package/dist/m365/teams/commands/app/app-install.js +35 -44
  167. package/dist/m365/teams/commands/app/app-list.js +8 -33
  168. package/dist/m365/teams/commands/app/app-publish.js +21 -27
  169. package/dist/m365/teams/commands/app/app-remove.js +22 -39
  170. package/dist/m365/teams/commands/app/app-uninstall.js +12 -34
  171. package/dist/m365/teams/commands/app/app-update.js +35 -45
  172. package/dist/m365/teams/commands/funsettings/funsettings-list.js +12 -23
  173. package/dist/m365/teams/commands/funsettings/funsettings-set.js +18 -54
  174. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +12 -23
  175. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +15 -40
  176. package/dist/m365/teams/commands/meeting/meeting-add.js +57 -68
  177. package/dist/m365/teams/commands/meeting/meeting-attendancereport-get.js +33 -58
  178. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +14 -38
  179. package/dist/m365/teams/commands/meeting/meeting-get.js +14 -38
  180. package/dist/m365/teams/commands/meeting/meeting-list.js +34 -59
  181. package/dist/m365/teams/commands/meeting/meeting-transcript-get.js +34 -58
  182. package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +29 -50
  183. package/dist/m365/teams/commands/membersettings/membersettings-list.js +12 -23
  184. package/dist/m365/teams/commands/membersettings/membersettings-set.js +18 -49
  185. package/dist/m365/teams/commands/message/message-get.js +19 -30
  186. package/dist/m365/teams/commands/message/message-list.js +26 -43
  187. package/dist/m365/teams/commands/message/message-remove.js +43 -58
  188. package/dist/m365/teams/commands/message/message-reply-list.js +19 -30
  189. package/dist/m365/teams/commands/message/message-restore.js +40 -50
  190. package/dist/m365/teams/commands/message/message-send.js +19 -30
  191. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +12 -23
  192. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +18 -60
  193. package/dist/m365/teams/commands/report/report-deviceusagedistributionusercounts.js +10 -0
  194. package/dist/m365/teams/commands/report/report-deviceusageusercounts.js +10 -0
  195. package/dist/m365/teams/commands/report/report-deviceusageuserdetail.js +22 -0
  196. package/dist/m365/teams/commands/report/report-directroutingcalls.js +19 -39
  197. package/dist/m365/teams/commands/report/report-pstncalls.js +19 -39
  198. package/dist/m365/teams/commands/report/report-useractivitycounts.js +10 -0
  199. package/dist/m365/teams/commands/report/report-useractivityusercounts.js +10 -0
  200. package/dist/m365/teams/commands/report/report-useractivityuserdetail.js +22 -0
  201. package/dist/m365/teams/commands/tab/tab-add.js +23 -49
  202. package/dist/m365/teams/commands/tab/tab-get.js +55 -56
  203. package/dist/m365/teams/commands/tab/tab-list.js +17 -28
  204. package/dist/m365/teams/commands/tab/tab-remove.js +23 -42
  205. package/dist/m365/teams/commands/team/team-add.js +76 -114
  206. package/dist/m365/teams/commands/team/team-app-list.js +23 -36
  207. package/dist/m365/teams/commands/team/team-archive.js +24 -39
  208. package/dist/m365/teams/commands/team/team-clone.js +28 -62
  209. package/dist/m365/teams/commands/team/team-get.js +23 -36
  210. package/dist/m365/teams/commands/team/team-list.js +43 -57
  211. package/dist/m365/teams/commands/team/team-remove.js +24 -37
  212. package/dist/m365/teams/commands/team/team-set.js +23 -52
  213. package/dist/m365/teams/commands/team/team-unarchive.js +23 -28
  214. package/dist/m365/teams/commands/user/user-app-add.js +40 -49
  215. package/dist/m365/teams/commands/user/user-app-list.js +26 -39
  216. package/dist/m365/teams/commands/user/user-app-remove.js +37 -49
  217. package/dist/m365/teams/commands/user/user-app-upgrade.js +36 -52
  218. package/dist/m365/teams/commands/user/user-list.js +17 -39
  219. package/dist/m365/tenant/commands/id/id-get.js +8 -22
  220. package/dist/m365/tenant/commands/info/info-get.js +23 -36
  221. package/dist/m365/tenant/commands/people/people-profilecardproperty-add.js +67 -55
  222. package/dist/m365/tenant/commands/people/people-profilecardproperty-get.js +11 -24
  223. package/dist/m365/tenant/commands/people/people-profilecardproperty-list.js +5 -0
  224. package/dist/m365/tenant/commands/people/people-profilecardproperty-remove.js +12 -33
  225. package/dist/m365/tenant/commands/people/people-profilecardproperty-set.js +31 -51
  226. package/dist/m365/tenant/commands/people/people-pronouns-get.js +5 -0
  227. package/dist/m365/tenant/commands/people/profileCardProperties.js +10 -7
  228. package/dist/m365/tenant/commands/report/report-activeusercounts.js +2 -1
  229. package/dist/m365/tenant/commands/report/report-activeuserdetail.js +2 -1
  230. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +9 -0
  231. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +9 -0
  232. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +9 -0
  233. package/dist/m365/tenant/commands/report/report-servicesusercounts.js +2 -1
  234. package/dist/m365/tenant/commands/report/report-settings-get.js +5 -0
  235. package/dist/m365/tenant/commands/security/security-alerts-list.js +8 -20
  236. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +9 -20
  237. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +8 -20
  238. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +8 -15
  239. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +8 -15
  240. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +12 -26
  241. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +8 -22
  242. package/dist/utils/calendar.js +1 -1
  243. package/dist/utils/formatting.js +16 -0
  244. package/dist/utils/pid.js +7 -16
  245. package/dist/utils/spe.js +1 -1
  246. package/dist/utils/validation.js +36 -0
  247. package/dist/utils/zod.js +18 -7
  248. package/docs/docs/cmd/entra/agent/agent-blueprint-list.mdx +175 -0
  249. package/docs/docs/cmd/entra/agent/agent-blueprintprincipal-list.mdx +156 -0
  250. package/docs/docs/cmd/outlook/calendargroup/calendargroup-add.mdx +126 -0
  251. package/docs/docs/cmd/outlook/event/event-add.mdx +390 -0
  252. package/docs/docs/cmd/spe/container/container-add.mdx +0 -8
  253. package/docs/docs/cmd/spe/container/container-list.mdx +0 -8
  254. package/docs/docs/cmd/spe/container/container-permission-add.mdx +140 -0
  255. package/docs/docs/cmd/spe/container/container-permission-remove.mdx +78 -0
  256. package/docs/docs/cmd/spe/container/container-permission-set.mdx +78 -0
  257. package/docs/docs/cmd/spe/container/container-recyclebinitem-list.mdx +0 -8
  258. package/docs/docs/cmd/spe/container/container-recyclebinitem-restore.mdx +0 -8
  259. package/docs/docs/cmd/spe/container/container-remove.mdx +0 -8
  260. package/docs/docs/cmd/spe/containertype/containertype-add.mdx +1 -1
  261. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  262. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-set.mdx +1 -1
  263. package/docs/docs/cmd/spo/externaluser/externaluser-list.mdx +17 -30
  264. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.mdx +0 -21
  265. package/package.json +1 -1
@@ -1,11 +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 _SpoTenantAppCatalogAddCommand_instances, _SpoTenantAppCatalogAddCommand_initTelemetry, _SpoTenantAppCatalogAddCommand_initOptions, _SpoTenantAppCatalogAddCommand_initValidators;
1
+ import { z } from 'zod';
7
2
  import { cli } from '../../../../cli/cli.js';
8
- import { CommandError } from '../../../../Command.js';
3
+ import { CommandError, globalOptionsZod } from '../../../../Command.js';
9
4
  import { validation } from '../../../../utils/validation.js';
10
5
  import SpoCommand from '../../../base/SpoCommand.js';
11
6
  import commands from '../../commands.js';
@@ -13,6 +8,15 @@ import spoSiteAddCommand from '../site/site-add.js';
13
8
  import spoSiteGetCommand from '../site/site-get.js';
14
9
  import spoSiteRemoveCommand from '../site/site-remove.js';
15
10
  import spoTenantAppCatalogUrlGetCommand from './tenant-appcatalogurl-get.js';
11
+ const isNonEmptyFiniteNumber = (value) => value.trim().length > 0 && Number.isFinite(Number(value));
12
+ export const options = z.strictObject({
13
+ ...globalOptionsZod.shape,
14
+ url: z.string().refine(val => validation.isValidSharePointUrl(val) === true, { message: 'The value is not a valid SharePoint site URL.' }).alias('u'),
15
+ owner: z.string(),
16
+ timeZone: z.string().refine(val => isNonEmptyFiniteNumber(val), { message: 'timeZone is not a number' }).alias('z'),
17
+ wait: z.boolean().optional(),
18
+ force: z.boolean().optional()
19
+ });
16
20
  class SpoTenantAppCatalogAddCommand extends SpoCommand {
17
21
  get name() {
18
22
  return commands.TENANT_APPCATALOG_ADD;
@@ -20,12 +24,8 @@ class SpoTenantAppCatalogAddCommand extends SpoCommand {
20
24
  get description() {
21
25
  return 'Creates new tenant app catalog site';
22
26
  }
23
- constructor() {
24
- super();
25
- _SpoTenantAppCatalogAddCommand_instances.add(this);
26
- __classPrivateFieldGet(this, _SpoTenantAppCatalogAddCommand_instances, "m", _SpoTenantAppCatalogAddCommand_initTelemetry).call(this);
27
- __classPrivateFieldGet(this, _SpoTenantAppCatalogAddCommand_instances, "m", _SpoTenantAppCatalogAddCommand_initOptions).call(this);
28
- __classPrivateFieldGet(this, _SpoTenantAppCatalogAddCommand_instances, "m", _SpoTenantAppCatalogAddCommand_initValidators).call(this);
27
+ get schema() {
28
+ return options;
29
29
  }
30
30
  async commandAction(logger, args) {
31
31
  if (this.verbose) {
@@ -43,9 +43,9 @@ class SpoTenantAppCatalogAddCommand extends SpoCommand {
43
43
  await logger.logToStderr(`Found app catalog URL ${appCatalogUrl}`);
44
44
  }
45
45
  //Using JSON.parse
46
- await this.ensureNoExistingSite(appCatalogUrl, args.options.force, logger);
46
+ await this.ensureNoExistingSite(appCatalogUrl, args.options.force ?? false, logger);
47
47
  }
48
- await this.ensureNoExistingSite(args.options.url, args.options.force, logger);
48
+ await this.ensureNoExistingSite(args.options.url, args.options.force ?? false, logger);
49
49
  await this.createAppCatalog(args.options, logger);
50
50
  }
51
51
  async ensureNoExistingSite(url, force, logger) {
@@ -110,36 +110,5 @@ class SpoTenantAppCatalogAddCommand extends SpoCommand {
110
110
  return cli.executeCommand(spoSiteAddCommand, { options: { ...siteAddOptions, _: [] } });
111
111
  }
112
112
  }
113
- _SpoTenantAppCatalogAddCommand_instances = new WeakSet(), _SpoTenantAppCatalogAddCommand_initTelemetry = function _SpoTenantAppCatalogAddCommand_initTelemetry() {
114
- this.telemetry.push((args) => {
115
- Object.assign(this.telemetryProperties, {
116
- wait: args.options.wait || false,
117
- force: args.options.force || false
118
- });
119
- });
120
- }, _SpoTenantAppCatalogAddCommand_initOptions = function _SpoTenantAppCatalogAddCommand_initOptions() {
121
- this.options.unshift({
122
- option: '-u, --url <url>'
123
- }, {
124
- option: '--owner <owner>'
125
- }, {
126
- option: '-z, --timeZone <timeZone>'
127
- }, {
128
- option: '--wait'
129
- }, {
130
- option: '--force'
131
- });
132
- }, _SpoTenantAppCatalogAddCommand_initValidators = function _SpoTenantAppCatalogAddCommand_initValidators() {
133
- this.validators.push(async (args) => {
134
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.url);
135
- if (isValidSharePointUrl !== true) {
136
- return isValidSharePointUrl;
137
- }
138
- if (typeof args.options.timeZone !== 'number') {
139
- return `${args.options.timeZone} is not a number`;
140
- }
141
- return true;
142
- });
143
- };
144
113
  export default new SpoTenantAppCatalogAddCommand();
145
114
  //# sourceMappingURL=tenant-appcatalog-add.js.map
@@ -1,7 +1,9 @@
1
+ import { globalOptionsZod } from '../../../../Command.js';
1
2
  import request from '../../../../request.js';
2
3
  import { spo } from '../../../../utils/spo.js';
3
4
  import SpoCommand from '../../../base/SpoCommand.js';
4
5
  import commands from '../../commands.js';
6
+ export const options = globalOptionsZod.strict();
5
7
  class SpoTenantAppCatalogUrlGetCommand extends SpoCommand {
6
8
  get name() {
7
9
  return commands.TENANT_APPCATALOGURL_GET;
@@ -9,6 +11,9 @@ class SpoTenantAppCatalogUrlGetCommand extends SpoCommand {
9
11
  get description() {
10
12
  return 'Gets the URL of the tenant app catalog';
11
13
  }
14
+ get schema() {
15
+ return options;
16
+ }
12
17
  async commandAction(logger) {
13
18
  try {
14
19
  const spoUrl = await spo.getSpoUrl(logger, this.debug);
@@ -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 _SpoTenantApplicationCustomizerAddCommand_instances, _SpoTenantApplicationCustomizerAddCommand_initTelemetry, _SpoTenantApplicationCustomizerAddCommand_initOptions, _SpoTenantApplicationCustomizerAddCommand_initValidators;
1
+ import { z } from 'zod';
7
2
  import { cli } from '../../../../cli/cli.js';
3
+ import { globalOptionsZod } from '../../../../Command.js';
8
4
  import { urlUtil } from '../../../../utils/urlUtil.js';
9
5
  import { validation } from '../../../../utils/validation.js';
10
6
  import SpoCommand from '../../../base/SpoCommand.js';
@@ -12,6 +8,14 @@ import commands from '../../commands.js';
12
8
  import spoListItemAddCommand from '../listitem/listitem-add.js';
13
9
  import spoListItemListCommand from '../listitem/listitem-list.js';
14
10
  import spoTenantAppCatalogUrlGetCommand from '../tenant/tenant-appcatalogurl-get.js';
11
+ export const options = z.strictObject({
12
+ ...globalOptionsZod.shape,
13
+ title: z.string().alias('t'),
14
+ clientSideComponentId: z.string().refine(val => validation.isValidGuid(val), { message: 'clientSideComponentId is not a valid GUID' }).alias('i'),
15
+ clientSideComponentProperties: z.string().refine(validation.isValidJsonOrEmpty, { message: 'clientSideComponentProperties is not a valid JSON string' }).optional().alias('p'),
16
+ hostProperties: z.string().refine(validation.isValidJsonOrEmpty, { message: 'hostProperties is not a valid JSON string' }).optional(),
17
+ webTemplate: z.string().optional().alias('w')
18
+ });
15
19
  class SpoTenantApplicationCustomizerAddCommand extends SpoCommand {
16
20
  get name() {
17
21
  return commands.TENANT_APPLICATIONCUSTOMIZER_ADD;
@@ -19,12 +23,8 @@ class SpoTenantApplicationCustomizerAddCommand extends SpoCommand {
19
23
  get description() {
20
24
  return 'Adds an application customizer as a tenant wide extension.';
21
25
  }
22
- constructor() {
23
- super();
24
- _SpoTenantApplicationCustomizerAddCommand_instances.add(this);
25
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerAddCommand_instances, "m", _SpoTenantApplicationCustomizerAddCommand_initTelemetry).call(this);
26
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerAddCommand_instances, "m", _SpoTenantApplicationCustomizerAddCommand_initOptions).call(this);
27
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerAddCommand_instances, "m", _SpoTenantApplicationCustomizerAddCommand_initValidators).call(this);
26
+ get schema() {
27
+ return options;
28
28
  }
29
29
  async commandAction(logger, args) {
30
30
  try {
@@ -111,6 +111,13 @@ class SpoTenantApplicationCustomizerAddCommand extends SpoCommand {
111
111
  if (this.verbose) {
112
112
  await logger.logToStderr('Pre-checks finished. Adding tenant wide extension to the TenantWideExtensions list');
113
113
  }
114
+ const output = options.output === 'text' ||
115
+ options.output === 'csv' ||
116
+ options.output === 'json' ||
117
+ options.output === 'md' ||
118
+ options.output === 'none'
119
+ ? options.output
120
+ : undefined;
114
121
  const commandOptions = {
115
122
  webUrl: appCatalogUrl,
116
123
  listUrl: `${urlUtil.getServerRelativeSiteUrl(appCatalogUrl)}/Lists/TenantWideExtensions`,
@@ -125,54 +132,10 @@ class SpoTenantApplicationCustomizerAddCommand extends SpoCommand {
125
132
  TenantWideExtensionDisabled: false,
126
133
  verbose: this.verbose,
127
134
  debug: this.debug,
128
- output: options.output
135
+ output: output
129
136
  };
130
137
  await cli.executeCommand(spoListItemAddCommand, { options: { ...commandOptions, _: [] } });
131
138
  }
132
139
  }
133
- _SpoTenantApplicationCustomizerAddCommand_instances = new WeakSet(), _SpoTenantApplicationCustomizerAddCommand_initTelemetry = function _SpoTenantApplicationCustomizerAddCommand_initTelemetry() {
134
- this.telemetry.push((args) => {
135
- Object.assign(this.telemetryProperties, {
136
- clientSideComponentProperties: typeof args.options.clientSideComponentProperties !== 'undefined',
137
- hostProperties: typeof args.options.hostProperties !== 'undefined',
138
- webTemplate: typeof args.options.webTemplate !== 'undefined'
139
- });
140
- });
141
- }, _SpoTenantApplicationCustomizerAddCommand_initOptions = function _SpoTenantApplicationCustomizerAddCommand_initOptions() {
142
- this.options.unshift({
143
- option: '-t, --title <title>'
144
- }, {
145
- option: '-i, --clientSideComponentId <clientSideComponentId>'
146
- }, {
147
- option: '-p, --clientSideComponentProperties [clientSideComponentProperties]'
148
- }, {
149
- option: '--hostProperties [hostProperties]'
150
- }, {
151
- option: '-w, --webTemplate [webTemplate]'
152
- });
153
- }, _SpoTenantApplicationCustomizerAddCommand_initValidators = function _SpoTenantApplicationCustomizerAddCommand_initValidators() {
154
- this.validators.push(async (args) => {
155
- if (!validation.isValidGuid(args.options.clientSideComponentId)) {
156
- return `${args.options.clientSideComponentId} is not a valid GUID`;
157
- }
158
- if (args.options.clientSideComponentProperties) {
159
- try {
160
- JSON.parse(args.options.clientSideComponentProperties);
161
- }
162
- catch (e) {
163
- return `An error has occurred while parsing clientSideComponentProperties: ${e}`;
164
- }
165
- }
166
- if (args.options.hostProperties) {
167
- try {
168
- JSON.parse(args.options.hostProperties);
169
- }
170
- catch (e) {
171
- return `An error has occurred while parsing hostProperties: ${e}`;
172
- }
173
- }
174
- return true;
175
- });
176
- };
177
140
  export default new SpoTenantApplicationCustomizerAddCommand();
178
141
  //# sourceMappingURL=tenant-applicationcustomizer-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 _SpoTenantApplicationCustomizerGetCommand_instances, _SpoTenantApplicationCustomizerGetCommand_initTelemetry, _SpoTenantApplicationCustomizerGetCommand_initOptions, _SpoTenantApplicationCustomizerGetCommand_initValidators, _SpoTenantApplicationCustomizerGetCommand_initOptionSets, _SpoTenantApplicationCustomizerGetCommand_initTypes;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import { formatting } from '../../../../utils/formatting.js';
8
4
  import { odata } from '../../../../utils/odata.js';
9
5
  import { spo } from '../../../../utils/spo.js';
@@ -12,6 +8,18 @@ import { validation } from '../../../../utils/validation.js';
12
8
  import SpoCommand from '../../../base/SpoCommand.js';
13
9
  import commands from '../../commands.js';
14
10
  import { cli } from '../../../../cli/cli.js';
11
+ export const options = z.strictObject({
12
+ ...globalOptionsZod.shape,
13
+ title: z.string().optional().alias('t'),
14
+ id: z.string()
15
+ .refine(val => validation.isValidPositiveInteger(val), {
16
+ message: 'id is not a valid list item ID'
17
+ })
18
+ .optional()
19
+ .alias('i'),
20
+ clientSideComponentId: z.string().refine(val => validation.isValidGuid(val), { message: 'clientSideComponentId is not a valid GUID' }).optional().alias('c'),
21
+ tenantWideExtensionComponentProperties: z.boolean().optional().alias('p')
22
+ });
15
23
  class SpoTenantApplicationCustomizerGetCommand extends SpoCommand {
16
24
  get name() {
17
25
  return commands.TENANT_APPLICATIONCUSTOMIZER_GET;
@@ -19,14 +27,17 @@ class SpoTenantApplicationCustomizerGetCommand extends SpoCommand {
19
27
  get description() {
20
28
  return 'Gets an application customizer that is installed tenant wide';
21
29
  }
22
- constructor() {
23
- super();
24
- _SpoTenantApplicationCustomizerGetCommand_instances.add(this);
25
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerGetCommand_instances, "m", _SpoTenantApplicationCustomizerGetCommand_initTelemetry).call(this);
26
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerGetCommand_instances, "m", _SpoTenantApplicationCustomizerGetCommand_initOptions).call(this);
27
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerGetCommand_instances, "m", _SpoTenantApplicationCustomizerGetCommand_initValidators).call(this);
28
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerGetCommand_instances, "m", _SpoTenantApplicationCustomizerGetCommand_initOptionSets).call(this);
29
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerGetCommand_instances, "m", _SpoTenantApplicationCustomizerGetCommand_initTypes).call(this);
30
+ get schema() {
31
+ return options;
32
+ }
33
+ getRefinedSchema(schema) {
34
+ return schema.refine(opts => [opts.title, opts.id, opts.clientSideComponentId].filter(v => v !== undefined).length === 1, {
35
+ error: `Specify exactly one of the following options: 'title', 'id', or 'clientSideComponentId'.`,
36
+ params: {
37
+ customCode: 'optionSet',
38
+ options: ['title', 'id', 'clientSideComponentId']
39
+ }
40
+ });
30
41
  }
31
42
  async commandAction(logger, args) {
32
43
  try {
@@ -76,40 +87,5 @@ class SpoTenantApplicationCustomizerGetCommand extends SpoCommand {
76
87
  }
77
88
  }
78
89
  }
79
- _SpoTenantApplicationCustomizerGetCommand_instances = new WeakSet(), _SpoTenantApplicationCustomizerGetCommand_initTelemetry = function _SpoTenantApplicationCustomizerGetCommand_initTelemetry() {
80
- this.telemetry.push((args) => {
81
- Object.assign(this.telemetryProperties, {
82
- title: typeof args.options.title !== 'undefined',
83
- id: typeof args.options.id !== 'undefined',
84
- clientSideComponentId: typeof args.options.clientSideComponentId !== 'undefined',
85
- tenantWideExtensionComponentProperties: !!args.options.tenantWideExtensionComponentProperties
86
- });
87
- });
88
- }, _SpoTenantApplicationCustomizerGetCommand_initOptions = function _SpoTenantApplicationCustomizerGetCommand_initOptions() {
89
- this.options.unshift({
90
- option: '-t, --title [title]'
91
- }, {
92
- option: '-i, --id [id]'
93
- }, {
94
- option: '-c, --clientSideComponentId [clientSideComponentId]'
95
- }, {
96
- option: '-p, --tenantWideExtensionComponentProperties'
97
- });
98
- }, _SpoTenantApplicationCustomizerGetCommand_initValidators = function _SpoTenantApplicationCustomizerGetCommand_initValidators() {
99
- this.validators.push(async (args) => {
100
- if (args.options.id && isNaN(parseInt(args.options.id))) {
101
- return `${args.options.id} is not a number`;
102
- }
103
- if (args.options.clientSideComponentId && !validation.isValidGuid(args.options.clientSideComponentId)) {
104
- return `${args.options.clientSideComponentId} is not a valid GUID`;
105
- }
106
- return true;
107
- });
108
- }, _SpoTenantApplicationCustomizerGetCommand_initOptionSets = function _SpoTenantApplicationCustomizerGetCommand_initOptionSets() {
109
- this.optionSets.push({ options: ['title', 'id', 'clientSideComponentId'] });
110
- }, _SpoTenantApplicationCustomizerGetCommand_initTypes = function _SpoTenantApplicationCustomizerGetCommand_initTypes() {
111
- this.types.string.push('title', 'id', 'clientSideComponentId');
112
- this.types.boolean.push('tenantWideExtensionComponentProperties');
113
- };
114
90
  export default new SpoTenantApplicationCustomizerGetCommand();
115
91
  //# sourceMappingURL=tenant-applicationcustomizer-get.js.map
@@ -1,10 +1,11 @@
1
- import { CommandError } from '../../../../Command.js';
1
+ import { CommandError, globalOptionsZod } from '../../../../Command.js';
2
2
  import { formatting } from '../../../../utils/formatting.js';
3
3
  import { odata } from '../../../../utils/odata.js';
4
4
  import { spo } from '../../../../utils/spo.js';
5
5
  import { urlUtil } from '../../../../utils/urlUtil.js';
6
6
  import SpoCommand from '../../../base/SpoCommand.js';
7
7
  import commands from '../../commands.js';
8
+ export const options = globalOptionsZod.strict();
8
9
  class SpoTenantApplicationCustomizerListCommand extends SpoCommand {
9
10
  get name() {
10
11
  return commands.TENANT_APPLICATIONCUSTOMIZER_LIST;
@@ -12,6 +13,9 @@ class SpoTenantApplicationCustomizerListCommand extends SpoCommand {
12
13
  get description() {
13
14
  return 'Retrieves a list of application customizers that are installed tenant-wide.';
14
15
  }
16
+ get schema() {
17
+ return options;
18
+ }
15
19
  defaultProperties() {
16
20
  return ['Title', 'TenantWideExtensionComponentId', 'TenantWideExtensionWebTemplate'];
17
21
  }
@@ -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 _SpoTenantApplicationCustomizerRemoveCommand_instances, _SpoTenantApplicationCustomizerRemoveCommand_initTelemetry, _SpoTenantApplicationCustomizerRemoveCommand_initOptions, _SpoTenantApplicationCustomizerRemoveCommand_initValidators, _SpoTenantApplicationCustomizerRemoveCommand_initOptionSets;
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 { odata } from '../../../../utils/odata.js';
@@ -13,6 +9,18 @@ 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.strictObject({
13
+ ...globalOptionsZod.shape,
14
+ title: z.string().optional().alias('t'),
15
+ id: z.string()
16
+ .refine(val => validation.isValidPositiveInteger(val), {
17
+ message: 'id is not a valid list item ID'
18
+ })
19
+ .optional()
20
+ .alias('i'),
21
+ clientSideComponentId: z.string().refine(val => validation.isValidGuid(val), { message: 'clientSideComponentId is not a valid GUID' }).optional().alias('c'),
22
+ force: z.boolean().optional().alias('f')
23
+ });
16
24
  class SpoTenantApplicationCustomizerRemoveCommand extends SpoCommand {
17
25
  get name() {
18
26
  return commands.TENANT_APPLICATIONCUSTOMIZER_REMOVE;
@@ -20,13 +28,17 @@ class SpoTenantApplicationCustomizerRemoveCommand extends SpoCommand {
20
28
  get description() {
21
29
  return 'Removes an application customizer that is installed tenant wide.';
22
30
  }
23
- constructor() {
24
- super();
25
- _SpoTenantApplicationCustomizerRemoveCommand_instances.add(this);
26
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerRemoveCommand_instances, "m", _SpoTenantApplicationCustomizerRemoveCommand_initTelemetry).call(this);
27
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerRemoveCommand_instances, "m", _SpoTenantApplicationCustomizerRemoveCommand_initOptions).call(this);
28
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerRemoveCommand_instances, "m", _SpoTenantApplicationCustomizerRemoveCommand_initValidators).call(this);
29
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerRemoveCommand_instances, "m", _SpoTenantApplicationCustomizerRemoveCommand_initOptionSets).call(this);
31
+ get schema() {
32
+ return options;
33
+ }
34
+ getRefinedSchema(schema) {
35
+ return schema.refine(opts => [opts.title, opts.id, opts.clientSideComponentId].filter(v => v !== undefined).length === 1, {
36
+ error: `Specify exactly one of the following options: 'title', 'id', or 'clientSideComponentId'.`,
37
+ params: {
38
+ customCode: 'optionSet',
39
+ options: ['title', 'id', 'clientSideComponentId']
40
+ }
41
+ });
30
42
  }
31
43
  async commandAction(logger, args) {
32
44
  try {
@@ -90,41 +102,5 @@ class SpoTenantApplicationCustomizerRemoveCommand extends SpoCommand {
90
102
  await request.post(requestOptions);
91
103
  }
92
104
  }
93
- _SpoTenantApplicationCustomizerRemoveCommand_instances = new WeakSet(), _SpoTenantApplicationCustomizerRemoveCommand_initTelemetry = function _SpoTenantApplicationCustomizerRemoveCommand_initTelemetry() {
94
- this.telemetry.push((args) => {
95
- Object.assign(this.telemetryProperties, {
96
- title: typeof args.options.title !== 'undefined',
97
- id: typeof args.options.id !== 'undefined',
98
- clientSideComponentId: typeof args.options.clientSideComponentId !== 'undefined',
99
- force: !!args.options.force
100
- });
101
- });
102
- }, _SpoTenantApplicationCustomizerRemoveCommand_initOptions = function _SpoTenantApplicationCustomizerRemoveCommand_initOptions() {
103
- this.options.unshift({
104
- option: '-t, --title [title]'
105
- }, {
106
- option: '-i, --id [id]'
107
- }, {
108
- option: '-c, --clientSideComponentId [clientSideComponentId]'
109
- }, {
110
- option: '-f, --force'
111
- });
112
- }, _SpoTenantApplicationCustomizerRemoveCommand_initValidators = function _SpoTenantApplicationCustomizerRemoveCommand_initValidators() {
113
- this.validators.push(async (args) => {
114
- if (args.options.id) {
115
- const id = parseInt(args.options.id);
116
- if (isNaN(id)) {
117
- return `${args.options.id} is not a valid list item ID`;
118
- }
119
- }
120
- if (args.options.clientSideComponentId &&
121
- !validation.isValidGuid(args.options.clientSideComponentId)) {
122
- return `${args.options.clientSideComponentId} is not a valid GUID`;
123
- }
124
- return true;
125
- });
126
- }, _SpoTenantApplicationCustomizerRemoveCommand_initOptionSets = function _SpoTenantApplicationCustomizerRemoveCommand_initOptionSets() {
127
- this.optionSets.push({ options: ['title', 'id', 'clientSideComponentId'] });
128
- };
129
105
  export default new SpoTenantApplicationCustomizerRemoveCommand();
130
106
  //# sourceMappingURL=tenant-applicationcustomizer-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 _SpoTenantApplicationCustomizerSetCommand_instances, _SpoTenantApplicationCustomizerSetCommand_initTelemetry, _SpoTenantApplicationCustomizerSetCommand_initOptions, _SpoTenantApplicationCustomizerSetCommand_initValidators, _SpoTenantApplicationCustomizerSetCommand_initOptionSets;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import { cli } from '../../../../cli/cli.js';
8
4
  import request from '../../../../request.js';
9
5
  import { formatting } from '../../../../utils/formatting.js';
@@ -14,6 +10,22 @@ import { validation } from '../../../../utils/validation.js';
14
10
  import SpoCommand from '../../../base/SpoCommand.js';
15
11
  import commands from '../../commands.js';
16
12
  import spoListItemListCommand from '../listitem/listitem-list.js';
13
+ export const options = z.strictObject({
14
+ ...globalOptionsZod.shape,
15
+ id: z.string()
16
+ .refine(val => validation.isValidPositiveInteger(val), {
17
+ message: 'id is not a valid list item ID'
18
+ })
19
+ .optional()
20
+ .alias('i'),
21
+ title: z.string().optional().alias('t'),
22
+ clientSideComponentId: z.string().refine(val => validation.isValidGuid(val), { message: 'clientSideComponentId is not a valid GUID' }).optional().alias('c'),
23
+ newTitle: z.string().optional(),
24
+ newClientSideComponentId: z.string().refine(val => validation.isValidGuid(val), { message: 'newClientSideComponentId is not a valid GUID' }).optional(),
25
+ clientSideComponentProperties: z.string().refine(val => validation.isValidJsonOrEmpty(val), { message: 'clientSideComponentProperties is not valid JSON' }).optional().alias('p'),
26
+ hostProperties: z.string().refine(val => validation.isValidJsonOrEmpty(val), { message: 'hostProperties is not valid JSON' }).optional(),
27
+ webTemplate: z.string().optional().alias('w')
28
+ });
17
29
  class SpoTenantApplicationCustomizerSetCommand extends SpoCommand {
18
30
  get name() {
19
31
  return commands.TENANT_APPLICATIONCUSTOMIZER_SET;
@@ -21,13 +33,35 @@ class SpoTenantApplicationCustomizerSetCommand extends SpoCommand {
21
33
  get description() {
22
34
  return 'Updates an Application Customizer that is deployed as a tenant-wide extension';
23
35
  }
24
- constructor() {
25
- super();
26
- _SpoTenantApplicationCustomizerSetCommand_instances.add(this);
27
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initTelemetry).call(this);
28
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initOptions).call(this);
29
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initValidators).call(this);
30
- __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initOptionSets).call(this);
36
+ get schema() {
37
+ return options;
38
+ }
39
+ getRefinedSchema(schema) {
40
+ return schema
41
+ .refine(opts => [opts.title, opts.id, opts.clientSideComponentId].filter(v => v !== undefined).length === 1, {
42
+ error: `Specify exactly one of the following options: 'title', 'id', or 'clientSideComponentId'.`,
43
+ params: {
44
+ customCode: 'optionSet',
45
+ options: ['title', 'id', 'clientSideComponentId']
46
+ }
47
+ })
48
+ .refine(opts => opts.newTitle !== undefined ||
49
+ opts.newClientSideComponentId !== undefined ||
50
+ opts.clientSideComponentProperties !== undefined ||
51
+ opts.hostProperties !== undefined ||
52
+ opts.webTemplate !== undefined, {
53
+ error: 'Please specify an option to be updated',
54
+ params: {
55
+ customCode: 'optionSet',
56
+ options: [
57
+ 'newTitle',
58
+ 'newClientSideComponentId',
59
+ 'clientSideComponentProperties',
60
+ 'hostProperties',
61
+ 'webTemplate'
62
+ ]
63
+ }
64
+ });
31
65
  }
32
66
  async commandAction(logger, args) {
33
67
  try {
@@ -169,71 +203,5 @@ class SpoTenantApplicationCustomizerSetCommand extends SpoCommand {
169
203
  await request.post(requestOptions);
170
204
  }
171
205
  }
172
- _SpoTenantApplicationCustomizerSetCommand_instances = new WeakSet(), _SpoTenantApplicationCustomizerSetCommand_initTelemetry = function _SpoTenantApplicationCustomizerSetCommand_initTelemetry() {
173
- this.telemetry.push((args) => {
174
- Object.assign(this.telemetryProperties, {
175
- title: typeof args.options.title !== 'undefined',
176
- id: typeof args.options.id !== 'undefined',
177
- clientSideComponentId: typeof args.options.clientSideComponentId !== 'undefined',
178
- newTitle: typeof args.options.newTitle !== 'undefined',
179
- newClientSideComponentId: typeof args.options.newClientSideComponentId !== 'undefined',
180
- clientSideComponentProperties: typeof args.options.clientSideComponentProperties !== 'undefined',
181
- hostProperties: typeof args.options.hostProperties !== 'undefined',
182
- webTemplate: typeof args.options.webTemplate !== 'undefined'
183
- });
184
- });
185
- }, _SpoTenantApplicationCustomizerSetCommand_initOptions = function _SpoTenantApplicationCustomizerSetCommand_initOptions() {
186
- this.options.unshift({
187
- option: '-i, --id [id]'
188
- }, {
189
- option: '-t, --title [title]'
190
- }, {
191
- option: '-c, --clientSideComponentId [clientSideComponentId]'
192
- }, {
193
- option: '--newTitle [newTitle]'
194
- }, {
195
- option: '--newClientSideComponentId [newClientSideComponentId]'
196
- }, {
197
- option: '-p, --clientSideComponentProperties [clientSideComponentProperties]'
198
- }, {
199
- option: '--hostProperties [hostProperties]'
200
- }, {
201
- option: '-w, --webTemplate [webTemplate]'
202
- });
203
- }, _SpoTenantApplicationCustomizerSetCommand_initValidators = function _SpoTenantApplicationCustomizerSetCommand_initValidators() {
204
- this.validators.push(async (args) => {
205
- if (args.options.id && isNaN(parseInt(args.options.id))) {
206
- return `${args.options.id} is not a number`;
207
- }
208
- if (args.options.clientSideComponentId && !validation.isValidGuid(args.options.clientSideComponentId)) {
209
- return `${args.options.clientSideComponentId} is not a valid GUID`;
210
- }
211
- if (args.options.newClientSideComponentId && !validation.isValidGuid(args.options.newClientSideComponentId)) {
212
- return `${args.options.newClientSideComponentId} is not a valid GUID`;
213
- }
214
- if (args.options.clientSideComponentProperties) {
215
- try {
216
- JSON.parse(args.options.clientSideComponentProperties);
217
- }
218
- catch (e) {
219
- return `An error has occurred while parsing clientSideComponentProperties: ${e}`;
220
- }
221
- }
222
- if (args.options.hostProperties) {
223
- try {
224
- JSON.parse(args.options.hostProperties);
225
- }
226
- catch (e) {
227
- return `An error has occurred while parsing hostProperties: ${e}`;
228
- }
229
- }
230
- if (!args.options.newTitle && !args.options.newClientSideComponentId && !args.options.clientSideComponentProperties && args.options.hostProperties === undefined && !args.options.webTemplate) {
231
- return `Please specify an option to be updated`;
232
- }
233
- return true;
234
- });
235
- }, _SpoTenantApplicationCustomizerSetCommand_initOptionSets = function _SpoTenantApplicationCustomizerSetCommand_initOptionSets() {
236
- this.optionSets.push({ options: ['title', 'id', 'clientSideComponentId'] });
237
- };
238
206
  export default new SpoTenantApplicationCustomizerSetCommand();
239
207
  //# sourceMappingURL=tenant-applicationcustomizer-set.js.map