@pnp/cli-microsoft365 6.0.0-beta.4d2402f → 6.0.0-beta.4e32416

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 (663) hide show
  1. package/.devcontainer/Dockerfile +3 -1
  2. package/.devcontainer/devcontainer.json +1 -0
  3. package/dist/Auth.js +1 -2
  4. package/dist/Command.js +186 -93
  5. package/dist/cli/Cli.js +13 -68
  6. package/dist/m365/aad/commands/app/app-add.js +235 -105
  7. package/dist/m365/aad/commands/app/app-get.js +40 -30
  8. package/dist/m365/aad/commands/app/app-remove.js +41 -31
  9. package/dist/m365/aad/commands/app/app-role-add.js +43 -32
  10. package/dist/m365/aad/commands/app/app-role-list.js +26 -28
  11. package/dist/m365/aad/commands/app/app-role-remove.js +43 -47
  12. package/dist/m365/aad/commands/app/app-set.js +50 -46
  13. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +57 -45
  14. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +51 -40
  15. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +59 -48
  16. package/dist/m365/aad/commands/group/group-list.js +21 -12
  17. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +30 -17
  18. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +30 -12
  19. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +39 -20
  20. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +30 -12
  21. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +43 -27
  22. package/dist/m365/aad/commands/o365group/o365group-add.js +65 -60
  23. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +30 -12
  24. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +46 -32
  25. package/dist/m365/aad/commands/o365group/o365group-get.js +32 -15
  26. package/dist/m365/aad/commands/o365group/o365group-list.js +49 -33
  27. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +23 -14
  28. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +28 -20
  29. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +40 -32
  30. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +88 -22
  31. package/dist/m365/aad/commands/o365group/o365group-remove.js +42 -24
  32. package/dist/m365/aad/commands/o365group/o365group-renew.js +30 -12
  33. package/dist/m365/aad/commands/o365group/o365group-set.js +54 -30
  34. package/dist/m365/aad/commands/o365group/o365group-teamify.js +49 -27
  35. package/dist/m365/aad/commands/o365group/o365group-user-add.js +49 -35
  36. package/dist/m365/aad/commands/o365group/o365group-user-list.js +40 -21
  37. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +39 -34
  38. package/dist/m365/aad/commands/o365group/o365group-user-set.js +49 -35
  39. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +34 -18
  40. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +30 -12
  41. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +18 -12
  42. package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +18 -12
  43. package/dist/m365/aad/commands/policy/policy-list.js +42 -22
  44. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +23 -14
  45. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +30 -24
  46. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +46 -29
  47. package/dist/m365/aad/commands/sp/sp-add.js +46 -32
  48. package/dist/m365/aad/commands/sp/sp-get.js +53 -39
  49. package/dist/m365/aad/commands/user/user-get.js +48 -36
  50. package/dist/m365/aad/commands/user/user-hibp.js +41 -23
  51. package/dist/m365/aad/commands/user/user-list.js +35 -16
  52. package/dist/m365/aad/commands/user/user-password-validate.js +16 -9
  53. package/dist/m365/aad/commands/user/user-set.js +46 -31
  54. package/dist/m365/aad/commands/user/user-signin-list.js +46 -29
  55. package/dist/m365/aad/commands.js +0 -1
  56. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +54 -40
  57. package/dist/m365/app/commands/app-open.js +22 -21
  58. package/dist/m365/base/AppCommand.js +29 -13
  59. package/dist/m365/base/DateAndPeriodBasedReport.js +41 -24
  60. package/dist/m365/base/PeriodBasedReport.js +37 -18
  61. package/dist/m365/base/SpoCommand.js +1 -1
  62. package/dist/m365/booking/commands/business/business-get.js +86 -0
  63. package/dist/m365/booking/commands/business/business-list.js +30 -0
  64. package/dist/m365/booking/commands.js +8 -0
  65. package/dist/m365/cli/commands/cli-consent.js +38 -18
  66. package/dist/m365/cli/commands/cli-issue.js +26 -18
  67. package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +16 -9
  68. package/dist/m365/cli/commands/config/config-get.js +38 -18
  69. package/dist/m365/cli/commands/config/config-reset.js +38 -18
  70. package/dist/m365/cli/commands/config/config-set.js +38 -22
  71. package/dist/m365/commands/commands.js +1 -0
  72. package/dist/m365/commands/login.js +54 -42
  73. package/dist/m365/commands/request.js +153 -0
  74. package/dist/m365/file/commands/convert/convert-pdf.js +32 -15
  75. package/dist/m365/file/commands/file-add.js +35 -12
  76. package/dist/m365/file/commands/file-list.js +31 -13
  77. package/dist/m365/flow/commands/environment/environment-get.js +16 -9
  78. package/dist/m365/flow/commands/flow-disable.js +21 -16
  79. package/dist/m365/flow/commands/flow-enable.js +21 -16
  80. package/dist/m365/flow/commands/flow-export.js +60 -47
  81. package/dist/m365/flow/commands/flow-get.js +21 -16
  82. package/dist/m365/flow/commands/flow-list.js +26 -18
  83. package/dist/m365/flow/commands/flow-remove.js +46 -29
  84. package/dist/m365/flow/commands/run/run-cancel.js +40 -25
  85. package/dist/m365/flow/commands/run/run-get.js +22 -17
  86. package/dist/m365/flow/commands/run/run-list.js +20 -14
  87. package/dist/m365/flow/commands/run/run-resubmit.js +48 -31
  88. package/dist/m365/graph/Changelog.js +3 -0
  89. package/dist/m365/graph/commands/changelog/changelog-list.js +160 -0
  90. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +41 -27
  91. package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +16 -9
  92. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +47 -30
  93. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +25 -17
  94. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +63 -48
  95. package/dist/m365/graph/commands/subscription/subscription-add.js +52 -36
  96. package/dist/m365/graph/commands.js +1 -0
  97. package/dist/m365/onenote/commands/notebook/notebook-list.js +139 -0
  98. package/dist/m365/onenote/commands.js +7 -0
  99. package/dist/m365/outlook/commands/mail/mail-send.js +48 -35
  100. package/dist/m365/outlook/commands/message/message-list.js +31 -31
  101. package/dist/m365/outlook/commands/message/message-move.js +42 -53
  102. package/dist/m365/outlook/commands/room/room-list.js +23 -14
  103. package/dist/m365/outlook/commands.js +1 -2
  104. package/dist/m365/pa/commands/app/app-get.js +43 -27
  105. package/dist/m365/pa/commands/app/app-list.js +40 -21
  106. package/dist/m365/pa/commands/app/app-remove.js +39 -20
  107. package/dist/m365/pa/commands/connector/connector-export.js +43 -20
  108. package/dist/m365/pa/commands/connector/connector-list.js +17 -10
  109. package/dist/m365/pa/commands/environment/environment-get.js +16 -9
  110. package/dist/m365/pa/commands/pcf/pcf-init.js +53 -50
  111. package/dist/m365/pa/commands/solution/solution-init.js +45 -38
  112. package/dist/m365/pa/commands/solution/solution-reference-add.js +46 -31
  113. package/dist/m365/planner/commands/bucket/bucket-add.js +56 -52
  114. package/dist/m365/planner/commands/bucket/bucket-get.js +50 -52
  115. package/dist/m365/planner/commands/bucket/bucket-list.js +53 -47
  116. package/dist/m365/planner/commands/bucket/bucket-remove.js +66 -62
  117. package/dist/m365/planner/commands/bucket/bucket-set.js +68 -65
  118. package/dist/m365/planner/commands/plan/plan-add.js +51 -38
  119. package/dist/m365/planner/commands/plan/plan-get.js +55 -44
  120. package/dist/m365/planner/commands/plan/plan-list.js +45 -29
  121. package/dist/m365/planner/commands/plan/plan-remove.js +43 -36
  122. package/dist/m365/planner/commands/task/task-add.js +60 -75
  123. package/dist/m365/planner/commands/task/task-checklistitem-add.js +23 -16
  124. package/dist/m365/planner/commands/task/task-checklistitem-list.js +18 -11
  125. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +21 -14
  126. package/dist/m365/planner/commands/task/task-get.js +55 -52
  127. package/dist/m365/planner/commands/task/task-list.js +58 -51
  128. package/dist/m365/planner/commands/task/task-reference-add.js +39 -13
  129. package/dist/m365/planner/commands/task/task-reference-list.js +18 -11
  130. package/dist/m365/planner/commands/task/task-reference-remove.js +40 -25
  131. package/dist/m365/planner/commands/task/task-remove.js +46 -23
  132. package/dist/m365/planner/commands/task/task-set.js +55 -61
  133. package/dist/m365/planner/commands/tenant/tenant-settings-set.js +59 -44
  134. package/dist/m365/planner/commands.js +0 -2
  135. package/dist/m365/pp/commands/environment/environment-list.js +23 -9
  136. package/dist/m365/pp/commands/managementapp/managementapp-add.js +40 -29
  137. package/dist/m365/search/commands/externalconnection/externalconnection-add.js +43 -26
  138. package/dist/m365/search/commands/externalconnection/externalconnection-get.js +29 -23
  139. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +101 -0
  140. package/dist/m365/search/commands.js +2 -1
  141. package/dist/m365/spfx/commands/package/package-generate.js +47 -39
  142. package/dist/m365/spfx/commands/project/base-project-command.js +4 -0
  143. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.15.2.js +23 -0
  144. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.16.0-beta.1.js +23 -0
  145. package/dist/m365/spfx/commands/project/project-doctor.js +42 -23
  146. package/dist/m365/spfx/commands/project/project-externalize.js +15 -9
  147. package/dist/m365/spfx/commands/project/project-model/EsLintRcJs.js +3 -0
  148. package/dist/m365/spfx/commands/project/project-model/index.js +1 -0
  149. package/dist/m365/spfx/commands/project/project-rename.js +23 -18
  150. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001034_DEP_microsoft_sp_adaptive_card_extension_base.js +17 -0
  151. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002026_DEVDEP_typescript.js +14 -0
  152. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +47 -0
  153. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012020_TSC_noImplicitAny.js +46 -0
  154. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021003_PKG_engines_node.js +48 -0
  155. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN025001_ESLINTRCJS_overrides.js +64 -0
  156. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +433 -0
  157. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.16.0-beta.1.js +61 -0
  158. package/dist/m365/spfx/commands/project/project-upgrade.js +67 -49
  159. package/dist/m365/spfx/commands/spfx-doctor.js +140 -94
  160. package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +1 -1
  161. package/dist/m365/spo/commands/app/app-add.js +51 -34
  162. package/dist/m365/spo/commands/app/app-deploy.js +58 -45
  163. package/dist/m365/spo/commands/app/app-get.js +55 -41
  164. package/dist/m365/spo/commands/app/app-install.js +46 -28
  165. package/dist/m365/spo/commands/app/app-instance-list.js +30 -12
  166. package/dist/m365/spo/commands/app/app-list.js +46 -27
  167. package/dist/m365/spo/commands/app/app-remove.js +51 -34
  168. package/dist/m365/spo/commands/app/app-retract.js +51 -34
  169. package/dist/m365/spo/commands/app/app-teamspackage-download.js +40 -24
  170. package/dist/m365/spo/commands/app/app-uninstall.js +49 -32
  171. package/dist/m365/spo/commands/app/app-upgrade.js +46 -28
  172. package/dist/m365/spo/commands/apppage/apppage-add.js +43 -26
  173. package/dist/m365/spo/commands/apppage/apppage-set.js +37 -30
  174. package/dist/m365/spo/commands/cdn/cdn-get.js +38 -16
  175. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +40 -21
  176. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +38 -16
  177. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +43 -25
  178. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +43 -21
  179. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +49 -31
  180. package/dist/m365/spo/commands/cdn/cdn-set.js +45 -27
  181. package/dist/m365/spo/commands/contenttype/contenttype-add.js +50 -32
  182. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +52 -39
  183. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +58 -47
  184. package/dist/m365/spo/commands/contenttype/contenttype-get.js +51 -32
  185. package/dist/m365/spo/commands/contenttype/contenttype-list.js +37 -15
  186. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +49 -43
  187. package/dist/m365/spo/commands/customaction/customaction-add.js +144 -141
  188. package/dist/m365/spo/commands/customaction/customaction-clear.js +45 -30
  189. package/dist/m365/spo/commands/customaction/customaction-get.js +73 -29
  190. package/dist/m365/spo/commands/customaction/customaction-list.js +44 -24
  191. package/dist/m365/spo/commands/customaction/customaction-remove.js +87 -37
  192. package/dist/m365/spo/commands/customaction/customaction-set.js +130 -128
  193. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +58 -46
  194. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +49 -33
  195. package/dist/m365/spo/commands/externaluser/externaluser-list.js +50 -34
  196. package/dist/m365/spo/commands/feature/feature-disable.js +50 -35
  197. package/dist/m365/spo/commands/feature/feature-enable.js +51 -36
  198. package/dist/m365/spo/commands/feature/feature-list.js +42 -23
  199. package/dist/m365/spo/commands/field/field-add.js +44 -21
  200. package/dist/m365/spo/commands/field/field-get.js +55 -40
  201. package/dist/m365/spo/commands/field/field-list.js +45 -28
  202. package/dist/m365/spo/commands/field/field-remove.js +65 -52
  203. package/dist/m365/spo/commands/field/field-set.js +57 -45
  204. package/dist/m365/spo/commands/file/file-add.js +72 -64
  205. package/dist/m365/spo/commands/file/file-checkin.js +54 -41
  206. package/dist/m365/spo/commands/file/file-checkout.js +47 -32
  207. package/dist/m365/spo/commands/file/file-copy.js +44 -30
  208. package/dist/m365/spo/commands/file/file-get.js +57 -46
  209. package/dist/m365/spo/commands/file/file-list.js +39 -18
  210. package/dist/m365/spo/commands/file/file-move.js +44 -30
  211. package/dist/m365/spo/commands/file/file-remove.js +51 -38
  212. package/dist/m365/spo/commands/file/file-rename.js +123 -0
  213. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +52 -37
  214. package/dist/m365/spo/commands/folder/folder-add.js +32 -18
  215. package/dist/m365/spo/commands/folder/folder-copy.js +41 -26
  216. package/dist/m365/spo/commands/folder/folder-get.js +31 -16
  217. package/dist/m365/spo/commands/folder/folder-list.js +30 -15
  218. package/dist/m365/spo/commands/folder/folder-move.js +41 -26
  219. package/dist/m365/spo/commands/folder/folder-remove.js +44 -29
  220. package/dist/m365/spo/commands/folder/folder-rename.js +35 -21
  221. package/dist/m365/spo/commands/group/group-add.js +60 -44
  222. package/dist/m365/spo/commands/group/group-get.js +65 -30
  223. package/dist/m365/spo/commands/group/group-list.js +28 -12
  224. package/dist/m365/spo/commands/group/group-remove.js +48 -34
  225. package/dist/m365/spo/commands/group/group-set.js +74 -67
  226. package/dist/m365/spo/commands/group/group-user-add.js +51 -36
  227. package/dist/m365/spo/commands/group/group-user-list.js +45 -24
  228. package/dist/m365/spo/commands/group/group-user-remove.js +50 -37
  229. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +37 -17
  230. package/dist/m365/spo/commands/homesite/homesite-remove.js +23 -14
  231. package/dist/m365/spo/commands/homesite/homesite-set.js +28 -12
  232. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +37 -20
  233. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +37 -20
  234. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +41 -24
  235. package/dist/m365/spo/commands/hubsite/hubsite-get.js +54 -39
  236. package/dist/m365/spo/commands/hubsite/hubsite-list.js +20 -14
  237. package/dist/m365/spo/commands/hubsite/hubsite-register.js +30 -14
  238. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +38 -22
  239. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +42 -26
  240. package/dist/m365/spo/commands/hubsite/hubsite-set.js +48 -34
  241. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +28 -12
  242. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +38 -21
  243. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +23 -14
  244. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +30 -14
  245. package/dist/m365/spo/commands/list/list-add.js +321 -365
  246. package/dist/m365/spo/commands/list/list-contenttype-add.js +52 -40
  247. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +50 -38
  248. package/dist/m365/spo/commands/list/list-contenttype-list.js +45 -30
  249. package/dist/m365/spo/commands/list/list-contenttype-remove.js +57 -46
  250. package/dist/m365/spo/commands/list/list-get.js +51 -38
  251. package/dist/m365/spo/commands/list/list-label-get.js +45 -30
  252. package/dist/m365/spo/commands/list/list-label-set.js +59 -46
  253. package/dist/m365/spo/commands/list/list-list.js +29 -22
  254. package/dist/m365/spo/commands/list/list-remove.js +48 -34
  255. package/dist/m365/spo/commands/list/list-roleassignment-add.js +217 -0
  256. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +200 -0
  257. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +48 -33
  258. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +45 -29
  259. package/dist/m365/spo/commands/list/list-set.js +318 -362
  260. package/dist/m365/spo/commands/list/list-sitescript-get.js +45 -30
  261. package/dist/m365/spo/commands/list/list-view-add.js +48 -40
  262. package/dist/m365/spo/commands/list/list-view-field-add.js +73 -75
  263. package/dist/m365/spo/commands/list/list-view-field-remove.js +66 -68
  264. package/dist/m365/spo/commands/list/list-view-field-set.js +68 -70
  265. package/dist/m365/spo/commands/list/list-view-get.js +58 -49
  266. package/dist/m365/spo/commands/list/list-view-list.js +45 -30
  267. package/dist/m365/spo/commands/list/list-view-remove.js +60 -54
  268. package/dist/m365/spo/commands/list/list-view-set.js +57 -50
  269. package/dist/m365/spo/commands/list/list-webhook-add.js +57 -45
  270. package/dist/m365/spo/commands/list/list-webhook-get.js +48 -34
  271. package/dist/m365/spo/commands/list/list-webhook-list.js +48 -32
  272. package/dist/m365/spo/commands/list/list-webhook-remove.js +51 -38
  273. package/dist/m365/spo/commands/list/list-webhook-set.js +57 -45
  274. package/dist/m365/spo/commands/listitem/listitem-add.js +62 -57
  275. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +47 -33
  276. package/dist/m365/spo/commands/listitem/listitem-get.js +52 -47
  277. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +47 -33
  278. package/dist/m365/spo/commands/listitem/listitem-list.js +61 -59
  279. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +53 -40
  280. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +50 -36
  281. package/dist/m365/spo/commands/listitem/listitem-remove.js +53 -41
  282. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +206 -0
  283. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +50 -29
  284. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +47 -32
  285. package/dist/m365/spo/commands/listitem/listitem-set.js +65 -63
  286. package/dist/m365/spo/commands/mail/mail-send.js +52 -41
  287. package/dist/m365/spo/commands/navigation/navigation-node-add.js +49 -34
  288. package/dist/m365/spo/commands/navigation/navigation-node-list.js +40 -21
  289. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +45 -28
  290. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +43 -25
  291. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +0 -4
  292. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +18 -12
  293. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +0 -4
  294. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +37 -20
  295. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +28 -12
  296. package/dist/m365/spo/commands/page/page-add.js +60 -48
  297. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +59 -47
  298. package/dist/m365/spo/commands/page/page-column-get.js +37 -22
  299. package/dist/m365/spo/commands/page/page-column-list.js +35 -19
  300. package/dist/m365/spo/commands/page/page-control-get.js +37 -21
  301. package/dist/m365/spo/commands/page/page-control-list.js +32 -17
  302. package/dist/m365/spo/commands/page/page-control-set.js +48 -26
  303. package/dist/m365/spo/commands/page/page-copy.js +41 -26
  304. package/dist/m365/spo/commands/page/page-get.js +32 -18
  305. package/dist/m365/spo/commands/page/page-header-set.js +74 -66
  306. package/dist/m365/spo/commands/page/page-list.js +28 -12
  307. package/dist/m365/spo/commands/page/page-remove.js +32 -18
  308. package/dist/m365/spo/commands/page/page-section-add.js +44 -22
  309. package/dist/m365/spo/commands/page/page-section-get.js +35 -19
  310. package/dist/m365/spo/commands/page/page-section-list.js +31 -16
  311. package/dist/m365/spo/commands/page/page-set.js +62 -50
  312. package/dist/m365/spo/commands/page/page-template-list.js +28 -12
  313. package/dist/m365/spo/commands/page/page-text-add.js +49 -34
  314. package/dist/m365/spo/commands/propertybag/propertybag-get.js +39 -23
  315. package/dist/m365/spo/commands/propertybag/propertybag-list.js +37 -20
  316. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +42 -33
  317. package/dist/m365/spo/commands/propertybag/propertybag-set.js +41 -35
  318. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +32 -15
  319. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +28 -12
  320. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +41 -23
  321. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +18 -12
  322. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +17 -8
  323. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +33 -13
  324. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +33 -13
  325. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +40 -21
  326. package/dist/m365/spo/commands/site/site-add.js +101 -101
  327. package/dist/m365/spo/commands/site/site-appcatalog-add.js +29 -18
  328. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +29 -18
  329. package/dist/m365/spo/commands/site/site-apppermission-add.js +48 -37
  330. package/dist/m365/spo/commands/site/site-apppermission-get.js +31 -16
  331. package/dist/m365/spo/commands/site/site-apppermission-list.js +40 -25
  332. package/dist/m365/spo/commands/site/site-apppermission-remove.js +51 -43
  333. package/dist/m365/spo/commands/site/site-apppermission-set.js +53 -43
  334. package/dist/m365/spo/commands/site/site-chrome-set.js +67 -55
  335. package/dist/m365/spo/commands/site/site-commsite-enable.js +39 -20
  336. package/dist/m365/spo/commands/site/site-ensure.js +131 -132
  337. package/dist/m365/spo/commands/site/site-get.js +26 -10
  338. package/dist/m365/spo/commands/site/site-groupify.js +51 -39
  339. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +39 -20
  340. package/dist/m365/spo/commands/site/site-list.js +85 -38
  341. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +43 -19
  342. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +32 -15
  343. package/dist/m365/spo/commands/site/site-remove.js +46 -32
  344. package/dist/m365/spo/commands/site/site-rename.js +55 -43
  345. package/dist/m365/spo/commands/site/site-set.js +386 -228
  346. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +55 -41
  347. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +41 -23
  348. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +38 -16
  349. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +39 -20
  350. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +38 -22
  351. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +33 -15
  352. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +45 -27
  353. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +39 -20
  354. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +32 -15
  355. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +64 -53
  356. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +33 -15
  357. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +28 -12
  358. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +43 -24
  359. package/dist/m365/spo/commands/sitescript/sitescript-add.js +41 -23
  360. package/dist/m365/spo/commands/sitescript/sitescript-get.js +30 -12
  361. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +39 -20
  362. package/dist/m365/spo/commands/sitescript/sitescript-set.js +48 -32
  363. package/dist/m365/spo/commands/spo-search.js +123 -126
  364. package/dist/m365/spo/commands/spo-set.js +28 -12
  365. package/dist/m365/spo/commands/storageentity/storageentity-get.js +16 -7
  366. package/dist/m365/spo/commands/storageentity/storageentity-list.js +28 -16
  367. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +39 -29
  368. package/dist/m365/spo/commands/storageentity/storageentity-set.js +44 -36
  369. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +55 -30
  370. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +43 -27
  371. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +38 -21
  372. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +375 -443
  373. package/dist/m365/spo/commands/term/term-add.js +66 -58
  374. package/dist/m365/spo/commands/term/term-get.js +55 -43
  375. package/dist/m365/spo/commands/term/term-group-add.js +42 -24
  376. package/dist/m365/spo/commands/term/term-group-get.js +43 -27
  377. package/dist/m365/spo/commands/term/term-list.js +49 -41
  378. package/dist/m365/spo/commands/term/term-set-add.js +54 -42
  379. package/dist/m365/spo/commands/term/term-set-get.js +49 -41
  380. package/dist/m365/spo/commands/term/term-set-list.js +43 -27
  381. package/dist/m365/spo/commands/theme/theme-apply.js +41 -23
  382. package/dist/m365/spo/commands/theme/theme-get.js +16 -7
  383. package/dist/m365/spo/commands/theme/theme-remove.js +25 -17
  384. package/dist/m365/spo/commands/theme/theme-set.js +41 -21
  385. package/dist/m365/spo/commands/user/user-get.js +48 -36
  386. package/dist/m365/spo/commands/user/user-list.js +28 -12
  387. package/dist/m365/spo/commands/user/user-remove.js +48 -34
  388. package/dist/m365/spo/commands/userprofile/userprofile-get.js +30 -12
  389. package/dist/m365/spo/commands/userprofile/userprofile-set.js +20 -15
  390. package/dist/m365/spo/commands/web/web-add.js +58 -45
  391. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +28 -12
  392. package/dist/m365/spo/commands/web/web-get.js +38 -21
  393. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +28 -12
  394. package/dist/m365/spo/commands/web/web-list.js +30 -14
  395. package/dist/m365/spo/commands/web/web-reindex.js +31 -18
  396. package/dist/m365/spo/commands/web/web-remove.js +40 -23
  397. package/dist/m365/spo/commands/web/web-roleassignment-add.js +187 -0
  398. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +170 -0
  399. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +63 -0
  400. package/dist/m365/spo/commands/web/web-set.js +73 -62
  401. package/dist/m365/spo/commands.js +7 -3
  402. package/dist/m365/teams/commands/app/app-install.js +43 -26
  403. package/dist/m365/teams/commands/app/app-list.js +43 -25
  404. package/dist/m365/teams/commands/app/app-publish.js +30 -12
  405. package/dist/m365/teams/commands/app/app-remove.js +39 -20
  406. package/dist/m365/teams/commands/app/app-uninstall.js +43 -20
  407. package/dist/m365/teams/commands/app/app-update.js +45 -30
  408. package/dist/m365/teams/commands/cache/cache-remove.js +26 -18
  409. package/dist/m365/teams/commands/channel/channel-add.js +55 -43
  410. package/dist/m365/teams/commands/channel/channel-get.js +55 -60
  411. package/dist/m365/teams/commands/channel/channel-list.js +46 -31
  412. package/dist/m365/teams/commands/channel/channel-member-add.js +65 -59
  413. package/dist/m365/teams/commands/channel/channel-member-list.js +53 -53
  414. package/dist/m365/teams/commands/channel/channel-member-remove.js +60 -58
  415. package/dist/m365/teams/commands/channel/channel-member-set.js +61 -68
  416. package/dist/m365/teams/commands/channel/channel-remove.js +55 -41
  417. package/dist/m365/teams/commands/channel/channel-set.js +53 -36
  418. package/dist/m365/teams/commands/chat/chat-get.js +50 -54
  419. package/dist/m365/teams/commands/chat/chat-list.js +38 -12
  420. package/dist/m365/teams/commands/chat/chat-member-list.js +30 -12
  421. package/dist/m365/teams/commands/chat/chat-message-list.js +30 -12
  422. package/dist/m365/teams/commands/chat/chat-message-send.js +49 -57
  423. package/dist/m365/teams/commands/chat/chatUtil.js +0 -12
  424. package/dist/m365/teams/commands/funsettings/funsettings-list.js +30 -12
  425. package/dist/m365/teams/commands/funsettings/funsettings-set.js +48 -32
  426. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +30 -12
  427. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +41 -25
  428. package/dist/m365/teams/commands/membersettings/membersettings-list.js +30 -12
  429. package/dist/m365/teams/commands/membersettings/membersettings-set.js +47 -34
  430. package/dist/m365/teams/commands/message/message-get.js +35 -19
  431. package/dist/m365/teams/commands/message/message-list.js +41 -18
  432. package/dist/m365/teams/commands/message/message-reply-list.js +34 -18
  433. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +30 -12
  434. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +47 -34
  435. package/dist/m365/teams/commands/report/report-directroutingcalls.js +39 -20
  436. package/dist/m365/teams/commands/report/report-pstncalls.js +39 -20
  437. package/dist/m365/teams/commands/tab/tab-add.js +59 -46
  438. package/dist/m365/teams/commands/tab/tab-get.js +58 -61
  439. package/dist/m365/teams/commands/tab/tab-list.js +32 -15
  440. package/dist/m365/teams/commands/tab/tab-remove.js +47 -30
  441. package/dist/m365/teams/commands/team/team-add.js +44 -30
  442. package/dist/m365/teams/commands/team/team-archive.js +45 -35
  443. package/dist/m365/teams/commands/team/team-clone.js +74 -54
  444. package/dist/m365/teams/commands/team/team-get.js +43 -27
  445. package/dist/m365/teams/commands/team/team-list.js +23 -14
  446. package/dist/m365/teams/commands/team/team-remove.js +45 -40
  447. package/dist/m365/teams/commands/team/team-set.js +59 -40
  448. package/dist/m365/teams/commands/team/team-unarchive.js +35 -31
  449. package/dist/m365/teams/commands/user/user-app-add.js +35 -18
  450. package/dist/m365/teams/commands/user/user-app-list.js +43 -27
  451. package/dist/m365/teams/commands/user/user-app-remove.js +43 -25
  452. package/dist/m365/teams/commands/user/user-list.js +38 -22
  453. package/dist/m365/teams/commands.js +0 -3
  454. package/dist/m365/tenant/commands/id/id-get.js +23 -9
  455. package/dist/m365/tenant/commands/security/security-alerts-list.js +22 -13
  456. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +22 -14
  457. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +22 -13
  458. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +16 -9
  459. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +16 -9
  460. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +30 -12
  461. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +23 -9
  462. package/dist/m365/todo/commands/list/list-add.js +16 -9
  463. package/dist/m365/todo/commands/list/list-remove.js +32 -31
  464. package/dist/m365/todo/commands/list/list-set.js +31 -33
  465. package/dist/m365/todo/commands/task/task-add.js +31 -30
  466. package/dist/m365/todo/commands/task/task-list.js +29 -27
  467. package/dist/m365/todo/commands/task/task-remove.js +34 -34
  468. package/dist/m365/todo/commands/task/task-set.js +60 -50
  469. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +25 -12
  470. package/dist/m365/viva/commands/connections/connections-app-create.js +36 -29
  471. package/dist/m365/yammer/commands/group/group-list.js +37 -21
  472. package/dist/m365/yammer/commands/group/group-user-add.js +47 -29
  473. package/dist/m365/yammer/commands/group/group-user-remove.js +50 -32
  474. package/dist/m365/yammer/commands/message/message-add.js +48 -32
  475. package/dist/m365/yammer/commands/message/message-get.js +30 -12
  476. package/dist/m365/yammer/commands/message/message-like-set.js +43 -28
  477. package/dist/m365/yammer/commands/message/message-list.js +50 -38
  478. package/dist/m365/yammer/commands/message/message-remove.js +39 -20
  479. package/dist/m365/yammer/commands/network/network-list.js +23 -14
  480. package/dist/m365/yammer/commands/user/user-get.js +43 -24
  481. package/dist/m365/yammer/commands/user/user-list.js +47 -34
  482. package/dist/m365/yammer/commands/yammer-search.js +40 -25
  483. package/dist/request.js +6 -2
  484. package/dist/settingsNames.js +0 -1
  485. package/docs/docs/cmd/aad/app/app-add.md +12 -1
  486. package/docs/docs/cmd/aad/app/app-set.md +1 -1
  487. package/docs/docs/cmd/aad/approleassignment/approleassignment-add.md +5 -5
  488. package/docs/docs/cmd/aad/approleassignment/approleassignment-list.md +5 -5
  489. package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.md +5 -5
  490. package/docs/docs/cmd/aad/o365group/o365group-add.md +3 -3
  491. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-list.md +7 -7
  492. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.md +21 -9
  493. package/docs/docs/cmd/aad/o365group/o365group-teamify.md +4 -4
  494. package/docs/docs/cmd/aad/policy/policy-list.md +2 -2
  495. package/docs/docs/cmd/aad/sp/sp-get.md +5 -5
  496. package/docs/docs/cmd/adaptivecard/adaptivecard-send.md +0 -20
  497. package/docs/docs/cmd/booking/business/business-get.md +33 -0
  498. package/docs/docs/cmd/booking/business/business-list.md +21 -0
  499. package/docs/docs/cmd/cli/completion/completion-clink-update.md +1 -1
  500. package/docs/docs/cmd/cli/completion/completion-pwsh-setup.md +1 -1
  501. package/docs/docs/cmd/cli/completion/completion-pwsh-update.md +1 -1
  502. package/docs/docs/cmd/cli/completion/completion-sh-setup.md +1 -1
  503. package/docs/docs/cmd/cli/completion/completion-sh-update.md +1 -1
  504. package/docs/docs/cmd/flow/flow-disable.md +3 -3
  505. package/docs/docs/cmd/flow/flow-enable.md +1 -1
  506. package/docs/docs/cmd/flow/flow-export.md +5 -5
  507. package/docs/docs/cmd/flow/flow-get.md +3 -3
  508. package/docs/docs/cmd/flow/flow-list.md +3 -3
  509. package/docs/docs/cmd/flow/flow-remove.md +5 -5
  510. package/docs/docs/cmd/flow/run/run-cancel.md +3 -3
  511. package/docs/docs/cmd/flow/run/run-get.md +3 -3
  512. package/docs/docs/cmd/flow/run/run-list.md +3 -3
  513. package/docs/docs/cmd/flow/run/run-resubmit.md +4 -4
  514. package/docs/docs/cmd/graph/changelog/changelog-list.md +53 -0
  515. package/docs/docs/cmd/onenote/notebook/notebook-list.md +70 -0
  516. package/docs/docs/cmd/outlook/mail/mail-send.md +1 -7
  517. package/docs/docs/cmd/outlook/message/message-move.md +4 -4
  518. package/docs/docs/cmd/pa/connector/connector-export.md +3 -3
  519. package/docs/docs/cmd/pa/connector/connector-list.md +2 -2
  520. package/docs/docs/cmd/pa/solution/solution-reference-add.md +2 -2
  521. package/docs/docs/cmd/planner/bucket/bucket-add.md +0 -3
  522. package/docs/docs/cmd/planner/bucket/bucket-get.md +0 -3
  523. package/docs/docs/cmd/planner/bucket/bucket-list.md +0 -3
  524. package/docs/docs/cmd/planner/bucket/bucket-remove.md +0 -3
  525. package/docs/docs/cmd/planner/bucket/bucket-set.md +0 -3
  526. package/docs/docs/cmd/planner/plan/plan-get.md +0 -6
  527. package/docs/docs/cmd/planner/task/task-add.md +0 -3
  528. package/docs/docs/cmd/planner/task/task-get.md +0 -3
  529. package/docs/docs/cmd/planner/task/task-list.md +0 -3
  530. package/docs/docs/cmd/planner/task/task-set.md +0 -3
  531. package/docs/docs/cmd/pp/environment/environment-list.md +1 -1
  532. package/docs/docs/cmd/request.md +76 -0
  533. package/docs/docs/cmd/search/externalconnection/externalconnection-remove.md +40 -0
  534. package/docs/docs/cmd/spfx/package/package-generate.md +2 -2
  535. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  536. package/docs/docs/cmd/spfx/spfx-doctor.md +3 -3
  537. package/docs/docs/cmd/spo/app/app-add.md +2 -2
  538. package/docs/docs/cmd/spo/app/app-deploy.md +2 -2
  539. package/docs/docs/cmd/spo/app/app-get.md +2 -2
  540. package/docs/docs/cmd/spo/app/app-install.md +2 -2
  541. package/docs/docs/cmd/spo/app/app-list.md +2 -2
  542. package/docs/docs/cmd/spo/app/app-remove.md +2 -2
  543. package/docs/docs/cmd/spo/app/app-retract.md +2 -2
  544. package/docs/docs/cmd/spo/app/app-uninstall.md +2 -2
  545. package/docs/docs/cmd/spo/app/app-upgrade.md +2 -2
  546. package/docs/docs/cmd/spo/apppage/apppage-set.md +2 -2
  547. package/docs/docs/cmd/spo/cdn/cdn-policy-list.md +3 -3
  548. package/docs/docs/cmd/spo/cdn/cdn-policy-set.md +3 -3
  549. package/docs/docs/cmd/spo/contenttype/contenttype-field-set.md +4 -4
  550. package/docs/docs/cmd/spo/customaction/customaction-add.md +10 -10
  551. package/docs/docs/cmd/spo/customaction/customaction-clear.md +4 -4
  552. package/docs/docs/cmd/spo/customaction/customaction-get.md +19 -6
  553. package/docs/docs/cmd/spo/customaction/customaction-list.md +4 -4
  554. package/docs/docs/cmd/spo/customaction/customaction-remove.md +38 -7
  555. package/docs/docs/cmd/spo/customaction/customaction-set.md +7 -7
  556. package/docs/docs/cmd/spo/feature/feature-disable.md +4 -4
  557. package/docs/docs/cmd/spo/feature/feature-enable.md +2 -2
  558. package/docs/docs/cmd/spo/feature/feature-list.md +3 -3
  559. package/docs/docs/cmd/spo/field/field-get.md +4 -4
  560. package/docs/docs/cmd/spo/field/field-remove.md +6 -6
  561. package/docs/docs/cmd/spo/file/file-checkin.md +6 -6
  562. package/docs/docs/cmd/spo/file/file-checkout.md +4 -4
  563. package/docs/docs/cmd/spo/file/file-rename.md +43 -0
  564. package/docs/docs/cmd/spo/file/file-sharinginfo-get.md +7 -7
  565. package/docs/docs/cmd/spo/folder/folder-get.md +2 -2
  566. package/docs/docs/cmd/spo/folder/folder-remove.md +3 -3
  567. package/docs/docs/cmd/spo/folder/folder-rename.md +2 -2
  568. package/docs/docs/cmd/spo/group/group-get.md +12 -3
  569. package/docs/docs/cmd/spo/hubsite/hubsite-connect.md +4 -4
  570. package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +4 -4
  571. package/docs/docs/cmd/spo/hubsite/hubsite-register.md +2 -2
  572. package/docs/docs/cmd/spo/hubsite/hubsite-rights-grant.md +4 -4
  573. package/docs/docs/cmd/spo/hubsite/hubsite-rights-revoke.md +3 -3
  574. package/docs/docs/cmd/spo/hubsite/hubsite-unregister.md +2 -2
  575. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-set.md +2 -2
  576. package/docs/docs/cmd/spo/list/list-contenttype-add.md +3 -3
  577. package/docs/docs/cmd/spo/list/list-contenttype-remove.md +3 -3
  578. package/docs/docs/cmd/spo/list/list-list.md +0 -3
  579. package/docs/docs/cmd/spo/list/list-roleassignment-add.md +78 -0
  580. package/docs/docs/cmd/spo/list/list-roleassignment-remove.md +57 -0
  581. package/docs/docs/cmd/spo/list/list-view-field-add.md +8 -8
  582. package/docs/docs/cmd/spo/list/list-view-field-remove.md +6 -6
  583. package/docs/docs/cmd/spo/list/list-view-field-set.md +7 -7
  584. package/docs/docs/cmd/spo/list/list-view-get.md +7 -7
  585. package/docs/docs/cmd/spo/list/list-view-remove.md +8 -8
  586. package/docs/docs/cmd/spo/list/list-view-set.md +7 -7
  587. package/docs/docs/cmd/spo/listitem/listitem-record-declare.md +5 -5
  588. package/docs/docs/cmd/spo/listitem/listitem-record-undeclare.md +3 -3
  589. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.md +67 -0
  590. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-break.md +6 -6
  591. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +1 -1
  592. package/docs/docs/cmd/spo/page/page-column-get.md +3 -3
  593. package/docs/docs/cmd/spo/page/page-column-list.md +3 -3
  594. package/docs/docs/cmd/spo/page/page-control-get.md +3 -3
  595. package/docs/docs/cmd/spo/page/page-control-list.md +3 -3
  596. package/docs/docs/cmd/spo/page/page-control-set.md +4 -4
  597. package/docs/docs/cmd/spo/page/page-section-add.md +3 -3
  598. package/docs/docs/cmd/spo/page/page-section-get.md +3 -3
  599. package/docs/docs/cmd/spo/page/page-section-list.md +3 -3
  600. package/docs/docs/cmd/spo/roledefinition/roledefinition-get.md +1 -1
  601. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-revoke.md +2 -2
  602. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-approve.md +2 -2
  603. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-deny.md +2 -2
  604. package/docs/docs/cmd/spo/site/site-add.md +2 -2
  605. package/docs/docs/cmd/spo/site/site-appcatalog-add.md +2 -2
  606. package/docs/docs/cmd/spo/site/site-appcatalog-remove.md +2 -2
  607. package/docs/docs/cmd/spo/site/site-apppermission-add.md +1 -1
  608. package/docs/docs/cmd/spo/site/site-apppermission-get.md +2 -2
  609. package/docs/docs/cmd/spo/site/site-apppermission-remove.md +2 -2
  610. package/docs/docs/cmd/spo/site/site-apppermission-set.md +6 -6
  611. package/docs/docs/cmd/spo/site/site-chrome-set.md +4 -4
  612. package/docs/docs/cmd/spo/site/site-groupify.md +5 -11
  613. package/docs/docs/cmd/spo/site/site-list.md +19 -7
  614. package/docs/docs/cmd/spo/site/site-rename.md +6 -6
  615. package/docs/docs/cmd/spo/site/site-set.md +50 -6
  616. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.md +4 -4
  617. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.md +3 -3
  618. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.md +3 -3
  619. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.md +2 -2
  620. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.md +5 -5
  621. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.md +3 -3
  622. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.md +6 -3
  623. package/docs/docs/cmd/spo/web/web-add.md +4 -4
  624. package/docs/docs/cmd/spo/web/web-get.md +3 -3
  625. package/docs/docs/cmd/spo/web/web-list.md +2 -2
  626. package/docs/docs/cmd/spo/web/web-reindex.md +2 -2
  627. package/docs/docs/cmd/spo/web/web-remove.md +2 -2
  628. package/docs/docs/cmd/spo/web/web-roleassignment-add.md +57 -0
  629. package/docs/docs/cmd/spo/web/web-roleassignment-remove.md +54 -0
  630. package/docs/docs/cmd/spo/web/web-roleinheritance-reset.md +24 -0
  631. package/docs/docs/cmd/spo/web/web-set.md +9 -9
  632. package/docs/docs/cmd/teams/app/app-install.md +5 -5
  633. package/docs/docs/cmd/teams/app/app-uninstall.md +3 -3
  634. package/docs/docs/cmd/teams/channel/channel-get.md +7 -7
  635. package/docs/docs/cmd/teams/channel/channel-member-add.md +0 -6
  636. package/docs/docs/cmd/teams/channel/channel-member-list.md +0 -6
  637. package/docs/docs/cmd/teams/channel/channel-member-remove.md +0 -6
  638. package/docs/docs/cmd/teams/channel/channel-remove.md +7 -7
  639. package/docs/docs/cmd/teams/channel/channel-set.md +4 -4
  640. package/docs/docs/cmd/teams/message/message-get.md +3 -3
  641. package/docs/docs/cmd/teams/tab/tab-get.md +6 -6
  642. package/docs/docs/cmd/teams/tab/tab-remove.md +4 -4
  643. package/docs/docs/cmd/teams/team/team-archive.md +0 -3
  644. package/docs/docs/cmd/teams/team/team-clone.md +8 -5
  645. package/docs/docs/cmd/teams/team/team-remove.md +0 -3
  646. package/docs/docs/cmd/teams/team/team-set.md +7 -4
  647. package/docs/docs/cmd/teams/team/team-unarchive.md +0 -3
  648. package/docs/docs/cmd/teams/user/user-app-add.md +3 -3
  649. package/docs/docs/cmd/teams/user/user-app-remove.md +3 -3
  650. package/docs/docs/cmd/viva/connections/connections-app-create.md +2 -2
  651. package/docs/docs/cmd/yammer/group/group-user-add.md +5 -5
  652. package/docs/docs/cmd/yammer/group/group-user-remove.md +5 -5
  653. package/docs/docs/cmd/yammer/message/message-like-set.md +4 -4
  654. package/docs/docs/cmd/yammer/user/user-get.md +2 -2
  655. package/npm-shrinkwrap.json +250 -196
  656. package/package.json +26 -15
  657. package/scripts/Register-CLIM365Completion.ps1 +1 -1
  658. package/dist/m365/spo/commands/site/site-classic-add.js +0 -333
  659. package/dist/m365/spo/commands/site/site-classic-list.js +0 -98
  660. package/dist/m365/spo/commands/site/site-classic-set.js +0 -358
  661. package/docs/docs/cmd/spo/site/site-classic-add.md +0 -93
  662. package/docs/docs/cmd/spo/site/site-classic-list.md +0 -65
  663. package/docs/docs/cmd/spo/site/site-classic-set.md +0 -99
