@pnp/cli-microsoft365 12.0.0-beta.8dff3ac → 12.0.0-beta.93e11fb

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 (267) hide show
  1. package/.devproxy/generate-openapi-spec.json +1 -1
  2. package/allCommands.json +1 -1
  3. package/allCommandsFull.json +1 -1
  4. package/dist/Auth.js +19 -2
  5. package/dist/cli/cli.js +3 -0
  6. package/dist/googleAnalytics.js +96 -0
  7. package/dist/m365/cli/commands/cli-consent.js +9 -2
  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/graph/commands/schemaextension/schemaextension-list.js +14 -16
  26. package/dist/m365/spe/commands/container/container-permission-remove.js +94 -0
  27. package/dist/m365/spe/commands.js +1 -0
  28. package/dist/m365/spfx/commands/SpfxCompatibilityMatrix.js +15 -0
  29. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.24.0.js +19 -0
  30. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  31. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012021_TSC_excludeDirectories.js +43 -0
  32. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027002_OVERRIDES_qs.js +33 -0
  33. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027003_OVERRIDES_uuid.js +33 -0
  34. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.24.0.js +77 -0
  35. package/dist/m365/spfx/commands/project/project-upgrade.js +2 -1
  36. package/dist/m365/spo/commands/app/app-add.js +35 -56
  37. package/dist/m365/spo/commands/app/app-deploy.js +41 -59
  38. package/dist/m365/spo/commands/app/app-get.js +40 -56
  39. package/dist/m365/spo/commands/app/app-install.js +20 -41
  40. package/dist/m365/spo/commands/app/app-instance-list.js +12 -24
  41. package/dist/m365/spo/commands/app/app-list.js +26 -44
  42. package/dist/m365/spo/commands/app/app-remove.js +32 -52
  43. package/dist/m365/spo/commands/app/app-retract.js +32 -51
  44. package/dist/m365/spo/commands/app/app-teamspackage-download.js +35 -54
  45. package/dist/m365/spo/commands/app/app-uninstall.js +21 -44
  46. package/dist/m365/spo/commands/app/app-upgrade.js +20 -41
  47. package/dist/m365/spo/commands/commandset/commandset-add.js +17 -59
  48. package/dist/m365/spo/commands/commandset/commandset-get.js +24 -62
  49. package/dist/m365/spo/commands/commandset/commandset-list.js +11 -34
  50. package/dist/m365/spo/commands/commandset/commandset-remove.js +21 -54
  51. package/dist/m365/spo/commands/commandset/commandset-set.js +30 -83
  52. package/dist/m365/spo/commands/externaluser/externaluser-list.js +5 -14
  53. package/dist/m365/spo/commands/feature/feature-disable.js +20 -50
  54. package/dist/m365/spo/commands/feature/feature-enable.js +22 -50
  55. package/dist/m365/spo/commands/feature/feature-list.js +11 -36
  56. package/dist/m365/spo/commands/field/field-add.js +33 -62
  57. package/dist/m365/spo/commands/field/field-get.js +30 -57
  58. package/dist/m365/spo/commands/field/field-list.js +21 -46
  59. package/dist/m365/spo/commands/field/field-remove.js +32 -63
  60. package/dist/m365/spo/commands/field/field-set.js +34 -66
  61. package/dist/m365/spo/commands/file/file-get.js +4 -3
  62. package/dist/m365/spo/commands/folder/folder-unarchive.js +90 -0
  63. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +38 -63
  64. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +11 -27
  65. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +25 -47
  66. package/dist/m365/spo/commands/hubsite/hubsite-get.js +25 -37
  67. package/dist/m365/spo/commands/hubsite/hubsite-list.js +12 -24
  68. package/dist/m365/spo/commands/hubsite/hubsite-register.js +10 -18
  69. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +14 -32
  70. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +12 -29
  71. package/dist/m365/spo/commands/hubsite/hubsite-set.js +19 -46
  72. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +11 -27
  73. package/dist/m365/spo/commands/listitem/listitem-add.js +27 -55
  74. package/dist/m365/spo/commands/listitem/listitem-attachment-add.js +30 -58
  75. package/dist/m365/spo/commands/listitem/listitem-attachment-get.js +27 -52
  76. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +26 -50
  77. package/dist/m365/spo/commands/listitem/listitem-attachment-remove.js +28 -55
  78. package/dist/m365/spo/commands/listitem/listitem-attachment-set.js +30 -57
  79. package/dist/m365/spo/commands/listitem/listitem-batch-add.js +36 -58
  80. package/dist/m365/spo/commands/listitem/listitem-batch-remove.js +68 -92
  81. package/dist/m365/spo/commands/listitem/listitem-batch-set.js +37 -57
  82. package/dist/m365/spo/commands/listitem/listitem-get.js +45 -79
  83. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +31 -55
  84. package/dist/m365/spo/commands/listitem/listitem-list.js +47 -81
  85. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +37 -60
  86. package/dist/m365/spo/commands/listitem/listitem-record-lock.js +30 -52
  87. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +31 -52
  88. package/dist/m365/spo/commands/listitem/listitem-record-unlock.js +30 -52
  89. package/dist/m365/spo/commands/listitem/listitem-remove.js +33 -61
  90. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-ensure.js +46 -67
  91. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-remove.js +33 -56
  92. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +55 -98
  93. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +48 -74
  94. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +33 -56
  95. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +31 -53
  96. package/dist/m365/spo/commands/listitem/listitem-set.js +33 -58
  97. package/dist/m365/spo/commands/navigation/navigation-node-add.js +74 -120
  98. package/dist/m365/spo/commands/navigation/navigation-node-get.js +4 -13
  99. package/dist/m365/spo/commands/navigation/navigation-node-list.js +6 -4
  100. package/dist/m365/spo/commands/navigation/navigation-node-set.js +53 -114
  101. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +1 -1
  102. package/dist/m365/spo/commands/page/page-column-list.js +7 -8
  103. package/dist/m365/spo/commands/page/page-section-list.js +15 -17
  104. package/dist/m365/spo/commands/page/page-unpublish.js +53 -0
  105. package/dist/m365/spo/commands/sitescript/sitescript-add.js +22 -37
  106. package/dist/m365/spo/commands/sitescript/sitescript-get.js +9 -26
  107. package/dist/m365/spo/commands/sitescript/sitescript-list.js +5 -0
  108. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +9 -33
  109. package/dist/m365/spo/commands/sitescript/sitescript-set.js +29 -56
  110. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +8 -1
  111. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -1
  112. package/dist/m365/spo/commands/term/term-group-list.js +7 -8
  113. package/dist/m365/spo/commands/term/term-set-list.js +6 -9
  114. package/dist/m365/spo/commands/web/web-rule-get.js +47 -0
  115. package/dist/m365/spo/commands.js +4 -1
  116. package/dist/m365/spp/commands/contentcenter/contentcenter-list.js +5 -0
  117. package/dist/m365/spp/commands/model/model-get.js +25 -45
  118. package/dist/m365/spp/commands/model/model-list.js +12 -23
  119. package/dist/m365/spp/commands/model/model-remove.js +25 -45
  120. package/dist/m365/teams/commands/channel/channel-add.js +46 -57
  121. package/dist/m365/teams/commands/channel/channel-get.js +41 -48
  122. package/dist/m365/teams/commands/channel/channel-list.js +28 -42
  123. package/dist/m365/teams/commands/channel/channel-member-add.js +53 -54
  124. package/dist/m365/teams/commands/channel/channel-member-list.js +47 -55
  125. package/dist/m365/teams/commands/channel/channel-member-remove.js +62 -62
  126. package/dist/m365/teams/commands/channel/channel-member-set.js +61 -65
  127. package/dist/m365/teams/commands/channel/channel-remove.js +47 -49
  128. package/dist/m365/teams/commands/channel/channel-set.js +47 -54
  129. package/dist/m365/teams/commands/chat/chat-get.js +30 -45
  130. package/dist/m365/teams/commands/chat/chat-list.js +22 -42
  131. package/dist/m365/teams/commands/chat/chat-member-add.js +43 -64
  132. package/dist/m365/teams/commands/chat/chat-member-list.js +10 -23
  133. package/dist/m365/teams/commands/chat/chat-member-remove.js +28 -50
  134. package/dist/m365/teams/commands/chat/chat-message-send.js +32 -55
  135. package/dist/m365/teams/commands/meeting/meeting-add.js +57 -68
  136. package/dist/m365/teams/commands/meeting/meeting-attendancereport-get.js +33 -58
  137. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +14 -38
  138. package/dist/m365/teams/commands/meeting/meeting-get.js +14 -38
  139. package/dist/m365/teams/commands/meeting/meeting-list.js +34 -59
  140. package/dist/m365/teams/commands/meeting/meeting-transcript-get.js +34 -58
  141. package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +29 -50
  142. package/dist/m365/teams/commands/message/message-get.js +19 -30
  143. package/dist/m365/teams/commands/message/message-list.js +26 -43
  144. package/dist/m365/teams/commands/message/message-remove.js +43 -58
  145. package/dist/m365/teams/commands/message/message-reply-list.js +19 -30
  146. package/dist/m365/teams/commands/message/message-restore.js +40 -50
  147. package/dist/m365/teams/commands/message/message-send.js +19 -30
  148. package/dist/m365/teams/commands/report/report-deviceusagedistributionusercounts.js +10 -0
  149. package/dist/m365/teams/commands/report/report-deviceusageusercounts.js +10 -0
  150. package/dist/m365/teams/commands/report/report-deviceusageuserdetail.js +22 -0
  151. package/dist/m365/teams/commands/report/report-directroutingcalls.js +19 -39
  152. package/dist/m365/teams/commands/report/report-pstncalls.js +19 -39
  153. package/dist/m365/teams/commands/report/report-useractivitycounts.js +10 -0
  154. package/dist/m365/teams/commands/report/report-useractivityusercounts.js +10 -0
  155. package/dist/m365/teams/commands/report/report-useractivityuserdetail.js +22 -0
  156. package/dist/m365/teams/commands/tab/tab-add.js +23 -49
  157. package/dist/m365/teams/commands/tab/tab-get.js +55 -56
  158. package/dist/m365/teams/commands/tab/tab-list.js +17 -28
  159. package/dist/m365/teams/commands/tab/tab-remove.js +23 -42
  160. package/dist/m365/teams/commands/team/team-add.js +76 -114
  161. package/dist/m365/teams/commands/team/team-app-list.js +23 -36
  162. package/dist/m365/teams/commands/team/team-archive.js +24 -39
  163. package/dist/m365/teams/commands/team/team-clone.js +28 -62
  164. package/dist/m365/teams/commands/team/team-get.js +23 -36
  165. package/dist/m365/teams/commands/team/team-list.js +43 -57
  166. package/dist/m365/teams/commands/team/team-remove.js +24 -37
  167. package/dist/m365/teams/commands/team/team-set.js +23 -52
  168. package/dist/m365/teams/commands/team/team-unarchive.js +23 -28
  169. package/dist/m365/teams/commands/user/user-app-add.js +40 -49
  170. package/dist/m365/teams/commands/user/user-app-list.js +26 -39
  171. package/dist/m365/teams/commands/user/user-app-remove.js +37 -49
  172. package/dist/m365/teams/commands/user/user-app-upgrade.js +36 -52
  173. package/dist/m365/teams/commands/user/user-list.js +17 -39
  174. package/dist/m365/tenant/commands/report/report-activeusercounts.js +2 -1
  175. package/dist/m365/tenant/commands/report/report-activeuserdetail.js +2 -1
  176. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +9 -0
  177. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +9 -0
  178. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +9 -0
  179. package/dist/m365/tenant/commands/report/report-servicesusercounts.js +2 -1
  180. package/dist/m365/tenant/commands/report/report-settings-get.js +5 -0
  181. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +9 -20
  182. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +8 -20
  183. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +8 -15
  184. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +8 -15
  185. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +12 -26
  186. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +8 -22
  187. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +10 -28
  188. package/dist/telemetry.js +7 -11
  189. package/dist/utils/formatting.js +16 -0
  190. package/dist/utils/pid.js +7 -16
  191. package/dist/utils/spo.js +40 -3
  192. package/dist/utils/urlUtil.js +2 -2
  193. package/dist/utils/zod.js +4 -4
  194. package/docs/docs/cmd/login.mdx +15 -2
  195. package/docs/docs/cmd/spe/container/container-permission-remove.mdx +78 -0
  196. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  197. package/docs/docs/cmd/spo/externaluser/externaluser-list.mdx +17 -30
  198. package/docs/docs/cmd/spo/file/file-archive.mdx +1 -1
  199. package/docs/docs/cmd/spo/file/file-checkin.mdx +2 -2
  200. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -1
  201. package/docs/docs/cmd/spo/file/file-checkout.mdx +2 -2
  202. package/docs/docs/cmd/spo/file/file-copy.mdx +2 -2
  203. package/docs/docs/cmd/spo/file/file-get.mdx +6 -6
  204. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
  205. package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +1 -1
  206. package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
  207. package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
  208. package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +3 -3
  209. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +2 -2
  210. package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +2 -2
  211. package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +22 -1
  212. package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +24 -1
  213. package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +22 -1
  214. package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +22 -1
  215. package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +24 -1
  216. package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +22 -1
  217. package/docs/docs/cmd/spo/file/file-unarchive.mdx +1 -1
  218. package/docs/docs/cmd/spo/file/file-version-clear.mdx +1 -1
  219. package/docs/docs/cmd/spo/file/file-version-get.mdx +1 -1
  220. package/docs/docs/cmd/spo/file/file-version-keep.mdx +1 -1
  221. package/docs/docs/cmd/spo/file/file-version-list.mdx +1 -1
  222. package/docs/docs/cmd/spo/file/file-version-remove.mdx +1 -1
  223. package/docs/docs/cmd/spo/file/file-version-restore.mdx +1 -1
  224. package/docs/docs/cmd/spo/folder/folder-archive.mdx +1 -1
  225. package/docs/docs/cmd/spo/folder/folder-copy.mdx +1 -1
  226. package/docs/docs/cmd/spo/folder/folder-get.mdx +2 -2
  227. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
  228. package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
  229. package/docs/docs/cmd/spo/folder/folder-sharinglink-add.mdx +22 -1
  230. package/docs/docs/cmd/spo/folder/folder-sharinglink-clear.mdx +23 -0
  231. package/docs/docs/cmd/spo/folder/folder-sharinglink-get.mdx +21 -0
  232. package/docs/docs/cmd/spo/folder/folder-sharinglink-list.mdx +22 -1
  233. package/docs/docs/cmd/spo/folder/folder-sharinglink-remove.mdx +24 -1
  234. package/docs/docs/cmd/spo/folder/folder-sharinglink-set.mdx +21 -0
  235. package/docs/docs/cmd/spo/folder/folder-unarchive.mdx +76 -0
  236. package/docs/docs/cmd/spo/listitem/listitem-get.mdx +0 -6
  237. package/docs/docs/cmd/spo/navigation/navigation-node-add.mdx +45 -30
  238. package/docs/docs/cmd/spo/navigation/navigation-node-get.mdx +64 -42
  239. package/docs/docs/cmd/spo/navigation/navigation-node-list.mdx +37 -27
  240. package/docs/docs/cmd/spo/navigation/navigation-node-set.mdx +10 -8
  241. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.mdx +0 -21
  242. package/docs/docs/cmd/spo/page/page-unpublish.mdx +63 -0
  243. package/docs/docs/cmd/spo/web/web-rule-get.mdx +108 -0
  244. package/docs/docs/cmd/spp/model/model-get.mdx +1 -1
  245. package/docs/docs/cmd/spp/model/model-remove.mdx +1 -1
  246. package/docs/docs/cmd/teams/tab/tab-add.mdx +19 -0
  247. package/docs/docs/cmd/teams/tab/tab-get.mdx +19 -0
  248. package/docs/docs/cmd/teams/tab/tab-list.mdx +19 -0
  249. package/docs/docs/cmd/teams/tab/tab-remove.mdx +21 -0
  250. package/docs/docs/cmd/tenant/people/people-profilecardproperty-add.mdx +19 -0
  251. package/docs/docs/cmd/tenant/people/people-profilecardproperty-get.mdx +19 -0
  252. package/docs/docs/cmd/tenant/people/people-profilecardproperty-list.mdx +19 -0
  253. package/docs/docs/cmd/tenant/people/people-profilecardproperty-remove.mdx +19 -0
  254. package/docs/docs/cmd/tenant/people/people-profilecardproperty-set.mdx +19 -0
  255. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.mdx +19 -0
  256. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.mdx +19 -0
  257. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.mdx +19 -0
  258. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.mdx +19 -0
  259. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.mdx +19 -0
  260. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.mdx +19 -0
  261. package/docs/docs/cmd/viva/engage/engage-message-add.mdx +17 -0
  262. package/docs/docs/cmd/viva/engage/engage-message-get.mdx +17 -0
  263. package/docs/docs/cmd/viva/engage/engage-message-list.mdx +17 -0
  264. package/docs/docs/cmd/viva/engage/engage-message-remove.mdx +19 -0
  265. package/npm-shrinkwrap.json +702 -3230
  266. package/package.json +21 -38
  267. package/dist/appInsights.js +0 -43
