@pnp/cli-microsoft365 12.0.0-beta.1752794 → 12.0.0-beta.445fe0a

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 (315) hide show
  1. package/allCommands.json +1 -1
  2. package/allCommandsFull.json +1 -1
  3. package/dist/Auth.js +19 -2
  4. package/dist/Command.js +11 -8
  5. package/dist/cli/cli.js +34 -18
  6. package/dist/config.js +2 -0
  7. package/dist/m365/cli/commands/cli-consent.js +9 -2
  8. package/dist/m365/entra/commands/agent/agent-blueprint-list.js +52 -0
  9. package/dist/m365/entra/commands/agent/agent-blueprintprincipal-list.js +56 -0
  10. package/dist/m365/entra/commands/m365group/m365group-add.js +52 -97
  11. package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +20 -33
  12. package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +20 -39
  13. package/dist/m365/entra/commands/m365group/m365group-get.js +20 -41
  14. package/dist/m365/entra/commands/m365group/m365group-list.js +11 -31
  15. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-clear.js +8 -22
  16. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-list.js +9 -25
  17. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-remove.js +21 -43
  18. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-restore.js +21 -41
  19. package/dist/m365/entra/commands/m365group/m365group-remove.js +25 -46
  20. package/dist/m365/entra/commands/m365group/m365group-renew.js +19 -32
  21. package/dist/m365/entra/commands/m365group/m365group-set.js +86 -141
  22. package/dist/m365/entra/commands/m365group/m365group-teamify.js +20 -43
  23. package/dist/m365/entra/commands/m365group/m365group-user-add.js +44 -77
  24. package/dist/m365/entra/commands/m365group/m365group-user-list.js +28 -55
  25. package/dist/m365/entra/commands/m365group/m365group-user-remove.js +37 -74
  26. package/dist/m365/entra/commands/m365group/m365group-user-set.js +45 -77
  27. package/dist/m365/entra/commands.js +2 -0
  28. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +14 -16
  29. package/dist/m365/outlook/commands/calendargroup/calendargroup-add.js +97 -0
  30. package/dist/m365/outlook/commands/event/event-add.js +324 -0
  31. package/dist/m365/outlook/commands.js +2 -0
  32. package/dist/m365/spe/commands/container/container-activate.js +8 -16
  33. package/dist/m365/spe/commands/container/container-list.js +21 -42
  34. package/dist/m365/spe/commands/container/container-permission-add.js +114 -0
  35. package/dist/m365/spe/commands/container/container-permission-remove.js +94 -0
  36. package/dist/m365/spe/commands/container/container-permission-set.js +90 -0
  37. package/dist/m365/spe/commands/containertype/containertype-list.js +5 -0
  38. package/dist/m365/spe/commands.js +3 -0
  39. package/dist/m365/spfx/commands/SpfxCompatibilityMatrix.js +30 -0
  40. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.24.0.js +19 -0
  41. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.24.1.js +19 -0
  42. package/dist/m365/spfx/commands/project/project-doctor.js +3 -1
  43. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012021_TSC_excludeDirectories.js +43 -0
  44. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027002_OVERRIDES_qs.js +33 -0
  45. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027003_OVERRIDES_uuid.js +33 -0
  46. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027004_OVERRIDES_serialize_javascript.js +34 -0
  47. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.24.0.js +77 -0
  48. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.24.1.js +57 -0
  49. package/dist/m365/spfx/commands/project/project-upgrade.js +3 -1
  50. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +38 -71
  51. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-get.js +25 -59
  52. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +11 -34
  53. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-remove.js +25 -54
  54. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +52 -83
  55. package/dist/m365/spo/commands/apppage/apppage-add.js +21 -39
  56. package/dist/m365/spo/commands/apppage/apppage-set.js +20 -30
  57. package/dist/m365/spo/commands/commandset/commandset-add.js +17 -59
  58. package/dist/m365/spo/commands/commandset/commandset-get.js +24 -62
  59. package/dist/m365/spo/commands/commandset/commandset-list.js +11 -34
  60. package/dist/m365/spo/commands/commandset/commandset-remove.js +21 -54
  61. package/dist/m365/spo/commands/commandset/commandset-set.js +30 -83
  62. package/dist/m365/spo/commands/contenttype/contenttype-add.js +22 -51
  63. package/dist/m365/spo/commands/contenttype/contenttype-field-list.js +38 -62
  64. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +25 -54
  65. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +20 -43
  66. package/dist/m365/spo/commands/contenttype/contenttype-get.js +29 -54
  67. package/dist/m365/spo/commands/contenttype/contenttype-list.js +13 -30
  68. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +24 -39
  69. package/dist/m365/spo/commands/contenttype/contenttype-set.js +42 -63
  70. package/dist/m365/spo/commands/contenttype/contenttype-sync.js +37 -59
  71. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +5 -0
  72. package/dist/m365/spo/commands/customaction/customaction-add.js +124 -145
  73. package/dist/m365/spo/commands/customaction/customaction-clear.js +12 -43
  74. package/dist/m365/spo/commands/customaction/customaction-get.js +28 -59
  75. package/dist/m365/spo/commands/customaction/customaction-list.js +12 -42
  76. package/dist/m365/spo/commands/customaction/customaction-remove.js +26 -54
  77. package/dist/m365/spo/commands/customaction/customaction-set.js +75 -132
  78. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +39 -65
  79. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +28 -56
  80. package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +40 -68
  81. package/dist/m365/spo/commands/externaluser/externaluser-list.js +29 -80
  82. package/dist/m365/spo/commands/group/group-add.js +19 -60
  83. package/dist/m365/spo/commands/group/group-get.js +32 -45
  84. package/dist/m365/spo/commands/group/group-list.js +13 -27
  85. package/dist/m365/spo/commands/group/group-member-add.js +52 -84
  86. package/dist/m365/spo/commands/group/group-member-list.js +24 -38
  87. package/dist/m365/spo/commands/group/group-member-remove.js +49 -68
  88. package/dist/m365/spo/commands/group/group-remove.js +25 -45
  89. package/dist/m365/spo/commands/group/group-set.js +36 -79
  90. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +5 -0
  91. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +8 -22
  92. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +10 -18
  93. package/dist/m365/spo/commands/listitem/listitem-add.js +27 -55
  94. package/dist/m365/spo/commands/listitem/listitem-attachment-add.js +30 -58
  95. package/dist/m365/spo/commands/listitem/listitem-attachment-get.js +27 -52
  96. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +26 -50
  97. package/dist/m365/spo/commands/listitem/listitem-attachment-remove.js +28 -55
  98. package/dist/m365/spo/commands/listitem/listitem-attachment-set.js +30 -57
  99. package/dist/m365/spo/commands/listitem/listitem-batch-add.js +36 -58
  100. package/dist/m365/spo/commands/listitem/listitem-batch-remove.js +68 -92
  101. package/dist/m365/spo/commands/listitem/listitem-batch-set.js +37 -57
  102. package/dist/m365/spo/commands/listitem/listitem-get.js +45 -68
  103. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +31 -55
  104. package/dist/m365/spo/commands/listitem/listitem-list.js +47 -81
  105. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +37 -60
  106. package/dist/m365/spo/commands/listitem/listitem-record-lock.js +30 -52
  107. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +31 -52
  108. package/dist/m365/spo/commands/listitem/listitem-record-unlock.js +30 -52
  109. package/dist/m365/spo/commands/listitem/listitem-remove.js +33 -61
  110. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-ensure.js +46 -67
  111. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-remove.js +33 -56
  112. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +55 -98
  113. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +48 -74
  114. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +33 -56
  115. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +31 -53
  116. package/dist/m365/spo/commands/listitem/listitem-set.js +33 -58
  117. package/dist/m365/spo/commands/navigation/navigation-node-add.js +74 -120
  118. package/dist/m365/spo/commands/navigation/navigation-node-get.js +4 -13
  119. package/dist/m365/spo/commands/navigation/navigation-node-list.js +1 -1
  120. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +13 -47
  121. package/dist/m365/spo/commands/navigation/navigation-node-set.js +53 -114
  122. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +15 -49
  123. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +6 -1
  124. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +9 -17
  125. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +5 -0
  126. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +11 -27
  127. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +10 -18
  128. package/dist/m365/spo/commands/page/page-column-list.js +7 -8
  129. package/dist/m365/spo/commands/page/page-section-list.js +15 -17
  130. package/dist/m365/spo/commands/page/page-unpublish.js +53 -0
  131. package/dist/m365/spo/commands/propertybag/propertybag-get.js +14 -29
  132. package/dist/m365/spo/commands/propertybag/propertybag-list.js +13 -27
  133. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +15 -32
  134. package/dist/m365/spo/commands/propertybag/propertybag-set.js +15 -31
  135. package/dist/m365/spo/commands/roledefinition/roledefinition-add.js +45 -44
  136. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +14 -25
  137. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +12 -18
  138. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +15 -35
  139. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +9 -17
  140. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +5 -0
  141. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +9 -17
  142. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +29 -39
  143. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +10 -23
  144. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +5 -0
  145. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +19 -28
  146. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +24 -59
  147. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +10 -34
  148. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +19 -36
  149. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +8 -0
  150. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +9 -32
  151. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +10 -31
  152. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +8 -23
  153. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +10 -34
  154. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +9 -38
  155. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +9 -29
  156. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +27 -80
  157. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +8 -23
  158. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +8 -18
  159. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +9 -32
  160. package/dist/m365/spo/commands/sitescript/sitescript-add.js +22 -37
  161. package/dist/m365/spo/commands/sitescript/sitescript-get.js +9 -26
  162. package/dist/m365/spo/commands/sitescript/sitescript-list.js +5 -0
  163. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +9 -33
  164. package/dist/m365/spo/commands/sitescript/sitescript-set.js +29 -56
  165. package/dist/m365/spo/commands/spo-search.js +43 -116
  166. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +15 -46
  167. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +5 -0
  168. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +20 -57
  169. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-get.js +25 -49
  170. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-list.js +5 -1
  171. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-remove.js +25 -49
  172. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +47 -79
  173. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +23 -54
  174. package/dist/m365/spo/commands/tenant/tenant-commandset-get.js +25 -50
  175. package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +5 -1
  176. package/dist/m365/spo/commands/tenant/tenant-commandset-remove.js +25 -49
  177. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +41 -65
  178. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +5 -0
  179. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +10 -30
  180. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +8 -21
  181. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +5 -0
  182. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +104 -386
  183. package/dist/m365/spo/commands/term/term-add.js +95 -110
  184. package/dist/m365/spo/commands/term/term-get.js +63 -75
  185. package/dist/m365/spo/commands/term/term-group-add.js +11 -41
  186. package/dist/m365/spo/commands/term/term-group-get.js +16 -47
  187. package/dist/m365/spo/commands/term/term-group-list.js +16 -42
  188. package/dist/m365/spo/commands/term/term-list.js +42 -57
  189. package/dist/m365/spo/commands/term/term-set-add.js +50 -71
  190. package/dist/m365/spo/commands/term/term-set-get.js +41 -58
  191. package/dist/m365/spo/commands/term/term-set-list.js +22 -56
  192. package/dist/m365/spo/commands/theme/theme-apply.js +27 -43
  193. package/dist/m365/spo/commands/theme/theme-get.js +8 -15
  194. package/dist/m365/spo/commands/theme/theme-list.js +5 -0
  195. package/dist/m365/spo/commands/theme/theme-remove.js +9 -24
  196. package/dist/m365/spo/commands/theme/theme-set.js +12 -34
  197. package/dist/m365/spo/commands.js +1 -0
  198. package/dist/m365/spp/commands/contentcenter/contentcenter-list.js +5 -0
  199. package/dist/m365/spp/commands/model/model-get.js +25 -45
  200. package/dist/m365/spp/commands/model/model-list.js +12 -23
  201. package/dist/m365/spp/commands/model/model-remove.js +25 -45
  202. package/dist/m365/teams/commands/app/app-install.js +35 -44
  203. package/dist/m365/teams/commands/app/app-list.js +8 -33
  204. package/dist/m365/teams/commands/app/app-publish.js +21 -27
  205. package/dist/m365/teams/commands/app/app-remove.js +22 -39
  206. package/dist/m365/teams/commands/app/app-uninstall.js +12 -34
  207. package/dist/m365/teams/commands/app/app-update.js +35 -45
  208. package/dist/m365/teams/commands/funsettings/funsettings-list.js +12 -23
  209. package/dist/m365/teams/commands/funsettings/funsettings-set.js +18 -54
  210. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +12 -23
  211. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +15 -40
  212. package/dist/m365/teams/commands/meeting/meeting-add.js +57 -68
  213. package/dist/m365/teams/commands/meeting/meeting-attendancereport-get.js +33 -58
  214. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +14 -38
  215. package/dist/m365/teams/commands/meeting/meeting-get.js +14 -38
  216. package/dist/m365/teams/commands/meeting/meeting-list.js +34 -59
  217. package/dist/m365/teams/commands/meeting/meeting-transcript-get.js +34 -58
  218. package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +29 -50
  219. package/dist/m365/teams/commands/membersettings/membersettings-list.js +12 -23
  220. package/dist/m365/teams/commands/membersettings/membersettings-set.js +18 -49
  221. package/dist/m365/teams/commands/message/message-get.js +19 -30
  222. package/dist/m365/teams/commands/message/message-list.js +26 -43
  223. package/dist/m365/teams/commands/message/message-remove.js +43 -58
  224. package/dist/m365/teams/commands/message/message-reply-list.js +19 -30
  225. package/dist/m365/teams/commands/message/message-restore.js +40 -50
  226. package/dist/m365/teams/commands/message/message-send.js +19 -30
  227. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +12 -23
  228. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +18 -60
  229. package/dist/m365/teams/commands/report/report-deviceusagedistributionusercounts.js +10 -0
  230. package/dist/m365/teams/commands/report/report-deviceusageusercounts.js +10 -0
  231. package/dist/m365/teams/commands/report/report-deviceusageuserdetail.js +22 -0
  232. package/dist/m365/teams/commands/report/report-directroutingcalls.js +19 -39
  233. package/dist/m365/teams/commands/report/report-pstncalls.js +19 -39
  234. package/dist/m365/teams/commands/report/report-useractivitycounts.js +10 -0
  235. package/dist/m365/teams/commands/report/report-useractivityusercounts.js +10 -0
  236. package/dist/m365/teams/commands/report/report-useractivityuserdetail.js +22 -0
  237. package/dist/m365/teams/commands/tab/tab-add.js +23 -49
  238. package/dist/m365/teams/commands/tab/tab-get.js +55 -56
  239. package/dist/m365/teams/commands/tab/tab-list.js +17 -28
  240. package/dist/m365/teams/commands/tab/tab-remove.js +23 -42
  241. package/dist/m365/teams/commands/team/team-add.js +76 -114
  242. package/dist/m365/teams/commands/team/team-app-list.js +23 -36
  243. package/dist/m365/teams/commands/team/team-archive.js +24 -39
  244. package/dist/m365/teams/commands/team/team-clone.js +28 -62
  245. package/dist/m365/teams/commands/team/team-get.js +23 -36
  246. package/dist/m365/teams/commands/team/team-list.js +43 -57
  247. package/dist/m365/teams/commands/team/team-remove.js +24 -37
  248. package/dist/m365/teams/commands/team/team-set.js +23 -52
  249. package/dist/m365/teams/commands/team/team-unarchive.js +23 -28
  250. package/dist/m365/teams/commands/user/user-app-add.js +40 -49
  251. package/dist/m365/teams/commands/user/user-app-list.js +26 -39
  252. package/dist/m365/teams/commands/user/user-app-remove.js +37 -49
  253. package/dist/m365/teams/commands/user/user-app-upgrade.js +36 -52
  254. package/dist/m365/teams/commands/user/user-list.js +17 -39
  255. package/dist/m365/tenant/commands/id/id-get.js +8 -22
  256. package/dist/m365/tenant/commands/info/info-get.js +23 -36
  257. package/dist/m365/tenant/commands/people/people-profilecardproperty-add.js +67 -55
  258. package/dist/m365/tenant/commands/people/people-profilecardproperty-get.js +11 -24
  259. package/dist/m365/tenant/commands/people/people-profilecardproperty-list.js +5 -0
  260. package/dist/m365/tenant/commands/people/people-profilecardproperty-remove.js +12 -33
  261. package/dist/m365/tenant/commands/people/people-profilecardproperty-set.js +31 -51
  262. package/dist/m365/tenant/commands/people/people-pronouns-get.js +5 -0
  263. package/dist/m365/tenant/commands/people/profileCardProperties.js +10 -7
  264. package/dist/m365/tenant/commands/report/report-activeusercounts.js +2 -1
  265. package/dist/m365/tenant/commands/report/report-activeuserdetail.js +2 -1
  266. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +9 -0
  267. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +9 -0
  268. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +9 -0
  269. package/dist/m365/tenant/commands/report/report-servicesusercounts.js +2 -1
  270. package/dist/m365/tenant/commands/report/report-settings-get.js +5 -0
  271. package/dist/m365/tenant/commands/security/security-alerts-list.js +8 -20
  272. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +9 -20
  273. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +8 -20
  274. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +8 -15
  275. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +8 -15
  276. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +12 -26
  277. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +8 -22
  278. package/dist/utils/calendar.js +1 -1
  279. package/dist/utils/formatting.js +16 -0
  280. package/dist/utils/pid.js +7 -16
  281. package/dist/utils/spe.js +1 -1
  282. package/dist/utils/spo.js +39 -0
  283. package/dist/utils/validation.js +36 -0
  284. package/dist/utils/zod.js +18 -7
  285. package/docs/docs/cmd/entra/agent/agent-blueprint-list.mdx +175 -0
  286. package/docs/docs/cmd/entra/agent/agent-blueprintprincipal-list.mdx +156 -0
  287. package/docs/docs/cmd/login.mdx +15 -2
  288. package/docs/docs/cmd/outlook/calendargroup/calendargroup-add.mdx +126 -0
  289. package/docs/docs/cmd/outlook/event/event-add.mdx +390 -0
  290. package/docs/docs/cmd/spe/container/container-add.mdx +0 -8
  291. package/docs/docs/cmd/spe/container/container-list.mdx +0 -8
  292. package/docs/docs/cmd/spe/container/container-permission-add.mdx +140 -0
  293. package/docs/docs/cmd/spe/container/container-permission-remove.mdx +78 -0
  294. package/docs/docs/cmd/spe/container/container-permission-set.mdx +78 -0
  295. package/docs/docs/cmd/spe/container/container-recyclebinitem-list.mdx +0 -8
  296. package/docs/docs/cmd/spe/container/container-recyclebinitem-restore.mdx +0 -8
  297. package/docs/docs/cmd/spe/container/container-remove.mdx +0 -8
  298. package/docs/docs/cmd/spe/containertype/containertype-add.mdx +1 -1
  299. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  300. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-set.mdx +1 -1
  301. package/docs/docs/cmd/spo/externaluser/externaluser-list.mdx +17 -30
  302. package/docs/docs/cmd/spo/navigation/navigation-node-add.mdx +45 -30
  303. package/docs/docs/cmd/spo/navigation/navigation-node-get.mdx +64 -42
  304. package/docs/docs/cmd/spo/navigation/navigation-node-set.mdx +10 -8
  305. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.mdx +0 -21
  306. package/docs/docs/cmd/spo/page/page-unpublish.mdx +63 -0
  307. package/docs/docs/cmd/teams/tab/tab-add.mdx +19 -0
  308. package/docs/docs/cmd/teams/tab/tab-get.mdx +19 -0
  309. package/docs/docs/cmd/teams/tab/tab-list.mdx +19 -0
  310. package/docs/docs/cmd/teams/tab/tab-remove.mdx +21 -0
  311. package/docs/docs/cmd/viva/engage/engage-message-add.mdx +17 -0
  312. package/docs/docs/cmd/viva/engage/engage-message-get.mdx +17 -0
  313. package/docs/docs/cmd/viva/engage/engage-message-list.mdx +17 -0
  314. package/docs/docs/cmd/viva/engage/engage-message-remove.mdx +19 -0
  315. package/package.json +4 -6
