@pnp/cli-microsoft365 6.0.0-beta.37b9374 → 6.0.0-beta.3a04435

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 (687) hide show
  1. package/.devcontainer/Dockerfile +3 -1
  2. package/.devcontainer/devcontainer.json +1 -0
  3. package/.eslintrc.js +17 -2
  4. package/README.md +5 -0
  5. package/dist/Auth.js +3 -4
  6. package/dist/Command.js +72 -45
  7. package/dist/api.js +3 -3
  8. package/dist/appInsights.js +2 -0
  9. package/dist/cli/Cli.js +37 -29
  10. package/dist/index.js +2 -2
  11. package/dist/m365/aad/commands/app/app-add.js +220 -57
  12. package/dist/m365/aad/commands/app/app-get.js +19 -23
  13. package/dist/m365/aad/commands/app/app-remove.js +41 -49
  14. package/dist/m365/aad/commands/app/app-role-add.js +34 -36
  15. package/dist/m365/aad/commands/app/app-role-list.js +16 -24
  16. package/dist/m365/aad/commands/app/app-role-remove.js +29 -46
  17. package/dist/m365/aad/commands/app/app-set.js +16 -18
  18. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +96 -104
  19. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +45 -52
  20. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +97 -103
  21. package/dist/m365/aad/commands/group/group-list.js +36 -24
  22. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +35 -34
  23. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +19 -16
  24. package/dist/m365/aad/commands/groupsetting/groupsetting-list.js +20 -8
  25. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +33 -32
  26. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +35 -32
  27. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +21 -22
  28. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-list.js +20 -8
  29. package/dist/m365/aad/commands/o365group/o365group-add.js +87 -98
  30. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +13 -9
  31. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +18 -20
  32. package/dist/m365/aad/commands/o365group/o365group-get.js +22 -27
  33. package/dist/m365/aad/commands/o365group/o365group-list.js +39 -44
  34. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +34 -22
  35. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +25 -13
  36. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +36 -38
  37. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +26 -25
  38. package/dist/m365/aad/commands/o365group/o365group-remove.js +41 -43
  39. package/dist/m365/aad/commands/o365group/o365group-renew.js +19 -14
  40. package/dist/m365/aad/commands/o365group/o365group-set.js +98 -116
  41. package/dist/m365/aad/commands/o365group/o365group-teamify.js +37 -37
  42. package/dist/m365/aad/commands/o365group/o365group-user-add.js +34 -34
  43. package/dist/m365/aad/commands/o365group/o365group-user-list.js +20 -21
  44. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +65 -71
  45. package/dist/m365/aad/commands/o365group/o365group-user-set.js +69 -72
  46. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +28 -23
  47. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +23 -20
  48. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +42 -32
  49. package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +30 -16
  50. package/dist/m365/aad/commands/policy/policy-list.js +22 -23
  51. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +61 -53
  52. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +84 -72
  53. package/dist/m365/aad/commands/siteclassification/siteclassification-get.js +66 -57
  54. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +96 -93
  55. package/dist/m365/aad/commands/sp/sp-add.js +29 -32
  56. package/dist/m365/aad/commands/sp/sp-get.js +29 -32
  57. package/dist/m365/aad/commands/user/user-get.js +43 -48
  58. package/dist/m365/aad/commands/user/user-hibp.js +23 -24
  59. package/dist/m365/aad/commands/user/user-list.js +36 -15
  60. package/dist/m365/aad/commands/user/user-password-validate.js +29 -17
  61. package/dist/m365/aad/commands/user/user-set.js +24 -22
  62. package/dist/m365/aad/commands/user/user-signin-list.js +28 -24
  63. package/dist/m365/aad/commands.js +0 -1
  64. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +39 -37
  65. package/dist/m365/app/commands/app-get.js +28 -16
  66. package/dist/m365/app/commands/app-open.js +20 -5
  67. package/dist/m365/app/commands/permission/permission-list.js +19 -17
  68. package/dist/m365/base/AnonymousCommand.js +14 -3
  69. package/dist/m365/base/AppCommand.js +54 -47
  70. package/dist/m365/base/DateAndPeriodBasedReport.js +7 -5
  71. package/dist/m365/base/PeriodBasedReport.js +23 -16
  72. package/dist/m365/base/SpoCommand.js +13 -9
  73. package/dist/m365/base/YammerCommand.js +4 -4
  74. package/dist/m365/booking/commands/business/business-get.js +96 -0
  75. package/dist/m365/booking/commands/business/business-list.js +39 -0
  76. package/dist/m365/booking/commands.js +8 -0
  77. package/dist/m365/cli/commands/cli-consent.js +15 -12
  78. package/dist/m365/cli/commands/cli-doctor.js +37 -27
  79. package/dist/m365/cli/commands/cli-issue.js +15 -15
  80. package/dist/m365/cli/commands/cli-reconsent.js +31 -19
  81. package/dist/m365/cli/commands/completion/completion-clink-update.js +13 -3
  82. package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +47 -38
  83. package/dist/m365/cli/commands/completion/completion-pwsh-update.js +16 -6
  84. package/dist/m365/cli/commands/completion/completion-sh-setup.js +21 -11
  85. package/dist/m365/cli/commands/completion/completion-sh-update.js +16 -6
  86. package/dist/m365/cli/commands/config/config-get.js +5 -4
  87. package/dist/m365/cli/commands/config/config-reset.js +10 -9
  88. package/dist/m365/cli/commands/config/config-set.js +20 -20
  89. package/dist/m365/commands/commands.js +1 -0
  90. package/dist/m365/commands/login.js +66 -63
  91. package/dist/m365/commands/logout.js +34 -23
  92. package/dist/m365/commands/request.js +150 -0
  93. package/dist/m365/commands/status.js +55 -28
  94. package/dist/m365/commands/version.js +13 -3
  95. package/dist/m365/file/commands/convert/convert-pdf.js +58 -53
  96. package/dist/m365/file/commands/file-add.js +17 -12
  97. package/dist/m365/file/commands/file-list.js +31 -33
  98. package/dist/m365/flow/commands/environment/environment-get.js +34 -22
  99. package/dist/m365/flow/commands/environment/environment-list.js +33 -21
  100. package/dist/m365/flow/commands/flow-disable.js +28 -14
  101. package/dist/m365/flow/commands/flow-enable.js +28 -14
  102. package/dist/m365/flow/commands/flow-export.js +104 -104
  103. package/dist/m365/flow/commands/flow-get.js +33 -21
  104. package/dist/m365/flow/commands/flow-list.js +28 -16
  105. package/dist/m365/flow/commands/flow-remove.js +41 -45
  106. package/dist/m365/flow/commands/run/run-cancel.js +35 -34
  107. package/dist/m365/flow/commands/run/run-get.js +33 -21
  108. package/dist/m365/flow/commands/run/run-list.js +31 -19
  109. package/dist/m365/flow/commands/run/run-resubmit.js +39 -40
  110. package/dist/m365/graph/Changelog.js +3 -0
  111. package/dist/m365/graph/commands/changelog/changelog-list.js +164 -0
  112. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +32 -29
  113. package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +30 -17
  114. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +40 -36
  115. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +43 -32
  116. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +59 -56
  117. package/dist/m365/graph/commands/subscription/subscription-add.js +30 -27
  118. package/dist/m365/graph/commands.js +1 -0
  119. package/dist/m365/onedrive/commands/onedrive-list.js +25 -15
  120. package/dist/m365/onenote/commands/notebook/notebook-list.js +140 -0
  121. package/dist/m365/onenote/commands.js +7 -0
  122. package/dist/m365/outlook/commands/mail/mail-send.js +100 -37
  123. package/dist/m365/outlook/commands/message/message-list.js +17 -26
  124. package/dist/m365/outlook/commands/message/message-move.js +28 -47
  125. package/dist/m365/outlook/commands/room/room-list.js +24 -12
  126. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +20 -8
  127. package/dist/m365/outlook/commands.js +1 -2
  128. package/dist/m365/pa/commands/app/app-get.js +49 -53
  129. package/dist/m365/pa/commands/app/app-list.js +20 -17
  130. package/dist/m365/pa/commands/app/app-remove.js +41 -41
  131. package/dist/m365/pa/commands/connector/connector-export.js +102 -104
  132. package/dist/m365/pa/commands/connector/connector-list.js +29 -17
  133. package/dist/m365/pa/commands/environment/environment-get.js +34 -22
  134. package/dist/m365/pa/commands/environment/environment-list.js +33 -21
  135. package/dist/m365/pa/commands/pcf/pcf-init.js +39 -38
  136. package/dist/m365/pa/commands/solution/solution-init.js +50 -49
  137. package/dist/m365/pa/commands/solution/solution-reference-add.js +15 -14
  138. package/dist/m365/planner/commands/bucket/bucket-add.js +34 -35
  139. package/dist/m365/planner/commands/bucket/bucket-get.js +19 -15
  140. package/dist/m365/planner/commands/bucket/bucket-list.js +23 -21
  141. package/dist/m365/planner/commands/bucket/bucket-remove.js +39 -39
  142. package/dist/m365/planner/commands/bucket/bucket-set.js +31 -27
  143. package/dist/m365/planner/commands/plan/plan-add.js +39 -38
  144. package/dist/m365/planner/commands/plan/plan-get.js +32 -47
  145. package/dist/m365/planner/commands/plan/plan-list.js +23 -22
  146. package/dist/m365/planner/commands/plan/plan-remove.js +38 -40
  147. package/dist/m365/planner/commands/task/task-add.js +51 -63
  148. package/dist/m365/planner/commands/task/task-checklistitem-add.js +47 -37
  149. package/dist/m365/planner/commands/task/task-checklistitem-list.js +36 -22
  150. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +52 -42
  151. package/dist/m365/planner/commands/task/task-get.js +26 -15
  152. package/dist/m365/planner/commands/task/task-list.js +48 -56
  153. package/dist/m365/planner/commands/task/task-reference-add.js +25 -24
  154. package/dist/m365/planner/commands/task/task-reference-list.js +31 -19
  155. package/dist/m365/planner/commands/task/task-reference-remove.js +41 -42
  156. package/dist/m365/planner/commands/task/task-remove.js +38 -37
  157. package/dist/m365/planner/commands/task/task-set.js +38 -41
  158. package/dist/m365/planner/commands/tenant/tenant-settings-list.js +26 -14
  159. package/dist/m365/planner/commands/tenant/tenant-settings-set.js +27 -24
  160. package/dist/m365/pp/commands/Environment.js +3 -0
  161. package/dist/m365/pp/commands/card/card-get.js +110 -0
  162. package/dist/m365/pp/commands/card/card-list.js +68 -0
  163. package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +69 -0
  164. package/dist/m365/pp/commands/environment/environment-get.js +75 -0
  165. package/dist/m365/pp/commands/environment/environment-list.js +41 -29
  166. package/dist/m365/pp/commands/gateway/gateway-get.js +70 -0
  167. package/dist/m365/pp/commands/gateway/gateway-list.js +29 -17
  168. package/dist/m365/pp/commands/managementapp/managementapp-add.js +26 -32
  169. package/dist/m365/pp/commands/managementapp/managementapp-list.js +21 -9
  170. package/dist/m365/pp/commands/solution/Solution.js +3 -0
  171. package/dist/m365/pp/commands/solution/solution-get.js +117 -0
  172. package/dist/m365/pp/commands/solution/solution-list.js +87 -0
  173. package/dist/m365/pp/commands/tenant/tenant-settings-list.js +45 -0
  174. package/dist/m365/pp/commands.js +9 -1
  175. package/dist/m365/search/commands/externalconnection/externalconnection-add.js +29 -24
  176. package/dist/m365/search/commands/externalconnection/externalconnection-get.js +37 -28
  177. package/dist/m365/search/commands/externalconnection/externalconnection-list.js +20 -8
  178. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +108 -0
  179. package/dist/m365/search/commands.js +2 -1
  180. package/dist/m365/spfx/commands/package/package-generate.js +105 -98
  181. package/dist/m365/spfx/commands/project/base-project-command.js +19 -18
  182. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.16.0-beta.1.js +23 -0
  183. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001008_DEP_react.js +2 -2
  184. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001009_DEP_react_dom.js +2 -2
  185. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  186. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002015_DEVDEP_types_react.js +2 -2
  187. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  188. package/dist/m365/spfx/commands/project/project-doctor.js +108 -107
  189. package/dist/m365/spfx/commands/project/project-externalize.js +49 -39
  190. package/dist/m365/spfx/commands/project/project-rename.js +38 -30
  191. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001005_DEP_types_react.js +2 -2
  192. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001006_DEP_types_react_dom.js +2 -2
  193. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001008_DEP_react.js +2 -2
  194. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001009_DEP_react_dom.js +2 -2
  195. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001015_DEP_types_react_addons_shallow_compare.js +2 -2
  196. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001016_DEP_types_react_addons_update.js +2 -2
  197. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001017_DEP_types_react_addons_update.js +2 -2
  198. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001019_DEP_knockout.js +2 -2
  199. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001020_DEP_types_knockout.js +2 -2
  200. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  201. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002015_DEVDEP_types_react.js +2 -2
  202. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  203. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002025_DEVDEP_eslint_plugin_react_hooks.js +2 -2
  204. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +47 -0
  205. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015008_FILE_eslintrc_js.js +2 -2
  206. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN020001_RES_types_react.js +2 -2
  207. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021003_PKG_engines_node.js +48 -0
  208. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022001_SCSS_remove_fabric_react.js +2 -2
  209. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022002_SCSS_add_fabric_react.js +2 -2
  210. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.14.0.js +0 -2
  211. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.16.0-beta.1.js +61 -0
  212. package/dist/m365/spfx/commands/project/project-upgrade.js +192 -194
  213. package/dist/m365/spfx/commands/spfx-doctor.js +195 -129
  214. package/dist/m365/spo/commands/app/app-add.js +34 -34
  215. package/dist/m365/spo/commands/app/app-deploy.js +45 -48
  216. package/dist/m365/spo/commands/app/app-get.js +47 -50
  217. package/dist/m365/spo/commands/app/app-install.js +21 -16
  218. package/dist/m365/spo/commands/app/app-instance-list.js +27 -23
  219. package/dist/m365/spo/commands/app/app-list.js +32 -34
  220. package/dist/m365/spo/commands/app/app-remove.js +38 -40
  221. package/dist/m365/spo/commands/app/app-retract.js +38 -40
  222. package/dist/m365/spo/commands/app/app-teamspackage-download.js +42 -43
  223. package/dist/m365/spo/commands/app/app-uninstall.js +35 -34
  224. package/dist/m365/spo/commands/app/app-upgrade.js +21 -16
  225. package/dist/m365/spo/commands/apppage/apppage-add.js +39 -40
  226. package/dist/m365/spo/commands/apppage/apppage-set.js +21 -16
  227. package/dist/m365/spo/commands/cdn/cdn-get.js +36 -42
  228. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +31 -38
  229. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +34 -40
  230. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +46 -59
  231. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +42 -49
  232. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +38 -46
  233. package/dist/m365/spo/commands/cdn/cdn-set.js +64 -68
  234. package/dist/m365/spo/commands/contenttype/contenttype-add.js +127 -91
  235. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +134 -118
  236. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +127 -151
  237. package/dist/m365/spo/commands/contenttype/contenttype-get.js +62 -42
  238. package/dist/m365/spo/commands/contenttype/contenttype-list.js +23 -20
  239. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +69 -82
  240. package/dist/m365/spo/commands/contenttype/contenttype-set.js +168 -0
  241. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +51 -48
  242. package/dist/m365/spo/commands/customaction/customaction-add.js +46 -43
  243. package/dist/m365/spo/commands/customaction/customaction-clear.js +30 -28
  244. package/dist/m365/spo/commands/customaction/customaction-get.js +43 -38
  245. package/dist/m365/spo/commands/customaction/customaction-list.js +30 -25
  246. package/dist/m365/spo/commands/customaction/customaction-remove.js +36 -35
  247. package/dist/m365/spo/commands/customaction/customaction-set.js +25 -20
  248. package/dist/m365/spo/commands/eventreceiver/EventReceiver.js +3 -0
  249. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +47 -42
  250. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +39 -35
  251. package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +182 -0
  252. package/dist/m365/spo/commands/externaluser/externaluser-list.js +55 -58
  253. package/dist/m365/spo/commands/feature/feature-disable.js +26 -21
  254. package/dist/m365/spo/commands/feature/feature-enable.js +28 -23
  255. package/dist/m365/spo/commands/feature/feature-list.js +25 -22
  256. package/dist/m365/spo/commands/field/field-add.js +29 -26
  257. package/dist/m365/spo/commands/field/field-get.js +41 -36
  258. package/dist/m365/spo/commands/field/field-list.js +33 -28
  259. package/dist/m365/spo/commands/field/field-remove.js +87 -88
  260. package/dist/m365/spo/commands/field/field-set.js +70 -81
  261. package/dist/m365/spo/commands/file/file-add.js +158 -177
  262. package/dist/m365/spo/commands/file/file-checkin.js +43 -41
  263. package/dist/m365/spo/commands/file/file-checkout.js +30 -28
  264. package/dist/m365/spo/commands/file/file-copy.js +91 -105
  265. package/dist/m365/spo/commands/file/file-get.js +71 -76
  266. package/dist/m365/spo/commands/file/file-list.js +17 -11
  267. package/dist/m365/spo/commands/file/file-move.js +89 -102
  268. package/dist/m365/spo/commands/file/file-remove.js +62 -67
  269. package/dist/m365/spo/commands/file/file-rename.js +52 -50
  270. package/dist/m365/spo/commands/file/file-roleassignment-add.js +231 -0
  271. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +180 -0
  272. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +129 -0
  273. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +125 -0
  274. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +53 -53
  275. package/dist/m365/spo/commands/folder/folder-add.js +29 -25
  276. package/dist/m365/spo/commands/folder/folder-copy.js +49 -44
  277. package/dist/m365/spo/commands/folder/folder-get.js +59 -28
  278. package/dist/m365/spo/commands/folder/folder-list.js +25 -21
  279. package/dist/m365/spo/commands/folder/folder-move.js +50 -45
  280. package/dist/m365/spo/commands/folder/folder-remove.js +44 -42
  281. package/dist/m365/spo/commands/folder/folder-rename.js +34 -38
  282. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +168 -0
  283. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +94 -0
  284. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +89 -0
  285. package/dist/m365/spo/commands/group/AssociatedGroupPropertiesCollection.js +3 -0
  286. package/dist/m365/spo/commands/group/group-add.js +28 -25
  287. package/dist/m365/spo/commands/group/group-get.js +42 -39
  288. package/dist/m365/spo/commands/group/group-list.js +64 -22
  289. package/dist/m365/spo/commands/group/group-remove.js +53 -59
  290. package/dist/m365/spo/commands/group/group-set.js +31 -26
  291. package/dist/m365/spo/commands/group/group-user-add.js +38 -51
  292. package/dist/m365/spo/commands/group/group-user-list.js +29 -29
  293. package/dist/m365/spo/commands/group/group-user-remove.js +46 -50
  294. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +30 -20
  295. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +23 -20
  296. package/dist/m365/spo/commands/homesite/homesite-get.js +29 -19
  297. package/dist/m365/spo/commands/homesite/homesite-remove.js +50 -49
  298. package/dist/m365/spo/commands/homesite/homesite-set.js +28 -31
  299. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +27 -24
  300. package/dist/m365/spo/commands/hubsite/hubsite-get.js +24 -37
  301. package/dist/m365/spo/commands/hubsite/hubsite-list.js +65 -63
  302. package/dist/m365/spo/commands/hubsite/hubsite-register.js +22 -20
  303. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +33 -36
  304. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +48 -55
  305. package/dist/m365/spo/commands/hubsite/hubsite-set.js +38 -41
  306. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +21 -16
  307. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +36 -36
  308. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +35 -32
  309. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +52 -53
  310. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +29 -33
  311. package/dist/m365/spo/commands/list/list-add.js +28 -25
  312. package/dist/m365/spo/commands/list/list-contenttype-add.js +50 -46
  313. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +115 -106
  314. package/dist/m365/spo/commands/list/list-contenttype-list.js +46 -37
  315. package/dist/m365/spo/commands/list/list-contenttype-remove.js +59 -55
  316. package/dist/m365/spo/commands/list/list-get.js +41 -40
  317. package/dist/m365/spo/commands/list/list-label-get.js +55 -58
  318. package/dist/m365/spo/commands/list/list-label-set.js +55 -51
  319. package/dist/m365/spo/commands/list/list-list.js +26 -23
  320. package/dist/m365/spo/commands/list/list-remove.js +50 -54
  321. package/dist/m365/spo/commands/list/list-roleassignment-add.js +56 -46
  322. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +73 -44
  323. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +67 -32
  324. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +63 -28
  325. package/dist/m365/spo/commands/list/list-set.js +31 -28
  326. package/dist/m365/spo/commands/list/list-sitescript-get.js +58 -62
  327. package/dist/m365/spo/commands/list/list-view-add.js +37 -32
  328. package/dist/m365/spo/commands/list/list-view-field-add.js +57 -72
  329. package/dist/m365/spo/commands/list/list-view-field-remove.js +51 -68
  330. package/dist/m365/spo/commands/list/list-view-field-set.js +38 -49
  331. package/dist/m365/spo/commands/list/list-view-get.js +40 -41
  332. package/dist/m365/spo/commands/list/list-view-list.js +36 -35
  333. package/dist/m365/spo/commands/list/list-view-remove.js +50 -59
  334. package/dist/m365/spo/commands/list/list-view-set.js +35 -39
  335. package/dist/m365/spo/commands/list/list-webhook-add.js +59 -52
  336. package/dist/m365/spo/commands/list/list-webhook-get.js +49 -42
  337. package/dist/m365/spo/commands/list/list-webhook-list.js +52 -73
  338. package/dist/m365/spo/commands/list/list-webhook-remove.js +64 -61
  339. package/dist/m365/spo/commands/list/list-webhook-set.js +56 -49
  340. package/dist/m365/spo/commands/listitem/listitem-add.js +110 -119
  341. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +36 -35
  342. package/dist/m365/spo/commands/listitem/listitem-get.js +36 -35
  343. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +72 -76
  344. package/dist/m365/spo/commands/listitem/listitem-list.js +63 -68
  345. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +59 -62
  346. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +58 -61
  347. package/dist/m365/spo/commands/listitem/listitem-remove.js +55 -58
  348. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +239 -0
  349. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +206 -0
  350. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +58 -31
  351. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +54 -24
  352. package/dist/m365/spo/commands/listitem/listitem-set.js +150 -170
  353. package/dist/m365/spo/commands/mail/mail-send.js +50 -45
  354. package/dist/m365/spo/commands/navigation/navigation-node-add.js +31 -28
  355. package/dist/m365/spo/commands/navigation/navigation-node-list.js +28 -25
  356. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +38 -38
  357. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +30 -33
  358. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +49 -45
  359. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +50 -50
  360. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +35 -31
  361. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +41 -50
  362. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +26 -29
  363. package/dist/m365/spo/commands/page/Page.js +2 -2
  364. package/dist/m365/spo/commands/page/page-add.js +197 -218
  365. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +186 -189
  366. package/dist/m365/spo/commands/page/page-column-get.js +25 -22
  367. package/dist/m365/spo/commands/page/page-column-list.js +20 -17
  368. package/dist/m365/spo/commands/page/page-control-get.js +39 -36
  369. package/dist/m365/spo/commands/page/page-control-list.js +35 -32
  370. package/dist/m365/spo/commands/page/page-control-set.js +100 -100
  371. package/dist/m365/spo/commands/page/page-copy.js +53 -53
  372. package/dist/m365/spo/commands/page/page-get.js +52 -53
  373. package/dist/m365/spo/commands/page/page-header-set.js +230 -234
  374. package/dist/m365/spo/commands/page/page-list.js +42 -41
  375. package/dist/m365/spo/commands/page/page-remove.js +48 -47
  376. package/dist/m365/spo/commands/page/page-section-add.js +68 -70
  377. package/dist/m365/spo/commands/page/page-section-get.js +16 -13
  378. package/dist/m365/spo/commands/page/page-section-list.js +25 -22
  379. package/dist/m365/spo/commands/page/page-set.js +219 -238
  380. package/dist/m365/spo/commands/page/page-template-list.js +26 -27
  381. package/dist/m365/spo/commands/page/page-text-add.js +45 -43
  382. package/dist/m365/spo/commands/propertybag/propertybag-base.js +4 -3
  383. package/dist/m365/spo/commands/propertybag/propertybag-get.js +27 -24
  384. package/dist/m365/spo/commands/propertybag/propertybag-list.js +22 -19
  385. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +36 -40
  386. package/dist/m365/spo/commands/propertybag/propertybag-set.js +25 -29
  387. package/dist/m365/spo/commands/roledefinition/roledefinition-add.js +117 -0
  388. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +27 -24
  389. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +22 -19
  390. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +38 -37
  391. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +40 -35
  392. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +43 -39
  393. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +35 -30
  394. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +33 -36
  395. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +28 -31
  396. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +45 -41
  397. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +47 -56
  398. package/dist/m365/spo/commands/site/site-add.js +189 -206
  399. package/dist/m365/spo/commands/site/site-appcatalog-add.js +33 -36
  400. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +33 -36
  401. package/dist/m365/spo/commands/site/site-apppermission-add.js +73 -41
  402. package/dist/m365/spo/commands/site/site-apppermission-get.js +21 -18
  403. package/dist/m365/spo/commands/site/site-apppermission-list.js +17 -19
  404. package/dist/m365/spo/commands/site/site-apppermission-remove.js +37 -48
  405. package/dist/m365/spo/commands/site/site-apppermission-set.js +37 -36
  406. package/dist/m365/spo/commands/site/site-chrome-set.js +52 -47
  407. package/dist/m365/spo/commands/site/site-commsite-enable.js +30 -33
  408. package/dist/m365/spo/commands/site/site-ensure.js +46 -36
  409. package/dist/m365/spo/commands/site/site-get.js +19 -16
  410. package/dist/m365/spo/commands/site/site-groupify.js +37 -34
  411. package/dist/m365/spo/commands/site/site-hubsite-connect.js +75 -0
  412. package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +93 -0
  413. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +27 -22
  414. package/dist/m365/spo/commands/site/site-list.js +20 -20
  415. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +29 -26
  416. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +36 -28
  417. package/dist/m365/spo/commands/site/site-remove.js +66 -73
  418. package/dist/m365/spo/commands/site/site-rename.js +66 -77
  419. package/dist/m365/spo/commands/site/site-set.js +47 -50
  420. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +40 -42
  421. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +31 -29
  422. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +26 -28
  423. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +28 -18
  424. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +38 -42
  425. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +29 -29
  426. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +28 -30
  427. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +41 -45
  428. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +30 -26
  429. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +25 -21
  430. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +53 -51
  431. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +25 -23
  432. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +19 -15
  433. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +37 -37
  434. package/dist/m365/spo/commands/sitescript/sitescript-add.js +23 -26
  435. package/dist/m365/spo/commands/sitescript/sitescript-get.js +25 -27
  436. package/dist/m365/spo/commands/sitescript/sitescript-list.js +31 -25
  437. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +38 -42
  438. package/dist/m365/spo/commands/sitescript/sitescript-set.js +38 -40
  439. package/dist/m365/spo/commands/spo-get.js +16 -6
  440. package/dist/m365/spo/commands/spo-search.js +23 -23
  441. package/dist/m365/spo/commands/spo-set.js +11 -9
  442. package/dist/m365/spo/commands/storageentity/storageentity-get.js +37 -27
  443. package/dist/m365/spo/commands/storageentity/storageentity-list.js +36 -38
  444. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +43 -51
  445. package/dist/m365/spo/commands/storageentity/storageentity-set.js +33 -36
  446. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +21 -22
  447. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +32 -22
  448. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +39 -35
  449. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +56 -62
  450. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +24 -22
  451. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +57 -53
  452. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +56 -66
  453. package/dist/m365/spo/commands/term/term-add.js +102 -110
  454. package/dist/m365/spo/commands/term/term-get.js +53 -60
  455. package/dist/m365/spo/commands/term/term-group-add.js +74 -81
  456. package/dist/m365/spo/commands/term/term-group-get.js +40 -46
  457. package/dist/m365/spo/commands/term/term-group-list.js +43 -39
  458. package/dist/m365/spo/commands/term/term-list.js +44 -56
  459. package/dist/m365/spo/commands/term/term-set-add.js +88 -96
  460. package/dist/m365/spo/commands/term/term-set-get.js +42 -54
  461. package/dist/m365/spo/commands/term/term-set-list.js +43 -49
  462. package/dist/m365/spo/commands/theme/theme-apply.js +56 -60
  463. package/dist/m365/spo/commands/theme/theme-get.js +39 -34
  464. package/dist/m365/spo/commands/theme/theme-list.js +36 -26
  465. package/dist/m365/spo/commands/theme/theme-remove.js +47 -39
  466. package/dist/m365/spo/commands/theme/theme-set.js +33 -34
  467. package/dist/m365/spo/commands/user/user-get.js +37 -39
  468. package/dist/m365/spo/commands/user/user-list.js +25 -22
  469. package/dist/m365/spo/commands/user/user-remove.js +46 -48
  470. package/dist/m365/spo/commands/userprofile/userprofile-get.js +25 -24
  471. package/dist/m365/spo/commands/userprofile/userprofile-set.js +42 -34
  472. package/dist/m365/spo/commands/web/web-add.js +74 -99
  473. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +31 -28
  474. package/dist/m365/spo/commands/web/web-get.js +23 -20
  475. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +22 -19
  476. package/dist/m365/spo/commands/web/web-list.js +26 -23
  477. package/dist/m365/spo/commands/web/web-reindex.js +44 -55
  478. package/dist/m365/spo/commands/web/web-remove.js +36 -35
  479. package/dist/m365/spo/commands/web/web-roleassignment-add.js +186 -0
  480. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +168 -0
  481. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +51 -20
  482. package/dist/m365/spo/commands/web/web-set.js +53 -48
  483. package/dist/m365/spo/commands.js +16 -2
  484. package/dist/m365/teams/commands/app/app-install.js +37 -41
  485. package/dist/m365/teams/commands/app/app-list.js +19 -15
  486. package/dist/m365/teams/commands/app/app-publish.js +23 -20
  487. package/dist/m365/teams/commands/app/app-remove.js +32 -31
  488. package/dist/m365/teams/commands/app/app-uninstall.js +31 -30
  489. package/dist/m365/teams/commands/app/app-update.js +27 -27
  490. package/dist/m365/teams/commands/cache/cache-remove.js +25 -24
  491. package/dist/m365/teams/commands/channel/channel-add.js +26 -26
  492. package/dist/m365/teams/commands/channel/channel-get.js +31 -51
  493. package/dist/m365/teams/commands/channel/channel-list.js +24 -25
  494. package/dist/m365/teams/commands/channel/channel-member-add.js +21 -30
  495. package/dist/m365/teams/commands/channel/channel-member-list.js +28 -42
  496. package/dist/m365/teams/commands/channel/channel-member-remove.js +31 -34
  497. package/dist/m365/teams/commands/channel/channel-member-set.js +34 -56
  498. package/dist/m365/teams/commands/channel/channel-remove.js +62 -68
  499. package/dist/m365/teams/commands/channel/channel-set.js +29 -26
  500. package/dist/m365/teams/commands/chat/chat-get.js +15 -25
  501. package/dist/m365/teams/commands/chat/chat-list.js +13 -10
  502. package/dist/m365/teams/commands/chat/chat-member-list.js +14 -10
  503. package/dist/m365/teams/commands/chat/chat-message-list.js +30 -26
  504. package/dist/m365/teams/commands/chat/chat-message-send.js +19 -28
  505. package/dist/m365/teams/commands/funsettings/funsettings-list.js +19 -16
  506. package/dist/m365/teams/commands/funsettings/funsettings-set.js +28 -23
  507. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +19 -16
  508. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +25 -20
  509. package/dist/m365/teams/commands/membersettings/membersettings-list.js +19 -16
  510. package/dist/m365/teams/commands/membersettings/membersettings-set.js +25 -20
  511. package/dist/m365/teams/commands/message/message-get.js +20 -17
  512. package/dist/m365/teams/commands/message/message-list.js +22 -18
  513. package/dist/m365/teams/commands/message/message-reply-list.js +19 -15
  514. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +19 -16
  515. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +26 -21
  516. package/dist/m365/teams/commands/report/report-directroutingcalls.js +21 -18
  517. package/dist/m365/teams/commands/report/report-pstncalls.js +21 -18
  518. package/dist/m365/teams/commands/tab/tab-add.js +23 -20
  519. package/dist/m365/teams/commands/tab/tab-get.js +31 -51
  520. package/dist/m365/teams/commands/tab/tab-list.js +18 -14
  521. package/dist/m365/teams/commands/tab/tab-remove.js +34 -31
  522. package/dist/m365/teams/commands/team/team-add.js +53 -55
  523. package/dist/m365/teams/commands/team/team-archive.js +24 -21
  524. package/dist/m365/teams/commands/team/team-clone.js +34 -29
  525. package/dist/m365/teams/commands/team/team-get.js +24 -26
  526. package/dist/m365/teams/commands/team/team-list.js +29 -19
  527. package/dist/m365/teams/commands/team/team-remove.js +37 -41
  528. package/dist/m365/teams/commands/team/team-set.js +20 -22
  529. package/dist/m365/teams/commands/team/team-unarchive.js +25 -25
  530. package/dist/m365/teams/commands/user/user-app-add.js +23 -18
  531. package/dist/m365/teams/commands/user/user-app-list.js +35 -38
  532. package/dist/m365/teams/commands/user/user-app-remove.js +33 -32
  533. package/dist/m365/teams/commands/user/user-list.js +21 -22
  534. package/dist/m365/teams/commands.js +0 -3
  535. package/dist/m365/tenant/commands/id/id-get.js +37 -26
  536. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +38 -24
  537. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +38 -24
  538. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +38 -24
  539. package/dist/m365/tenant/commands/security/security-alerts-list.js +19 -7
  540. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +19 -7
  541. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +19 -7
  542. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +26 -14
  543. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +24 -12
  544. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +20 -17
  545. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +24 -12
  546. package/dist/m365/todo/commands/list/list-add.js +31 -19
  547. package/dist/m365/todo/commands/list/list-list.js +20 -8
  548. package/dist/m365/todo/commands/list/list-remove.js +52 -61
  549. package/dist/m365/todo/commands/list/list-set.js +29 -34
  550. package/dist/m365/todo/commands/task/task-add.js +73 -28
  551. package/dist/m365/todo/commands/task/task-list.js +28 -35
  552. package/dist/m365/todo/commands/task/task-remove.js +52 -61
  553. package/dist/m365/todo/commands/task/task-set.js +79 -29
  554. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +26 -14
  555. package/dist/m365/viva/commands/connections/connections-app-create.js +104 -106
  556. package/dist/m365/yammer/commands/group/group-list.js +11 -8
  557. package/dist/m365/yammer/commands/group/group-user-add.js +21 -16
  558. package/dist/m365/yammer/commands/group/group-user-remove.js +39 -38
  559. package/dist/m365/yammer/commands/message/message-add.js +27 -24
  560. package/dist/m365/yammer/commands/message/message-get.js +18 -15
  561. package/dist/m365/yammer/commands/message/message-like-set.js +45 -46
  562. package/dist/m365/yammer/commands/message/message-list.js +24 -21
  563. package/dist/m365/yammer/commands/message/message-remove.js +31 -30
  564. package/dist/m365/yammer/commands/network/network-list.js +29 -17
  565. package/dist/m365/yammer/commands/user/user-get.js +25 -22
  566. package/dist/m365/yammer/commands/user/user-list.js +11 -8
  567. package/dist/m365/yammer/commands/yammer-search.js +76 -73
  568. package/dist/request.js +10 -6
  569. package/dist/settingsNames.js +0 -1
  570. package/dist/utils/cache.js +81 -0
  571. package/dist/utils/fsUtil.js +2 -4
  572. package/dist/utils/md.js +1 -1
  573. package/dist/utils/pid.js +57 -0
  574. package/dist/utils/powerPlatform.js +42 -0
  575. package/dist/utils/spo.js +7 -6
  576. package/docs/docs/_clisettings.md +18 -0
  577. package/docs/docs/cmd/aad/app/app-add.md +12 -1
  578. package/docs/docs/cmd/aad/app/app-set.md +1 -1
  579. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.md +1 -7
  580. package/docs/docs/cmd/aad/user/user-signin-list.md +1 -1
  581. package/docs/docs/cmd/adaptivecard/adaptivecard-send.md +0 -20
  582. package/docs/docs/cmd/booking/business/business-get.md +33 -0
  583. package/docs/docs/cmd/booking/business/business-list.md +21 -0
  584. package/docs/docs/cmd/cli/completion/completion-clink-update.md +1 -1
  585. package/docs/docs/cmd/cli/completion/completion-pwsh-setup.md +1 -1
  586. package/docs/docs/cmd/cli/completion/completion-pwsh-update.md +1 -1
  587. package/docs/docs/cmd/cli/completion/completion-sh-setup.md +1 -1
  588. package/docs/docs/cmd/cli/completion/completion-sh-update.md +1 -1
  589. package/docs/docs/cmd/graph/changelog/changelog-list.md +53 -0
  590. package/docs/docs/cmd/onedrive/report/report-activityusercounts.md +1 -1
  591. package/docs/docs/cmd/onenote/notebook/notebook-list.md +70 -0
  592. package/docs/docs/cmd/outlook/mail/mail-send.md +82 -17
  593. package/docs/docs/cmd/planner/bucket/bucket-add.md +29 -0
  594. package/docs/docs/cmd/planner/bucket/bucket-get.md +29 -0
  595. package/docs/docs/cmd/planner/bucket/bucket-list.md +30 -0
  596. package/docs/docs/cmd/planner/bucket/bucket-remove.md +4 -0
  597. package/docs/docs/cmd/planner/bucket/bucket-set.md +4 -0
  598. package/docs/docs/cmd/planner/plan/plan-add.md +123 -0
  599. package/docs/docs/cmd/planner/plan/plan-get.md +75 -6
  600. package/docs/docs/cmd/planner/plan/plan-list.md +45 -0
  601. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  602. package/docs/docs/cmd/planner/task/task-checklistitem-list.md +1 -1
  603. package/docs/docs/cmd/planner/task/task-get.md +0 -3
  604. package/docs/docs/cmd/planner/task/task-reference-add.md +1 -1
  605. package/docs/docs/cmd/pp/card/card-get.md +51 -0
  606. package/docs/docs/cmd/pp/card/card-list.md +33 -0
  607. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +33 -0
  608. package/docs/docs/cmd/pp/environment/environment-get.md +38 -0
  609. package/docs/docs/cmd/pp/environment/environment-list.md +2 -2
  610. package/docs/docs/cmd/pp/gateway/gateway-get.md +24 -0
  611. package/docs/docs/cmd/pp/solution/solution-get.md +51 -0
  612. package/docs/docs/cmd/pp/solution/solution-list.md +33 -0
  613. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +26 -0
  614. package/docs/docs/cmd/request.md +76 -0
  615. package/docs/docs/cmd/search/externalconnection/externalconnection-remove.md +40 -0
  616. package/docs/docs/cmd/spfx/project/project-rename.md +1 -14
  617. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  618. package/docs/docs/cmd/spfx/spfx-doctor.md +13 -4
  619. package/docs/docs/cmd/spo/contenttype/contenttype-add.md +20 -2
  620. package/docs/docs/cmd/spo/contenttype/contenttype-field-remove.md +22 -4
  621. package/docs/docs/cmd/spo/contenttype/contenttype-get.md +21 -3
  622. package/docs/docs/cmd/spo/contenttype/contenttype-set.md +45 -0
  623. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-get.md +2 -2
  624. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +69 -0
  625. package/docs/docs/cmd/spo/field/field-set.md +0 -3
  626. package/docs/docs/cmd/spo/file/file-roleassignment-add.md +57 -0
  627. package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +54 -0
  628. package/docs/docs/cmd/spo/file/file-roleinheritance-break.md +54 -0
  629. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.md +39 -0
  630. package/docs/docs/cmd/spo/folder/folder-get.md +13 -4
  631. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.md +57 -0
  632. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +39 -0
  633. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +36 -0
  634. package/docs/docs/cmd/spo/group/group-list.md +10 -1
  635. package/docs/docs/cmd/spo/hubsite/hubsite-get.md +3 -3
  636. package/docs/docs/cmd/spo/hubsite/hubsite-unregister.md +2 -2
  637. package/docs/docs/cmd/spo/list/list-contenttype-add.md +15 -6
  638. package/docs/docs/cmd/spo/list/list-contenttype-default-set.md +16 -7
  639. package/docs/docs/cmd/spo/list/list-contenttype-list.md +15 -6
  640. package/docs/docs/cmd/spo/list/list-contenttype-remove.md +16 -7
  641. package/docs/docs/cmd/spo/list/list-roleassignment-add.md +3 -3
  642. package/docs/docs/cmd/spo/list/list-roleassignment-remove.md +6 -3
  643. package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +20 -8
  644. package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +23 -5
  645. package/docs/docs/cmd/spo/list/list-webhook-add.md +15 -16
  646. package/docs/docs/cmd/spo/list/list-webhook-get.md +15 -6
  647. package/docs/docs/cmd/spo/list/list-webhook-list.md +13 -10
  648. package/docs/docs/cmd/spo/list/list-webhook-remove.md +12 -10
  649. package/docs/docs/cmd/spo/list/list-webhook-set.md +13 -11
  650. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-add.md +81 -0
  651. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.md +67 -0
  652. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-break.md +15 -6
  653. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-reset.md +9 -0
  654. package/docs/docs/cmd/spo/roledefinition/roledefinition-add.md +43 -0
  655. package/docs/docs/cmd/spo/site/site-add.md +2 -5
  656. package/docs/docs/cmd/spo/site/site-apppermission-add.md +1 -1
  657. package/docs/docs/cmd/spo/site/site-apppermission-set.md +1 -1
  658. package/docs/docs/cmd/spo/site/site-groupify.md +0 -6
  659. package/docs/docs/cmd/spo/{hubsite/hubsite-connect.md → site/site-hubsite-connect.md} +4 -4
  660. package/docs/docs/cmd/spo/site/site-hubsite-disconnect.md +42 -0
  661. package/docs/docs/cmd/spo/web/web-roleassignment-add.md +57 -0
  662. package/docs/docs/cmd/spo/web/web-roleassignment-remove.md +54 -0
  663. package/docs/docs/cmd/spo/web/web-roleinheritance-reset.md +10 -1
  664. package/docs/docs/cmd/teams/cache/cache-remove.md +1 -1
  665. package/docs/docs/cmd/teams/channel/channel-add.md +5 -5
  666. package/docs/docs/cmd/teams/channel/channel-list.md +1 -1
  667. package/docs/docs/cmd/teams/channel/channel-member-add.md +5 -11
  668. package/docs/docs/cmd/teams/channel/channel-member-list.md +0 -6
  669. package/docs/docs/cmd/teams/channel/channel-member-remove.md +1 -7
  670. package/docs/docs/cmd/teams/channel/channel-member-set.md +2 -2
  671. package/docs/docs/cmd/teams/funsettings/funsettings-set.md +6 -6
  672. package/docs/docs/cmd/teams/team/team-clone.md +0 -3
  673. package/docs/docs/cmd/teams/team/team-set.md +0 -3
  674. package/docs/docs/cmd/tenant/security/security-alerts-list.md +1 -1
  675. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +1 -1
  676. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +1 -1
  677. package/docs/docs/cmd/todo/task/task-add.md +32 -5
  678. package/docs/docs/cmd/todo/task/task-set.md +29 -2
  679. package/npm-shrinkwrap.json +403 -379
  680. package/package.json +43 -20
  681. package/scripts/Register-CLIM365Completion.ps1 +1 -1
  682. package/dist/cli/index.js +0 -21
  683. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +0 -60
  684. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +0 -71
  685. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +0 -93
  686. package/dist/utils/index.js +0 -31
  687. package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +0 -42