@@ -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,7 +132,7 @@ 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
  }
@@ -111,6 +111,13 @@ class SpoTenantCommandSetAddCommand 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`,
@@ -124,7 +131,7 @@ class SpoTenantCommandSetAddCommand extends SpoCommand {
124
131
  TenantWideExtensionDisabled: false,
125
132
  verbose: this.verbose,
126
133
  debug: this.debug,
127
- output: options.output
134
+ output: output
128
135
  };
129
136
  await cli.executeCommand(spoListItemAddCommand, { options: { ...commandOptions, _: [] } });
130
137
  }
@@ -6,6 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
6
6
  var _SpoTermGroupListCommand_instances, _SpoTermGroupListCommand_initTelemetry, _SpoTermGroupListCommand_initOptions, _SpoTermGroupListCommand_initValidators;
7
7
  import config from '../../../../config.js';
8
8
  import request from '../../../../request.js';
9
+ import { formatting } from '../../../../utils/formatting.js';
9
10
  import { spo } from '../../../../utils/spo.js';
10
11
  import { validation } from '../../../../utils/validation.js';
11
12
  import SpoCommand from '../../../base/SpoCommand.js';
@@ -48,14 +49,12 @@ class SpoTermGroupListCommand extends SpoCommand {
48
49
  throw response.ErrorInfo.ErrorMessage;
49
50
  }
50
51
  const result = json[json.length - 1];
51
- if (result._Child_Items_ && result._Child_Items_.length > 0) {
52
- result._Child_Items_.forEach(t => {
53
- t.CreatedDate = new Date(Number(t.CreatedDate.replace('/Date(', '').replace(')/', ''))).toISOString();
54
- t.Id = t.Id.replace('/Guid(', '').replace(')/', '');
55
- t.LastModifiedDate = new Date(Number(t.LastModifiedDate.replace('/Date(', '').replace(')/', ''))).toISOString();
56
- });
57
- await logger.log(result._Child_Items_);
58
- }
52
+ result._Child_Items_.forEach(t => {
53
+ t.CreatedDate = new Date(Number(t.CreatedDate.replace('/Date(', '').replace(')/', ''))).toISOString();
54
+ t.Id = formatting.extractCsomGuid(t.Id);
55
+ t.LastModifiedDate = new Date(Number(t.LastModifiedDate.replace('/Date(', '').replace(')/', ''))).toISOString();
56
+ });
57
+ await logger.log(result._Child_Items_);
59
58
  }
60
59
  catch (err) {
61
60
  this.handleRejectedODataJsonPromise(err);
@@ -51,15 +51,12 @@ class SpoTermSetListCommand extends SpoCommand {
51
51
  throw response.ErrorInfo.ErrorMessage;
52
52
  }
53
53
  const result = json[json.length - 1];
54
- if (result._Child_Items_ && result._Child_Items_.length > 0) {
55
- result._Child_Items_.map(t => {
56
- t.CreatedDate = new Date(Number(t.CreatedDate.replace('/Date(', '').replace(')/', ''))).toISOString();
57
- t.Id = t.Id.replace('/Guid(', '').replace(')/', '');
58
- t.LastModifiedDate = new Date(Number(t.LastModifiedDate.replace('/Date(', '').replace(')/', ''))).toISOString();
59
- return t;
60
- });
61
- await logger.log(result._Child_Items_);
62
- }
54
+ result._Child_Items_.forEach(t => {
55
+ t.CreatedDate = new Date(Number(t.CreatedDate.replace('/Date(', '').replace(')/', ''))).toISOString();
56
+ t.Id = formatting.extractCsomGuid(t.Id);
57
+ t.LastModifiedDate = new Date(Number(t.LastModifiedDate.replace('/Date(', '').replace(')/', ''))).toISOString();
58
+ });
59
+ await logger.log(result._Child_Items_);
63
60
  }
64
61
  catch (err) {
65
62
  this.handleRejectedODataJsonPromise(err);
@@ -0,0 +1,47 @@
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
3
+ import request from '../../../../request.js';
4
+ import { formatting } from '../../../../utils/formatting.js';
5
+ import { validation } from '../../../../utils/validation.js';
6
+ import SpoCommand from '../../../base/SpoCommand.js';
7
+ import commands from '../../commands.js';
8
+ const options = z.strictObject({
9
+ ...globalOptionsZod.shape,
10
+ webUrl: z.string().alias('u')
11
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
12
+ error: e => `'${e.input}' is not a valid SharePoint URL.`
13
+ }),
14
+ id: z.uuid()
15
+ });
16
+ class SpoWebRuleGetCommand extends SpoCommand {
17
+ get name() {
18
+ return commands.WEB_RULE_GET;
19
+ }
20
+ get description() {
21
+ return 'Retrieves details of a specific rule from a SharePoint site list';
22
+ }
23
+ get schema() {
24
+ return options;
25
+ }
26
+ async commandAction(logger, args) {
27
+ try {
28
+ if (this.verbose) {
29
+ await logger.logToStderr(`Retrieving rule with id '${args.options.id}' from site '${args.options.webUrl}'...`);
30
+ }
31
+ const requestOptions = {
32
+ url: `${args.options.webUrl}/_api/web/alerts/GetById('${formatting.encodeQueryParameter(args.options.id)}')?$expand=List,User,List/Rootfolder&$select=*,List/Id,List/Title,List/Rootfolder/ServerRelativeUrl`,
33
+ headers: {
34
+ accept: 'application/json;odata=nometadata'
35
+ },
36
+ responseType: 'json'
37
+ };
38
+ const res = await request.get(requestOptions);
39
+ await logger.log(res);
40
+ }
41
+ catch (err) {
42
+ this.handleRejectedODataJsonPromise(err);
43
+ }
44
+ }
45
+ }
46
+ export default new SpoWebRuleGetCommand();
47
+ //# sourceMappingURL=web-rule-get.js.map
@@ -72,6 +72,7 @@ export default {
72
72
  FILE_MOVE: `${prefix} file move`,
73
73
  FILE_REMOVE: `${prefix} file remove`,
74
74
  FILE_RENAME: `${prefix} file rename`,
75
+ FILE_UNARCHIVE: `${prefix} file unarchive`,
75
76
  FILE_RETENTIONLABEL_ENSURE: `${prefix} file retentionlabel ensure`,
76
77
  FILE_RETENTIONLABEL_REMOVE: `${prefix} file retentionlabel remove`,
77
78
  FILE_ROLEASSIGNMENT_ADD: `${prefix} file roleassignment add`,
@@ -85,7 +86,6 @@ export default {
85
86
  FILE_SHARINGLINK_LIST: `${prefix} file sharinglink list`,
86
87
  FILE_SHARINGLINK_REMOVE: `${prefix} file sharinglink remove`,
87
88
  FILE_SHARINGLINK_SET: `${prefix} file sharinglink set`,
88
- FILE_UNARCHIVE: `${prefix} file unarchive`,
89
89
  FILE_VERSION_CLEAR: `${prefix} file version clear`,
90
90
  FILE_VERSION_GET: `${prefix} file version get`,
91
91
  FILE_VERSION_KEEP: `${prefix} file version keep`,
@@ -112,6 +112,7 @@ export default {
112
112
  FOLDER_SHARINGLINK_LIST: `${prefix} folder sharinglink list`,
113
113
  FOLDER_SHARINGLINK_REMOVE: `${prefix} folder sharinglink remove`,
114
114
  FOLDER_SHARINGLINK_SET: `${prefix} folder sharinglink set`,
115
+ FOLDER_UNARCHIVE: `${prefix} folder unarchive`,
115
116
  GET: `${prefix} get`,
116
117
  GROUP_ADD: `${prefix} group add`,
117
118
  GROUP_GET: `${prefix} group get`,
@@ -235,6 +236,7 @@ export default {
235
236
  PAGE_TEMPLATE_LIST: `${prefix} page template list`,
236
237
  PAGE_TEMPLATE_REMOVE: `${prefix} page template remove`,
237
238
  PAGE_TEXT_ADD: `${prefix} page text add`,
239
+ PAGE_UNPUBLISH: `${prefix} page unpublish`,
238
240
  PROPERTYBAG_GET: `${prefix} propertybag get`,
239
241
  PROPERTYBAG_LIST: `${prefix} propertybag list`,
240
242
  PROPERTYBAG_REMOVE: `${prefix} propertybag remove`,
@@ -377,6 +379,7 @@ export default {
377
379
  WEB_ROLEASSIGNMENT_ADD: `${prefix} web roleassignment add`,
378
380
  WEB_ROLEINHERITANCE_BREAK: `${prefix} web roleinheritance break`,
379
381
  WEB_ROLEINHERITANCE_RESET: `${prefix} web roleinheritance reset`,
382
+ WEB_RULE_GET: `${prefix} web rule get`,
380
383
  WEB_RULE_LIST: `${prefix} web rule list`,
381
384
  WEB_RULE_REMOVE: `${prefix} web rule remove`,
382
385
  WEB_SET: `${prefix} web set`
@@ -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 SppContentCenterListCommand extends SpoCommand {
7
9
  get name() {
8
10
  return commands.CONTENTCENTER_LIST;
@@ -13,6 +15,9 @@ class SppContentCenterListCommand extends SpoCommand {
13
15
  defaultProperties() {
14
16
  return ['Title', 'Url'];
15
17
  }
18
+ get schema() {
19
+ return options;
20
+ }
16
21
  async commandAction(logger) {
17
22
  try {
18
23
  if (this.verbose) {
@@ -1,15 +1,22 @@
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 _SppModelGetCommand_instances, _SppModelGetCommand_initTelemetry, _SppModelGetCommand_initOptions, _SppModelGetCommand_initValidators, _SppModelGetCommand_initOptionSets, _SppModelGetCommand_initTypes;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import { odata } from '../../../../utils/odata.js';
8
4
  import { spp } from '../../../../utils/spp.js';
9
5
  import { urlUtil } from '../../../../utils/urlUtil.js';
10
6
  import { validation } from '../../../../utils/validation.js';
11
7
  import SpoCommand from '../../../base/SpoCommand.js';
12
8
  import commands from '../../commands.js';
9
+ export const options = z.strictObject({
10
+ ...globalOptionsZod.shape,
11
+ siteUrl: z.string()
12
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
13
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
14
+ })
15
+ .alias('u'),
16
+ id: z.guid().optional().alias('i'),
17
+ title: z.string().optional().alias('t'),
18
+ withPublications: z.boolean().optional()
19
+ });
13
20
  class SppModelGetCommand extends SpoCommand {
14
21
  get name() {
15
22
  return commands.MODEL_GET;
@@ -17,14 +24,18 @@ class SppModelGetCommand extends SpoCommand {
17
24
  get description() {
18
25
  return 'Retrieves information about a document understanding model';
19
26
  }
20
- constructor() {
21
- super();
22
- _SppModelGetCommand_instances.add(this);
23
- __classPrivateFieldGet(this, _SppModelGetCommand_instances, "m", _SppModelGetCommand_initTelemetry).call(this);
24
- __classPrivateFieldGet(this, _SppModelGetCommand_instances, "m", _SppModelGetCommand_initOptions).call(this);
25
- __classPrivateFieldGet(this, _SppModelGetCommand_instances, "m", _SppModelGetCommand_initValidators).call(this);
26
- __classPrivateFieldGet(this, _SppModelGetCommand_instances, "m", _SppModelGetCommand_initOptionSets).call(this);
27
- __classPrivateFieldGet(this, _SppModelGetCommand_instances, "m", _SppModelGetCommand_initTypes).call(this);
27
+ get schema() {
28
+ return options;
29
+ }
30
+ getRefinedSchema(schema) {
31
+ return schema
32
+ .refine(opts => [opts.id, opts.title].filter(x => x !== undefined).length === 1, {
33
+ message: `Specify either 'id' or 'title', but not both.`,
34
+ params: {
35
+ customCode: 'optionSet',
36
+ options: ['id', 'title']
37
+ }
38
+ });
28
39
  }
29
40
  async commandAction(logger, args) {
30
41
  try {
@@ -56,36 +67,5 @@ class SppModelGetCommand extends SpoCommand {
56
67
  }
57
68
  }
58
69
  }
59
- _SppModelGetCommand_instances = new WeakSet(), _SppModelGetCommand_initTelemetry = function _SppModelGetCommand_initTelemetry() {
60
- this.telemetry.push((args) => {
61
- Object.assign(this.telemetryProperties, {
62
- id: typeof args.options.id !== 'undefined',
63
- title: typeof args.options.title !== 'undefined',
64
- withPublications: !!args.options.withPublications
65
- });
66
- });
67
- }, _SppModelGetCommand_initOptions = function _SppModelGetCommand_initOptions() {
68
- this.options.unshift({
69
- option: '-u, --siteUrl <siteUrl>'
70
- }, {
71
- option: '-i, --id [id]'
72
- }, {
73
- option: '-t, --title [title]'
74
- }, {
75
- option: '--withPublications'
76
- });
77
- }, _SppModelGetCommand_initValidators = function _SppModelGetCommand_initValidators() {
78
- this.validators.push(async (args) => {
79
- if (args.options.id && !validation.isValidGuid(args.options.id)) {
80
- return `${args.options.id} is not a valid GUID for option 'id'.`;
81
- }
82
- return validation.isValidSharePointUrl(args.options.siteUrl);
83
- });
84
- }, _SppModelGetCommand_initOptionSets = function _SppModelGetCommand_initOptionSets() {
85
- this.optionSets.push({ options: ['id', 'title'] });
86
- }, _SppModelGetCommand_initTypes = function _SppModelGetCommand_initTypes() {
87
- this.types.string.push('siteUrl', 'id', 'title');
88
- this.types.boolean.push('withPublications');
89
- };
90
70
  export default new SppModelGetCommand();
91
71
  //# sourceMappingURL=model-get.js.map
@@ -1,15 +1,19 @@
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 _SppModelListCommand_instances, _SppModelListCommand_initOptions, _SppModelListCommand_initTypes, _SppModelListCommand_initValidators;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import { odata } from '../../../../utils/odata.js';
8
4
  import { spp } from '../../../../utils/spp.js';
9
5
  import { urlUtil } from '../../../../utils/urlUtil.js';
10
6
  import { validation } from '../../../../utils/validation.js';
11
7
  import SpoCommand from '../../../base/SpoCommand.js';
12
8
  import commands from '../../commands.js';
9
+ export const options = z.strictObject({
10
+ ...globalOptionsZod.shape,
11
+ siteUrl: z.string()
12
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
13
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
14
+ })
15
+ .alias('u')
16
+ });
13
17
  class SppModelListCommand extends SpoCommand {
14
18
  get name() {
15
19
  return commands.MODEL_LIST;
@@ -20,12 +24,8 @@ class SppModelListCommand extends SpoCommand {
20
24
  defaultProperties() {
21
25
  return ['AIBuilderHybridModelType', 'ContentTypeName', 'LastTrained', 'UniqueId'];
22
26
  }
23
- constructor() {
24
- super();
25
- _SppModelListCommand_instances.add(this);
26
- __classPrivateFieldGet(this, _SppModelListCommand_instances, "m", _SppModelListCommand_initOptions).call(this);
27
- __classPrivateFieldGet(this, _SppModelListCommand_instances, "m", _SppModelListCommand_initTypes).call(this);
28
- __classPrivateFieldGet(this, _SppModelListCommand_instances, "m", _SppModelListCommand_initValidators).call(this);
27
+ get schema() {
28
+ return options;
29
29
  }
30
30
  async commandAction(logger, args) {
31
31
  try {
@@ -42,16 +42,5 @@ class SppModelListCommand extends SpoCommand {
42
42
  }
43
43
  }
44
44
  }
45
- _SppModelListCommand_instances = new WeakSet(), _SppModelListCommand_initOptions = function _SppModelListCommand_initOptions() {
46
- this.options.unshift({
47
- option: '-u, --siteUrl <siteUrl>'
48
- });
49
- }, _SppModelListCommand_initTypes = function _SppModelListCommand_initTypes() {
50
- this.types.string.push('siteUrl');
51
- }, _SppModelListCommand_initValidators = function _SppModelListCommand_initValidators() {
52
- this.validators.push(async (args) => {
53
- return validation.isValidSharePointUrl(args.options.siteUrl);
54
- });
55
- };
56
45
  export default new SppModelListCommand();
57
46
  //# sourceMappingURL=model-list.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 _SppModelRemoveCommand_instances, _SppModelRemoveCommand_initTelemetry, _SppModelRemoveCommand_initOptions, _SppModelRemoveCommand_initValidators, _SppModelRemoveCommand_initOptionSets, _SppModelRemoveCommand_initTypes;
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';
@@ -12,6 +8,17 @@ import { urlUtil } from '../../../../utils/urlUtil.js';
12
8
  import { validation } from '../../../../utils/validation.js';
13
9
  import SpoCommand from '../../../base/SpoCommand.js';
14
10
  import commands from '../../commands.js';
11
+ export const options = z.strictObject({
12
+ ...globalOptionsZod.shape,
13
+ siteUrl: z.string()
14
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
15
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
16
+ })
17
+ .alias('u'),
18
+ id: z.guid().optional().alias('i'),
19
+ title: z.string().optional().alias('t'),
20
+ force: z.boolean().optional().alias('f')
21
+ });
15
22
  class SppModelRemoveCommand extends SpoCommand {
16
23
  get name() {
17
24
  return commands.MODEL_REMOVE;
@@ -19,14 +26,18 @@ class SppModelRemoveCommand extends SpoCommand {
19
26
  get description() {
20
27
  return 'Deletes a document understanding model';
21
28
  }
22
- constructor() {
23
- super();
24
- _SppModelRemoveCommand_instances.add(this);
25
- __classPrivateFieldGet(this, _SppModelRemoveCommand_instances, "m", _SppModelRemoveCommand_initTelemetry).call(this);
26
- __classPrivateFieldGet(this, _SppModelRemoveCommand_instances, "m", _SppModelRemoveCommand_initOptions).call(this);
27
- __classPrivateFieldGet(this, _SppModelRemoveCommand_instances, "m", _SppModelRemoveCommand_initValidators).call(this);
28
- __classPrivateFieldGet(this, _SppModelRemoveCommand_instances, "m", _SppModelRemoveCommand_initOptionSets).call(this);
29
- __classPrivateFieldGet(this, _SppModelRemoveCommand_instances, "m", _SppModelRemoveCommand_initTypes).call(this);
29
+ get schema() {
30
+ return options;
31
+ }
32
+ getRefinedSchema(schema) {
33
+ return schema
34
+ .refine(opts => [opts.id, opts.title].filter(x => x !== undefined).length === 1, {
35
+ message: `Specify either 'id' or 'title', but not both.`,
36
+ params: {
37
+ customCode: 'optionSet',
38
+ options: ['id', 'title']
39
+ }
40
+ });
30
41
  }
31
42
  async commandAction(logger, args) {
32
43
  try {
@@ -70,36 +81,5 @@ class SppModelRemoveCommand extends SpoCommand {
70
81
  }
71
82
  }
72
83
  }
73
- _SppModelRemoveCommand_instances = new WeakSet(), _SppModelRemoveCommand_initTelemetry = function _SppModelRemoveCommand_initTelemetry() {
74
- this.telemetry.push((args) => {
75
- Object.assign(this.telemetryProperties, {
76
- id: typeof args.options.id !== 'undefined',
77
- title: typeof args.options.title !== 'undefined',
78
- force: !!args.options.force
79
- });
80
- });
81
- }, _SppModelRemoveCommand_initOptions = function _SppModelRemoveCommand_initOptions() {
82
- this.options.unshift({
83
- option: '-u, --siteUrl <siteUrl>'
84
- }, {
85
- option: '-i, --id [id]'
86
- }, {
87
- option: '-t, --title [title]'
88
- }, {
89
- option: '-f, --force'
90
- });
91
- }, _SppModelRemoveCommand_initValidators = function _SppModelRemoveCommand_initValidators() {
92
- this.validators.push(async (args) => {
93
- if (args.options.id && !validation.isValidGuid(args.options.id)) {
94
- return `${args.options.id} is not a valid GUID for option 'id'.`;
95
- }
96
- return validation.isValidSharePointUrl(args.options.siteUrl);
97
- });
98
- }, _SppModelRemoveCommand_initOptionSets = function _SppModelRemoveCommand_initOptionSets() {
99
- this.optionSets.push({ options: ['id', 'title'] });
100
- }, _SppModelRemoveCommand_initTypes = function _SppModelRemoveCommand_initTypes() {
101
- this.types.string.push('siteUrl', 'id', 'title');
102
- this.types.boolean.push('force');
103
- };
104
84
  export default new SppModelRemoveCommand();
105
85
  //# sourceMappingURL=model-remove.js.map
@@ -1,14 +1,30 @@
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 _TeamsChannelAddCommand_instances, _TeamsChannelAddCommand_initTelemetry, _TeamsChannelAddCommand_initOptions, _TeamsChannelAddCommand_initValidators, _TeamsChannelAddCommand_initOptionSets;
7
1
  import request from '../../../../request.js';
8
2
  import { validation } from '../../../../utils/validation.js';
9
3
  import GraphCommand from "../../../base/GraphCommand.js";
10
4
  import commands from '../../commands.js';
11
5
  import { teams } from '../../../../utils/teams.js';
6
+ import { globalOptionsZod } from '../../../../Command.js';
7
+ import { z } from 'zod';
8
+ export const options = z.strictObject({
9
+ ...globalOptionsZod.shape,
10
+ teamId: z.string()
11
+ .refine(val => validation.isValidGuid(val), {
12
+ message: 'The value must be a valid GUID.'
13
+ })
14
+ .optional()
15
+ .alias('i'),
16
+ teamName: z.string()
17
+ .optional(),
18
+ name: z.string()
19
+ .alias('n'),
20
+ description: z.string()
21
+ .optional()
22
+ .alias('d'),
23
+ type: z.enum(['standard', 'private', 'shared'])
24
+ .optional(),
25
+ owner: z.string()
26
+ .optional()
27
+ });
12
28
  class TeamsChannelAddCommand extends GraphCommand {
13
29
  get name() {
14
30
  return commands.CHANNEL_ADD;
@@ -16,13 +32,30 @@ class TeamsChannelAddCommand extends GraphCommand {
16
32
  get description() {
17
33
  return 'Adds a channel to the specified Microsoft Teams team';
18
34
  }
19
- constructor() {
20
- super();
21
- _TeamsChannelAddCommand_instances.add(this);
22
- __classPrivateFieldGet(this, _TeamsChannelAddCommand_instances, "m", _TeamsChannelAddCommand_initTelemetry).call(this);
23
- __classPrivateFieldGet(this, _TeamsChannelAddCommand_instances, "m", _TeamsChannelAddCommand_initOptions).call(this);
24
- __classPrivateFieldGet(this, _TeamsChannelAddCommand_instances, "m", _TeamsChannelAddCommand_initValidators).call(this);
25
- __classPrivateFieldGet(this, _TeamsChannelAddCommand_instances, "m", _TeamsChannelAddCommand_initOptionSets).call(this);
35
+ get schema() {
36
+ return options;
37
+ }
38
+ getRefinedSchema(schema) {
39
+ return schema
40
+ .refine(opts => [opts.teamId, opts.teamName].filter(x => x !== undefined).length === 1, {
41
+ message: 'Specify either teamId or teamName, but not both.',
42
+ params: {
43
+ customCode: 'optionSet',
44
+ options: ['teamId', 'teamName']
45
+ }
46
+ })
47
+ .refine(opts => !((opts.type === 'private' || opts.type === 'shared') && !opts.owner), {
48
+ message: 'Specify owner when creating a private or shared channel.',
49
+ params: {
50
+ customCode: 'required'
51
+ }
52
+ })
53
+ .refine(opts => !((opts.type !== 'private' && opts.type !== 'shared') && opts.owner), {
54
+ message: 'Specify owner only when creating a private or shared channel.',
55
+ params: {
56
+ customCode: 'required'
57
+ }
58
+ });
26
59
  }
27
60
  async commandAction(logger, args) {
28
61
  try {
@@ -66,49 +99,5 @@ class TeamsChannelAddCommand extends GraphCommand {
66
99
  return request.post(requestOptions);
67
100
  }
68
101
  }
69
- _TeamsChannelAddCommand_instances = new WeakSet(), _TeamsChannelAddCommand_initTelemetry = function _TeamsChannelAddCommand_initTelemetry() {
70
- this.telemetry.push((args) => {
71
- Object.assign(this.telemetryProperties, {
72
- description: typeof args.options.description !== 'undefined',
73
- teamId: typeof args.options.teamId !== 'undefined',
74
- teamName: typeof args.options.teamName !== 'undefined',
75
- type: args.options.type || 'standard',
76
- owner: typeof args.options.owner !== 'undefined'
77
- });
78
- });
79
- }, _TeamsChannelAddCommand_initOptions = function _TeamsChannelAddCommand_initOptions() {
80
- this.options.unshift({
81
- option: '-i, --teamId [teamId]'
82
- }, {
83
- option: '--teamName [teamName]'
84
- }, {
85
- option: '-n, --name <name>'
86
- }, {
87
- option: '-d, --description [description]'
88
- }, {
89
- option: '--type [type]',
90
- autocomplete: ['standard', 'private', 'shared']
91
- }, {
92
- option: '--owner [owner]'
93
- });
94
- }, _TeamsChannelAddCommand_initValidators = function _TeamsChannelAddCommand_initValidators() {
95
- this.validators.push(async (args) => {
96
- if (args.options.teamId && !validation.isValidGuid(args.options.teamId)) {
97
- return `${args.options.teamId} is not a valid GUID`;
98
- }
99
- if (args.options.type && ['standard', 'private', 'shared'].indexOf(args.options.type) === -1) {
100
- return `${args.options.type} is not a valid type value. Allowed values standard|private|shared.`;
101
- }
102
- if ((args.options.type === 'private' || args.options.type === 'shared') && !args.options.owner) {
103
- return `Specify owner when creating a ${args.options.type} channel.`;
104
- }
105
- if ((args.options.type !== 'private' && args.options.type !== 'shared') && args.options.owner) {
106
- return `Specify owner only when creating a private or shared channel.`;
107
- }
108
- return true;
109
- });
110
- }, _TeamsChannelAddCommand_initOptionSets = function _TeamsChannelAddCommand_initOptionSets() {
111
- this.optionSets.push({ options: ['teamId', 'teamName'] });
112
- };
113
102
  export default new TeamsChannelAddCommand();
114
103
  //# sourceMappingURL=channel-add.js.map