@pnp/cli-microsoft365 6.0.0-beta.6a854fc → 6.0.0-beta.78fdd2c

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 (486) hide show
  1. package/dist/Command.js +186 -93
  2. package/dist/cli/Cli.js +11 -66
  3. package/dist/m365/aad/commands/app/app-add.js +75 -84
  4. package/dist/m365/aad/commands/app/app-get.js +37 -20
  5. package/dist/m365/aad/commands/app/app-remove.js +38 -21
  6. package/dist/m365/aad/commands/app/app-role-add.js +39 -23
  7. package/dist/m365/aad/commands/app/app-role-list.js +37 -19
  8. package/dist/m365/aad/commands/app/app-role-remove.js +40 -26
  9. package/dist/m365/aad/commands/app/app-set.js +47 -36
  10. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +48 -32
  11. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +43 -25
  12. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +51 -36
  13. package/dist/m365/aad/commands/group/group-list.js +21 -12
  14. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +30 -17
  15. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +30 -12
  16. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +39 -20
  17. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +30 -12
  18. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +40 -21
  19. package/dist/m365/aad/commands/o365group/o365group-add.js +64 -54
  20. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +30 -12
  21. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +43 -25
  22. package/dist/m365/aad/commands/o365group/o365group-get.js +32 -15
  23. package/dist/m365/aad/commands/o365group/o365group-list.js +49 -33
  24. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +23 -14
  25. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +26 -18
  26. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +40 -32
  27. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +46 -28
  28. package/dist/m365/aad/commands/o365group/o365group-remove.js +42 -24
  29. package/dist/m365/aad/commands/o365group/o365group-renew.js +30 -12
  30. package/dist/m365/aad/commands/o365group/o365group-set.js +54 -30
  31. package/dist/m365/aad/commands/o365group/o365group-teamify.js +40 -15
  32. package/dist/m365/aad/commands/o365group/o365group-user-add.js +46 -29
  33. package/dist/m365/aad/commands/o365group/o365group-user-list.js +40 -21
  34. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +36 -28
  35. package/dist/m365/aad/commands/o365group/o365group-user-set.js +46 -29
  36. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +34 -18
  37. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +30 -12
  38. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +18 -12
  39. package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +18 -12
  40. package/dist/m365/aad/commands/policy/policy-list.js +38 -18
  41. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +23 -14
  42. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +30 -24
  43. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +46 -29
  44. package/dist/m365/aad/commands/sp/sp-add.js +43 -25
  45. package/dist/m365/aad/commands/sp/sp-get.js +43 -25
  46. package/dist/m365/aad/commands/user/user-get.js +45 -28
  47. package/dist/m365/aad/commands/user/user-hibp.js +41 -23
  48. package/dist/m365/aad/commands/user/user-list.js +22 -14
  49. package/dist/m365/aad/commands/user/user-password-validate.js +16 -9
  50. package/dist/m365/aad/commands/user/user-set.js +43 -25
  51. package/dist/m365/aad/commands/user/user-signin-list.js +46 -29
  52. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +54 -40
  53. package/dist/m365/app/commands/app-open.js +22 -21
  54. package/dist/m365/base/AppCommand.js +29 -13
  55. package/dist/m365/base/DateAndPeriodBasedReport.js +41 -24
  56. package/dist/m365/base/PeriodBasedReport.js +37 -18
  57. package/dist/m365/base/SpoCommand.js +1 -1
  58. package/dist/m365/cli/commands/cli-consent.js +38 -18
  59. package/dist/m365/cli/commands/cli-issue.js +26 -18
  60. package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +16 -9
  61. package/dist/m365/cli/commands/config/config-get.js +38 -18
  62. package/dist/m365/cli/commands/config/config-reset.js +38 -18
  63. package/dist/m365/cli/commands/config/config-set.js +38 -21
  64. package/dist/m365/commands/login.js +54 -42
  65. package/dist/m365/file/commands/convert/convert-pdf.js +32 -15
  66. package/dist/m365/file/commands/file-add.js +35 -12
  67. package/dist/m365/file/commands/file-list.js +31 -13
  68. package/dist/m365/flow/commands/environment/environment-get.js +16 -9
  69. package/dist/m365/flow/commands/flow-disable.js +20 -15
  70. package/dist/m365/flow/commands/flow-enable.js +20 -15
  71. package/dist/m365/flow/commands/flow-export.js +56 -43
  72. package/dist/m365/flow/commands/flow-get.js +20 -15
  73. package/dist/m365/flow/commands/flow-list.js +25 -17
  74. package/dist/m365/flow/commands/flow-remove.js +44 -27
  75. package/dist/m365/flow/commands/run/run-cancel.js +36 -21
  76. package/dist/m365/flow/commands/run/run-get.js +20 -15
  77. package/dist/m365/flow/commands/run/run-list.js +18 -12
  78. package/dist/m365/flow/commands/run/run-resubmit.js +43 -26
  79. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +41 -27
  80. package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +16 -9
  81. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +47 -30
  82. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +25 -17
  83. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +63 -48
  84. package/dist/m365/graph/commands/subscription/subscription-add.js +52 -36
  85. package/dist/m365/outlook/commands/mail/mail-send.js +48 -32
  86. package/dist/m365/outlook/commands/message/message-list.js +42 -23
  87. package/dist/m365/outlook/commands/message/message-move.js +52 -36
  88. package/dist/m365/outlook/commands/room/room-list.js +23 -14
  89. package/dist/m365/pa/commands/app/app-get.js +40 -21
  90. package/dist/m365/pa/commands/app/app-list.js +40 -21
  91. package/dist/m365/pa/commands/app/app-remove.js +39 -20
  92. package/dist/m365/pa/commands/connector/connector-export.js +41 -18
  93. package/dist/m365/pa/commands/connector/connector-list.js +16 -9
  94. package/dist/m365/pa/commands/environment/environment-get.js +16 -9
  95. package/dist/m365/pa/commands/pcf/pcf-init.js +53 -50
  96. package/dist/m365/pa/commands/solution/solution-init.js +45 -38
  97. package/dist/m365/pa/commands/solution/solution-reference-add.js +40 -25
  98. package/dist/m365/planner/commands/bucket/bucket-add.js +55 -48
  99. package/dist/m365/planner/commands/bucket/bucket-get.js +50 -52
  100. package/dist/m365/planner/commands/bucket/bucket-list.js +52 -43
  101. package/dist/m365/planner/commands/bucket/bucket-remove.js +66 -62
  102. package/dist/m365/planner/commands/bucket/bucket-set.js +68 -65
  103. package/dist/m365/planner/commands/plan/plan-add.js +48 -32
  104. package/dist/m365/planner/commands/plan/plan-get.js +55 -44
  105. package/dist/m365/planner/commands/plan/plan-list.js +42 -23
  106. package/dist/m365/planner/commands/plan/plan-remove.js +43 -36
  107. package/dist/m365/planner/commands/task/task-add.js +59 -65
  108. package/dist/m365/planner/commands/task/task-checklistitem-add.js +23 -16
  109. package/dist/m365/planner/commands/task/task-checklistitem-list.js +18 -11
  110. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +21 -14
  111. package/dist/m365/planner/commands/task/task-get.js +48 -52
  112. package/dist/m365/planner/commands/task/task-list.js +58 -51
  113. package/dist/m365/planner/commands/task/task-reference-add.js +39 -13
  114. package/dist/m365/planner/commands/task/task-reference-list.js +18 -11
  115. package/dist/m365/planner/commands/task/task-reference-remove.js +40 -25
  116. package/dist/m365/planner/commands/task/task-remove.js +46 -23
  117. package/dist/m365/planner/commands/task/task-set.js +55 -61
  118. package/dist/m365/planner/commands/tenant/tenant-settings-set.js +59 -44
  119. package/dist/m365/planner/commands.js +0 -2
  120. package/dist/m365/pp/commands/environment/environment-list.js +23 -9
  121. package/dist/m365/pp/commands/managementapp/managementapp-add.js +37 -19
  122. package/dist/m365/search/commands/externalconnection/externalconnection-add.js +43 -26
  123. package/dist/m365/search/commands/externalconnection/externalconnection-get.js +29 -23
  124. package/dist/m365/spfx/commands/package/package-generate.js +46 -38
  125. package/dist/m365/spfx/commands/project/base-project-command.js +4 -0
  126. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.15.2.js +23 -0
  127. package/dist/m365/spfx/commands/project/project-doctor.js +41 -23
  128. package/dist/m365/spfx/commands/project/project-externalize.js +15 -9
  129. package/dist/m365/spfx/commands/project/project-model/EsLintRcJs.js +3 -0
  130. package/dist/m365/spfx/commands/project/project-model/index.js +1 -0
  131. package/dist/m365/spfx/commands/project/project-rename.js +23 -18
  132. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001034_DEP_microsoft_sp_adaptive_card_extension_base.js +17 -0
  133. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002026_DEVDEP_typescript.js +14 -0
  134. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012020_TSC_noImplicitAny.js +46 -0
  135. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN025001_ESLINTRCJS_overrides.js +64 -0
  136. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +433 -0
  137. package/dist/m365/spfx/commands/project/project-upgrade.js +55 -40
  138. package/dist/m365/spfx/commands/spfx-doctor.js +39 -19
  139. package/dist/m365/spo/commands/app/app-add.js +46 -29
  140. package/dist/m365/spo/commands/app/app-deploy.js +50 -34
  141. package/dist/m365/spo/commands/app/app-get.js +47 -30
  142. package/dist/m365/spo/commands/app/app-install.js +42 -24
  143. package/dist/m365/spo/commands/app/app-instance-list.js +30 -12
  144. package/dist/m365/spo/commands/app/app-list.js +41 -22
  145. package/dist/m365/spo/commands/app/app-remove.js +46 -29
  146. package/dist/m365/spo/commands/app/app-retract.js +46 -29
  147. package/dist/m365/spo/commands/app/app-teamspackage-download.js +40 -24
  148. package/dist/m365/spo/commands/app/app-uninstall.js +45 -28
  149. package/dist/m365/spo/commands/app/app-upgrade.js +42 -24
  150. package/dist/m365/spo/commands/apppage/apppage-add.js +43 -26
  151. package/dist/m365/spo/commands/apppage/apppage-set.js +36 -29
  152. package/dist/m365/spo/commands/cdn/cdn-get.js +38 -16
  153. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +40 -21
  154. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +38 -16
  155. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +43 -25
  156. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +38 -16
  157. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +44 -26
  158. package/dist/m365/spo/commands/cdn/cdn-set.js +45 -27
  159. package/dist/m365/spo/commands/contenttype/contenttype-add.js +50 -32
  160. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +52 -39
  161. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +46 -35
  162. package/dist/m365/spo/commands/contenttype/contenttype-get.js +48 -26
  163. package/dist/m365/spo/commands/contenttype/contenttype-list.js +37 -15
  164. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +48 -33
  165. package/dist/m365/spo/commands/customaction/customaction-add.js +143 -140
  166. package/dist/m365/spo/commands/customaction/customaction-clear.js +43 -28
  167. package/dist/m365/spo/commands/customaction/customaction-get.js +70 -27
  168. package/dist/m365/spo/commands/customaction/customaction-list.js +40 -21
  169. package/dist/m365/spo/commands/customaction/customaction-remove.js +84 -35
  170. package/dist/m365/spo/commands/customaction/customaction-set.js +129 -127
  171. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +58 -46
  172. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +49 -33
  173. package/dist/m365/spo/commands/externaluser/externaluser-list.js +50 -34
  174. package/dist/m365/spo/commands/feature/feature-disable.js +48 -33
  175. package/dist/m365/spo/commands/feature/feature-enable.js +48 -33
  176. package/dist/m365/spo/commands/feature/feature-list.js +40 -21
  177. package/dist/m365/spo/commands/field/field-add.js +44 -21
  178. package/dist/m365/spo/commands/field/field-get.js +61 -40
  179. package/dist/m365/spo/commands/field/field-list.js +45 -28
  180. package/dist/m365/spo/commands/field/field-remove.js +71 -52
  181. package/dist/m365/spo/commands/field/field-set.js +57 -45
  182. package/dist/m365/spo/commands/file/file-add.js +72 -64
  183. package/dist/m365/spo/commands/file/file-checkin.js +49 -33
  184. package/dist/m365/spo/commands/file/file-checkout.js +42 -24
  185. package/dist/m365/spo/commands/file/file-copy.js +44 -30
  186. package/dist/m365/spo/commands/file/file-get.js +54 -40
  187. package/dist/m365/spo/commands/file/file-list.js +39 -18
  188. package/dist/m365/spo/commands/file/file-move.js +44 -30
  189. package/dist/m365/spo/commands/file/file-remove.js +48 -32
  190. package/dist/m365/spo/commands/file/file-rename.js +123 -0
  191. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +42 -24
  192. package/dist/m365/spo/commands/folder/folder-add.js +32 -18
  193. package/dist/m365/spo/commands/folder/folder-copy.js +41 -26
  194. package/dist/m365/spo/commands/folder/folder-get.js +30 -15
  195. package/dist/m365/spo/commands/folder/folder-list.js +30 -15
  196. package/dist/m365/spo/commands/folder/folder-move.js +41 -26
  197. package/dist/m365/spo/commands/folder/folder-remove.js +42 -27
  198. package/dist/m365/spo/commands/folder/folder-rename.js +32 -18
  199. package/dist/m365/spo/commands/group/group-add.js +60 -44
  200. package/dist/m365/spo/commands/group/group-get.js +65 -30
  201. package/dist/m365/spo/commands/group/group-list.js +28 -12
  202. package/dist/m365/spo/commands/group/group-remove.js +45 -28
  203. package/dist/m365/spo/commands/group/group-set.js +74 -67
  204. package/dist/m365/spo/commands/group/group-user-add.js +48 -24
  205. package/dist/m365/spo/commands/group/group-user-list.js +42 -18
  206. package/dist/m365/spo/commands/group/group-user-remove.js +47 -31
  207. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +37 -17
  208. package/dist/m365/spo/commands/homesite/homesite-remove.js +23 -14
  209. package/dist/m365/spo/commands/homesite/homesite-set.js +28 -12
  210. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +32 -15
  211. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +37 -20
  212. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +37 -20
  213. package/dist/m365/spo/commands/hubsite/hubsite-get.js +54 -39
  214. package/dist/m365/spo/commands/hubsite/hubsite-list.js +20 -14
  215. package/dist/m365/spo/commands/hubsite/hubsite-register.js +28 -12
  216. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +35 -19
  217. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +39 -23
  218. package/dist/m365/spo/commands/hubsite/hubsite-set.js +48 -34
  219. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +28 -12
  220. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +37 -20
  221. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +23 -14
  222. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +28 -12
  223. package/dist/m365/spo/commands/list/list-add.js +321 -365
  224. package/dist/m365/spo/commands/list/list-contenttype-add.js +47 -32
  225. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +47 -32
  226. package/dist/m365/spo/commands/list/list-contenttype-list.js +42 -24
  227. package/dist/m365/spo/commands/list/list-contenttype-remove.js +50 -36
  228. package/dist/m365/spo/commands/list/list-get.js +48 -32
  229. package/dist/m365/spo/commands/list/list-label-get.js +42 -24
  230. package/dist/m365/spo/commands/list/list-label-set.js +56 -43
  231. package/dist/m365/spo/commands/list/list-list.js +29 -22
  232. package/dist/m365/spo/commands/list/list-remove.js +45 -28
  233. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +48 -33
  234. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +45 -29
  235. package/dist/m365/spo/commands/list/list-set.js +318 -362
  236. package/dist/m365/spo/commands/list/list-sitescript-get.js +42 -24
  237. package/dist/m365/spo/commands/list/list-view-add.js +48 -40
  238. package/dist/m365/spo/commands/list/list-view-field-add.js +57 -44
  239. package/dist/m365/spo/commands/list/list-view-field-remove.js +57 -44
  240. package/dist/m365/spo/commands/list/list-view-field-set.js +56 -43
  241. package/dist/m365/spo/commands/list/list-view-get.js +51 -36
  242. package/dist/m365/spo/commands/list/list-view-list.js +42 -24
  243. package/dist/m365/spo/commands/list/list-view-remove.js +51 -36
  244. package/dist/m365/spo/commands/list/list-view-set.js +48 -32
  245. package/dist/m365/spo/commands/list/list-webhook-add.js +54 -39
  246. package/dist/m365/spo/commands/list/list-webhook-get.js +45 -28
  247. package/dist/m365/spo/commands/list/list-webhook-list.js +48 -32
  248. package/dist/m365/spo/commands/list/list-webhook-remove.js +48 -32
  249. package/dist/m365/spo/commands/list/list-webhook-set.js +54 -39
  250. package/dist/m365/spo/commands/listitem/listitem-add.js +65 -57
  251. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +44 -27
  252. package/dist/m365/spo/commands/listitem/listitem-get.js +49 -41
  253. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +44 -27
  254. package/dist/m365/spo/commands/listitem/listitem-list.js +60 -58
  255. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +47 -31
  256. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +44 -27
  257. package/dist/m365/spo/commands/listitem/listitem-remove.js +50 -35
  258. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +50 -29
  259. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +47 -32
  260. package/dist/m365/spo/commands/listitem/listitem-set.js +68 -63
  261. package/dist/m365/spo/commands/mail/mail-send.js +52 -41
  262. package/dist/m365/spo/commands/navigation/navigation-node-add.js +49 -34
  263. package/dist/m365/spo/commands/navigation/navigation-node-list.js +40 -21
  264. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +45 -28
  265. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +43 -25
  266. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +0 -4
  267. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +18 -12
  268. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +0 -4
  269. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +37 -20
  270. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +28 -12
  271. package/dist/m365/spo/commands/page/page-add.js +60 -48
  272. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +59 -47
  273. package/dist/m365/spo/commands/page/page-column-get.js +36 -21
  274. package/dist/m365/spo/commands/page/page-column-list.js +34 -18
  275. package/dist/m365/spo/commands/page/page-control-get.js +34 -18
  276. package/dist/m365/spo/commands/page/page-control-list.js +30 -15
  277. package/dist/m365/spo/commands/page/page-control-set.js +46 -24
  278. package/dist/m365/spo/commands/page/page-copy.js +41 -26
  279. package/dist/m365/spo/commands/page/page-get.js +32 -18
  280. package/dist/m365/spo/commands/page/page-header-set.js +74 -66
  281. package/dist/m365/spo/commands/page/page-list.js +28 -12
  282. package/dist/m365/spo/commands/page/page-remove.js +32 -18
  283. package/dist/m365/spo/commands/page/page-section-add.js +43 -21
  284. package/dist/m365/spo/commands/page/page-section-get.js +34 -18
  285. package/dist/m365/spo/commands/page/page-section-list.js +30 -15
  286. package/dist/m365/spo/commands/page/page-set.js +62 -50
  287. package/dist/m365/spo/commands/page/page-template-list.js +28 -12
  288. package/dist/m365/spo/commands/page/page-text-add.js +49 -34
  289. package/dist/m365/spo/commands/propertybag/propertybag-get.js +39 -23
  290. package/dist/m365/spo/commands/propertybag/propertybag-list.js +37 -20
  291. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +42 -33
  292. package/dist/m365/spo/commands/propertybag/propertybag-set.js +41 -35
  293. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +32 -15
  294. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +28 -12
  295. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +41 -23
  296. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +18 -12
  297. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +16 -7
  298. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +30 -10
  299. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +30 -10
  300. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +40 -21
  301. package/dist/m365/spo/commands/site/site-add.js +101 -101
  302. package/dist/m365/spo/commands/site/site-appcatalog-add.js +28 -17
  303. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +28 -17
  304. package/dist/m365/spo/commands/site/site-apppermission-add.js +45 -34
  305. package/dist/m365/spo/commands/site/site-apppermission-get.js +30 -15
  306. package/dist/m365/spo/commands/site/site-apppermission-list.js +40 -25
  307. package/dist/m365/spo/commands/site/site-apppermission-remove.js +46 -33
  308. package/dist/m365/spo/commands/site/site-apppermission-set.js +48 -38
  309. package/dist/m365/spo/commands/site/site-chrome-set.js +65 -53
  310. package/dist/m365/spo/commands/site/site-commsite-enable.js +39 -20
  311. package/dist/m365/spo/commands/site/site-ensure.js +130 -131
  312. package/dist/m365/spo/commands/site/site-get.js +26 -10
  313. package/dist/m365/spo/commands/site/site-groupify.js +50 -38
  314. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +39 -20
  315. package/dist/m365/spo/commands/site/site-list.js +54 -49
  316. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +43 -19
  317. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +32 -15
  318. package/dist/m365/spo/commands/site/site-remove.js +46 -32
  319. package/dist/m365/spo/commands/site/site-rename.js +50 -38
  320. package/dist/m365/spo/commands/site/site-set.js +386 -228
  321. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +55 -41
  322. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +41 -23
  323. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +38 -16
  324. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +39 -20
  325. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +35 -19
  326. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +30 -12
  327. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +41 -23
  328. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +39 -20
  329. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +32 -15
  330. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +64 -53
  331. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +30 -12
  332. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +28 -12
  333. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +39 -20
  334. package/dist/m365/spo/commands/sitescript/sitescript-add.js +41 -23
  335. package/dist/m365/spo/commands/sitescript/sitescript-get.js +30 -12
  336. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +39 -20
  337. package/dist/m365/spo/commands/sitescript/sitescript-set.js +48 -32
  338. package/dist/m365/spo/commands/spo-search.js +123 -126
  339. package/dist/m365/spo/commands/spo-set.js +28 -12
  340. package/dist/m365/spo/commands/storageentity/storageentity-get.js +16 -7
  341. package/dist/m365/spo/commands/storageentity/storageentity-list.js +28 -16
  342. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +39 -29
  343. package/dist/m365/spo/commands/storageentity/storageentity-set.js +44 -36
  344. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +55 -30
  345. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +40 -24
  346. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +37 -20
  347. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +375 -443
  348. package/dist/m365/spo/commands/term/term-add.js +63 -52
  349. package/dist/m365/spo/commands/term/term-get.js +52 -37
  350. package/dist/m365/spo/commands/term/term-group-add.js +42 -24
  351. package/dist/m365/spo/commands/term/term-group-get.js +40 -21
  352. package/dist/m365/spo/commands/term/term-list.js +46 -29
  353. package/dist/m365/spo/commands/term/term-set-add.js +51 -36
  354. package/dist/m365/spo/commands/term/term-set-get.js +46 -29
  355. package/dist/m365/spo/commands/term/term-set-list.js +40 -21
  356. package/dist/m365/spo/commands/theme/theme-apply.js +41 -23
  357. package/dist/m365/spo/commands/theme/theme-get.js +16 -7
  358. package/dist/m365/spo/commands/theme/theme-remove.js +25 -17
  359. package/dist/m365/spo/commands/theme/theme-set.js +41 -21
  360. package/dist/m365/spo/commands/user/user-get.js +45 -28
  361. package/dist/m365/spo/commands/user/user-list.js +28 -12
  362. package/dist/m365/spo/commands/user/user-remove.js +45 -28
  363. package/dist/m365/spo/commands/userprofile/userprofile-get.js +30 -12
  364. package/dist/m365/spo/commands/userprofile/userprofile-set.js +20 -15
  365. package/dist/m365/spo/commands/web/web-add.js +54 -41
  366. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +28 -12
  367. package/dist/m365/spo/commands/web/web-get.js +37 -20
  368. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +28 -12
  369. package/dist/m365/spo/commands/web/web-list.js +28 -12
  370. package/dist/m365/spo/commands/web/web-reindex.js +25 -12
  371. package/dist/m365/spo/commands/web/web-remove.js +37 -20
  372. package/dist/m365/spo/commands/web/web-set.js +70 -59
  373. package/dist/m365/spo/commands.js +1 -3
  374. package/dist/m365/teams/commands/app/app-install.js +37 -13
  375. package/dist/m365/teams/commands/app/app-list.js +43 -25
  376. package/dist/m365/teams/commands/app/app-publish.js +30 -12
  377. package/dist/m365/teams/commands/app/app-remove.js +39 -20
  378. package/dist/m365/teams/commands/app/app-uninstall.js +41 -18
  379. package/dist/m365/teams/commands/app/app-update.js +42 -24
  380. package/dist/m365/teams/commands/cache/cache-remove.js +26 -18
  381. package/dist/m365/teams/commands/channel/channel-add.js +52 -37
  382. package/dist/m365/teams/commands/channel/channel-get.js +47 -34
  383. package/dist/m365/teams/commands/channel/channel-list.js +43 -25
  384. package/dist/m365/teams/commands/channel/channel-member-add.js +65 -55
  385. package/dist/m365/teams/commands/channel/channel-member-list.js +50 -37
  386. package/dist/m365/teams/commands/channel/channel-member-remove.js +60 -54
  387. package/dist/m365/teams/commands/channel/channel-member-set.js +58 -48
  388. package/dist/m365/teams/commands/channel/channel-remove.js +45 -28
  389. package/dist/m365/teams/commands/channel/channel-set.js +50 -33
  390. package/dist/m365/teams/commands/chat/chat-get.js +62 -53
  391. package/dist/m365/teams/commands/chat/chat-list.js +38 -12
  392. package/dist/m365/teams/commands/chat/chat-member-list.js +30 -12
  393. package/dist/m365/teams/commands/chat/chat-message-list.js +30 -12
  394. package/dist/m365/teams/commands/chat/chat-message-send.js +61 -56
  395. package/dist/m365/teams/commands/funsettings/funsettings-list.js +30 -12
  396. package/dist/m365/teams/commands/funsettings/funsettings-set.js +48 -32
  397. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +30 -12
  398. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +41 -25
  399. package/dist/m365/teams/commands/membersettings/membersettings-list.js +30 -12
  400. package/dist/m365/teams/commands/membersettings/membersettings-set.js +47 -34
  401. package/dist/m365/teams/commands/message/message-get.js +34 -18
  402. package/dist/m365/teams/commands/message/message-list.js +41 -18
  403. package/dist/m365/teams/commands/message/message-reply-list.js +34 -18
  404. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +30 -12
  405. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +47 -34
  406. package/dist/m365/teams/commands/report/report-directroutingcalls.js +39 -20
  407. package/dist/m365/teams/commands/report/report-pstncalls.js +39 -20
  408. package/dist/m365/teams/commands/tab/tab-add.js +59 -46
  409. package/dist/m365/teams/commands/tab/tab-get.js +50 -38
  410. package/dist/m365/teams/commands/tab/tab-list.js +32 -15
  411. package/dist/m365/teams/commands/tab/tab-remove.js +43 -26
  412. package/dist/m365/teams/commands/team/team-add.js +44 -30
  413. package/dist/m365/teams/commands/team/team-archive.js +46 -26
  414. package/dist/m365/teams/commands/team/team-clone.js +90 -53
  415. package/dist/m365/teams/commands/team/team-get.js +40 -21
  416. package/dist/m365/teams/commands/team/team-list.js +23 -14
  417. package/dist/m365/teams/commands/team/team-remove.js +43 -26
  418. package/dist/m365/teams/commands/team/team-set.js +70 -39
  419. package/dist/m365/teams/commands/team/team-unarchive.js +34 -18
  420. package/dist/m365/teams/commands/user/user-app-add.js +32 -15
  421. package/dist/m365/teams/commands/user/user-app-list.js +40 -21
  422. package/dist/m365/teams/commands/user/user-app-remove.js +41 -23
  423. package/dist/m365/teams/commands/user/user-list.js +38 -22
  424. package/dist/m365/tenant/commands/id/id-get.js +23 -9
  425. package/dist/m365/tenant/commands/security/security-alerts-list.js +22 -13
  426. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +22 -14
  427. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +22 -13
  428. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +16 -9
  429. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +16 -9
  430. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +30 -12
  431. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +23 -9
  432. package/dist/m365/todo/commands/list/list-add.js +16 -9
  433. package/dist/m365/todo/commands/list/list-remove.js +43 -25
  434. package/dist/m365/todo/commands/list/list-set.js +42 -27
  435. package/dist/m365/todo/commands/task/task-add.js +42 -24
  436. package/dist/m365/todo/commands/task/task-list.js +40 -21
  437. package/dist/m365/todo/commands/task/task-remove.js +45 -28
  438. package/dist/m365/todo/commands/task/task-set.js +58 -45
  439. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +25 -12
  440. package/dist/m365/viva/commands/connections/connections-app-create.js +28 -21
  441. package/dist/m365/yammer/commands/group/group-list.js +37 -21
  442. package/dist/m365/yammer/commands/group/group-user-add.js +42 -24
  443. package/dist/m365/yammer/commands/group/group-user-remove.js +42 -24
  444. package/dist/m365/yammer/commands/message/message-add.js +48 -32
  445. package/dist/m365/yammer/commands/message/message-get.js +30 -12
  446. package/dist/m365/yammer/commands/message/message-like-set.js +39 -24
  447. package/dist/m365/yammer/commands/message/message-list.js +50 -38
  448. package/dist/m365/yammer/commands/message/message-remove.js +39 -20
  449. package/dist/m365/yammer/commands/network/network-list.js +23 -14
  450. package/dist/m365/yammer/commands/user/user-get.js +40 -21
  451. package/dist/m365/yammer/commands/user/user-list.js +47 -34
  452. package/dist/m365/yammer/commands/yammer-search.js +40 -25
  453. package/docs/docs/cmd/planner/bucket/bucket-add.md +0 -3
  454. package/docs/docs/cmd/planner/bucket/bucket-get.md +0 -3
  455. package/docs/docs/cmd/planner/bucket/bucket-list.md +0 -3
  456. package/docs/docs/cmd/planner/bucket/bucket-remove.md +0 -3
  457. package/docs/docs/cmd/planner/bucket/bucket-set.md +0 -3
  458. package/docs/docs/cmd/planner/plan/plan-get.md +0 -6
  459. package/docs/docs/cmd/planner/task/task-add.md +0 -3
  460. package/docs/docs/cmd/planner/task/task-get.md +0 -3
  461. package/docs/docs/cmd/planner/task/task-list.md +0 -3
  462. package/docs/docs/cmd/planner/task/task-set.md +0 -3
  463. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  464. package/docs/docs/cmd/spo/customaction/customaction-get.md +15 -2
  465. package/docs/docs/cmd/spo/customaction/customaction-remove.md +33 -2
  466. package/docs/docs/cmd/spo/field/field-get.md +6 -3
  467. package/docs/docs/cmd/spo/field/field-remove.md +9 -6
  468. package/docs/docs/cmd/spo/file/file-rename.md +43 -0
  469. package/docs/docs/cmd/spo/group/group-get.md +12 -3
  470. package/docs/docs/cmd/spo/list/list-list.md +0 -3
  471. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +1 -1
  472. package/docs/docs/cmd/spo/roledefinition/roledefinition-get.md +1 -1
  473. package/docs/docs/cmd/spo/site/site-apppermission-add.md +1 -1
  474. package/docs/docs/cmd/spo/site/site-apppermission-set.md +1 -1
  475. package/docs/docs/cmd/spo/site/site-list.md +6 -6
  476. package/docs/docs/cmd/spo/site/site-set.md +50 -6
  477. package/docs/docs/cmd/teams/tab/tab-get.md +2 -2
  478. package/docs/docs/cmd/teams/team/team-clone.md +11 -5
  479. package/docs/docs/cmd/teams/team/team-set.md +10 -4
  480. package/package.json +1 -1
  481. package/dist/m365/spo/commands/site/site-classic-add.js +0 -333
  482. package/dist/m365/spo/commands/site/site-classic-list.js +0 -99
  483. package/dist/m365/spo/commands/site/site-classic-set.js +0 -358
  484. package/docs/docs/cmd/spo/site/site-classic-add.md +0 -93
  485. package/docs/docs/cmd/spo/site/site-classic-list.md +0 -68
  486. 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