@@ -15,7 +15,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _AadO365GroupUserListCommand_instances, _AadO365GroupUserListCommand_initTelemetry, _AadO365GroupUserListCommand_initOptions, _AadO365GroupUserListCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- const utils_1 = require("../../../../utils");
18
+ const odata_1 = require("../../../../utils/odata");
19
+ const validation_1 = require("../../../../utils/validation");
19
20
  const GraphCommand_1 = require("../../../base/GraphCommand");
20
21
  const commands_1 = require("../../commands");
21
22
  class AadO365GroupUserListCommand extends GraphCommand_1.default {
@@ -32,29 +33,27 @@ class AadO365GroupUserListCommand extends GraphCommand_1.default {
32
33
  get description() {
33
34
  return "Lists users for the specified Microsoft 365 group";
34
35
  }
35
- commandAction(logger, args, cb) {
36
- let users = [];
37
- this
38
- .getOwners(logger, args.options.groupId)
39
- .then((owners) => {
40
- users = owners;
41
- if (args.options.role === 'Owner') {
42
- return Promise.resolve([]);
36
+ commandAction(logger, args) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ try {
39
+ let users = yield this.getOwners(logger, args.options.groupId);
40
+ if (args.options.role !== 'Owner') {
41
+ const membersAndGuests = yield this.getMembersAndGuests(logger, args.options.groupId);
42
+ users = users.concat(membersAndGuests);
43
+ }
44
+ if (args.options.role) {
45
+ users = users.filter(i => i.userType === args.options.role);
46
+ }
47
+ logger.log(users);
43
48
  }
44
- return this.getMembersAndGuests(logger, args.options.groupId);
45
- })
46
- .then((membersAndGuests) => {
47
- users = users.concat(membersAndGuests);
48
- if (args.options.role) {
49
- users = users.filter(i => i.userType === args.options.role);
49
+ catch (err) {
50
+ this.handleRejectedODataJsonPromise(err);
50
51
  }
51
- logger.log(users);
52
- cb();
53
- }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
52
+ });
54
53
  }
55
54
  getOwners(logger, groupId) {
56
55
  const endpoint = `${this.resource}/v1.0/groups/${groupId}/owners?$select=id,displayName,userPrincipalName,userType`;
57
- return utils_1.odata
56
+ return odata_1.odata
58
57
  .getAllItems(endpoint)
59
58
  .then(users => {
60
59
  // Currently there is a bug in the Microsoft Graph that returns Owners as
@@ -67,7 +66,7 @@ class AadO365GroupUserListCommand extends GraphCommand_1.default {
67
66
  }
68
67
  getMembersAndGuests(logger, groupId) {
69
68
  const endpoint = `${this.resource}/v1.0/groups/${groupId}/members?$select=id,displayName,userPrincipalName,userType`;
70
- return utils_1.odata.getAllItems(endpoint);
69
+ return odata_1.odata.getAllItems(endpoint);
71
70
  }
72
71
  }
73
72
  _AadO365GroupUserListCommand_instances = new WeakSet(), _AadO365GroupUserListCommand_initTelemetry = function _AadO365GroupUserListCommand_initTelemetry() {
@@ -85,7 +84,7 @@ _AadO365GroupUserListCommand_instances = new WeakSet(), _AadO365GroupUserListCom
85
84
  });
86
85
  }, _AadO365GroupUserListCommand_initValidators = function _AadO365GroupUserListCommand_initValidators() {
87
86
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
88
- if (!utils_1.validation.isValidGuid(args.options.groupId)) {
87
+ if (!validation_1.validation.isValidGuid(args.options.groupId)) {
89
88
  return `${args.options.groupId} is not a valid GUID`;
90
89
  }
91
90
  if (args.options.role) {
@@ -13,11 +13,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
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
14
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
15
  };
16
- var _AadO365GroupUserRemoveCommand_instances, _AadO365GroupUserRemoveCommand_initTelemetry, _AadO365GroupUserRemoveCommand_initOptions, _AadO365GroupUserRemoveCommand_initValidators;
16
+ var _AadO365GroupUserRemoveCommand_instances, _AadO365GroupUserRemoveCommand_initTelemetry, _AadO365GroupUserRemoveCommand_initOptions, _AadO365GroupUserRemoveCommand_initValidators, _AadO365GroupUserRemoveCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- const cli_1 = require("../../../../cli");
18
+ const Cli_1 = require("../../../../cli/Cli");
19
19
  const request_1 = require("../../../../request");
20
- const utils_1 = require("../../../../utils");
20
+ const validation_1 = require("../../../../utils/validation");
21
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
22
22
  const commands_1 = require("../../../teams/commands");
23
23
  const commands_2 = require("../../commands");
@@ -28,6 +28,7 @@ class AadO365GroupUserRemoveCommand extends GraphCommand_1.default {
28
28
  __classPrivateFieldGet(this, _AadO365GroupUserRemoveCommand_instances, "m", _AadO365GroupUserRemoveCommand_initTelemetry).call(this);
29
29
  __classPrivateFieldGet(this, _AadO365GroupUserRemoveCommand_instances, "m", _AadO365GroupUserRemoveCommand_initOptions).call(this);
30
30
  __classPrivateFieldGet(this, _AadO365GroupUserRemoveCommand_instances, "m", _AadO365GroupUserRemoveCommand_initValidators).call(this);
31
+ __classPrivateFieldGet(this, _AadO365GroupUserRemoveCommand_instances, "m", _AadO365GroupUserRemoveCommand_initOptionSets).call(this);
31
32
  }
32
33
  get name() {
33
34
  return commands_2.default.O365GROUP_USER_REMOVE;
@@ -38,79 +39,76 @@ class AadO365GroupUserRemoveCommand extends GraphCommand_1.default {
38
39
  alias() {
39
40
  return [commands_1.default.USER_REMOVE];
40
41
  }
41
- commandAction(logger, args, cb) {
42
- const groupId = (typeof args.options.groupId !== 'undefined') ? args.options.groupId : args.options.teamId;
43
- const removeUser = () => __awaiter(this, void 0, void 0, function* () {
44
- try {
45
- // retrieve user
46
- const user = yield request_1.default.get({
47
- url: `${this.resource}/v1.0/users/${encodeURIComponent(args.options.userName)}/id`,
48
- headers: {
49
- accept: 'application/json;odata.metadata=none'
50
- },
51
- responseType: 'json'
52
- });
53
- // used to verify if the group exists or not
54
- yield request_1.default.get({
55
- url: `${this.resource}/v1.0/groups/${groupId}/id`,
56
- headers: {
57
- 'accept': 'application/json;odata.metadata=none'
58
- }
59
- });
42
+ commandAction(logger, args) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ const groupId = (typeof args.options.groupId !== 'undefined') ? args.options.groupId : args.options.teamId;
45
+ const removeUser = () => __awaiter(this, void 0, void 0, function* () {
60
46
  try {
61
- // try to delete the user from the owners. Accepted error is 404
62
- yield request_1.default.delete({
63
- url: `${this.resource}/v1.0/groups/${groupId}/owners/${user.value}/$ref`,
47
+ // retrieve user
48
+ const user = yield request_1.default.get({
49
+ url: `${this.resource}/v1.0/users/${encodeURIComponent(args.options.userName)}/id`,
64
50
  headers: {
65
- 'accept': 'application/json;odata.metadata=none'
66
- }
51
+ accept: 'application/json;odata.metadata=none'
52
+ },
53
+ responseType: 'json'
67
54
  });
68
- }
69
- catch (err) {
70
- // the 404 error is accepted
71
- if (err.response.status !== 404) {
72
- throw err.response.data;
73
- }
74
- }
75
- // try to delete the user from the members. Accepted error is 404
76
- try {
77
- yield request_1.default.delete({
78
- url: `${this.resource}/v1.0/groups/${groupId}/members/${user.value}/$ref`,
55
+ // used to verify if the group exists or not
56
+ yield request_1.default.get({
57
+ url: `${this.resource}/v1.0/groups/${groupId}/id`,
79
58
  headers: {
80
59
  'accept': 'application/json;odata.metadata=none'
81
60
  }
82
61
  });
62
+ try {
63
+ // try to delete the user from the owners. Accepted error is 404
64
+ yield request_1.default.delete({
65
+ url: `${this.resource}/v1.0/groups/${groupId}/owners/${user.value}/$ref`,
66
+ headers: {
67
+ 'accept': 'application/json;odata.metadata=none'
68
+ }
69
+ });
70
+ }
71
+ catch (err) {
72
+ // the 404 error is accepted
73
+ if (err.response.status !== 404) {
74
+ throw err.response.data;
75
+ }
76
+ }
77
+ // try to delete the user from the members. Accepted error is 404
78
+ try {
79
+ yield request_1.default.delete({
80
+ url: `${this.resource}/v1.0/groups/${groupId}/members/${user.value}/$ref`,
81
+ headers: {
82
+ 'accept': 'application/json;odata.metadata=none'
83
+ }
84
+ });
85
+ }
86
+ catch (err) {
87
+ // the 404 error is accepted
88
+ if (err.response.status !== 404) {
89
+ throw err.response.data;
90
+ }
91
+ }
83
92
  }
84
93
  catch (err) {
85
- // the 404 error is accepted
86
- if (err.response.status !== 404) {
87
- throw err.response.data;
88
- }
94
+ this.handleRejectedODataJsonPromise(err);
89
95
  }
90
- cb();
96
+ });
97
+ if (args.options.confirm) {
98
+ yield removeUser();
91
99
  }
92
- catch (err) {
93
- this.handleRejectedODataJsonPromise(err, logger, cb);
100
+ else {
101
+ const result = yield Cli_1.Cli.prompt({
102
+ type: 'confirm',
103
+ name: 'continue',
104
+ default: false,
105
+ message: `Are you sure you want to remove ${args.options.userName} from the ${(typeof args.options.groupId !== 'undefined' ? 'group' : 'team')} ${groupId}?`
106
+ });
107
+ if (result.continue) {
108
+ yield removeUser();
109
+ }
94
110
  }
95
111
  });
96
- if (args.options.confirm) {
97
- removeUser();
98
- }
99
- else {
100
- cli_1.Cli.prompt({
101
- type: 'confirm',
102
- name: 'continue',
103
- default: false,
104
- message: `Are you sure you want to remove ${args.options.userName} from the ${(typeof args.options.groupId !== 'undefined' ? 'group' : 'team')} ${groupId}?`
105
- }, (result) => {
106
- if (!result.continue) {
107
- cb();
108
- }
109
- else {
110
- removeUser();
111
- }
112
- });
113
- }
114
112
  }
115
113
  }
116
114
  _AadO365GroupUserRemoveCommand_instances = new WeakSet(), _AadO365GroupUserRemoveCommand_initTelemetry = function _AadO365GroupUserRemoveCommand_initTelemetry() {
@@ -133,20 +131,16 @@ _AadO365GroupUserRemoveCommand_instances = new WeakSet(), _AadO365GroupUserRemov
133
131
  });
134
132
  }, _AadO365GroupUserRemoveCommand_initValidators = function _AadO365GroupUserRemoveCommand_initValidators() {
135
133
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
136
- if (!args.options.groupId && !args.options.teamId) {
137
- return 'Please provide one of the following parameters: groupId or teamId';
138
- }
139
- if (args.options.groupId && args.options.teamId) {
140
- return 'You cannot provide both a groupId and teamId parameter, please provide only one';
141
- }
142
- if (args.options.teamId && !utils_1.validation.isValidGuid(args.options.teamId)) {
134
+ if (args.options.teamId && !validation_1.validation.isValidGuid(args.options.teamId)) {
143
135
  return `${args.options.teamId} is not a valid GUID`;
144
136
  }
145
- if (args.options.groupId && !utils_1.validation.isValidGuid(args.options.groupId)) {
137
+ if (args.options.groupId && !validation_1.validation.isValidGuid(args.options.groupId)) {
146
138
  return `${args.options.groupId} is not a valid GUID`;
147
139
  }
148
140
  return true;
149
141
  }));
142
+ }, _AadO365GroupUserRemoveCommand_initOptionSets = function _AadO365GroupUserRemoveCommand_initOptionSets() {
143
+ this.optionSets.push(['groupId', 'teamId']);
150
144
  };
151
145
  module.exports = new AadO365GroupUserRemoveCommand();
152
146
  //# sourceMappingURL=o365group-user-remove.js.map
@@ -13,10 +13,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
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
14
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
15
  };
16
- var _AadO365GroupUserSetCommand_instances, _AadO365GroupUserSetCommand_initTelemetry, _AadO365GroupUserSetCommand_initOptions, _AadO365GroupUserSetCommand_initValidators;
16
+ var _AadO365GroupUserSetCommand_instances, _AadO365GroupUserSetCommand_initTelemetry, _AadO365GroupUserSetCommand_initOptions, _AadO365GroupUserSetCommand_initValidators, _AadO365GroupUserSetCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
- const utils_1 = require("../../../../utils");
19
+ const odata_1 = require("../../../../utils/odata");
20
+ const validation_1 = require("../../../../utils/validation");
20
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
21
22
  const commands_1 = require("../../../teams/commands");
22
23
  const commands_2 = require("../../commands");
@@ -27,6 +28,7 @@ class AadO365GroupUserSetCommand extends GraphCommand_1.default {
27
28
  __classPrivateFieldGet(this, _AadO365GroupUserSetCommand_instances, "m", _AadO365GroupUserSetCommand_initTelemetry).call(this);
28
29
  __classPrivateFieldGet(this, _AadO365GroupUserSetCommand_instances, "m", _AadO365GroupUserSetCommand_initOptions).call(this);
29
30
  __classPrivateFieldGet(this, _AadO365GroupUserSetCommand_instances, "m", _AadO365GroupUserSetCommand_initValidators).call(this);
31
+ __classPrivateFieldGet(this, _AadO365GroupUserSetCommand_instances, "m", _AadO365GroupUserSetCommand_initOptionSets).call(this);
30
32
  }
31
33
  get name() {
32
34
  return commands_2.default.O365GROUP_USER_SET;
@@ -37,76 +39,75 @@ class AadO365GroupUserSetCommand extends GraphCommand_1.default {
37
39
  alias() {
38
40
  return [commands_1.default.USER_SET];
39
41
  }
40
- commandAction(logger, args, cb) {
41
- const groupId = (typeof args.options.groupId !== 'undefined') ? args.options.groupId : args.options.teamId;
42
- let users = [];
43
- this
44
- .getOwners(logger, groupId)
45
- .then((owners) => {
46
- users = owners;
47
- return this.getMembersAndGuests(logger, groupId);
48
- })
49
- .then((membersAndGuests) => {
50
- users = users.concat(membersAndGuests);
51
- // Filter out duplicate added values for owners (as they are returned as members as well)
52
- users = users.filter((groupUser, index, self) => index === self.findIndex((t) => (t.id === groupUser.id && t.displayName === groupUser.displayName)));
53
- if (this.debug) {
54
- logger.logToStderr((typeof args.options.groupId !== 'undefined') ? 'Group owners and members:' : 'Team owners and members:');
55
- logger.logToStderr(users);
56
- logger.logToStderr('');
57
- }
58
- if (users.filter(i => args.options.userName.toUpperCase() === i.userPrincipalName.toUpperCase()).length <= 0) {
59
- const userNotInGroup = (typeof args.options.groupId !== 'undefined') ?
60
- 'The specified user does not belong to the given Microsoft 365 Group. Please use the \'o365group user add\' command to add new users.' :
61
- 'The specified user does not belong to the given Microsoft Teams team. Please use the \'graph teams user add\' command to add new users.';
62
- throw new Error(userNotInGroup);
63
- }
64
- if (args.options.role === "Owner") {
65
- const foundMember = users.find(e => args.options.userName.toUpperCase() === e.userPrincipalName.toUpperCase() && e.userType === 'Member');
66
- if (foundMember !== undefined) {
67
- const endpoint = `${this.resource}/v1.0/groups/${groupId}/owners/$ref`;
68
- const requestOptions = {
69
- url: endpoint,
70
- headers: {
71
- 'accept': 'application/json;odata.metadata=none'
72
- },
73
- responseType: 'json',
74
- data: { "@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/" + foundMember.id }
75
- };
76
- return request_1.default.post(requestOptions);
42
+ commandAction(logger, args) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ try {
45
+ const groupId = (typeof args.options.groupId !== 'undefined') ? args.options.groupId : args.options.teamId;
46
+ let users = yield this.getOwners(logger, groupId);
47
+ const membersAndGuests = yield this.getMembersAndGuests(logger, groupId);
48
+ users = users.concat(membersAndGuests);
49
+ // Filter out duplicate added values for owners (as they are returned as members as well)
50
+ users = users.filter((groupUser, index, self) => index === self.findIndex((t) => (t.id === groupUser.id && t.displayName === groupUser.displayName)));
51
+ if (this.debug) {
52
+ logger.logToStderr((typeof args.options.groupId !== 'undefined') ? 'Group owners and members:' : 'Team owners and members:');
53
+ logger.logToStderr(users);
54
+ logger.logToStderr('');
77
55
  }
78
- else {
79
- const userAlreadyOwner = (typeof args.options.groupId !== 'undefined') ?
80
- 'The specified user is already an owner in the specified Microsoft 365 group, and thus cannot be promoted.' :
81
- 'The specified user is already an owner in the specified Microsoft Teams team, and thus cannot be promoted.';
82
- throw new Error(userAlreadyOwner);
56
+ if (users.filter(i => args.options.userName.toUpperCase() === i.userPrincipalName.toUpperCase()).length <= 0) {
57
+ const userNotInGroup = (typeof args.options.groupId !== 'undefined') ?
58
+ 'The specified user does not belong to the given Microsoft 365 Group. Please use the \'o365group user add\' command to add new users.' :
59
+ 'The specified user does not belong to the given Microsoft Teams team. Please use the \'graph teams user add\' command to add new users.';
60
+ throw new Error(userNotInGroup);
83
61
  }
84
- }
85
- else {
86
- const foundOwner = users.find(e => args.options.userName.toUpperCase() === e.userPrincipalName.toUpperCase() && e.userType === 'Owner');
87
- if (foundOwner !== undefined) {
88
- const endpoint = `${this.resource}/v1.0/groups/${groupId}/owners/${foundOwner.id}/$ref`;
89
- const requestOptions = {
90
- url: endpoint,
91
- headers: {
92
- 'accept': 'application/json;odata.metadata=none'
93
- }
94
- };
95
- return request_1.default.delete(requestOptions);
62
+ if (args.options.role === "Owner") {
63
+ const foundMember = users.find(e => args.options.userName.toUpperCase() === e.userPrincipalName.toUpperCase() && e.userType === 'Member');
64
+ if (foundMember !== undefined) {
65
+ const endpoint = `${this.resource}/v1.0/groups/${groupId}/owners/$ref`;
66
+ const requestOptions = {
67
+ url: endpoint,
68
+ headers: {
69
+ 'accept': 'application/json;odata.metadata=none'
70
+ },
71
+ responseType: 'json',
72
+ data: { "@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/" + foundMember.id }
73
+ };
74
+ yield request_1.default.post(requestOptions);
75
+ }
76
+ else {
77
+ const userAlreadyOwner = (typeof args.options.groupId !== 'undefined') ?
78
+ 'The specified user is already an owner in the specified Microsoft 365 group, and thus cannot be promoted.' :
79
+ 'The specified user is already an owner in the specified Microsoft Teams team, and thus cannot be promoted.';
80
+ throw new Error(userAlreadyOwner);
81
+ }
96
82
  }
97
83
  else {
98
- const userAlreadyMember = (typeof args.options.groupId !== 'undefined') ?
99
- 'The specified user is already a member in the specified Microsoft 365 group, and thus cannot be demoted.' :
100
- 'The specified user is already a member in the specified Microsoft Teams team, and thus cannot be demoted.';
101
- throw new Error(userAlreadyMember);
84
+ const foundOwner = users.find(e => args.options.userName.toUpperCase() === e.userPrincipalName.toUpperCase() && e.userType === 'Owner');
85
+ if (foundOwner !== undefined) {
86
+ const endpoint = `${this.resource}/v1.0/groups/${groupId}/owners/${foundOwner.id}/$ref`;
87
+ const requestOptions = {
88
+ url: endpoint,
89
+ headers: {
90
+ 'accept': 'application/json;odata.metadata=none'
91
+ }
92
+ };
93
+ yield request_1.default.delete(requestOptions);
94
+ }
95
+ else {
96
+ const userAlreadyMember = (typeof args.options.groupId !== 'undefined') ?
97
+ 'The specified user is already a member in the specified Microsoft 365 group, and thus cannot be demoted.' :
98
+ 'The specified user is already a member in the specified Microsoft Teams team, and thus cannot be demoted.';
99
+ throw new Error(userAlreadyMember);
100
+ }
102
101
  }
103
102
  }
104
- })
105
- .then(_ => cb(), (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
103
+ catch (err) {
104
+ this.handleRejectedODataJsonPromise(err);
105
+ }
106
+ });
106
107
  }
107
108
  getOwners(logger, groupId) {
108
109
  const endpoint = `${this.resource}/v1.0/groups/${groupId}/owners?$select=id,displayName,userPrincipalName,userType`;
109
- return utils_1.odata
110
+ return odata_1.odata
110
111
  .getAllItems(endpoint)
111
112
  .then(users => {
112
113
  // Currently there is a bug in the Microsoft Graph that returns Owners as
@@ -119,7 +120,7 @@ class AadO365GroupUserSetCommand extends GraphCommand_1.default {
119
120
  }
120
121
  getMembersAndGuests(logger, groupId) {
121
122
  const endpoint = `${this.resource}/v1.0/groups/${groupId}/members?$select=id,displayName,userPrincipalName,userType`;
122
- return utils_1.odata.getAllItems(endpoint);
123
+ return odata_1.odata.getAllItems(endpoint);
123
124
  }
124
125
  }
125
126
  _AadO365GroupUserSetCommand_instances = new WeakSet(), _AadO365GroupUserSetCommand_initTelemetry = function _AadO365GroupUserSetCommand_initTelemetry() {
@@ -143,16 +144,10 @@ _AadO365GroupUserSetCommand_instances = new WeakSet(), _AadO365GroupUserSetComma
143
144
  });
144
145
  }, _AadO365GroupUserSetCommand_initValidators = function _AadO365GroupUserSetCommand_initValidators() {
145
146
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
146
- if (!args.options.groupId && !args.options.teamId) {
147
- return 'Please provide one of the following parameters: groupId or teamId';
148
- }
149
- if (args.options.groupId && args.options.teamId) {
150
- return 'You cannot provide both a groupId and teamId parameter, please provide only one';
151
- }
152
- if (args.options.teamId && !utils_1.validation.isValidGuid(args.options.teamId)) {
147
+ if (args.options.teamId && !validation_1.validation.isValidGuid(args.options.teamId)) {
153
148
  return `${args.options.teamId} is not a valid GUID`;
154
149
  }
155
- if (args.options.groupId && !utils_1.validation.isValidGuid(args.options.groupId)) {
150
+ if (args.options.groupId && !validation_1.validation.isValidGuid(args.options.groupId)) {
156
151
  return `${args.options.groupId} is not a valid GUID`;
157
152
  }
158
153
  if (['Owner', 'Member'].indexOf(args.options.role) === -1) {
@@ -160,6 +155,8 @@ _AadO365GroupUserSetCommand_instances = new WeakSet(), _AadO365GroupUserSetComma
160
155
  }
161
156
  return true;
162
157
  }));
158
+ }, _AadO365GroupUserSetCommand_initOptionSets = function _AadO365GroupUserSetCommand_initOptionSets() {
159
+ this.optionSets.push(['groupId', 'teamId']);
163
160
  };
164
161
  module.exports = new AadO365GroupUserSetCommand();
165
162
  //# sourceMappingURL=o365group-user-set.js.map
@@ -16,7 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _AadOAuth2GrantAddCommand_instances, _AadOAuth2GrantAddCommand_initOptions, _AadOAuth2GrantAddCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
- const utils_1 = require("../../../../utils");
19
+ const validation_1 = require("../../../../utils/validation");
20
20
  const GraphCommand_1 = require("../../../base/GraphCommand");
21
21
  const commands_1 = require("../../commands");
22
22
  class AadOAuth2GrantAddCommand extends GraphCommand_1.default {
@@ -32,27 +32,32 @@ class AadOAuth2GrantAddCommand extends GraphCommand_1.default {
32
32
  get description() {
33
33
  return 'Grant the specified service principal OAuth2 permissions to the specified resource';
34
34
  }
35
- commandAction(logger, args, cb) {
36
- if (this.verbose) {
37
- logger.logToStderr(`Granting the service principal specified permissions...`);
38
- }
39
- const requestOptions = {
40
- url: `${this.resource}/v1.0/oauth2PermissionGrants`,
41
- headers: {
42
- 'content-type': 'application/json;odata.metadata=none'
43
- },
44
- responseType: 'json',
45
- data: {
46
- "clientId": args.options.clientId,
47
- "consentType": "AllPrincipals",
48
- "principalId": null,
49
- "resourceId": args.options.resourceId,
50
- "scope": args.options.scope
35
+ commandAction(logger, args) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ if (this.verbose) {
38
+ logger.logToStderr(`Granting the service principal specified permissions...`);
39
+ }
40
+ try {
41
+ const requestOptions = {
42
+ url: `${this.resource}/v1.0/oauth2PermissionGrants`,
43
+ headers: {
44
+ 'content-type': 'application/json;odata.metadata=none'
45
+ },
46
+ responseType: 'json',
47
+ data: {
48
+ "clientId": args.options.clientId,
49
+ "consentType": "AllPrincipals",
50
+ "principalId": null,
51
+ "resourceId": args.options.resourceId,
52
+ "scope": args.options.scope
53
+ }
54
+ };
55
+ yield request_1.default.post(requestOptions);
56
+ }
57
+ catch (err) {
58
+ this.handleRejectedODataJsonPromise(err);
51
59
  }
52
- };
53
- request_1.default
54
- .post(requestOptions)
55
- .then(_ => cb(), (rawRes) => this.handleRejectedODataJsonPromise(rawRes, logger, cb));
60
+ });
56
61
  }
57
62
  }
58
63
  _AadOAuth2GrantAddCommand_instances = new WeakSet(), _AadOAuth2GrantAddCommand_initOptions = function _AadOAuth2GrantAddCommand_initOptions() {
@@ -65,10 +70,10 @@ _AadOAuth2GrantAddCommand_instances = new WeakSet(), _AadOAuth2GrantAddCommand_i
65
70
  });
66
71
  }, _AadOAuth2GrantAddCommand_initValidators = function _AadOAuth2GrantAddCommand_initValidators() {
67
72
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
68
- if (!utils_1.validation.isValidGuid(args.options.clientId)) {
73
+ if (!validation_1.validation.isValidGuid(args.options.clientId)) {
69
74
  return `${args.options.clientId} is not a valid GUID`;
70
75
  }
71
- if (!utils_1.validation.isValidGuid(args.options.resourceId)) {
76
+ if (!validation_1.validation.isValidGuid(args.options.resourceId)) {
72
77
  return `${args.options.resourceId} is not a valid GUID`;
73
78
  }
74
79
  return true;
@@ -16,7 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _AadOAuth2GrantListCommand_instances, _AadOAuth2GrantListCommand_initOptions, _AadOAuth2GrantListCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
- const utils_1 = require("../../../../utils");
19
+ const validation_1 = require("../../../../utils/validation");
20
20
  const GraphCommand_1 = require("../../../base/GraphCommand");
21
21
  const commands_1 = require("../../commands");
22
22
  class AadOAuth2GrantListCommand extends GraphCommand_1.default {
@@ -35,25 +35,28 @@ class AadOAuth2GrantListCommand extends GraphCommand_1.default {
35
35
  defaultProperties() {
36
36
  return ['objectId', 'resourceId', 'scope'];
37
37
  }
38
- commandAction(logger, args, cb) {
39
- if (this.verbose) {
40
- logger.logToStderr(`Retrieving list of OAuth grants for the service principal...`);
41
- }
42
- const requestOptions = {
43
- url: `${this.resource}/v1.0/oauth2PermissionGrants?$filter=clientId eq '${encodeURIComponent(args.options.spObjectId)}'`,
44
- headers: {
45
- accept: 'application/json;odata.metadata=none'
46
- },
47
- responseType: 'json'
48
- };
49
- request_1.default
50
- .get(requestOptions)
51
- .then((res) => {
52
- if (res.value && res.value.length > 0) {
53
- logger.log(res.value);
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (this.verbose) {
41
+ logger.logToStderr(`Retrieving list of OAuth grants for the service principal...`);
42
+ }
43
+ try {
44
+ const requestOptions = {
45
+ url: `${this.resource}/v1.0/oauth2PermissionGrants?$filter=clientId eq '${encodeURIComponent(args.options.spObjectId)}'`,
46
+ headers: {
47
+ accept: 'application/json;odata.metadata=none'
48
+ },
49
+ responseType: 'json'
50
+ };
51
+ const res = yield request_1.default.get(requestOptions);
52
+ if (res.value && res.value.length > 0) {
53
+ logger.log(res.value);
54
+ }
55
+ }
56
+ catch (err) {
57
+ this.handleRejectedODataJsonPromise(err);
54
58
  }
55
- cb();
56
- }, (rawRes) => this.handleRejectedODataJsonPromise(rawRes, logger, cb));
59
+ });
57
60
  }
58
61
  }
59
62
  _AadOAuth2GrantListCommand_instances = new WeakSet(), _AadOAuth2GrantListCommand_initOptions = function _AadOAuth2GrantListCommand_initOptions() {
@@ -62,7 +65,7 @@ _AadOAuth2GrantListCommand_instances = new WeakSet(), _AadOAuth2GrantListCommand
62
65
  });
63
66
  }, _AadOAuth2GrantListCommand_initValidators = function _AadOAuth2GrantListCommand_initValidators() {
64
67
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
65
- if (!utils_1.validation.isValidGuid(args.options.spObjectId)) {
68
+ if (!validation_1.validation.isValidGuid(args.options.spObjectId)) {
66
69
  return `${args.options.spObjectId} is not a valid GUID`;
67
70
  }
68
71
  return true;