@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
@@ -13,10 +13,10 @@ 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 _AadAppRoleAssignmentListCommand_instances, _AadAppRoleAssignmentListCommand_initTelemetry, _AadAppRoleAssignmentListCommand_initOptions, _AadAppRoleAssignmentListCommand_initValidators;
16
+ var _AadAppRoleAssignmentListCommand_instances, _AadAppRoleAssignmentListCommand_initTelemetry, _AadAppRoleAssignmentListCommand_initOptions, _AadAppRoleAssignmentListCommand_initValidators, _AadAppRoleAssignmentListCommand_initOptionSets;
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 AadAppRoleAssignmentListCommand extends GraphCommand_1.default {
@@ -26,6 +26,7 @@ class AadAppRoleAssignmentListCommand extends GraphCommand_1.default {
26
26
  __classPrivateFieldGet(this, _AadAppRoleAssignmentListCommand_instances, "m", _AadAppRoleAssignmentListCommand_initTelemetry).call(this);
27
27
  __classPrivateFieldGet(this, _AadAppRoleAssignmentListCommand_instances, "m", _AadAppRoleAssignmentListCommand_initOptions).call(this);
28
28
  __classPrivateFieldGet(this, _AadAppRoleAssignmentListCommand_instances, "m", _AadAppRoleAssignmentListCommand_initValidators).call(this);
29
+ __classPrivateFieldGet(this, _AadAppRoleAssignmentListCommand_instances, "m", _AadAppRoleAssignmentListCommand_initOptionSets).call(this);
29
30
  }
30
31
  get name() {
31
32
  return commands_1.default.APPROLEASSIGNMENT_LIST;
@@ -36,45 +37,45 @@ class AadAppRoleAssignmentListCommand extends GraphCommand_1.default {
36
37
  defaultProperties() {
37
38
  return ['resourceDisplayName', 'roleName'];
38
39
  }
39
- commandAction(logger, args, cb) {
40
- let spAppRoleAssignments;
41
- this.getAppRoleAssignments(args.options)
42
- .then((appRoleAssignments) => {
43
- spAppRoleAssignments = appRoleAssignments;
44
- // the role assignment has an appRoleId but no name. To get the name,
45
- // we need to get all the roles from the resource. the resource is
46
- // a service principal. Multiple roles may have same resource id.
47
- const resourceIds = appRoleAssignments.map((item) => item.resourceId);
48
- const tasks = [];
49
- for (let i = 0; i < resourceIds.length; i++) {
50
- tasks.push(this.getServicePrincipal(resourceIds[i]));
51
- }
52
- return Promise.all(tasks);
53
- })
54
- .then((resources) => {
55
- // loop through all appRoleAssignments for the servicePrincipal
56
- // and lookup the appRole.Id in the resources[resourceId].appRoles array...
57
- const results = [];
58
- spAppRoleAssignments.map((appRoleAssignment) => {
59
- const resource = resources.find((r) => r.id === appRoleAssignment.resourceId);
60
- if (resource) {
61
- const appRole = resource.appRoles.find((r) => r.id === appRoleAssignment.appRoleId);
62
- if (appRole) {
63
- results.push({
64
- appRoleId: appRoleAssignment.appRoleId,
65
- resourceDisplayName: appRoleAssignment.resourceDisplayName,
66
- resourceId: appRoleAssignment.resourceId,
67
- roleId: appRole.id,
68
- roleName: appRole.value,
69
- created: appRoleAssignment.createdDateTime,
70
- deleted: appRoleAssignment.deletedDateTime
71
- });
72
- }
40
+ commandAction(logger, args) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ try {
43
+ const spAppRoleAssignments = yield this.getAppRoleAssignments(args.options);
44
+ // the role assignment has an appRoleId but no name. To get the name,
45
+ // we need to get all the roles from the resource. the resource is
46
+ // a service principal. Multiple roles may have same resource id.
47
+ const resourceIds = spAppRoleAssignments.map((item) => item.resourceId);
48
+ const tasks = [];
49
+ for (let i = 0; i < resourceIds.length; i++) {
50
+ tasks.push(this.getServicePrincipal(resourceIds[i]));
73
51
  }
74
- });
75
- logger.log(results);
76
- cb();
77
- }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
52
+ const resources = yield Promise.all(tasks);
53
+ // loop through all appRoleAssignments for the servicePrincipal
54
+ // and lookup the appRole.Id in the resources[resourceId].appRoles array...
55
+ const results = [];
56
+ spAppRoleAssignments.map((appRoleAssignment) => {
57
+ const resource = resources.find((r) => r.id === appRoleAssignment.resourceId);
58
+ if (resource) {
59
+ const appRole = resource.appRoles.find((r) => r.id === appRoleAssignment.appRoleId);
60
+ if (appRole) {
61
+ results.push({
62
+ appRoleId: appRoleAssignment.appRoleId,
63
+ resourceDisplayName: appRoleAssignment.resourceDisplayName,
64
+ resourceId: appRoleAssignment.resourceId,
65
+ roleId: appRole.id,
66
+ roleName: appRole.value,
67
+ created: appRoleAssignment.createdDateTime,
68
+ deleted: appRoleAssignment.deletedDateTime
69
+ });
70
+ }
71
+ }
72
+ });
73
+ logger.log(results);
74
+ }
75
+ catch (err) {
76
+ this.handleRejectedODataJsonPromise(err);
77
+ }
78
+ });
78
79
  }
79
80
  getAppRoleAssignments(argOptions) {
80
81
  return new Promise((resolve, reject) => {
@@ -161,24 +162,16 @@ _AadAppRoleAssignmentListCommand_instances = new WeakSet(), _AadAppRoleAssignmen
161
162
  });
162
163
  }, _AadAppRoleAssignmentListCommand_initValidators = function _AadAppRoleAssignmentListCommand_initValidators() {
163
164
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
164
- if (!args.options.appId && !args.options.appDisplayName && !args.options.appObjectId) {
165
- return 'Specify either appId, appObjectId or appDisplayName';
166
- }
167
- if (args.options.appId && !utils_1.validation.isValidGuid(args.options.appId)) {
165
+ if (args.options.appId && !validation_1.validation.isValidGuid(args.options.appId)) {
168
166
  return `${args.options.appId} is not a valid GUID`;
169
167
  }
170
- if (args.options.appObjectId && !utils_1.validation.isValidGuid(args.options.appObjectId)) {
168
+ if (args.options.appObjectId && !validation_1.validation.isValidGuid(args.options.appObjectId)) {
171
169
  return `${args.options.appObjectId} is not a valid GUID`;
172
170
  }
173
- let optionsSpecified = 0;
174
- optionsSpecified += args.options.appId ? 1 : 0;
175
- optionsSpecified += args.options.appDisplayName ? 1 : 0;
176
- optionsSpecified += args.options.appObjectId ? 1 : 0;
177
- if (optionsSpecified > 1) {
178
- return 'Specify either appId, appObjectId or appDisplayName';
179
- }
180
171
  return true;
181
172
  }));
173
+ }, _AadAppRoleAssignmentListCommand_initOptionSets = function _AadAppRoleAssignmentListCommand_initOptionSets() {
174
+ this.optionSets.push(['appId', 'appObjectId', 'appDisplayName']);
182
175
  };
183
176
  module.exports = new AadAppRoleAssignmentListCommand();
184
177
  //# sourceMappingURL=approleassignment-list.js.map
@@ -13,12 +13,12 @@ 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 _AadAppRoleAssignmentRemoveCommand_instances, _AadAppRoleAssignmentRemoveCommand_initTelemetry, _AadAppRoleAssignmentRemoveCommand_initOptions, _AadAppRoleAssignmentRemoveCommand_initValidators;
16
+ var _AadAppRoleAssignmentRemoveCommand_instances, _AadAppRoleAssignmentRemoveCommand_initTelemetry, _AadAppRoleAssignmentRemoveCommand_initOptions, _AadAppRoleAssignmentRemoveCommand_initValidators, _AadAppRoleAssignmentRemoveCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const os = require("os");
19
- const cli_1 = require("../../../../cli");
19
+ const Cli_1 = require("../../../../cli/Cli");
20
20
  const request_1 = require("../../../../request");
21
- const utils_1 = require("../../../../utils");
21
+ const validation_1 = require("../../../../utils/validation");
22
22
  const GraphCommand_1 = require("../../../base/GraphCommand");
23
23
  const commands_1 = require("../../commands");
24
24
  class AadAppRoleAssignmentRemoveCommand extends GraphCommand_1.default {
@@ -28,6 +28,7 @@ class AadAppRoleAssignmentRemoveCommand extends GraphCommand_1.default {
28
28
  __classPrivateFieldGet(this, _AadAppRoleAssignmentRemoveCommand_instances, "m", _AadAppRoleAssignmentRemoveCommand_initTelemetry).call(this);
29
29
  __classPrivateFieldGet(this, _AadAppRoleAssignmentRemoveCommand_instances, "m", _AadAppRoleAssignmentRemoveCommand_initOptions).call(this);
30
30
  __classPrivateFieldGet(this, _AadAppRoleAssignmentRemoveCommand_instances, "m", _AadAppRoleAssignmentRemoveCommand_initValidators).call(this);
31
+ __classPrivateFieldGet(this, _AadAppRoleAssignmentRemoveCommand_instances, "m", _AadAppRoleAssignmentRemoveCommand_initOptionSets).call(this);
31
32
  }
32
33
  get name() {
33
34
  return commands_1.default.APPROLEASSIGNMENT_REMOVE;
@@ -35,105 +36,103 @@ class AadAppRoleAssignmentRemoveCommand extends GraphCommand_1.default {
35
36
  get description() {
36
37
  return 'Deletes an app role assignment for the specified Azure AD Application Registration';
37
38
  }
38
- commandAction(logger, args, cb) {
39
- const removeAppRoleAssignment = () => {
40
- let sp;
41
- // get the service principal associated with the appId
42
- let spMatchQuery = '';
43
- if (args.options.appId) {
44
- spMatchQuery = `appId eq '${encodeURIComponent(args.options.appId)}'`;
45
- }
46
- else if (args.options.appObjectId) {
47
- spMatchQuery = `id eq '${encodeURIComponent(args.options.appObjectId)}'`;
48
- }
49
- else {
50
- spMatchQuery = `displayName eq '${encodeURIComponent(args.options.appDisplayName)}'`;
51
- }
52
- this
53
- .getServicePrincipalForApp(spMatchQuery)
54
- .then((resp) => {
55
- if (!resp.value.length) {
56
- return Promise.reject('app registration not found');
57
- }
58
- sp = resp.value[0];
59
- let resource = encodeURIComponent(args.options.resource);
60
- // try resolve aliases that the user might enter since these are seen in the Azure portal
61
- switch (args.options.resource.toLocaleLowerCase()) {
62
- case 'sharepoint':
63
- resource = 'Office 365 SharePoint Online';
64
- break;
65
- case 'intune':
66
- resource = 'Microsoft Intune API';
67
- break;
68
- case 'exchange':
69
- resource = 'Office 365 Exchange Online';
70
- break;
71
- }
72
- // will perform resource name, appId or objectId search
73
- let filter = `$filter=(displayName eq '${resource}' or startswith(displayName,'${resource}'))`;
74
- if (utils_1.validation.isValidGuid(resource)) {
75
- filter += ` or appId eq '${resource}' or id eq '${resource}'`;
39
+ commandAction(logger, args) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const removeAppRoleAssignment = () => __awaiter(this, void 0, void 0, function* () {
42
+ let sp;
43
+ // get the service principal associated with the appId
44
+ let spMatchQuery = '';
45
+ if (args.options.appId) {
46
+ spMatchQuery = `appId eq '${encodeURIComponent(args.options.appId)}'`;
76
47
  }
77
- const requestOptions = {
78
- url: `${this.resource}/v1.0/servicePrincipals?${filter}`,
79
- headers: {
80
- 'accept': 'application/json'
81
- },
82
- responseType: 'json'
83
- };
84
- return request_1.default.get(requestOptions);
85
- })
86
- .then((resp) => {
87
- if (!resp.value.length) {
88
- return Promise.reject('Resource not found');
48
+ else if (args.options.appObjectId) {
49
+ spMatchQuery = `id eq '${encodeURIComponent(args.options.appObjectId)}'`;
89
50
  }
90
- const appRolesToBeDeleted = [];
91
- const appRolesFound = resp.value[0].appRoles;
92
- if (!appRolesFound.length) {
93
- return Promise.reject(`The resource '${args.options.resource}' does not have any application permissions available.`);
51
+ else {
52
+ spMatchQuery = `displayName eq '${encodeURIComponent(args.options.appDisplayName)}'`;
94
53
  }
95
- for (const scope of args.options.scope.split(',')) {
96
- const existingRoles = appRolesFound.filter((role) => {
97
- return role.value.toLocaleLowerCase() === scope.toLocaleLowerCase().trim();
98
- });
99
- if (!existingRoles.length) {
100
- // the role specified in the scope option does not belong to the found service principles
101
- // throw an error and show list with available roles (scopes)
102
- let availableRoles = '';
103
- appRolesFound.map((r) => availableRoles += `${os.EOL}${r.value}`);
104
- return Promise.reject(`The scope value '${scope}' you have specified does not exist for ${args.options.resource}. ${os.EOL}Available scopes (application permissions) are: ${availableRoles}`);
54
+ try {
55
+ let resp = yield this.getServicePrincipalForApp(spMatchQuery);
56
+ if (!resp.value.length) {
57
+ throw 'app registration not found';
105
58
  }
106
- appRolesToBeDeleted.push(existingRoles[0]);
107
- }
108
- const tasks = [];
109
- for (const appRole of appRolesToBeDeleted) {
110
- const appRoleAssignment = sp.appRoleAssignments.filter((role) => role.appRoleId === appRole.id);
111
- if (!appRoleAssignment.length) {
112
- return Promise.reject('App role assignment not found');
59
+ sp = resp.value[0];
60
+ let resource = encodeURIComponent(args.options.resource);
61
+ // try resolve aliases that the user might enter since these are seen in the Azure portal
62
+ switch (args.options.resource.toLocaleLowerCase()) {
63
+ case 'sharepoint':
64
+ resource = 'Office 365 SharePoint Online';
65
+ break;
66
+ case 'intune':
67
+ resource = 'Microsoft Intune API';
68
+ break;
69
+ case 'exchange':
70
+ resource = 'Office 365 Exchange Online';
71
+ break;
113
72
  }
114
- tasks.push(this.removeAppRoleAssignmentForServicePrincipal(sp.id, appRoleAssignment[0].id));
115
- }
116
- return Promise.all(tasks);
117
- }).then(_ => cb(), (res) => this.handleRejectedODataJsonPromise(res, logger, cb));
118
- };
119
- if (args.options.confirm) {
120
- removeAppRoleAssignment();
121
- }
122
- else {
123
- cli_1.Cli.prompt({
124
- type: 'confirm',
125
- name: 'continue',
126
- default: false,
127
- message: `Are you sure you want to remove the appRoleAssignment with scope ${args.options.scope} for resource ${args.options.resource}?`
128
- }, (result) => {
129
- if (!result.continue) {
130
- cb();
73
+ // will perform resource name, appId or objectId search
74
+ let filter = `$filter=(displayName eq '${resource}' or startswith(displayName,'${resource}'))`;
75
+ if (validation_1.validation.isValidGuid(resource)) {
76
+ filter += ` or appId eq '${resource}' or id eq '${resource}'`;
77
+ }
78
+ const requestOptions = {
79
+ url: `${this.resource}/v1.0/servicePrincipals?${filter}`,
80
+ headers: {
81
+ 'accept': 'application/json'
82
+ },
83
+ responseType: 'json'
84
+ };
85
+ resp = yield request_1.default.get(requestOptions);
86
+ if (!resp.value.length) {
87
+ throw 'Resource not found';
88
+ }
89
+ const appRolesToBeDeleted = [];
90
+ const appRolesFound = resp.value[0].appRoles;
91
+ if (!appRolesFound.length) {
92
+ throw `The resource '${args.options.resource}' does not have any application permissions available.`;
93
+ }
94
+ for (const scope of args.options.scope.split(',')) {
95
+ const existingRoles = appRolesFound.filter((role) => {
96
+ return role.value.toLocaleLowerCase() === scope.toLocaleLowerCase().trim();
97
+ });
98
+ if (!existingRoles.length) {
99
+ // the role specified in the scope option does not belong to the found service principles
100
+ // throw an error and show list with available roles (scopes)
101
+ let availableRoles = '';
102
+ appRolesFound.map((r) => availableRoles += `${os.EOL}${r.value}`);
103
+ throw `The scope value '${scope}' you have specified does not exist for ${args.options.resource}. ${os.EOL}Available scopes (application permissions) are: ${availableRoles}`;
104
+ }
105
+ appRolesToBeDeleted.push(existingRoles[0]);
106
+ }
107
+ const tasks = [];
108
+ for (const appRole of appRolesToBeDeleted) {
109
+ const appRoleAssignment = sp.appRoleAssignments.filter((role) => role.appRoleId === appRole.id);
110
+ if (!appRoleAssignment.length) {
111
+ throw 'App role assignment not found';
112
+ }
113
+ tasks.push(this.removeAppRoleAssignmentForServicePrincipal(sp.id, appRoleAssignment[0].id));
114
+ }
115
+ yield Promise.all(tasks);
131
116
  }
132
- else {
133
- removeAppRoleAssignment();
117
+ catch (err) {
118
+ this.handleRejectedODataJsonPromise(err);
134
119
  }
135
120
  });
136
- }
121
+ if (args.options.confirm) {
122
+ yield removeAppRoleAssignment();
123
+ }
124
+ else {
125
+ const result = yield Cli_1.Cli.prompt({
126
+ type: 'confirm',
127
+ name: 'continue',
128
+ default: false,
129
+ message: `Are you sure you want to remove the appRoleAssignment with scope ${args.options.scope} for resource ${args.options.resource}?`
130
+ });
131
+ if (result.continue) {
132
+ yield removeAppRoleAssignment();
133
+ }
134
+ }
135
+ });
137
136
  }
138
137
  getServicePrincipalForApp(filterParam) {
139
138
  const spRequestOptions = {
@@ -182,21 +181,16 @@ _AadAppRoleAssignmentRemoveCommand_instances = new WeakSet(), _AadAppRoleAssignm
182
181
  });
183
182
  }, _AadAppRoleAssignmentRemoveCommand_initValidators = function _AadAppRoleAssignmentRemoveCommand_initValidators() {
184
183
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
185
- let optionsSpecified = 0;
186
- optionsSpecified += args.options.appId ? 1 : 0;
187
- optionsSpecified += args.options.appDisplayName ? 1 : 0;
188
- optionsSpecified += args.options.appObjectId ? 1 : 0;
189
- if (optionsSpecified !== 1) {
190
- return 'Specify either appId, appObjectId or appDisplayName';
191
- }
192
- if (args.options.appId && !utils_1.validation.isValidGuid(args.options.appId)) {
184
+ if (args.options.appId && !validation_1.validation.isValidGuid(args.options.appId)) {
193
185
  return `${args.options.appId} is not a valid GUID`;
194
186
  }
195
- if (args.options.appObjectId && !utils_1.validation.isValidGuid(args.options.appObjectId)) {
187
+ if (args.options.appObjectId && !validation_1.validation.isValidGuid(args.options.appObjectId)) {
196
188
  return `${args.options.appObjectId} is not a valid GUID`;
197
189
  }
198
190
  return true;
199
191
  }));
192
+ }, _AadAppRoleAssignmentRemoveCommand_initOptionSets = function _AadAppRoleAssignmentRemoveCommand_initOptionSets() {
193
+ this.optionSets.push(['appId', 'appObjectId', 'appDisplayName']);
200
194
  };
201
195
  module.exports = new AadAppRoleAssignmentRemoveCommand();
202
196
  //# sourceMappingURL=approleassignment-remove.js.map
@@ -1,4 +1,13 @@
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
+ };
2
11
  var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
12
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
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");
@@ -6,7 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
6
15
  };
7
16
  var _AadGroupListCommand_instances, _AadGroupListCommand_initTelemetry, _AadGroupListCommand_initOptions;
8
17
  Object.defineProperty(exports, "__esModule", { value: true });
9
- const utils_1 = require("../../../../utils");
18
+ const odata_1 = require("../../../../utils/odata");
10
19
  const GraphCommand_1 = require("../../../base/GraphCommand");
11
20
  const commands_1 = require("../../commands");
12
21
  class AadGroupListCommand extends GraphCommand_1.default {
@@ -25,30 +34,33 @@ class AadGroupListCommand extends GraphCommand_1.default {
25
34
  defaultProperties() {
26
35
  return ['id', 'displayName', 'groupType'];
27
36
  }
28
- commandAction(logger, args, cb) {
29
- const endpoint = args.options.deleted ? 'directory/deletedItems/microsoft.graph.group' : 'groups';
30
- utils_1.odata
31
- .getAllItems(`${this.resource}/v1.0/${endpoint}`)
32
- .then((groups) => {
33
- if (args.options.output === 'text') {
34
- groups.forEach((group) => {
35
- if (group.groupTypes && group.groupTypes.length > 0 && group.groupTypes[0] === 'Unified') {
36
- group.groupType = 'Microsoft 365';
37
- }
38
- else if (group.mailEnabled && group.securityEnabled) {
39
- group.groupType = 'Mail enabled security';
40
- }
41
- else if (group.securityEnabled) {
42
- group.groupType = 'Security';
43
- }
44
- else if (group.mailEnabled) {
45
- group.groupType = 'Distribution';
46
- }
47
- });
37
+ commandAction(logger, args) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const endpoint = args.options.deleted ? 'directory/deletedItems/microsoft.graph.group' : 'groups';
40
+ try {
41
+ const groups = yield odata_1.odata.getAllItems(`${this.resource}/v1.0/${endpoint}`);
42
+ if (args.options.output === 'text') {
43
+ groups.forEach((group) => {
44
+ if (group.groupTypes && group.groupTypes.length > 0 && group.groupTypes[0] === 'Unified') {
45
+ group.groupType = 'Microsoft 365';
46
+ }
47
+ else if (group.mailEnabled && group.securityEnabled) {
48
+ group.groupType = 'Mail enabled security';
49
+ }
50
+ else if (group.securityEnabled) {
51
+ group.groupType = 'Security';
52
+ }
53
+ else if (group.mailEnabled) {
54
+ group.groupType = 'Distribution';
55
+ }
56
+ });
57
+ }
58
+ logger.log(groups);
48
59
  }
49
- logger.log(groups);
50
- cb();
51
- }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
60
+ catch (err) {
61
+ this.handleRejectedODataJsonPromise(err);
62
+ }
63
+ });
52
64
  }
53
65
  }
54
66
  _AadGroupListCommand_instances = new WeakSet(), _AadGroupListCommand_initTelemetry = function _AadGroupListCommand_initTelemetry() {
@@ -16,7 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _AadGroupSettingAddCommand_instances, _AadGroupSettingAddCommand_initOptions, _AadGroupSettingAddCommand_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 AadGroupSettingAddCommand extends GraphCommand_1.default {
@@ -35,38 +35,39 @@ class AadGroupSettingAddCommand extends GraphCommand_1.default {
35
35
  allowUnknownOptions() {
36
36
  return true;
37
37
  }
38
- commandAction(logger, args, cb) {
39
- if (this.verbose) {
40
- logger.logToStderr(`Retrieving group setting template with id '${args.options.templateId}'...`);
41
- }
42
- const requestOptions = {
43
- url: `${this.resource}/v1.0/groupSettingTemplates/${args.options.templateId}`,
44
- headers: {
45
- accept: 'application/json;odata.metadata=none'
46
- },
47
- responseType: 'json'
48
- };
49
- request_1.default
50
- .get(requestOptions)
51
- .then((groupSettingTemplate) => {
52
- const requestOptions = {
53
- url: `${this.resource}/v1.0/groupSettings`,
54
- headers: {
55
- accept: 'application/json;odata.metadata=none',
56
- 'content-type': 'application/json'
57
- },
58
- data: {
59
- templateId: args.options.templateId,
60
- values: this.getGroupSettingValues(args.options, groupSettingTemplate)
61
- },
62
- responseType: 'json'
63
- };
64
- return request_1.default.post(requestOptions);
65
- })
66
- .then((res) => {
67
- logger.log(res);
68
- cb();
69
- }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (this.verbose) {
41
+ logger.logToStderr(`Retrieving group setting template with id '${args.options.templateId}'...`);
42
+ }
43
+ try {
44
+ let requestOptions = {
45
+ url: `${this.resource}/v1.0/groupSettingTemplates/${args.options.templateId}`,
46
+ headers: {
47
+ accept: 'application/json;odata.metadata=none'
48
+ },
49
+ responseType: 'json'
50
+ };
51
+ const groupSettingTemplate = yield request_1.default.get(requestOptions);
52
+ requestOptions = {
53
+ url: `${this.resource}/v1.0/groupSettings`,
54
+ headers: {
55
+ accept: 'application/json;odata.metadata=none',
56
+ 'content-type': 'application/json'
57
+ },
58
+ data: {
59
+ templateId: args.options.templateId,
60
+ values: this.getGroupSettingValues(args.options, groupSettingTemplate)
61
+ },
62
+ responseType: 'json'
63
+ };
64
+ const res = yield request_1.default.post(requestOptions);
65
+ logger.log(res);
66
+ }
67
+ catch (err) {
68
+ this.handleRejectedODataJsonPromise(err);
69
+ }
70
+ });
70
71
  }
71
72
  getGroupSettingValues(options, groupSettingTemplate) {
72
73
  const values = [];
@@ -101,7 +102,7 @@ _AadGroupSettingAddCommand_instances = new WeakSet(), _AadGroupSettingAddCommand
101
102
  });
102
103
  }, _AadGroupSettingAddCommand_initValidators = function _AadGroupSettingAddCommand_initValidators() {
103
104
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
104
- if (!utils_1.validation.isValidGuid(args.options.templateId)) {
105
+ if (!validation_1.validation.isValidGuid(args.options.templateId)) {
105
106
  return `${args.options.templateId} is not a valid GUID`;
106
107
  }
107
108
  return true;
@@ -16,7 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _AadGroupSettingGetCommand_instances, _AadGroupSettingGetCommand_initOptions, _AadGroupSettingGetCommand_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 AadGroupSettingGetCommand extends GraphCommand_1.default {
@@ -32,20 +32,23 @@ class AadGroupSettingGetCommand extends GraphCommand_1.default {
32
32
  get description() {
33
33
  return 'Gets information about the particular group setting';
34
34
  }
35
- commandAction(logger, args, cb) {
36
- const requestOptions = {
37
- url: `${this.resource}/v1.0/groupSettings/${args.options.id}`,
38
- headers: {
39
- accept: 'application/json;odata.metadata=none'
40
- },
41
- responseType: 'json'
42
- };
43
- request_1.default
44
- .get(requestOptions)
45
- .then((res) => {
46
- logger.log(res);
47
- cb();
48
- }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
35
+ commandAction(logger, args) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ try {
38
+ const requestOptions = {
39
+ url: `${this.resource}/v1.0/groupSettings/${args.options.id}`,
40
+ headers: {
41
+ accept: 'application/json;odata.metadata=none'
42
+ },
43
+ responseType: 'json'
44
+ };
45
+ const res = yield request_1.default.get(requestOptions);
46
+ logger.log(res);
47
+ }
48
+ catch (err) {
49
+ this.handleRejectedODataJsonPromise(err);
50
+ }
51
+ });
49
52
  }
50
53
  }
51
54
  _AadGroupSettingGetCommand_instances = new WeakSet(), _AadGroupSettingGetCommand_initOptions = function _AadGroupSettingGetCommand_initOptions() {
@@ -54,7 +57,7 @@ _AadGroupSettingGetCommand_instances = new WeakSet(), _AadGroupSettingGetCommand
54
57
  });
55
58
  }, _AadGroupSettingGetCommand_initValidators = function _AadGroupSettingGetCommand_initValidators() {
56
59
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
57
- if (!utils_1.validation.isValidGuid(args.options.id)) {
60
+ if (!validation_1.validation.isValidGuid(args.options.id)) {
58
61
  return `${args.options.id} is not a valid GUID`;
59
62
  }
60
63
  return true;