@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
@@ -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 _SpoListItemRetentionLabelRemoveCommand_instances, _SpoListItemRetentionLabelRemoveCommand_initTelemetry, _SpoListItemRetentionLabelRemoveCommand_initOptions, _SpoListItemRetentionLabelRemoveCommand_initValidators, _SpoListItemRetentionLabelRemoveCommand_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 { urlUtil } from '../../../../utils/urlUtil.js';
@@ -12,6 +8,24 @@ import { validation } from '../../../../utils/validation.js';
12
8
  import SpoCommand from '../../../base/SpoCommand.js';
13
9
  import commands from '../../commands.js';
14
10
  import { spo } from '../../../../utils/spo.js';
11
+ export const options = z.strictObject({
12
+ ...globalOptionsZod.shape,
13
+ webUrl: z.string()
14
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
15
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
16
+ })
17
+ .alias('u'),
18
+ listItemId: z.number().alias('i'),
19
+ listId: z.string()
20
+ .refine(id => validation.isValidGuid(id), {
21
+ error: e => `${e.input} is not a valid GUID`
22
+ })
23
+ .optional()
24
+ .alias('l'),
25
+ listTitle: z.string().optional().alias('t'),
26
+ listUrl: z.string().optional(),
27
+ force: z.boolean().optional().alias('f')
28
+ });
15
29
  class SpoListItemRetentionLabelRemoveCommand extends SpoCommand {
16
30
  get name() {
17
31
  return commands.LISTITEM_RETENTIONLABEL_REMOVE;
@@ -19,13 +33,18 @@ class SpoListItemRetentionLabelRemoveCommand extends SpoCommand {
19
33
  get description() {
20
34
  return 'Clears the retention label from a list item';
21
35
  }
22
- constructor() {
23
- super();
24
- _SpoListItemRetentionLabelRemoveCommand_instances.add(this);
25
- __classPrivateFieldGet(this, _SpoListItemRetentionLabelRemoveCommand_instances, "m", _SpoListItemRetentionLabelRemoveCommand_initTelemetry).call(this);
26
- __classPrivateFieldGet(this, _SpoListItemRetentionLabelRemoveCommand_instances, "m", _SpoListItemRetentionLabelRemoveCommand_initOptions).call(this);
27
- __classPrivateFieldGet(this, _SpoListItemRetentionLabelRemoveCommand_instances, "m", _SpoListItemRetentionLabelRemoveCommand_initValidators).call(this);
28
- __classPrivateFieldGet(this, _SpoListItemRetentionLabelRemoveCommand_instances, "m", _SpoListItemRetentionLabelRemoveCommand_initOptionSets).call(this);
36
+ get schema() {
37
+ return options;
38
+ }
39
+ getRefinedSchema(schema) {
40
+ return schema
41
+ .refine(opts => [opts.listId, opts.listTitle, opts.listUrl].filter(o => o !== undefined).length === 1, {
42
+ error: 'Specify either listId, listTitle or listUrl.',
43
+ params: {
44
+ customCode: 'optionSet',
45
+ options: ['listId', 'listTitle', 'listUrl']
46
+ }
47
+ });
29
48
  }
30
49
  async commandAction(logger, args) {
31
50
  if (args.options.force) {
@@ -41,7 +60,7 @@ class SpoListItemRetentionLabelRemoveCommand extends SpoCommand {
41
60
  async removeListItemRetentionLabel(logger, args) {
42
61
  try {
43
62
  const listAbsoluteUrl = await this.getListAbsoluteUrl(args.options, logger);
44
- await spo.removeRetentionLabelFromListItems(args.options.webUrl, listAbsoluteUrl, [parseInt(args.options.listItemId)], logger, args.options.verbose);
63
+ await spo.removeRetentionLabelFromListItems(args.options.webUrl, listAbsoluteUrl, [args.options.listItemId], logger, args.options.verbose);
45
64
  }
46
65
  catch (err) {
47
66
  this.handleRejectedODataJsonPromise(err);
@@ -80,47 +99,5 @@ class SpoListItemRetentionLabelRemoveCommand extends SpoCommand {
80
99
  return listAbsoluteUrl;
81
100
  }
82
101
  }
83
- _SpoListItemRetentionLabelRemoveCommand_instances = new WeakSet(), _SpoListItemRetentionLabelRemoveCommand_initTelemetry = function _SpoListItemRetentionLabelRemoveCommand_initTelemetry() {
84
- this.telemetry.push((args) => {
85
- Object.assign(this.telemetryProperties, {
86
- listId: typeof args.options.listId !== 'undefined',
87
- listTitle: typeof args.options.listTitle !== 'undefined',
88
- listUrl: typeof args.options.listUrl !== 'undefined',
89
- force: !!args.options.force
90
- });
91
- });
92
- }, _SpoListItemRetentionLabelRemoveCommand_initOptions = function _SpoListItemRetentionLabelRemoveCommand_initOptions() {
93
- this.options.unshift({
94
- option: '-u, --webUrl <webUrl>'
95
- }, {
96
- option: '-i, --listItemId <listItemId>'
97
- }, {
98
- option: '-l, --listId [listId]'
99
- }, {
100
- option: '-t, --listTitle [listTitle]'
101
- }, {
102
- option: '--listUrl [listUrl]'
103
- }, {
104
- option: '-f, --force'
105
- });
106
- }, _SpoListItemRetentionLabelRemoveCommand_initValidators = function _SpoListItemRetentionLabelRemoveCommand_initValidators() {
107
- this.validators.push(async (args) => {
108
- const id = parseInt(args.options.listItemId);
109
- if (isNaN(id)) {
110
- return `${args.options.listItemId} is not a valid list item ID`;
111
- }
112
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
113
- if (isValidSharePointUrl !== true) {
114
- return isValidSharePointUrl;
115
- }
116
- if (args.options.listId &&
117
- !validation.isValidGuid(args.options.listId)) {
118
- return `${args.options.listId} is not a valid GUID`;
119
- }
120
- return true;
121
- });
122
- }, _SpoListItemRetentionLabelRemoveCommand_initOptionSets = function _SpoListItemRetentionLabelRemoveCommand_initOptionSets() {
123
- this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] });
124
- };
125
102
  export default new SpoListItemRetentionLabelRemoveCommand();
126
103
  //# sourceMappingURL=listitem-retentionlabel-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 _SpoListItemRoleAssignmentAddCommand_instances, _SpoListItemRoleAssignmentAddCommand_initTelemetry, _SpoListItemRoleAssignmentAddCommand_initOptions, _SpoListItemRoleAssignmentAddCommand_initValidators;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import request from '../../../../request.js';
8
4
  import { entraGroup } from '../../../../utils/entraGroup.js';
9
5
  import { formatting } from '../../../../utils/formatting.js';
@@ -12,6 +8,33 @@ import { validation } from '../../../../utils/validation.js';
12
8
  import SpoCommand from '../../../base/SpoCommand.js';
13
9
  import commands from '../../commands.js';
14
10
  import { spo } from '../../../../utils/spo.js';
11
+ export const options = z.strictObject({
12
+ ...globalOptionsZod.shape,
13
+ webUrl: z.string()
14
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
15
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
16
+ })
17
+ .alias('u'),
18
+ listItemId: z.number(),
19
+ listId: z.string()
20
+ .refine(id => validation.isValidGuid(id), {
21
+ error: e => `${e.input} is not a valid GUID`
22
+ })
23
+ .optional(),
24
+ listTitle: z.string().optional(),
25
+ listUrl: z.string().optional(),
26
+ principalId: z.number().optional(),
27
+ upn: z.string().optional(),
28
+ groupName: z.string().optional(),
29
+ entraGroupId: z.string()
30
+ .refine(id => validation.isValidGuid(id), {
31
+ error: e => `'${e.input}' is not a valid GUID for option entraGroupId.`
32
+ })
33
+ .optional(),
34
+ entraGroupName: z.string().optional(),
35
+ roleDefinitionId: z.number().optional(),
36
+ roleDefinitionName: z.string().optional()
37
+ });
15
38
  class SpoListItemRoleAssignmentAddCommand extends SpoCommand {
16
39
  get name() {
17
40
  return commands.LISTITEM_ROLEASSIGNMENT_ADD;
@@ -19,12 +42,32 @@ class SpoListItemRoleAssignmentAddCommand extends SpoCommand {
19
42
  get description() {
20
43
  return 'Adds a role assignment to a listitem.';
21
44
  }
22
- constructor() {
23
- super();
24
- _SpoListItemRoleAssignmentAddCommand_instances.add(this);
25
- __classPrivateFieldGet(this, _SpoListItemRoleAssignmentAddCommand_instances, "m", _SpoListItemRoleAssignmentAddCommand_initTelemetry).call(this);
26
- __classPrivateFieldGet(this, _SpoListItemRoleAssignmentAddCommand_instances, "m", _SpoListItemRoleAssignmentAddCommand_initOptions).call(this);
27
- __classPrivateFieldGet(this, _SpoListItemRoleAssignmentAddCommand_instances, "m", _SpoListItemRoleAssignmentAddCommand_initValidators).call(this);
45
+ get schema() {
46
+ return options;
47
+ }
48
+ getRefinedSchema(schema) {
49
+ return schema
50
+ .refine(opts => [opts.listId, opts.listTitle, opts.listUrl].filter(o => o !== undefined).length === 1, {
51
+ error: 'Specify either listId, listTitle or listUrl.',
52
+ params: {
53
+ customCode: 'optionSet',
54
+ options: ['listId', 'listTitle', 'listUrl']
55
+ }
56
+ })
57
+ .refine(opts => [opts.principalId, opts.upn, opts.groupName, opts.entraGroupId, opts.entraGroupName].filter(o => o !== undefined).length === 1, {
58
+ error: 'Specify either principalId, upn, groupName, entraGroupId or entraGroupName.',
59
+ params: {
60
+ customCode: 'optionSet',
61
+ options: ['principalId', 'upn', 'groupName', 'entraGroupId', 'entraGroupName']
62
+ }
63
+ })
64
+ .refine(opts => [opts.roleDefinitionId, opts.roleDefinitionName].filter(o => o !== undefined).length === 1, {
65
+ error: 'Specify either roleDefinitionId or roleDefinitionName.',
66
+ params: {
67
+ customCode: 'optionSet',
68
+ options: ['roleDefinitionId', 'roleDefinitionName']
69
+ }
70
+ });
28
71
  }
29
72
  async commandAction(logger, args) {
30
73
  if (this.verbose) {
@@ -95,91 +138,5 @@ class SpoListItemRoleAssignmentAddCommand extends SpoCommand {
95
138
  return user.Id;
96
139
  }
97
140
  }
98
- _SpoListItemRoleAssignmentAddCommand_instances = new WeakSet(), _SpoListItemRoleAssignmentAddCommand_initTelemetry = function _SpoListItemRoleAssignmentAddCommand_initTelemetry() {
99
- this.telemetry.push((args) => {
100
- Object.assign(this.telemetryProperties, {
101
- listId: typeof args.options.listId !== 'undefined',
102
- listTitle: typeof args.options.listTitle !== 'undefined',
103
- listUrl: typeof args.options.listUrl !== 'undefined',
104
- principalId: typeof args.options.principalId !== 'undefined',
105
- upn: typeof args.options.upn !== 'undefined',
106
- groupName: typeof args.options.groupName !== 'undefined',
107
- entraGroupId: typeof args.options.entraGroupId !== 'undefined',
108
- entraGroupName: typeof args.options.entraGroupName !== 'undefined',
109
- roleDefinitionId: typeof args.options.roleDefinitionId !== 'undefined',
110
- roleDefinitionName: typeof args.options.roleDefinitionName !== 'undefined'
111
- });
112
- });
113
- }, _SpoListItemRoleAssignmentAddCommand_initOptions = function _SpoListItemRoleAssignmentAddCommand_initOptions() {
114
- this.options.unshift({
115
- option: '-u, --webUrl <webUrl>'
116
- }, {
117
- option: '--listItemId <listItemId>'
118
- }, {
119
- option: '--listId [listId]'
120
- }, {
121
- option: '--listTitle [listTitle]'
122
- }, {
123
- option: '--listUrl [listUrl]'
124
- }, {
125
- option: '--principalId [principalId]'
126
- }, {
127
- option: '--upn [upn]'
128
- }, {
129
- option: '--groupName [groupName]'
130
- }, {
131
- option: '--entraGroupId [entraGroupId]'
132
- }, {
133
- option: '--entraGroupName [entraGroupName]'
134
- }, {
135
- option: '--roleDefinitionId [roleDefinitionId]'
136
- }, {
137
- option: '--roleDefinitionName [roleDefinitionName]'
138
- });
139
- }, _SpoListItemRoleAssignmentAddCommand_initValidators = function _SpoListItemRoleAssignmentAddCommand_initValidators() {
140
- this.validators.push(async (args) => {
141
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
142
- if (isValidSharePointUrl !== true) {
143
- return isValidSharePointUrl;
144
- }
145
- if (args.options.listId && !validation.isValidGuid(args.options.listId)) {
146
- return `${args.options.listId} is not a valid GUID`;
147
- }
148
- if (args.options.listItemId && isNaN(args.options.listItemId)) {
149
- return `Specified listItemId ${args.options.listItemId} is not a number`;
150
- }
151
- if (args.options.principalId && isNaN(args.options.principalId)) {
152
- return `Specified principalId ${args.options.principalId} is not a number`;
153
- }
154
- if (args.options.roleDefinitionId && isNaN(args.options.roleDefinitionId)) {
155
- return `Specified roleDefinitionId ${args.options.roleDefinitionId} is not a number`;
156
- }
157
- const listOptions = [args.options.listId, args.options.listTitle, args.options.listUrl];
158
- if (listOptions.some(item => item !== undefined) && listOptions.filter(item => item !== undefined).length > 1) {
159
- return `Specify either list id or title or list url`;
160
- }
161
- if (listOptions.filter(item => item !== undefined).length === 0) {
162
- return `Specify at least list id or title or list url`;
163
- }
164
- const principalOptions = [args.options.principalId, args.options.upn, args.options.groupName, args.options.entraGroupId, args.options.entraGroupName];
165
- if (!principalOptions.some(item => item !== undefined)) {
166
- return `Specify either principalId, upn, groupName, entraGroupId or entraGroupName`;
167
- }
168
- if (principalOptions.filter(item => item !== undefined).length > 1) {
169
- return `Specify either principalId, upn, groupName, entraGroupId or entraGroupName but not multiple`;
170
- }
171
- if (args.options.entraGroupId && !validation.isValidGuid(args.options.entraGroupId)) {
172
- return `'${args.options.entraGroupId}' is not a valid GUID for option entraGroupId.`;
173
- }
174
- const roleDefinitionOptions = [args.options.roleDefinitionId, args.options.roleDefinitionName];
175
- if (!roleDefinitionOptions.some(item => item !== undefined)) {
176
- return `Specify either roleDefinitionId or roleDefinitionName`;
177
- }
178
- if (roleDefinitionOptions.filter(item => item !== undefined).length > 1) {
179
- return `Specify either roleDefinitionId or roleDefinitionName but not multiple`;
180
- }
181
- return true;
182
- });
183
- };
184
141
  export default new SpoListItemRoleAssignmentAddCommand();
185
142
  //# sourceMappingURL=listitem-roleassignment-add.js.map
@@ -1,10 +1,6 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _SpoListItemRoleAssignmentRemoveCommand_instances, _SpoListItemRoleAssignmentRemoveCommand_initTelemetry, _SpoListItemRoleAssignmentRemoveCommand_initOptions, _SpoListItemRoleAssignmentRemoveCommand_initValidators, _SpoListItemRoleAssignmentRemoveCommand_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 { urlUtil } from '../../../../utils/urlUtil.js';
@@ -13,6 +9,33 @@ import SpoCommand from '../../../base/SpoCommand.js';
13
9
  import commands from '../../commands.js';
14
10
  import { entraGroup } from '../../../../utils/entraGroup.js';
15
11
  import { spo } from '../../../../utils/spo.js';
12
+ export const options = z.strictObject({
13
+ ...globalOptionsZod.shape,
14
+ webUrl: z.string()
15
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
16
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
17
+ })
18
+ .alias('u'),
19
+ listId: z.string()
20
+ .refine(id => validation.isValidGuid(id), {
21
+ error: e => `${e.input} is not a valid GUID`
22
+ })
23
+ .optional()
24
+ .alias('i'),
25
+ listTitle: z.string().optional().alias('t'),
26
+ listUrl: z.string().optional(),
27
+ listItemId: z.number(),
28
+ principalId: z.number().optional(),
29
+ upn: z.string().optional(),
30
+ groupName: z.string().optional(),
31
+ entraGroupId: z.string()
32
+ .refine(id => validation.isValidGuid(id), {
33
+ error: e => `'${e.input}' is not a valid GUID for option entraGroupId.`
34
+ })
35
+ .optional(),
36
+ entraGroupName: z.string().optional(),
37
+ force: z.boolean().optional().alias('f')
38
+ });
16
39
  class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand {
17
40
  get name() {
18
41
  return commands.LISTITEM_ROLEASSIGNMENT_REMOVE;
@@ -20,13 +43,25 @@ class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand {
20
43
  get description() {
21
44
  return 'Removes a role assignment from list item permissions';
22
45
  }
23
- constructor() {
24
- super();
25
- _SpoListItemRoleAssignmentRemoveCommand_instances.add(this);
26
- __classPrivateFieldGet(this, _SpoListItemRoleAssignmentRemoveCommand_instances, "m", _SpoListItemRoleAssignmentRemoveCommand_initTelemetry).call(this);
27
- __classPrivateFieldGet(this, _SpoListItemRoleAssignmentRemoveCommand_instances, "m", _SpoListItemRoleAssignmentRemoveCommand_initOptions).call(this);
28
- __classPrivateFieldGet(this, _SpoListItemRoleAssignmentRemoveCommand_instances, "m", _SpoListItemRoleAssignmentRemoveCommand_initValidators).call(this);
29
- __classPrivateFieldGet(this, _SpoListItemRoleAssignmentRemoveCommand_instances, "m", _SpoListItemRoleAssignmentRemoveCommand_initOptionSets).call(this);
46
+ get schema() {
47
+ return options;
48
+ }
49
+ getRefinedSchema(schema) {
50
+ return schema
51
+ .refine(opts => [opts.listId, opts.listTitle, opts.listUrl].filter(o => o !== undefined).length === 1, {
52
+ error: 'Specify either listId, listTitle or listUrl.',
53
+ params: {
54
+ customCode: 'optionSet',
55
+ options: ['listId', 'listTitle', 'listUrl']
56
+ }
57
+ })
58
+ .refine(opts => [opts.principalId, opts.upn, opts.groupName, opts.entraGroupId, opts.entraGroupName].filter(o => o !== undefined).length === 1, {
59
+ error: 'Specify either principalId, upn, groupName, entraGroupId or entraGroupName.',
60
+ params: {
61
+ customCode: 'optionSet',
62
+ options: ['principalId', 'upn', 'groupName', 'entraGroupId', 'entraGroupName']
63
+ }
64
+ });
30
65
  }
31
66
  async commandAction(logger, args) {
32
67
  if (args.options.force) {
@@ -99,66 +134,5 @@ class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand {
99
134
  return user.Id;
100
135
  }
101
136
  }
102
- _SpoListItemRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoListItemRoleAssignmentRemoveCommand_initTelemetry = function _SpoListItemRoleAssignmentRemoveCommand_initTelemetry() {
103
- this.telemetry.push((args) => {
104
- Object.assign(this.telemetryProperties, {
105
- listId: typeof args.options.listId !== 'undefined',
106
- listTitle: typeof args.options.listTitle !== 'undefined',
107
- listUrl: typeof args.options.listUrl !== 'undefined',
108
- principalId: typeof args.options.principalId !== 'undefined',
109
- upn: typeof args.options.upn !== 'undefined',
110
- groupName: typeof args.options.groupName !== 'undefined',
111
- entraGroupId: typeof args.options.entraGroupId !== 'undefined',
112
- entraGroupName: typeof args.options.entraGroupName !== 'undefined',
113
- force: (!(!args.options.force)).toString()
114
- });
115
- });
116
- }, _SpoListItemRoleAssignmentRemoveCommand_initOptions = function _SpoListItemRoleAssignmentRemoveCommand_initOptions() {
117
- this.options.unshift({
118
- option: '-u, --webUrl <webUrl>'
119
- }, {
120
- option: '-i, --listId [listId]'
121
- }, {
122
- option: '-t, --listTitle [listTitle]'
123
- }, {
124
- option: '--listUrl [listUrl]'
125
- }, {
126
- option: '--listItemId <listItemId>'
127
- }, {
128
- option: '--principalId [principalId]'
129
- }, {
130
- option: '--upn [upn]'
131
- }, {
132
- option: '--groupName [groupName]'
133
- }, {
134
- option: '--entraGroupId [entraGroupId]'
135
- }, {
136
- option: '--entraGroupName [entraGroupName]'
137
- }, {
138
- option: '-f, --force'
139
- });
140
- }, _SpoListItemRoleAssignmentRemoveCommand_initValidators = function _SpoListItemRoleAssignmentRemoveCommand_initValidators() {
141
- this.validators.push(async (args) => {
142
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
143
- if (isValidSharePointUrl !== true) {
144
- return isValidSharePointUrl;
145
- }
146
- if (args.options.listId && !validation.isValidGuid(args.options.listId)) {
147
- return `${args.options.listId} is not a valid GUID`;
148
- }
149
- if (args.options.listItemId && isNaN(args.options.listItemId)) {
150
- return `Specified listItemId ${args.options.listItemId} is not a number`;
151
- }
152
- if (args.options.principalId && isNaN(args.options.principalId)) {
153
- return `Specified principalId ${args.options.principalId} is not a number`;
154
- }
155
- if (args.options.entraGroupId && !validation.isValidGuid(args.options.entraGroupId)) {
156
- return `'${args.options.entraGroupId}' is not a valid GUID for option entraGroupId.`;
157
- }
158
- return true;
159
- });
160
- }, _SpoListItemRoleAssignmentRemoveCommand_initOptionSets = function _SpoListItemRoleAssignmentRemoveCommand_initOptionSets() {
161
- this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] }, { options: ['principalId', 'upn', 'groupName', 'entraGroupId', 'entraGroupName'] });
162
- };
163
137
  export default new SpoListItemRoleAssignmentRemoveCommand();
164
138
  //# sourceMappingURL=listitem-roleassignment-remove.js.map
@@ -1,16 +1,31 @@
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 _SpoListItemRoleInheritanceBreakCommand_instances, _SpoListItemRoleInheritanceBreakCommand_initTelemetry, _SpoListItemRoleInheritanceBreakCommand_initOptions, _SpoListItemRoleInheritanceBreakCommand_initValidators, _SpoListItemRoleInheritanceBreakCommand_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 { urlUtil } from '../../../../utils/urlUtil.js';
11
7
  import { validation } from '../../../../utils/validation.js';
12
8
  import SpoCommand from '../../../base/SpoCommand.js';
13
9
  import commands from '../../commands.js';
10
+ export const options = z.strictObject({
11
+ ...globalOptionsZod.shape,
12
+ webUrl: z.string()
13
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
14
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
15
+ })
16
+ .alias('u'),
17
+ listItemId: z.number(),
18
+ listId: z.string()
19
+ .refine(id => validation.isValidGuid(id), {
20
+ error: e => `${e.input} is not a valid GUID`
21
+ })
22
+ .optional()
23
+ .alias('l'),
24
+ listTitle: z.string().optional().alias('t'),
25
+ listUrl: z.string().optional(),
26
+ clearExistingPermissions: z.boolean().optional().alias('c'),
27
+ force: z.boolean().optional().alias('f')
28
+ });
14
29
  class SpoListItemRoleInheritanceBreakCommand extends SpoCommand {
15
30
  get name() {
16
31
  return commands.LISTITEM_ROLEINHERITANCE_BREAK;
@@ -18,13 +33,18 @@ class SpoListItemRoleInheritanceBreakCommand extends SpoCommand {
18
33
  get description() {
19
34
  return 'Breaks inheritance of list item';
20
35
  }
21
- constructor() {
22
- super();
23
- _SpoListItemRoleInheritanceBreakCommand_instances.add(this);
24
- __classPrivateFieldGet(this, _SpoListItemRoleInheritanceBreakCommand_instances, "m", _SpoListItemRoleInheritanceBreakCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _SpoListItemRoleInheritanceBreakCommand_instances, "m", _SpoListItemRoleInheritanceBreakCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _SpoListItemRoleInheritanceBreakCommand_instances, "m", _SpoListItemRoleInheritanceBreakCommand_initValidators).call(this);
27
- __classPrivateFieldGet(this, _SpoListItemRoleInheritanceBreakCommand_instances, "m", _SpoListItemRoleInheritanceBreakCommand_initOptionSets).call(this);
36
+ get schema() {
37
+ return options;
38
+ }
39
+ getRefinedSchema(schema) {
40
+ return schema
41
+ .refine(opts => [opts.listId, opts.listTitle, opts.listUrl].filter(o => o !== undefined).length === 1, {
42
+ error: 'Specify either listId, listTitle or listUrl.',
43
+ params: {
44
+ customCode: 'optionSet',
45
+ options: ['listId', 'listTitle', 'listUrl']
46
+ }
47
+ });
28
48
  }
29
49
  async commandAction(logger, args) {
30
50
  if (this.verbose) {
@@ -73,48 +93,5 @@ class SpoListItemRoleInheritanceBreakCommand extends SpoCommand {
73
93
  }
74
94
  }
75
95
  }
76
- _SpoListItemRoleInheritanceBreakCommand_instances = new WeakSet(), _SpoListItemRoleInheritanceBreakCommand_initTelemetry = function _SpoListItemRoleInheritanceBreakCommand_initTelemetry() {
77
- this.telemetry.push((args) => {
78
- Object.assign(this.telemetryProperties, {
79
- listId: typeof args.options.listId !== 'undefined',
80
- listTitle: typeof args.options.listTitle !== 'undefined',
81
- listUrl: typeof args.options.listUrl !== 'undefined',
82
- clearExistingPermissions: args.options.clearExistingPermissions === true,
83
- force: (!(!args.options.force)).toString()
84
- });
85
- });
86
- }, _SpoListItemRoleInheritanceBreakCommand_initOptions = function _SpoListItemRoleInheritanceBreakCommand_initOptions() {
87
- this.options.unshift({
88
- option: '-u, --webUrl <webUrl>'
89
- }, {
90
- option: '--listItemId <listItemId>'
91
- }, {
92
- option: '-l, --listId [listId]'
93
- }, {
94
- option: '-t, --listTitle [listTitle]'
95
- }, {
96
- option: '--listUrl [listUrl]'
97
- }, {
98
- option: '-c, --clearExistingPermissions'
99
- }, {
100
- option: '-f, --force'
101
- });
102
- }, _SpoListItemRoleInheritanceBreakCommand_initValidators = function _SpoListItemRoleInheritanceBreakCommand_initValidators() {
103
- this.validators.push(async (args) => {
104
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
105
- if (isValidSharePointUrl !== true) {
106
- return isValidSharePointUrl;
107
- }
108
- if (args.options.listId && !validation.isValidGuid(args.options.listId)) {
109
- return `${args.options.listId} is not a valid GUID`;
110
- }
111
- if (isNaN(args.options.listItemId)) {
112
- return `${args.options.listItemId} is not a number`;
113
- }
114
- return true;
115
- });
116
- }, _SpoListItemRoleInheritanceBreakCommand_initOptionSets = function _SpoListItemRoleInheritanceBreakCommand_initOptionSets() {
117
- this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] });
118
- };
119
96
  export default new SpoListItemRoleInheritanceBreakCommand();
120
97
  //# sourceMappingURL=listitem-roleinheritance-break.js.map