@@ -1,16 +1,29 @@
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 _SpoListItemRoleInheritanceResetCommand_instances, _SpoListItemRoleInheritanceResetCommand_initTelemetry, _SpoListItemRoleInheritanceResetCommand_initOptions, _SpoListItemRoleInheritanceResetCommand_initValidators, _SpoListItemRoleInheritanceResetCommand_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
+ listTitle: z.string().optional(),
24
+ listUrl: z.string().optional(),
25
+ force: z.boolean().optional().alias('f')
26
+ });
14
27
  class SpoListItemRoleInheritanceResetCommand extends SpoCommand {
15
28
  get name() {
16
29
  return commands.LISTITEM_ROLEINHERITANCE_RESET;
@@ -18,13 +31,18 @@ class SpoListItemRoleInheritanceResetCommand extends SpoCommand {
18
31
  get description() {
19
32
  return 'Restores the role inheritance of list item, file, or folder';
20
33
  }
21
- constructor() {
22
- super();
23
- _SpoListItemRoleInheritanceResetCommand_instances.add(this);
24
- __classPrivateFieldGet(this, _SpoListItemRoleInheritanceResetCommand_instances, "m", _SpoListItemRoleInheritanceResetCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _SpoListItemRoleInheritanceResetCommand_instances, "m", _SpoListItemRoleInheritanceResetCommand_initOptions).call(this);
26
- __classPrivateFieldGet(this, _SpoListItemRoleInheritanceResetCommand_instances, "m", _SpoListItemRoleInheritanceResetCommand_initValidators).call(this);
27
- __classPrivateFieldGet(this, _SpoListItemRoleInheritanceResetCommand_instances, "m", _SpoListItemRoleInheritanceResetCommand_initOptionSets).call(this);
34
+ get schema() {
35
+ return options;
36
+ }
37
+ getRefinedSchema(schema) {
38
+ return schema
39
+ .refine(opts => [opts.listId, opts.listTitle, opts.listUrl].filter(o => o !== undefined).length === 1, {
40
+ error: 'Specify either listId, listTitle or listUrl.',
41
+ params: {
42
+ customCode: 'optionSet',
43
+ options: ['listId', 'listTitle', 'listUrl']
44
+ }
45
+ });
28
46
  }
29
47
  async commandAction(logger, args) {
30
48
  if (this.verbose) {
@@ -69,45 +87,5 @@ class SpoListItemRoleInheritanceResetCommand extends SpoCommand {
69
87
  }
70
88
  }
71
89
  }
72
- _SpoListItemRoleInheritanceResetCommand_instances = new WeakSet(), _SpoListItemRoleInheritanceResetCommand_initTelemetry = function _SpoListItemRoleInheritanceResetCommand_initTelemetry() {
73
- this.telemetry.push((args) => {
74
- Object.assign(this.telemetryProperties, {
75
- listId: typeof args.options.listId !== 'undefined',
76
- listTitle: typeof args.options.listTitle !== 'undefined',
77
- listUrl: typeof args.options.listUrl !== 'undefined',
78
- force: (!(!args.options.force)).toString()
79
- });
80
- });
81
- }, _SpoListItemRoleInheritanceResetCommand_initOptions = function _SpoListItemRoleInheritanceResetCommand_initOptions() {
82
- this.options.unshift({
83
- option: '-u, --webUrl <webUrl>'
84
- }, {
85
- option: '--listItemId <listItemId>'
86
- }, {
87
- option: '--listId [listId]'
88
- }, {
89
- option: '--listTitle [listTitle]'
90
- }, {
91
- option: '--listUrl [listUrl]'
92
- }, {
93
- option: '-f, --force'
94
- });
95
- }, _SpoListItemRoleInheritanceResetCommand_initValidators = function _SpoListItemRoleInheritanceResetCommand_initValidators() {
96
- this.validators.push(async (args) => {
97
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
98
- if (isValidSharePointUrl !== true) {
99
- return isValidSharePointUrl;
100
- }
101
- if (args.options.listId && !validation.isValidGuid(args.options.listId)) {
102
- return `${args.options.listId} is not a valid GUID`;
103
- }
104
- if (isNaN(args.options.listItemId)) {
105
- return `${args.options.listItemId} is not a number`;
106
- }
107
- return true;
108
- });
109
- }, _SpoListItemRoleInheritanceResetCommand_initOptionSets = function _SpoListItemRoleInheritanceResetCommand_initOptionSets() {
110
- this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] });
111
- };
112
90
  export default new SpoListItemRoleInheritanceResetCommand();
113
91
  //# sourceMappingURL=listitem-roleinheritance-reset.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 _SpoListItemSetCommand_instances, _SpoListItemSetCommand_initTelemetry, _SpoListItemSetCommand_initOptions, _SpoListItemSetCommand_initValidators, _SpoListItemSetCommand_initTypes, _SpoListItemSetCommand_initOptionSets;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import request from '../../../../request.js';
8
4
  import { basic } from '../../../../utils/basic.js';
9
5
  import { formatting } from '../../../../utils/formatting.js';
@@ -12,6 +8,25 @@ 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.object({
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
+ id: z.string().alias('i'),
19
+ listId: z.string()
20
+ .refine(id => validation.isValidGuid(id), {
21
+ error: e => `${e.input} in option listId is not a valid GUID`
22
+ })
23
+ .optional()
24
+ .alias('l'),
25
+ listTitle: z.string().optional().alias('t'),
26
+ listUrl: z.string().optional(),
27
+ contentType: z.string().optional().alias('c'),
28
+ systemUpdate: z.boolean().optional().alias('s')
29
+ }).catchall(z.unknown());
15
30
  class SpoListItemSetCommand extends SpoCommand {
16
31
  allowUnknownOptions() {
17
32
  return true;
@@ -22,14 +37,18 @@ class SpoListItemSetCommand extends SpoCommand {
22
37
  get description() {
23
38
  return 'Updates a list item in the specified list';
24
39
  }
25
- constructor() {
26
- super();
27
- _SpoListItemSetCommand_instances.add(this);
28
- __classPrivateFieldGet(this, _SpoListItemSetCommand_instances, "m", _SpoListItemSetCommand_initTelemetry).call(this);
29
- __classPrivateFieldGet(this, _SpoListItemSetCommand_instances, "m", _SpoListItemSetCommand_initOptions).call(this);
30
- __classPrivateFieldGet(this, _SpoListItemSetCommand_instances, "m", _SpoListItemSetCommand_initValidators).call(this);
31
- __classPrivateFieldGet(this, _SpoListItemSetCommand_instances, "m", _SpoListItemSetCommand_initTypes).call(this);
32
- __classPrivateFieldGet(this, _SpoListItemSetCommand_instances, "m", _SpoListItemSetCommand_initOptionSets).call(this);
40
+ get schema() {
41
+ return options;
42
+ }
43
+ getRefinedSchema(schema) {
44
+ return schema
45
+ .refine(opts => [opts.listId, opts.listTitle, opts.listUrl].filter(o => o !== undefined).length === 1, {
46
+ error: 'Specify either listId, listTitle or listUrl.',
47
+ params: {
48
+ customCode: 'optionSet',
49
+ options: ['listId', 'listTitle', 'listUrl']
50
+ }
51
+ });
33
52
  }
34
53
  async commandAction(logger, args) {
35
54
  let contentTypeName = '';
@@ -122,49 +141,5 @@ class SpoListItemSetCommand extends SpoCommand {
122
141
  return filteredData;
123
142
  }
124
143
  }
125
- _SpoListItemSetCommand_instances = new WeakSet(), _SpoListItemSetCommand_initTelemetry = function _SpoListItemSetCommand_initTelemetry() {
126
- this.telemetry.push((args) => {
127
- Object.assign(this.telemetryProperties, {
128
- listId: typeof args.options.listId !== 'undefined',
129
- listTitle: typeof args.options.listTitle !== 'undefined',
130
- listUrl: typeof args.options.listUrl !== 'undefined',
131
- contentType: typeof args.options.contentType !== 'undefined',
132
- systemUpdate: typeof args.options.systemUpdate !== 'undefined'
133
- });
134
- });
135
- }, _SpoListItemSetCommand_initOptions = function _SpoListItemSetCommand_initOptions() {
136
- this.options.unshift({
137
- option: '-u, --webUrl <webUrl>'
138
- }, {
139
- option: '-i, --id <id>'
140
- }, {
141
- option: '-l, --listId [listId]'
142
- }, {
143
- option: '-t, --listTitle [listTitle]'
144
- }, {
145
- option: '--listUrl [listUrl]'
146
- }, {
147
- option: '-c, --contentType [contentType]'
148
- }, {
149
- option: '-s, --systemUpdate'
150
- });
151
- }, _SpoListItemSetCommand_initValidators = function _SpoListItemSetCommand_initValidators() {
152
- this.validators.push(async (args) => {
153
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
154
- if (isValidSharePointUrl !== true) {
155
- return isValidSharePointUrl;
156
- }
157
- if (args.options.listId &&
158
- !validation.isValidGuid(args.options.listId)) {
159
- return `${args.options.listId} in option listId is not a valid GUID`;
160
- }
161
- return true;
162
- });
163
- }, _SpoListItemSetCommand_initTypes = function _SpoListItemSetCommand_initTypes() {
164
- this.types.string.push('webUrl', 'listId', 'listTitle', 'listUrl', 'id', 'contentType');
165
- this.types.boolean.push('systemUpdate');
166
- }, _SpoListItemSetCommand_initOptionSets = function _SpoListItemSetCommand_initOptionSets() {
167
- this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] });
168
- };
169
144
  export default new SpoListItemSetCommand();
170
145
  //# sourceMappingURL=listitem-set.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 _SpoNavigationNodeAddCommand_instances, _SpoNavigationNodeAddCommand_initTelemetry, _SpoNavigationNodeAddCommand_initOptions, _SpoNavigationNodeAddCommand_initValidators, _SpoNavigationNodeAddCommand_initOptionSets;
7
- import request from '../../../../request.js';
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
8
3
  import { spo } from '../../../../utils/spo.js';
9
4
  import { validation } from '../../../../utils/validation.js';
10
5
  import SpoCommand from '../../../base/SpoCommand.js';
11
6
  import commands from '../../commands.js';
7
+ export const options = z.strictObject({
8
+ ...globalOptionsZod.shape,
9
+ webUrl: z.string()
10
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
11
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
12
+ })
13
+ .alias('u'),
14
+ location: z.enum(['QuickLaunch', 'TopNavigationBar']).optional().alias('l'),
15
+ title: z.string().min(1, 'Cannot be empty.').alias('t'),
16
+ url: z.string().optional(),
17
+ parentNodeId: z.int().positive().optional(),
18
+ audienceIds: z.string()
19
+ .refine(audienceIds => audienceIds.split(',').length <= 10, {
20
+ error: 'The maximum amount of audienceIds per navigation node exceeded. The maximum amount of audienceIds is 10.'
21
+ })
22
+ .refine(audienceIds => validation.isValidGuidArray(audienceIds) === true, {
23
+ error: e => `The following GUIDs are invalid for the option 'audienceIds': ${validation.isValidGuidArray(e.input)}.`
24
+ })
25
+ .optional(),
26
+ openInNewWindow: z.boolean().optional()
27
+ });
12
28
  class SpoNavigationNodeAddCommand extends SpoCommand {
13
29
  get name() {
14
30
  return commands.NAVIGATION_NODE_ADD;
@@ -16,134 +32,72 @@ class SpoNavigationNodeAddCommand extends SpoCommand {
16
32
  get description() {
17
33
  return 'Adds a navigation node to the specified site navigation';
18
34
  }
19
- constructor() {
20
- super();
21
- _SpoNavigationNodeAddCommand_instances.add(this);
22
- __classPrivateFieldGet(this, _SpoNavigationNodeAddCommand_instances, "m", _SpoNavigationNodeAddCommand_initTelemetry).call(this);
23
- __classPrivateFieldGet(this, _SpoNavigationNodeAddCommand_instances, "m", _SpoNavigationNodeAddCommand_initOptions).call(this);
24
- __classPrivateFieldGet(this, _SpoNavigationNodeAddCommand_instances, "m", _SpoNavigationNodeAddCommand_initValidators).call(this);
25
- __classPrivateFieldGet(this, _SpoNavigationNodeAddCommand_instances, "m", _SpoNavigationNodeAddCommand_initOptionSets).call(this);
35
+ get schema() {
36
+ return options;
37
+ }
38
+ getRefinedSchema(schema) {
39
+ return schema
40
+ .refine(options => [options.location, options.parentNodeId].filter(o => o !== undefined).length === 1, {
41
+ error: `Specify either 'location' or 'parentNodeId', but not both.`,
42
+ params: {
43
+ customCode: 'optionSet',
44
+ options: ['location', 'parentNodeId']
45
+ }
46
+ });
26
47
  }
27
48
  getExcludedOptionsWithUrls() {
28
49
  return ['url'];
29
50
  }
30
51
  async commandAction(logger, args) {
52
+ const { webUrl, location, parentNodeId, title, url, audienceIds, openInNewWindow } = args.options;
31
53
  if (this.verbose) {
32
54
  await logger.logToStderr(`Adding navigation node...`);
33
55
  }
34
- const nodesCollection = args.options.parentNodeId ?
35
- `GetNodeById(${args.options.parentNodeId})/Children` :
36
- args.options.location.toLowerCase();
37
- const requestOptions = {
38
- url: `${args.options.webUrl}/_api/web/navigation/${nodesCollection}`,
39
- headers: {
40
- accept: 'application/json;odata=nometadata',
41
- 'content-type': 'application/json;odata=nometadata'
42
- },
43
- responseType: 'json',
44
- data: {
45
- AudienceIds: args.options.audienceIds?.split(','),
46
- Title: args.options.title,
47
- Url: args.options.url ?? 'http://linkless.header/',
48
- IsExternal: args.options.isExternal === true
49
- }
50
- };
51
56
  try {
52
- const res = await request.post(requestOptions);
53
- if (args.options.openInNewWindow) {
54
- if (this.verbose) {
55
- await logger.logToStderr(`Making sure that the newly added navigation node opens in a new window.`);
56
- }
57
- const id = res.Id.toString();
58
- let menuState = args.options.location === 'TopNavigationBar' ? await spo.getTopNavigationMenuState(args.options.webUrl) : await spo.getQuickLaunchMenuState(args.options.webUrl);
59
- let menuStateItem = this.getMenuStateNode(menuState.Nodes, id);
60
- if (args.options.parentNodeId && !menuStateItem) {
61
- menuState = await spo.getTopNavigationMenuState(args.options.webUrl);
62
- menuStateItem = this.getMenuStateNode(menuState.Nodes, id);
63
- }
64
- menuStateItem.OpenInNewWindow = true;
65
- await spo.saveMenuState(args.options.webUrl, menuState);
57
+ let menuState;
58
+ let siblingNodes;
59
+ if (parentNodeId) {
60
+ const parent = await spo.getMenuStateNodeByKey(webUrl, parentNodeId.toString());
61
+ menuState = parent.menuState;
62
+ siblingNodes = parent.node.Nodes;
63
+ }
64
+ else {
65
+ menuState = location === 'TopNavigationBar'
66
+ ? await spo.getTopNavigationMenuState(webUrl)
67
+ : await spo.getQuickLaunchMenuState(webUrl);
68
+ siblingNodes = menuState.Nodes;
66
69
  }
67
- await logger.log(res);
70
+ const existingKeys = siblingNodes.map(node => node.Key);
71
+ const newNode = {
72
+ AudienceIds: audienceIds ? audienceIds.split(',') : [],
73
+ IsDeleted: false,
74
+ IsHidden: false,
75
+ Key: null,
76
+ Nodes: [],
77
+ NodeType: 0,
78
+ OpenInNewWindow: openInNewWindow ? true : null,
79
+ SimpleUrl: url ?? '',
80
+ Title: title
81
+ };
82
+ siblingNodes.push(newNode);
83
+ await spo.saveMenuState(webUrl, menuState);
84
+ if (this.verbose) {
85
+ await logger.logToStderr(`Retrieving the added navigation node...`);
86
+ }
87
+ const updatedMenuState = await spo.getMenuState(webUrl, menuState.StartingNodeKey);
88
+ const updatedSiblingNodes = parentNodeId
89
+ ? spo.findMenuStateNode(updatedMenuState.Nodes, parentNodeId.toString())?.Nodes
90
+ : updatedMenuState.Nodes;
91
+ const addedNode = updatedSiblingNodes?.find(node => !existingKeys.includes(node.Key) && node.Title === title);
92
+ if (!addedNode) {
93
+ throw `The navigation node was added, but it couldn't be retrieved.`;
94
+ }
95
+ await logger.log(addedNode);
68
96
  }
69
97
  catch (err) {
70
98
  this.handleRejectedODataJsonPromise(err);
71
99
  }
72
100
  }
73
- getMenuStateNode(nodes, id) {
74
- let menuNode = nodes.find((node) => node.Key !== null && node.Key === id);
75
- if (menuNode === undefined) {
76
- for (const node of nodes.filter(node => node.Nodes.length > 0)) {
77
- menuNode = this.getMenuStateNode(node.Nodes, id);
78
- if (menuNode) {
79
- break;
80
- }
81
- }
82
- }
83
- return menuNode;
84
- }
85
101
  }
86
- _SpoNavigationNodeAddCommand_instances = new WeakSet(), _SpoNavigationNodeAddCommand_initTelemetry = function _SpoNavigationNodeAddCommand_initTelemetry() {
87
- this.telemetry.push((args) => {
88
- Object.assign(this.telemetryProperties, {
89
- isExternal: args.options.isExternal,
90
- location: typeof args.options.location !== 'undefined',
91
- parentNodeId: typeof args.options.parentNodeId !== 'undefined',
92
- audienceIds: typeof args.options.audienceIds !== 'undefined',
93
- url: typeof args.options.url !== 'undefined',
94
- openInNewWindow: !!args.options.openInNewWindow
95
- });
96
- });
97
- }, _SpoNavigationNodeAddCommand_initOptions = function _SpoNavigationNodeAddCommand_initOptions() {
98
- this.options.unshift({
99
- option: '-u, --webUrl <webUrl>'
100
- }, {
101
- option: '-l, --location [location]',
102
- autocomplete: ['QuickLaunch', 'TopNavigationBar']
103
- }, {
104
- option: '-t, --title <title>'
105
- }, {
106
- option: '--url [url]'
107
- }, {
108
- option: '--parentNodeId [parentNodeId]'
109
- }, {
110
- option: '--isExternal'
111
- }, {
112
- option: '--audienceIds [audienceIds]'
113
- }, {
114
- option: '--openInNewWindow'
115
- });
116
- }, _SpoNavigationNodeAddCommand_initValidators = function _SpoNavigationNodeAddCommand_initValidators() {
117
- this.validators.push(async (args) => {
118
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
119
- if (isValidSharePointUrl !== true) {
120
- return isValidSharePointUrl;
121
- }
122
- if (args.options.parentNodeId) {
123
- if (isNaN(args.options.parentNodeId)) {
124
- return `${args.options.parentNodeId} is not a number`;
125
- }
126
- }
127
- else {
128
- if (args.options.location !== 'QuickLaunch' &&
129
- args.options.location !== 'TopNavigationBar') {
130
- return `${args.options.location} is not a valid value for the location option. Allowed values are QuickLaunch|TopNavigationBar`;
131
- }
132
- }
133
- if (args.options.audienceIds) {
134
- const audienceIdsSplitted = args.options.audienceIds.split(',');
135
- if (audienceIdsSplitted.length > 10) {
136
- return 'The maximum amount of audienceIds per navigation node exceeded. The maximum amount of auciendeIds is 10.';
137
- }
138
- const isValidGUIDArrayResult = validation.isValidGuidArray(args.options.audienceIds);
139
- if (isValidGUIDArrayResult !== true) {
140
- return `The following GUIDs are invalid for the option 'audienceIds': ${isValidGUIDArrayResult}.`;
141
- }
142
- }
143
- return true;
144
- });
145
- }, _SpoNavigationNodeAddCommand_initOptionSets = function _SpoNavigationNodeAddCommand_initOptionSets() {
146
- this.optionSets.push({ options: ['location', 'parentNodeId'] });
147
- };
148
102
  export default new SpoNavigationNodeAddCommand();
149
103
  //# sourceMappingURL=navigation-node-add.js.map
@@ -1,6 +1,6 @@
1
1
  import { globalOptionsZod } from '../../../../Command.js';
2
2
  import { z } from 'zod';
3
- import request from '../../../../request.js';
3
+ import { spo } from '../../../../utils/spo.js';
4
4
  import { validation } from '../../../../utils/validation.js';
5
5
  import SpoCommand from '../../../base/SpoCommand.js';
6
6
  import commands from '../../commands.js';
@@ -11,6 +11,7 @@ export const options = z.strictObject({
11
11
  error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
12
12
  })
13
13
  .alias('u'),
14
+ location: z.string().pipe(z.enum(['QuickLaunch', 'TopNavigationBar'])).alias('l'),
14
15
  id: z.int().positive()
15
16
  });
16
17
  class SpoNavigationNodeGetCommand extends SpoCommand {
@@ -27,19 +28,9 @@ class SpoNavigationNodeGetCommand extends SpoCommand {
27
28
  if (this.verbose) {
28
29
  await logger.logToStderr(`Retrieving information about navigation node with id ${args.options.id}`);
29
30
  }
30
- const requestOptions = {
31
- url: `${args.options.webUrl}/_api/web/navigation/GetNodeById(${args.options.id})?$expand=Children,Children/Children,Children/Children/Children`,
32
- headers: {
33
- accept: 'application/json;odata=nometadata'
34
- },
35
- responseType: 'json'
36
- };
37
31
  try {
38
- const listInstance = await request.get(requestOptions);
39
- if (listInstance['odata.null']) {
40
- throw `No navigation node found with id ${args.options.id}.`;
41
- }
42
- await logger.log(listInstance);
32
+ const { node } = await spo.getMenuStateNodeByKey(args.options.webUrl, args.options.id.toString(), args.options.location);
33
+ await logger.log(node);
43
34
  }
44
35
  catch (err) {
45
36
  this.handleRejectedODataJsonPromise(err);
@@ -11,7 +11,7 @@ export const options = z.strictObject({
11
11
  error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
12
12
  })
13
13
  .alias('u'),
14
- location: z.enum(['QuickLaunch', 'TopNavigationBar']).alias('l')
14
+ location: z.string().pipe(z.enum(['QuickLaunch', 'TopNavigationBar'])).alias('l')
15
15
  });
16
16
  class SpoNavigationNodeListCommand extends SpoCommand {
17
17
  get name() {
@@ -1,15 +1,20 @@
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 _SpoNavigationNodeRemoveCommand_instances, _SpoNavigationNodeRemoveCommand_initTelemetry, _SpoNavigationNodeRemoveCommand_initOptions, _SpoNavigationNodeRemoveCommand_initValidators;
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 { spo } from '../../../../utils/spo.js';
10
6
  import { validation } from '../../../../utils/validation.js';
11
7
  import SpoCommand from '../../../base/SpoCommand.js';
12
8
  import commands from '../../commands.js';
9
+ export const options = z.strictObject({
10
+ ...globalOptionsZod.shape,
11
+ webUrl: z.string().refine(url => validation.isValidSharePointUrl(url) === true, {
12
+ message: 'The value of the option \'webUrl\' is not a valid SharePoint Online site URL.'
13
+ }).alias('u'),
14
+ location: z.string().pipe(z.enum(['QuickLaunch', 'TopNavigationBar'])).alias('l'),
15
+ id: z.int().positive().alias('i'),
16
+ force: z.boolean().optional().alias('f')
17
+ });
13
18
  class SpoNavigationNodeRemoveCommand extends SpoCommand {
14
19
  get name() {
15
20
  return commands.NAVIGATION_NODE_REMOVE;
@@ -17,12 +22,8 @@ class SpoNavigationNodeRemoveCommand extends SpoCommand {
17
22
  get description() {
18
23
  return 'Removes the specified navigation node';
19
24
  }
20
- constructor() {
21
- super();
22
- _SpoNavigationNodeRemoveCommand_instances.add(this);
23
- __classPrivateFieldGet(this, _SpoNavigationNodeRemoveCommand_instances, "m", _SpoNavigationNodeRemoveCommand_initTelemetry).call(this);
24
- __classPrivateFieldGet(this, _SpoNavigationNodeRemoveCommand_instances, "m", _SpoNavigationNodeRemoveCommand_initOptions).call(this);
25
- __classPrivateFieldGet(this, _SpoNavigationNodeRemoveCommand_instances, "m", _SpoNavigationNodeRemoveCommand_initValidators).call(this);
25
+ get schema() {
26
+ return options;
26
27
  }
27
28
  async commandAction(logger, args) {
28
29
  if (args.options.force) {
@@ -56,40 +57,5 @@ class SpoNavigationNodeRemoveCommand extends SpoCommand {
56
57
  }
57
58
  }
58
59
  }
59
- _SpoNavigationNodeRemoveCommand_instances = new WeakSet(), _SpoNavigationNodeRemoveCommand_initTelemetry = function _SpoNavigationNodeRemoveCommand_initTelemetry() {
60
- this.telemetry.push((args) => {
61
- Object.assign(this.telemetryProperties, {
62
- location: args.options.location,
63
- force: typeof args.options.force !== 'undefined'
64
- });
65
- });
66
- }, _SpoNavigationNodeRemoveCommand_initOptions = function _SpoNavigationNodeRemoveCommand_initOptions() {
67
- this.options.unshift({
68
- option: '-u, --webUrl <webUrl>'
69
- }, {
70
- option: '-l, --location <location>',
71
- autocomplete: ['QuickLaunch', 'TopNavigationBar']
72
- }, {
73
- option: '-i, --id <id>'
74
- }, {
75
- option: '-f, --force'
76
- });
77
- }, _SpoNavigationNodeRemoveCommand_initValidators = function _SpoNavigationNodeRemoveCommand_initValidators() {
78
- this.validators.push(async (args) => {
79
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
80
- if (isValidSharePointUrl !== true) {
81
- return isValidSharePointUrl;
82
- }
83
- if (args.options.location !== 'QuickLaunch' &&
84
- args.options.location !== 'TopNavigationBar') {
85
- return `${args.options.location} is not a valid value for the location option. Allowed values are QuickLaunch|TopNavigationBar`;
86
- }
87
- const id = parseInt(args.options.id);
88
- if (isNaN(id)) {
89
- return `${args.options.id} is not a number`;
90
- }
91
- return true;
92
- });
93
- };
94
60
  export default new SpoNavigationNodeRemoveCommand();
95
61
  //# sourceMappingURL=navigation-node-remove.js.map