@@ -1,4 +1,19 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ 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");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var _SpoSiteSetCommand_instances, _SpoSiteSetCommand_initTelemetry, _SpoSiteSetCommand_initOptions, _SpoSiteSetCommand_initValidators, _SpoSiteSetCommand_initTypes;
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
18
  const cli_1 = require("../../../../cli");
4
19
  const Command_1 = require("../../../../Command");
@@ -10,49 +25,49 @@ const SpoCommand_1 = require("../../../base/SpoCommand");
10
25
  const commands_1 = require("../../commands");
11
26
  const SharingCapabilities_1 = require("../site/SharingCapabilities");
12
27
  const spoSiteDesignApplyCommand = require("../sitedesign/sitedesign-apply");
13
- const spoSiteClassicSetCommand = require("./site-classic-set");
14
28
  class SpoSiteSetCommand extends SpoCommand_1.default {
29
+ constructor() {
30
+ super();
31
+ _SpoSiteSetCommand_instances.add(this);
32
+ __classPrivateFieldGet(this, _SpoSiteSetCommand_instances, "m", _SpoSiteSetCommand_initTelemetry).call(this);
33
+ __classPrivateFieldGet(this, _SpoSiteSetCommand_instances, "m", _SpoSiteSetCommand_initOptions).call(this);
34
+ __classPrivateFieldGet(this, _SpoSiteSetCommand_instances, "m", _SpoSiteSetCommand_initValidators).call(this);
35
+ __classPrivateFieldGet(this, _SpoSiteSetCommand_instances, "m", _SpoSiteSetCommand_initTypes).call(this);
36
+ }
15
37
  get name() {
16
38
  return commands_1.default.SITE_SET;
17
39
  }
18
40
  get description() {
19
41
  return 'Updates properties of the specified site';
20
42
  }
21
- getTelemetryProperties(args) {
22
- const telemetryProps = super.getTelemetryProperties(args);
23
- telemetryProps.classification = typeof args.options.classification === 'string';
24
- telemetryProps.disableFlows = args.options.disableFlows;
25
- telemetryProps.isPublic = args.options.isPublic;
26
- telemetryProps.owners = typeof args.options.owners !== 'undefined';
27
- telemetryProps.shareByEmailEnabled = args.options.shareByEmailEnabled;
28
- telemetryProps.title = typeof args.options.title === 'string';
29
- telemetryProps.description = typeof args.options.description === 'string';
30
- telemetryProps.siteDesignId = typeof args.options.siteDesignId !== undefined;
31
- telemetryProps.sharingCapabilities = args.options.sharingCapability;
32
- telemetryProps.siteLogoUrl = typeof args.options.siteLogoUrl !== 'undefined';
33
- return telemetryProps;
34
- }
35
43
  commandAction(logger, args, cb) {
36
- this
37
- .loadSiteIds(args.options.url, logger)
38
- .then(() => {
39
- if (this.groupId === '00000000-0000-0000-0000-000000000000') {
40
- if (this.debug) {
41
- logger.logToStderr('Site is not groupified');
42
- }
43
- return this.updateSite(logger, args);
44
- }
45
- else {
46
- if (this.debug) {
47
- logger.logToStderr(`Site attached to group ${this.groupId}`);
48
- }
49
- return this.updateGroupifiedSite(logger, args);
50
- }
44
+ this.dots = '';
45
+ utils_1.spo
46
+ .getTenantId(logger, this.debug)
47
+ .then((_tenantId) => {
48
+ this.tenantId = _tenantId;
49
+ return utils_1.spo.getSpoAdminUrl(logger, this.debug);
50
+ })
51
+ .then(spoAdminUrl => {
52
+ this.spoAdminUrl = spoAdminUrl;
53
+ return utils_1.spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
54
+ })
55
+ .then(formDigestInfo => {
56
+ this.context = formDigestInfo;
57
+ return Promise.resolve();
58
+ })
59
+ .then(_ => this.loadSiteIds(args.options.url, logger))
60
+ .then(_ => {
61
+ return this.isGroupConnectedSite()
62
+ ? this.updateGroupConnectedSite(logger, args)
63
+ : this.updateSharePointOnlySite(logger, args);
51
64
  })
52
- .then(() => this.updateSharedProperties(logger, args))
53
- .then(() => this.applySiteDesign(logger, args))
54
- .then(() => this.setSharingCapabilities(logger, args))
55
- .then(() => this.setLogo(logger, args))
65
+ .then(_ => this.updateSiteProperties(logger, args))
66
+ .then(res => this.waitForSiteUpdateCompletion(logger, args, res))
67
+ .then(_ => this.applySiteDesign(logger, args))
68
+ .then(_ => this.setLogo(logger, args))
69
+ .then(_ => this.updateSiteLockState(logger, args))
70
+ .then(res => this.waitForSiteUpdateCompletion(logger, args, res))
56
71
  .then(_ => cb(), (err) => {
57
72
  if (err instanceof Command_1.CommandError) {
58
73
  err = err.message;
@@ -80,27 +95,135 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
80
95
  };
81
96
  return request_1.default.post(requestOptions);
82
97
  }
83
- updateSite(logger, args) {
98
+ updateSharePointOnlySite(logger, args) {
99
+ if (this.debug) {
100
+ logger.logToStderr('Site is not group connected');
101
+ }
84
102
  if (typeof args.options.isPublic !== 'undefined') {
85
103
  return Promise.reject(`The isPublic option can't be set on a site that is not groupified`);
86
104
  }
87
- if (!args.options.title &&
88
- !args.options.owners &&
89
- !args.options.description) {
105
+ return this.updateSiteDescription(logger, args)
106
+ .then(_ => this.updateSiteOwners(logger, args));
107
+ }
108
+ waitForSiteUpdateCompletion(logger, args, res) {
109
+ return new Promise((resolve, reject) => {
110
+ if (!res) {
111
+ resolve();
112
+ return;
113
+ }
114
+ const json = JSON.parse(res);
115
+ const response = json[0];
116
+ if (response.ErrorInfo) {
117
+ reject(response.ErrorInfo.ErrorMessage);
118
+ }
119
+ else {
120
+ const operation = json[json.length - 1];
121
+ const isComplete = operation.IsComplete;
122
+ if (!args.options.wait || isComplete) {
123
+ resolve();
124
+ return;
125
+ }
126
+ setTimeout(() => {
127
+ utils_1.spo.waitUntilFinished({
128
+ operationId: JSON.stringify(operation._ObjectIdentity_),
129
+ siteUrl: this.spoAdminUrl,
130
+ resolve,
131
+ reject,
132
+ logger,
133
+ currentContext: this.context,
134
+ dots: this.dots,
135
+ debug: this.debug,
136
+ verbose: this.verbose
137
+ });
138
+ }, operation.PollingInterval);
139
+ }
140
+ });
141
+ }
142
+ updateSiteOwners(logger, args) {
143
+ if (!args.options.owners) {
90
144
  return Promise.resolve();
91
145
  }
92
- const options = {
93
- url: args.options.url,
94
- title: args.options.title,
95
- description: args.options.description,
96
- owners: args.options.owners,
97
- wait: true,
98
- debug: this.debug,
99
- verbose: this.verbose
146
+ return new Promise((resolve, reject) => {
147
+ if (this.verbose) {
148
+ logger.logToStderr(`Updating site owners ${args.options.url}...`);
149
+ }
150
+ Promise.all(args.options.owners.split(',').map(o => {
151
+ return this.setAdmin(args.options.url, o.trim());
152
+ }))
153
+ .then(() => {
154
+ resolve();
155
+ }, (err) => {
156
+ reject(err);
157
+ });
158
+ });
159
+ }
160
+ setAdmin(siteUrl, principal) {
161
+ return new Promise((resolve, reject) => {
162
+ const requestOptions = {
163
+ url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
164
+ headers: {
165
+ 'X-RequestDigest': this.context.FormDigestValue
166
+ },
167
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="48" ObjectPathId="47" /></Actions><ObjectPaths><Method Id="47" ParentId="34" Name="SetSiteAdmin"><Parameters><Parameter Type="String">${utils_1.formatting.escapeXml(siteUrl)}</Parameter><Parameter Type="String">${utils_1.formatting.escapeXml(principal)}</Parameter><Parameter Type="Boolean">true</Parameter></Parameters></Method><Constructor Id="34" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
168
+ };
169
+ return request_1.default.post(requestOptions)
170
+ .then((res) => {
171
+ const json = JSON.parse(res);
172
+ const response = json[0];
173
+ if (response.ErrorInfo) {
174
+ reject(response.ErrorInfo.ErrorMessage);
175
+ }
176
+ else {
177
+ resolve();
178
+ }
179
+ }, (err) => {
180
+ reject(err);
181
+ });
182
+ });
183
+ }
184
+ updateSiteDescription(logger, args) {
185
+ if (!args.options.description) {
186
+ return Promise.resolve(undefined);
187
+ }
188
+ if (this.verbose) {
189
+ logger.logToStderr(`Setting site description ${args.options.url}...`);
190
+ }
191
+ const requestOptions = {
192
+ url: `${args.options.url}/_api/web`,
193
+ headers: {
194
+ 'IF-MATCH': '*',
195
+ 'Accept': 'application/json;odata=nometadata',
196
+ 'content-type': 'application/json;odata=nometadata',
197
+ 'X-RequestDigest': this.context.FormDigestValue,
198
+ 'X-HTTP-Method': 'MERGE'
199
+ },
200
+ data: {
201
+ Description: args.options.description
202
+ },
203
+ json: true
100
204
  };
101
- return cli_1.Cli.executeCommand(spoSiteClassicSetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
205
+ return request_1.default.post(requestOptions);
102
206
  }
103
- updateGroupifiedSite(logger, args) {
207
+ updateSiteLockState(logger, args) {
208
+ if (!args.options.lockState) {
209
+ return Promise.resolve(undefined);
210
+ }
211
+ if (this.verbose) {
212
+ logger.logToStderr(`Setting site lock state ${args.options.url}...`);
213
+ }
214
+ const requestOptions = {
215
+ url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
216
+ headers: {
217
+ 'X-RequestDigest': this.context.FormDigestValue
218
+ },
219
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><SetProperty Id="7" ObjectPathId="5" Name="LockState"><Parameter Type="String">${utils_1.formatting.escapeXml(args.options.lockState)}</Parameter></SetProperty><ObjectPath Id="9" ObjectPathId="8" /><ObjectIdentityQuery Id="10" ObjectPathId="5" /><Query Id="11" ObjectPathId="8"><Query SelectAllProperties="true"><Properties /></Query></Query></Actions><ObjectPaths><Method Id="5" ParentId="3" Name="GetSitePropertiesByUrl"><Parameters><Parameter Type="String">${utils_1.formatting.escapeXml(args.options.url)}</Parameter><Parameter Type="Boolean">false</Parameter></Parameters></Method><Method Id="8" ParentId="5" Name="Update" /><Constructor Id="3" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
220
+ };
221
+ return request_1.default.post(requestOptions);
222
+ }
223
+ updateGroupConnectedSite(logger, args) {
224
+ if (this.debug) {
225
+ logger.logToStderr(`Site attached to group ${this.groupId}`);
226
+ }
104
227
  return new Promise((resolve, reject) => {
105
228
  if (typeof args.options.title === 'undefined' &&
106
229
  typeof args.options.description === 'undefined' &&
@@ -108,32 +231,23 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
108
231
  typeof args.options.owners === 'undefined') {
109
232
  return resolve();
110
233
  }
111
- let spoAdminUrl;
112
234
  const promises = [];
113
235
  if (typeof args.options.title !== 'undefined') {
114
- promises.push(utils_1.spo
115
- .getSpoAdminUrl(logger, this.debug)
116
- .then((_spoAdminUrl) => {
117
- spoAdminUrl = _spoAdminUrl;
118
- return utils_1.spo.getRequestDigest(spoAdminUrl);
119
- })
120
- .then((formDigest) => {
121
- const requestOptions = {
122
- url: `${spoAdminUrl}/_api/SPOGroup/UpdateGroupPropertiesBySiteId`,
123
- headers: {
124
- accept: 'application/json;odata=nometadata',
125
- 'content-type': 'application/json;charset=utf-8',
126
- 'X-RequestDigest': formDigest.FormDigestValue
127
- },
128
- data: {
129
- groupId: this.groupId,
130
- siteId: this.siteId,
131
- displayName: args.options.title
132
- },
133
- responseType: 'json'
134
- };
135
- return request_1.default.post(requestOptions);
136
- }));
236
+ const requestOptions = {
237
+ url: `${this.spoAdminUrl}/_api/SPOGroup/UpdateGroupPropertiesBySiteId`,
238
+ headers: {
239
+ accept: 'application/json;odata=nometadata',
240
+ 'content-type': 'application/json;charset=utf-8',
241
+ 'X-RequestDigest': this.context.FormDigestValue
242
+ },
243
+ data: {
244
+ groupId: this.groupId,
245
+ siteId: this.siteId,
246
+ displayName: args.options.title
247
+ },
248
+ responseType: 'json'
249
+ };
250
+ promises.push(request_1.default.post(requestOptions));
137
251
  }
138
252
  if (typeof args.options.isPublic !== 'undefined') {
139
253
  const commandOptions = {
@@ -177,27 +291,21 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
177
291
  if (this.verbose) {
178
292
  logger.logToStderr('Retrieving user information to set group owners...');
179
293
  }
180
- let spoAdminUrl;
181
- return utils_1.spo
182
- .getSpoAdminUrl(logger, this.debug)
183
- .then((_spoAdminUrl) => {
184
- spoAdminUrl = _spoAdminUrl;
185
- const requestOptions = {
186
- url: `https://graph.microsoft.com/v1.0/users?$filter=${owners.map(o => `userPrincipalName eq '${o}'`).join(' or ')}&$select=id`,
187
- headers: {
188
- 'content-type': 'application/json;odata.metadata=none'
189
- },
190
- responseType: 'json'
191
- };
192
- return request_1.default.get(requestOptions);
193
- })
294
+ const requestOptions = {
295
+ url: `https://graph.microsoft.com/v1.0/users?$filter=${owners.map(o => `userPrincipalName eq '${o}'`).join(' or ')}&$select=id`,
296
+ headers: {
297
+ 'content-type': 'application/json;odata.metadata=none'
298
+ },
299
+ responseType: 'json'
300
+ };
301
+ return request_1.default.get(requestOptions)
194
302
  .then((res) => {
195
303
  if (res.value.length === 0) {
196
304
  return Promise.resolve();
197
305
  }
198
306
  return Promise.all(res.value.map(user => {
199
307
  const requestOptions = {
200
- url: `${spoAdminUrl}/_api/SP.Directory.DirectorySession/Group('${this.groupId}')/Owners/Add(objectId='${user.id}', principalName='')`,
308
+ url: `${this.spoAdminUrl}/_api/SP.Directory.DirectorySession/Group('${this.groupId}')/Owners/Add(objectId='${user.id}', principalName='')`,
201
309
  headers: {
202
310
  'content-type': 'application/json;odata=verbose'
203
311
  }
@@ -206,55 +314,80 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
206
314
  }));
207
315
  });
208
316
  }
209
- updateSharedProperties(logger, args) {
210
- if (typeof args.options.classification === 'undefined' &&
211
- typeof args.options.disableFlows === 'undefined' &&
212
- typeof args.options.shareByEmailEnabled === 'undefined') {
213
- return Promise.resolve();
317
+ updateSiteProperties(logger, args) {
318
+ const isGroupConnectedSite = this.isGroupConnectedSite();
319
+ const sharedProperties = ['classification', 'disableFlows', 'shareByEmailEnabled', 'sharingCapability', 'noScriptSite'];
320
+ const siteProperties = ['title', 'resourceQuota', 'resourceQuotaWarningLevel', 'storageQuota', 'storageQuotaWarningLevel', 'allowSelfServiceUpgrade'];
321
+ let properties = sharedProperties;
322
+ properties = properties;
323
+ if (!isGroupConnectedSite) {
324
+ properties = properties.concat(siteProperties);
214
325
  }
215
- return new Promise((resolve, reject) => {
326
+ let updatedProperties = false;
327
+ for (let i = 0; i < properties.length; i++) {
328
+ if (typeof args.options[properties[i]] !== 'undefined') {
329
+ updatedProperties = true;
330
+ break;
331
+ }
332
+ }
333
+ if (!updatedProperties) {
334
+ return Promise.resolve(undefined);
335
+ }
336
+ return utils_1.spo
337
+ .ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug)
338
+ .then(res => {
339
+ this.context = res;
216
340
  if (this.verbose) {
217
- logger.logToStderr(`Retrieving request digest...`);
341
+ logger.logToStderr(`Updating site ${args.options.url} properties...`);
218
342
  }
219
- utils_1.spo
220
- .getRequestDigest(args.options.url)
221
- .then((res) => {
222
- if (this.verbose) {
223
- logger.logToStderr(`Updating site ${args.options.url} properties...`);
343
+ let propertyId = 27;
344
+ const payload = [];
345
+ if (!isGroupConnectedSite) {
346
+ if (args.options.title) {
347
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="Title"><Parameter Type="String">${utils_1.formatting.escapeXml(args.options.title)}</Parameter></SetProperty>`);
224
348
  }
225
- let propertyId = 27;
226
- const payload = [];
227
- if (typeof args.options.classification === 'string') {
228
- payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="Classification"><Parameter Type="String">${utils_1.formatting.escapeXml(args.options.classification)}</Parameter></SetProperty>`);
349
+ if (args.options.resourceQuota) {
350
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="UserCodeMaximumLevel"><Parameter Type="Double">${args.options.resourceQuota}</Parameter></SetProperty>`);
229
351
  }
230
- if (typeof args.options.disableFlows === 'string') {
231
- payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DisableFlows"><Parameter Type="Boolean">${args.options.disableFlows === 'true'}</Parameter></SetProperty>`);
352
+ if (args.options.resourceQuotaWarningLevel) {
353
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="UserCodeWarningLevel"><Parameter Type="Double">${args.options.resourceQuotaWarningLevel}</Parameter></SetProperty>`);
232
354
  }
233
- if (typeof args.options.shareByEmailEnabled === 'string') {
234
- payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="ShareByEmailEnabled"><Parameter Type="Boolean">${args.options.shareByEmailEnabled === 'true'}</Parameter></SetProperty>`);
355
+ if (args.options.storageQuota) {
356
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="StorageMaximumLevel"><Parameter Type="Int64">${args.options.storageQuota}</Parameter></SetProperty>`);
235
357
  }
236
- // update site via the Site object
237
- const requestOptions = {
238
- url: `${args.options.url}/_vti_bin/client.svc/ProcessQuery`,
239
- headers: {
240
- 'X-RequestDigest': res.FormDigestValue
241
- },
242
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions>${payload.join('')}</Actions><ObjectPaths><Identity Id="5" Name="e10a459e-60c8-4000-8240-a68d6a12d39e|740c6a0b-85e2-48a0-a494-e0f1759d4aa7:site:${this.siteId}" /></ObjectPaths></Request>`
243
- };
244
- return request_1.default.post(requestOptions);
245
- })
246
- .then((res) => {
247
- const json = JSON.parse(res);
248
- const response = json[0];
249
- if (response.ErrorInfo) {
250
- reject(response.ErrorInfo.ErrorMessage);
358
+ if (args.options.storageQuotaWarningLevel) {
359
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="StorageWarningLevel"><Parameter Type="Int64">${args.options.storageQuotaWarningLevel}</Parameter></SetProperty>`);
251
360
  }
252
- else {
253
- resolve();
361
+ if (typeof args.options.allowSelfServiceUpgrade !== 'undefined') {
362
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="AllowSelfServiceUpgrade"><Parameter Type="Boolean">${args.options.allowSelfServiceUpgrade}</Parameter></SetProperty>`);
254
363
  }
255
- }, (err) => {
256
- reject(err);
257
- });
364
+ }
365
+ if (typeof args.options.classification === 'string') {
366
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="Classification"><Parameter Type="String">${utils_1.formatting.escapeXml(args.options.classification)}</Parameter></SetProperty>`);
367
+ }
368
+ if (typeof args.options.disableFlows === 'string') {
369
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DisableFlows"><Parameter Type="Boolean">${args.options.disableFlows === 'true'}</Parameter></SetProperty>`);
370
+ }
371
+ if (typeof args.options.shareByEmailEnabled === 'string') {
372
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="ShareByEmailEnabled"><Parameter Type="Boolean">${args.options.shareByEmailEnabled === 'true'}</Parameter></SetProperty>`);
373
+ }
374
+ if (args.options.sharingCapability) {
375
+ const sharingCapability = SharingCapabilities_1.SharingCapabilities[args.options.sharingCapability];
376
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="SharingCapability"><Parameter Type="Enum">${sharingCapability}</Parameter></SetProperty>`);
377
+ }
378
+ if (typeof args.options.noScriptSite !== 'undefined') {
379
+ const noScriptSite = args.options.noScriptSite === 'true' ? 2 : 1;
380
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DenyAddAndCustomizePages"><Parameter Type="Enum">${noScriptSite}</Parameter></SetProperty>`);
381
+ }
382
+ const pos = this.tenantId.indexOf('|') + 1;
383
+ const requestOptions = {
384
+ url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
385
+ headers: {
386
+ 'X-RequestDigest': res.FormDigestValue
387
+ },
388
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions>${payload.join('')}<ObjectPath Id="14" ObjectPathId="13" /><ObjectIdentityQuery Id="15" ObjectPathId="5" /><Query Id="16" ObjectPathId="13"><Query SelectAllProperties="false"><Properties><Property Name="IsComplete" ScalarProperty="true" /><Property Name="PollingInterval" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Identity Id="5" Name="53d8499e-d0d2-5000-cb83-9ade5be42ca4|${this.tenantId.substr(pos, this.tenantId.indexOf('&') - pos)}&#xA;SiteProperties&#xA;${encodeURIComponent(args.options.url)}" /><Method Id="13" ParentId="5" Name="Update" /></ObjectPaths></Request>`
389
+ };
390
+ return request_1.default.post(requestOptions);
258
391
  });
259
392
  }
260
393
  applySiteDesign(logger, args) {
@@ -270,48 +403,6 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
270
403
  };
271
404
  return cli_1.Cli.executeCommand(spoSiteDesignApplyCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
272
405
  }
273
- setSharingCapabilities(logger, args) {
274
- if (typeof args.options.sharingCapability === 'undefined') {
275
- return Promise.resolve();
276
- }
277
- return new Promise((resolve, reject) => {
278
- if (this.verbose) {
279
- logger.logToStderr(`Retrieving request digest...`);
280
- }
281
- const sharingCapability = SharingCapabilities_1.SharingCapabilities[args.options.sharingCapability];
282
- utils_1.spo
283
- .getSpoAdminUrl(logger, this.debug)
284
- .then((_spoAdminUrl) => {
285
- this.spoAdminUrl = _spoAdminUrl;
286
- return utils_1.spo.getRequestDigest(this.spoAdminUrl);
287
- })
288
- .then((res) => {
289
- if (this.verbose) {
290
- logger.logToStderr(`Setting sharing for site ${args.options.url} as ${args.options.sharingCapability}`);
291
- }
292
- const requestOptions = {
293
- url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
294
- headers: {
295
- 'X-RequestDigest': res.FormDigestValue
296
- },
297
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="2" ObjectPathId="1"/><ObjectPath Id="4" ObjectPathId="3"/><SetProperty Id="5" ObjectPathId="3" Name="SharingCapability"><Parameter Type="Enum">${sharingCapability}</Parameter></SetProperty><ObjectPath Id="7" ObjectPathId="6"/><ObjectIdentityQuery Id="8" ObjectPathId="3"/></Actions><ObjectPaths><Constructor Id="1" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}"/><Method Id="3" ParentId="1" Name="GetSitePropertiesByUrl"><Parameters><Parameter Type="String">${utils_1.formatting.escapeXml(args.options.url)}</Parameter><Parameter Type="Boolean">false</Parameter></Parameters></Method><Method Id="6" ParentId="3" Name="Update"/></ObjectPaths></Request>`
298
- };
299
- return request_1.default.post(requestOptions);
300
- })
301
- .then((res) => {
302
- const json = JSON.parse(res);
303
- const response = json[0];
304
- if (response.ErrorInfo) {
305
- reject(response.ErrorInfo.ErrorMessage);
306
- }
307
- else {
308
- resolve();
309
- }
310
- }, (err) => {
311
- reject(err);
312
- });
313
- });
314
- }
315
406
  loadSiteIds(siteUrl, logger) {
316
407
  if (this.debug) {
317
408
  logger.logToStderr('Loading site IDs...');
@@ -334,6 +425,9 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
334
425
  return Promise.resolve();
335
426
  });
336
427
  }
428
+ isGroupConnectedSite() {
429
+ return this.groupId !== '00000000-0000-0000-0000-000000000000';
430
+ }
337
431
  /**
338
432
  * Maps the base sharingCapability enum to string array so it can
339
433
  * more easily be used in validation or descriptions.
@@ -347,50 +441,76 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
347
441
  }
348
442
  return result;
349
443
  }
350
- options() {
351
- const options = [
352
- {
353
- option: '-u, --url <url>'
354
- },
355
- {
356
- option: '-i, --id [id]'
357
- },
358
- {
359
- option: '--classification [classification]'
360
- },
361
- {
362
- option: '--disableFlows [disableFlows]'
363
- },
364
- {
365
- option: '--isPublic [isPublic]'
366
- },
367
- {
368
- option: '--owners [owners]'
369
- },
370
- {
371
- option: '--shareByEmailEnabled [shareByEmailEnabled]'
372
- },
373
- {
374
- option: '--siteDesignId [siteDesignId]'
375
- },
376
- {
377
- option: '--title [title]'
378
- },
379
- {
380
- option: '--description [description]'
381
- },
382
- {
383
- option: '--siteLogoUrl [siteLogoUrl]'
384
- },
385
- {
386
- option: '--sharingCapability [sharingCapability]',
387
- autocomplete: this.sharingCapabilities
388
- }
389
- ];
390
- const parentOptions = super.options();
391
- return options.concat(parentOptions);
392
- }
393
- validate(args) {
444
+ }
445
+ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry = function _SpoSiteSetCommand_initTelemetry() {
446
+ this.telemetry.push((args) => {
447
+ Object.assign(this.telemetryProperties, {
448
+ classification: typeof args.options.classification === 'string',
449
+ disableFlows: args.options.disableFlows,
450
+ isPublic: args.options.isPublic,
451
+ owners: typeof args.options.owners !== 'undefined',
452
+ shareByEmailEnabled: args.options.shareByEmailEnabled,
453
+ title: typeof args.options.title === 'string',
454
+ description: typeof args.options.description === 'string',
455
+ siteDesignId: typeof args.options.siteDesignId !== undefined,
456
+ sharingCapabilities: args.options.sharingCapability,
457
+ siteLogoUrl: typeof args.options.siteLogoUrl !== 'undefined',
458
+ resourceQuota: args.options.resourceQuota,
459
+ resourceQuotaWarningLevel: args.options.resourceQuotaWarningLevel,
460
+ storageQuota: args.options.storageQuota,
461
+ storageQuotaWarningLevel: args.options.storageQuotaWarningLevel,
462
+ allowSelfServiceUpgrade: args.options.allowSelfServiceUpgrade,
463
+ lockState: args.options.lockState,
464
+ noScriptSite: args.options.noScriptSite,
465
+ wait: args.options.wait === true
466
+ });
467
+ });
468
+ }, _SpoSiteSetCommand_initOptions = function _SpoSiteSetCommand_initOptions() {
469
+ this.options.unshift({
470
+ option: '-u, --url <url>'
471
+ }, {
472
+ option: '-i, --id [id]'
473
+ }, {
474
+ option: '--classification [classification]'
475
+ }, {
476
+ option: '--disableFlows [disableFlows]'
477
+ }, {
478
+ option: '--isPublic [isPublic]'
479
+ }, {
480
+ option: '--owners [owners]'
481
+ }, {
482
+ option: '--shareByEmailEnabled [shareByEmailEnabled]'
483
+ }, {
484
+ option: '--siteDesignId [siteDesignId]'
485
+ }, {
486
+ option: '--title [title]'
487
+ }, {
488
+ option: '--description [description]'
489
+ }, {
490
+ option: '--siteLogoUrl [siteLogoUrl]'
491
+ }, {
492
+ option: '--sharingCapability [sharingCapability]',
493
+ autocomplete: this.sharingCapabilities
494
+ }, {
495
+ option: '--resourceQuota [resourceQuota]'
496
+ }, {
497
+ option: '--resourceQuotaWarningLevel [resourceQuotaWarningLevel]'
498
+ }, {
499
+ option: '--storageQuota [storageQuota]'
500
+ }, {
501
+ option: '--storageQuotaWarningLevel [storageQuotaWarningLevel]'
502
+ }, {
503
+ option: '--allowSelfServiceUpgrade [allowSelfServiceUpgrade]'
504
+ }, {
505
+ option: '--lockState [lockState]',
506
+ autocomplete: ['Unlock', 'NoAdditions', 'ReadOnly', 'NoAccess']
507
+ }, {
508
+ option: '--noScriptSite [noScriptSite]'
509
+ }, {
510
+ option: '--wait'
511
+ });
512
+ }, _SpoSiteSetCommand_initValidators = function _SpoSiteSetCommand_initValidators() {
513
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
394
514
  const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.url);
395
515
  if (isValidSharePointUrl !== true) {
396
516
  return isValidSharePointUrl;
@@ -404,25 +524,29 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
404
524
  typeof args.options.shareByEmailEnabled === 'undefined' &&
405
525
  typeof args.options.siteDesignId === 'undefined' &&
406
526
  typeof args.options.sharingCapability === 'undefined' &&
407
- typeof args.options.siteLogoUrl === 'undefined') {
527
+ typeof args.options.siteLogoUrl === 'undefined' &&
528
+ typeof args.options.resourceQuota === 'undefined' &&
529
+ typeof args.options.resourceQuotaWarningLevel === 'undefined' &&
530
+ typeof args.options.storageQuota === 'undefined' &&
531
+ typeof args.options.storageQuotaWarningLevel === 'undefined' &&
532
+ typeof args.options.noScriptSite === 'undefined' &&
533
+ typeof args.options.allowSelfServiceUpgrade === 'undefined' &&
534
+ typeof args.options.lockState === 'undefined') {
408
535
  return 'Specify at least one property to update';
409
536
  }
410
537
  if (typeof args.options.siteLogoUrl !== 'undefined' && typeof args.options.siteLogoUrl !== 'string') {
411
538
  return `${args.options.siteLogoUrl} is not a valid value for the siteLogoUrl option. Specify the logo URL or an empty string "" to unset the logo.`;
412
539
  }
413
540
  if (typeof args.options.disableFlows === 'string' &&
414
- args.options.disableFlows !== 'true' &&
415
- args.options.disableFlows !== 'false') {
541
+ !utils_1.validation.isValidBoolean(args.options.disableFlows)) {
416
542
  return `${args.options.disableFlows} is not a valid value for the disableFlow option. Allowed values are true|false`;
417
543
  }
418
544
  if (typeof args.options.isPublic === 'string' &&
419
- args.options.isPublic !== 'true' &&
420
- args.options.isPublic !== 'false') {
545
+ !utils_1.validation.isValidBoolean(args.options.isPublic)) {
421
546
  return `${args.options.isPublic} is not a valid value for the isPublic option. Allowed values are true|false`;
422
547
  }
423
548
  if (typeof args.options.shareByEmailEnabled === 'string' &&
424
- args.options.shareByEmailEnabled !== 'true' &&
425
- args.options.shareByEmailEnabled !== 'false') {
549
+ !utils_1.validation.isValidBoolean(args.options.shareByEmailEnabled)) {
426
550
  return `${args.options.shareByEmailEnabled} is not a valid value for the shareByEmailEnabled option. Allowed values are true|false`;
427
551
  }
428
552
  if (args.options.siteDesignId) {
@@ -434,14 +558,48 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
434
558
  this.sharingCapabilities.indexOf(args.options.sharingCapability) < 0) {
435
559
  return `${args.options.sharingCapability} is not a valid value for the sharingCapability option. Allowed values are ${this.sharingCapabilities.join('|')}`;
436
560
  }
561
+ if (args.options.resourceQuota &&
562
+ typeof args.options.resourceQuota !== 'number') {
563
+ return `${args.options.resourceQuota} is not a number`;
564
+ }
565
+ if (args.options.resourceQuotaWarningLevel &&
566
+ typeof args.options.resourceQuotaWarningLevel !== 'number') {
567
+ return `${args.options.resourceQuotaWarningLevel} is not a number`;
568
+ }
569
+ if (args.options.resourceQuota &&
570
+ args.options.resourceQuotaWarningLevel &&
571
+ args.options.resourceQuotaWarningLevel > args.options.resourceQuota) {
572
+ return `resourceQuotaWarningLevel must not exceed the resourceQuota`;
573
+ }
574
+ if (args.options.storageQuota &&
575
+ typeof args.options.storageQuota !== 'number') {
576
+ return `${args.options.storageQuota} is not a number`;
577
+ }
578
+ if (args.options.storageQuotaWarningLevel &&
579
+ typeof args.options.storageQuotaWarningLevel !== 'number') {
580
+ return `${args.options.storageQuotaWarningLevel} is not a number`;
581
+ }
582
+ if (args.options.storageQuota &&
583
+ args.options.storageQuotaWarningLevel &&
584
+ args.options.storageQuotaWarningLevel > args.options.storageQuota) {
585
+ return `storageQuotaWarningLevel must not exceed the storageQuota`;
586
+ }
587
+ if (args.options.allowSelfServiceUpgrade &&
588
+ !utils_1.validation.isValidBoolean(args.options.allowSelfServiceUpgrade)) {
589
+ return `${args.options.allowSelfServiceUpgrade} is not a valid boolean value`;
590
+ }
591
+ if (args.options.lockState &&
592
+ ['Unlock', 'NoAdditions', 'ReadOnly', 'NoAccess'].indexOf(args.options.lockState) === -1) {
593
+ return `${args.options.lockState} is not a valid value for the lockState option. Allowed values Unlock|NoAdditions|ReadOnly|NoAccess`;
594
+ }
595
+ if (args.options.noScriptSite &&
596
+ !utils_1.validation.isValidBoolean(args.options.noScriptSite)) {
597
+ return `${args.options.noScriptSite} is not a valid boolean value`;
598
+ }
437
599
  return true;
438
- }
439
- types() {
440
- // required to support passing empty strings as valid values
441
- return {
442
- string: ['classification']
443
- };
444
- }
445
- }
600
+ }));
601
+ }, _SpoSiteSetCommand_initTypes = function _SpoSiteSetCommand_initTypes() {
602
+ this.types.string.push('classification');
603
+ };
446
604
  module.exports = new SpoSiteSetCommand();
447
605
  //# sourceMappingURL=site-set.js.map