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

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 (628) hide show
  1. package/.devcontainer/Dockerfile +3 -1
  2. package/.devcontainer/devcontainer.json +1 -0
  3. package/.eslintrc.js +2 -0
  4. package/dist/Auth.js +3 -4
  5. package/dist/Command.js +56 -43
  6. package/dist/api.js +3 -3
  7. package/dist/appInsights.js +2 -0
  8. package/dist/cli/Cli.js +37 -29
  9. package/dist/index.js +2 -2
  10. package/dist/m365/aad/commands/app/app-add.js +194 -54
  11. package/dist/m365/aad/commands/app/app-get.js +19 -23
  12. package/dist/m365/aad/commands/app/app-remove.js +41 -49
  13. package/dist/m365/aad/commands/app/app-role-add.js +34 -36
  14. package/dist/m365/aad/commands/app/app-role-list.js +16 -24
  15. package/dist/m365/aad/commands/app/app-role-remove.js +29 -46
  16. package/dist/m365/aad/commands/app/app-set.js +16 -18
  17. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +96 -104
  18. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +45 -52
  19. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +97 -103
  20. package/dist/m365/aad/commands/group/group-list.js +36 -24
  21. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +35 -34
  22. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +19 -16
  23. package/dist/m365/aad/commands/groupsetting/groupsetting-list.js +20 -8
  24. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +33 -32
  25. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +35 -32
  26. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +21 -22
  27. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-list.js +20 -8
  28. package/dist/m365/aad/commands/o365group/o365group-add.js +87 -98
  29. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +13 -9
  30. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +18 -20
  31. package/dist/m365/aad/commands/o365group/o365group-get.js +22 -27
  32. package/dist/m365/aad/commands/o365group/o365group-list.js +39 -44
  33. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +34 -22
  34. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +25 -13
  35. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +36 -38
  36. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +26 -25
  37. package/dist/m365/aad/commands/o365group/o365group-remove.js +41 -43
  38. package/dist/m365/aad/commands/o365group/o365group-renew.js +19 -14
  39. package/dist/m365/aad/commands/o365group/o365group-set.js +98 -116
  40. package/dist/m365/aad/commands/o365group/o365group-teamify.js +37 -37
  41. package/dist/m365/aad/commands/o365group/o365group-user-add.js +34 -34
  42. package/dist/m365/aad/commands/o365group/o365group-user-list.js +20 -21
  43. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +65 -71
  44. package/dist/m365/aad/commands/o365group/o365group-user-set.js +69 -72
  45. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +28 -23
  46. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +23 -20
  47. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +42 -32
  48. package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +30 -16
  49. package/dist/m365/aad/commands/policy/policy-list.js +22 -23
  50. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +61 -53
  51. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +84 -72
  52. package/dist/m365/aad/commands/siteclassification/siteclassification-get.js +66 -57
  53. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +96 -93
  54. package/dist/m365/aad/commands/sp/sp-add.js +29 -32
  55. package/dist/m365/aad/commands/sp/sp-get.js +29 -32
  56. package/dist/m365/aad/commands/user/user-get.js +43 -48
  57. package/dist/m365/aad/commands/user/user-hibp.js +23 -24
  58. package/dist/m365/aad/commands/user/user-list.js +36 -15
  59. package/dist/m365/aad/commands/user/user-password-validate.js +29 -17
  60. package/dist/m365/aad/commands/user/user-set.js +24 -22
  61. package/dist/m365/aad/commands/user/user-signin-list.js +28 -24
  62. package/dist/m365/aad/commands.js +0 -1
  63. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +39 -37
  64. package/dist/m365/app/commands/app-get.js +28 -16
  65. package/dist/m365/app/commands/app-open.js +20 -5
  66. package/dist/m365/app/commands/permission/permission-list.js +19 -17
  67. package/dist/m365/base/AnonymousCommand.js +14 -3
  68. package/dist/m365/base/AppCommand.js +54 -47
  69. package/dist/m365/base/DateAndPeriodBasedReport.js +7 -5
  70. package/dist/m365/base/PeriodBasedReport.js +23 -16
  71. package/dist/m365/base/SpoCommand.js +13 -9
  72. package/dist/m365/base/YammerCommand.js +4 -4
  73. package/dist/m365/booking/commands/business/business-get.js +96 -0
  74. package/dist/m365/booking/commands/business/business-list.js +39 -0
  75. package/dist/m365/booking/commands.js +8 -0
  76. package/dist/m365/cli/commands/cli-consent.js +15 -12
  77. package/dist/m365/cli/commands/cli-doctor.js +37 -27
  78. package/dist/m365/cli/commands/cli-issue.js +15 -15
  79. package/dist/m365/cli/commands/cli-reconsent.js +31 -19
  80. package/dist/m365/cli/commands/completion/completion-clink-update.js +13 -3
  81. package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +47 -38
  82. package/dist/m365/cli/commands/completion/completion-pwsh-update.js +16 -6
  83. package/dist/m365/cli/commands/completion/completion-sh-setup.js +21 -11
  84. package/dist/m365/cli/commands/completion/completion-sh-update.js +16 -6
  85. package/dist/m365/cli/commands/config/config-get.js +5 -4
  86. package/dist/m365/cli/commands/config/config-reset.js +10 -9
  87. package/dist/m365/cli/commands/config/config-set.js +20 -20
  88. package/dist/m365/commands/commands.js +1 -0
  89. package/dist/m365/commands/login.js +66 -63
  90. package/dist/m365/commands/logout.js +34 -23
  91. package/dist/m365/commands/request.js +150 -0
  92. package/dist/m365/commands/status.js +50 -28
  93. package/dist/m365/commands/version.js +13 -3
  94. package/dist/m365/file/commands/convert/convert-pdf.js +58 -53
  95. package/dist/m365/file/commands/file-add.js +17 -12
  96. package/dist/m365/file/commands/file-list.js +31 -33
  97. package/dist/m365/flow/commands/environment/environment-get.js +34 -22
  98. package/dist/m365/flow/commands/environment/environment-list.js +33 -21
  99. package/dist/m365/flow/commands/flow-disable.js +28 -14
  100. package/dist/m365/flow/commands/flow-enable.js +28 -14
  101. package/dist/m365/flow/commands/flow-export.js +104 -104
  102. package/dist/m365/flow/commands/flow-get.js +33 -21
  103. package/dist/m365/flow/commands/flow-list.js +28 -16
  104. package/dist/m365/flow/commands/flow-remove.js +41 -45
  105. package/dist/m365/flow/commands/run/run-cancel.js +35 -34
  106. package/dist/m365/flow/commands/run/run-get.js +33 -21
  107. package/dist/m365/flow/commands/run/run-list.js +31 -19
  108. package/dist/m365/flow/commands/run/run-resubmit.js +39 -40
  109. package/dist/m365/graph/Changelog.js +3 -0
  110. package/dist/m365/graph/commands/changelog/changelog-list.js +164 -0
  111. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +32 -29
  112. package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +30 -17
  113. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +40 -36
  114. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +43 -32
  115. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +59 -56
  116. package/dist/m365/graph/commands/subscription/subscription-add.js +30 -27
  117. package/dist/m365/graph/commands.js +1 -0
  118. package/dist/m365/onedrive/commands/onedrive-list.js +25 -15
  119. package/dist/m365/onenote/commands/notebook/notebook-list.js +140 -0
  120. package/dist/m365/onenote/commands.js +7 -0
  121. package/dist/m365/outlook/commands/mail/mail-send.js +73 -34
  122. package/dist/m365/outlook/commands/message/message-list.js +17 -26
  123. package/dist/m365/outlook/commands/message/message-move.js +28 -47
  124. package/dist/m365/outlook/commands/room/room-list.js +24 -12
  125. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +20 -8
  126. package/dist/m365/outlook/commands.js +1 -2
  127. package/dist/m365/pa/commands/app/app-get.js +49 -53
  128. package/dist/m365/pa/commands/app/app-list.js +20 -17
  129. package/dist/m365/pa/commands/app/app-remove.js +41 -41
  130. package/dist/m365/pa/commands/connector/connector-export.js +102 -104
  131. package/dist/m365/pa/commands/connector/connector-list.js +29 -17
  132. package/dist/m365/pa/commands/environment/environment-get.js +34 -22
  133. package/dist/m365/pa/commands/environment/environment-list.js +33 -21
  134. package/dist/m365/pa/commands/pcf/pcf-init.js +39 -38
  135. package/dist/m365/pa/commands/solution/solution-init.js +50 -49
  136. package/dist/m365/pa/commands/solution/solution-reference-add.js +15 -14
  137. package/dist/m365/planner/commands/bucket/bucket-add.js +34 -35
  138. package/dist/m365/planner/commands/bucket/bucket-get.js +18 -14
  139. package/dist/m365/planner/commands/bucket/bucket-list.js +23 -21
  140. package/dist/m365/planner/commands/bucket/bucket-remove.js +39 -39
  141. package/dist/m365/planner/commands/bucket/bucket-set.js +31 -27
  142. package/dist/m365/planner/commands/plan/plan-add.js +39 -38
  143. package/dist/m365/planner/commands/plan/plan-get.js +33 -33
  144. package/dist/m365/planner/commands/plan/plan-list.js +23 -22
  145. package/dist/m365/planner/commands/plan/plan-remove.js +38 -40
  146. package/dist/m365/planner/commands/task/task-add.js +51 -63
  147. package/dist/m365/planner/commands/task/task-checklistitem-add.js +47 -37
  148. package/dist/m365/planner/commands/task/task-checklistitem-list.js +36 -22
  149. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +52 -42
  150. package/dist/m365/planner/commands/task/task-get.js +26 -15
  151. package/dist/m365/planner/commands/task/task-list.js +48 -56
  152. package/dist/m365/planner/commands/task/task-reference-add.js +25 -24
  153. package/dist/m365/planner/commands/task/task-reference-list.js +31 -19
  154. package/dist/m365/planner/commands/task/task-reference-remove.js +41 -42
  155. package/dist/m365/planner/commands/task/task-remove.js +38 -37
  156. package/dist/m365/planner/commands/task/task-set.js +38 -41
  157. package/dist/m365/planner/commands/tenant/tenant-settings-list.js +26 -14
  158. package/dist/m365/planner/commands/tenant/tenant-settings-set.js +27 -24
  159. package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +75 -0
  160. package/dist/m365/pp/commands/environment/environment-list.js +41 -29
  161. package/dist/m365/pp/commands/gateway/gateway-list.js +29 -17
  162. package/dist/m365/pp/commands/managementapp/managementapp-add.js +26 -32
  163. package/dist/m365/pp/commands/managementapp/managementapp-list.js +21 -9
  164. package/dist/m365/pp/commands/tenant/tenant-settings-list.js +45 -0
  165. package/dist/m365/pp/commands.js +3 -1
  166. package/dist/m365/search/commands/externalconnection/externalconnection-add.js +29 -24
  167. package/dist/m365/search/commands/externalconnection/externalconnection-get.js +37 -28
  168. package/dist/m365/search/commands/externalconnection/externalconnection-list.js +20 -8
  169. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +108 -0
  170. package/dist/m365/search/commands.js +2 -1
  171. package/dist/m365/spfx/commands/package/package-generate.js +105 -98
  172. package/dist/m365/spfx/commands/project/base-project-command.js +19 -18
  173. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.16.0-beta.1.js +23 -0
  174. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001008_DEP_react.js +2 -2
  175. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001009_DEP_react_dom.js +2 -2
  176. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  177. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002015_DEVDEP_types_react.js +2 -2
  178. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  179. package/dist/m365/spfx/commands/project/project-doctor.js +104 -106
  180. package/dist/m365/spfx/commands/project/project-externalize.js +45 -38
  181. package/dist/m365/spfx/commands/project/project-rename.js +38 -30
  182. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001005_DEP_types_react.js +2 -2
  183. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001006_DEP_types_react_dom.js +2 -2
  184. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001008_DEP_react.js +2 -2
  185. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001009_DEP_react_dom.js +2 -2
  186. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001015_DEP_types_react_addons_shallow_compare.js +2 -2
  187. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001016_DEP_types_react_addons_update.js +2 -2
  188. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001017_DEP_types_react_addons_update.js +2 -2
  189. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001019_DEP_knockout.js +2 -2
  190. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001020_DEP_types_knockout.js +2 -2
  191. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  192. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002015_DEVDEP_types_react.js +2 -2
  193. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  194. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002025_DEVDEP_eslint_plugin_react_hooks.js +2 -2
  195. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +47 -0
  196. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015008_FILE_eslintrc_js.js +2 -2
  197. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN020001_RES_types_react.js +2 -2
  198. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021003_PKG_engines_node.js +48 -0
  199. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022001_SCSS_remove_fabric_react.js +2 -2
  200. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022002_SCSS_add_fabric_react.js +2 -2
  201. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.14.0.js +0 -2
  202. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.16.0-beta.1.js +61 -0
  203. package/dist/m365/spfx/commands/project/project-upgrade.js +192 -194
  204. package/dist/m365/spfx/commands/spfx-doctor.js +193 -127
  205. package/dist/m365/spo/commands/app/app-add.js +34 -34
  206. package/dist/m365/spo/commands/app/app-deploy.js +45 -48
  207. package/dist/m365/spo/commands/app/app-get.js +47 -50
  208. package/dist/m365/spo/commands/app/app-install.js +21 -16
  209. package/dist/m365/spo/commands/app/app-instance-list.js +27 -23
  210. package/dist/m365/spo/commands/app/app-list.js +32 -34
  211. package/dist/m365/spo/commands/app/app-remove.js +38 -40
  212. package/dist/m365/spo/commands/app/app-retract.js +38 -40
  213. package/dist/m365/spo/commands/app/app-teamspackage-download.js +42 -43
  214. package/dist/m365/spo/commands/app/app-uninstall.js +35 -34
  215. package/dist/m365/spo/commands/app/app-upgrade.js +21 -16
  216. package/dist/m365/spo/commands/apppage/apppage-add.js +39 -40
  217. package/dist/m365/spo/commands/apppage/apppage-set.js +21 -16
  218. package/dist/m365/spo/commands/cdn/cdn-get.js +36 -42
  219. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +31 -38
  220. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +34 -40
  221. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +46 -59
  222. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +42 -49
  223. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +38 -46
  224. package/dist/m365/spo/commands/cdn/cdn-set.js +64 -68
  225. package/dist/m365/spo/commands/contenttype/contenttype-add.js +54 -57
  226. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +100 -116
  227. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +127 -151
  228. package/dist/m365/spo/commands/contenttype/contenttype-get.js +42 -43
  229. package/dist/m365/spo/commands/contenttype/contenttype-list.js +23 -20
  230. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +69 -82
  231. package/dist/m365/spo/commands/contenttype/contenttype-set.js +168 -0
  232. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +51 -48
  233. package/dist/m365/spo/commands/customaction/customaction-add.js +46 -43
  234. package/dist/m365/spo/commands/customaction/customaction-clear.js +30 -28
  235. package/dist/m365/spo/commands/customaction/customaction-get.js +43 -38
  236. package/dist/m365/spo/commands/customaction/customaction-list.js +30 -25
  237. package/dist/m365/spo/commands/customaction/customaction-remove.js +36 -35
  238. package/dist/m365/spo/commands/customaction/customaction-set.js +25 -20
  239. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +47 -42
  240. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +39 -35
  241. package/dist/m365/spo/commands/externaluser/externaluser-list.js +55 -58
  242. package/dist/m365/spo/commands/feature/feature-disable.js +26 -21
  243. package/dist/m365/spo/commands/feature/feature-enable.js +28 -23
  244. package/dist/m365/spo/commands/feature/feature-list.js +25 -22
  245. package/dist/m365/spo/commands/field/field-add.js +29 -26
  246. package/dist/m365/spo/commands/field/field-get.js +41 -36
  247. package/dist/m365/spo/commands/field/field-list.js +33 -28
  248. package/dist/m365/spo/commands/field/field-remove.js +87 -88
  249. package/dist/m365/spo/commands/field/field-set.js +70 -81
  250. package/dist/m365/spo/commands/file/file-add.js +158 -177
  251. package/dist/m365/spo/commands/file/file-checkin.js +43 -41
  252. package/dist/m365/spo/commands/file/file-checkout.js +30 -28
  253. package/dist/m365/spo/commands/file/file-copy.js +67 -67
  254. package/dist/m365/spo/commands/file/file-get.js +71 -76
  255. package/dist/m365/spo/commands/file/file-list.js +17 -11
  256. package/dist/m365/spo/commands/file/file-move.js +66 -66
  257. package/dist/m365/spo/commands/file/file-remove.js +62 -67
  258. package/dist/m365/spo/commands/file/file-rename.js +35 -36
  259. package/dist/m365/spo/commands/file/file-roleassignment-add.js +231 -0
  260. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +180 -0
  261. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +125 -0
  262. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +53 -53
  263. package/dist/m365/spo/commands/folder/folder-add.js +29 -25
  264. package/dist/m365/spo/commands/folder/folder-copy.js +49 -44
  265. package/dist/m365/spo/commands/folder/folder-get.js +59 -28
  266. package/dist/m365/spo/commands/folder/folder-list.js +25 -21
  267. package/dist/m365/spo/commands/folder/folder-move.js +50 -45
  268. package/dist/m365/spo/commands/folder/folder-remove.js +44 -42
  269. package/dist/m365/spo/commands/folder/folder-rename.js +34 -38
  270. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +94 -0
  271. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +89 -0
  272. package/dist/m365/spo/commands/group/group-add.js +28 -25
  273. package/dist/m365/spo/commands/group/group-get.js +42 -39
  274. package/dist/m365/spo/commands/group/group-list.js +23 -20
  275. package/dist/m365/spo/commands/group/group-remove.js +53 -59
  276. package/dist/m365/spo/commands/group/group-set.js +31 -26
  277. package/dist/m365/spo/commands/group/group-user-add.js +38 -51
  278. package/dist/m365/spo/commands/group/group-user-list.js +29 -29
  279. package/dist/m365/spo/commands/group/group-user-remove.js +46 -50
  280. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +30 -20
  281. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +23 -20
  282. package/dist/m365/spo/commands/homesite/homesite-get.js +29 -19
  283. package/dist/m365/spo/commands/homesite/homesite-remove.js +50 -49
  284. package/dist/m365/spo/commands/homesite/homesite-set.js +28 -31
  285. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +22 -18
  286. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +27 -24
  287. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +38 -38
  288. package/dist/m365/spo/commands/hubsite/hubsite-get.js +24 -37
  289. package/dist/m365/spo/commands/hubsite/hubsite-list.js +65 -63
  290. package/dist/m365/spo/commands/hubsite/hubsite-register.js +22 -20
  291. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +33 -36
  292. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +48 -55
  293. package/dist/m365/spo/commands/hubsite/hubsite-set.js +38 -41
  294. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +21 -16
  295. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +36 -36
  296. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +35 -32
  297. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +52 -53
  298. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +29 -33
  299. package/dist/m365/spo/commands/list/list-add.js +28 -25
  300. package/dist/m365/spo/commands/list/list-contenttype-add.js +38 -37
  301. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +64 -67
  302. package/dist/m365/spo/commands/list/list-contenttype-list.js +37 -36
  303. package/dist/m365/spo/commands/list/list-contenttype-remove.js +50 -54
  304. package/dist/m365/spo/commands/list/list-get.js +41 -40
  305. package/dist/m365/spo/commands/list/list-label-get.js +55 -58
  306. package/dist/m365/spo/commands/list/list-label-set.js +55 -51
  307. package/dist/m365/spo/commands/list/list-list.js +26 -23
  308. package/dist/m365/spo/commands/list/list-remove.js +50 -54
  309. package/dist/m365/spo/commands/list/list-roleassignment-add.js +53 -43
  310. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +71 -42
  311. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +58 -31
  312. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +54 -27
  313. package/dist/m365/spo/commands/list/list-set.js +31 -28
  314. package/dist/m365/spo/commands/list/list-sitescript-get.js +58 -62
  315. package/dist/m365/spo/commands/list/list-view-add.js +37 -32
  316. package/dist/m365/spo/commands/list/list-view-field-add.js +57 -72
  317. package/dist/m365/spo/commands/list/list-view-field-remove.js +51 -68
  318. package/dist/m365/spo/commands/list/list-view-field-set.js +38 -49
  319. package/dist/m365/spo/commands/list/list-view-get.js +40 -41
  320. package/dist/m365/spo/commands/list/list-view-list.js +36 -35
  321. package/dist/m365/spo/commands/list/list-view-remove.js +50 -59
  322. package/dist/m365/spo/commands/list/list-view-set.js +35 -39
  323. package/dist/m365/spo/commands/list/list-webhook-add.js +47 -48
  324. package/dist/m365/spo/commands/list/list-webhook-get.js +38 -39
  325. package/dist/m365/spo/commands/list/list-webhook-list.js +52 -48
  326. package/dist/m365/spo/commands/list/list-webhook-remove.js +51 -56
  327. package/dist/m365/spo/commands/list/list-webhook-set.js +44 -45
  328. package/dist/m365/spo/commands/listitem/listitem-add.js +110 -119
  329. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +36 -35
  330. package/dist/m365/spo/commands/listitem/listitem-get.js +36 -35
  331. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +72 -76
  332. package/dist/m365/spo/commands/listitem/listitem-list.js +63 -68
  333. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +59 -62
  334. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +58 -61
  335. package/dist/m365/spo/commands/listitem/listitem-remove.js +55 -58
  336. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +206 -0
  337. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +58 -31
  338. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +54 -24
  339. package/dist/m365/spo/commands/listitem/listitem-set.js +150 -170
  340. package/dist/m365/spo/commands/mail/mail-send.js +50 -45
  341. package/dist/m365/spo/commands/navigation/navigation-node-add.js +31 -28
  342. package/dist/m365/spo/commands/navigation/navigation-node-list.js +28 -25
  343. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +38 -38
  344. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +30 -33
  345. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +49 -45
  346. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +50 -50
  347. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +35 -31
  348. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +41 -50
  349. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +26 -29
  350. package/dist/m365/spo/commands/page/Page.js +2 -2
  351. package/dist/m365/spo/commands/page/page-add.js +197 -218
  352. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +186 -189
  353. package/dist/m365/spo/commands/page/page-column-get.js +25 -22
  354. package/dist/m365/spo/commands/page/page-column-list.js +20 -17
  355. package/dist/m365/spo/commands/page/page-control-get.js +39 -36
  356. package/dist/m365/spo/commands/page/page-control-list.js +35 -32
  357. package/dist/m365/spo/commands/page/page-control-set.js +100 -100
  358. package/dist/m365/spo/commands/page/page-copy.js +53 -53
  359. package/dist/m365/spo/commands/page/page-get.js +52 -53
  360. package/dist/m365/spo/commands/page/page-header-set.js +230 -234
  361. package/dist/m365/spo/commands/page/page-list.js +42 -41
  362. package/dist/m365/spo/commands/page/page-remove.js +48 -47
  363. package/dist/m365/spo/commands/page/page-section-add.js +68 -70
  364. package/dist/m365/spo/commands/page/page-section-get.js +16 -13
  365. package/dist/m365/spo/commands/page/page-section-list.js +25 -22
  366. package/dist/m365/spo/commands/page/page-set.js +219 -238
  367. package/dist/m365/spo/commands/page/page-template-list.js +26 -27
  368. package/dist/m365/spo/commands/page/page-text-add.js +45 -43
  369. package/dist/m365/spo/commands/propertybag/propertybag-base.js +4 -3
  370. package/dist/m365/spo/commands/propertybag/propertybag-get.js +27 -24
  371. package/dist/m365/spo/commands/propertybag/propertybag-list.js +22 -19
  372. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +36 -40
  373. package/dist/m365/spo/commands/propertybag/propertybag-set.js +25 -29
  374. package/dist/m365/spo/commands/roledefinition/roledefinition-add.js +117 -0
  375. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +27 -24
  376. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +22 -19
  377. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +38 -37
  378. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +40 -35
  379. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +43 -39
  380. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +35 -30
  381. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +33 -36
  382. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +28 -31
  383. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +45 -41
  384. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +47 -56
  385. package/dist/m365/spo/commands/site/site-add.js +189 -199
  386. package/dist/m365/spo/commands/site/site-appcatalog-add.js +33 -36
  387. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +33 -36
  388. package/dist/m365/spo/commands/site/site-apppermission-add.js +73 -41
  389. package/dist/m365/spo/commands/site/site-apppermission-get.js +21 -18
  390. package/dist/m365/spo/commands/site/site-apppermission-list.js +17 -19
  391. package/dist/m365/spo/commands/site/site-apppermission-remove.js +37 -48
  392. package/dist/m365/spo/commands/site/site-apppermission-set.js +37 -36
  393. package/dist/m365/spo/commands/site/site-chrome-set.js +52 -47
  394. package/dist/m365/spo/commands/site/site-commsite-enable.js +30 -33
  395. package/dist/m365/spo/commands/site/site-ensure.js +46 -36
  396. package/dist/m365/spo/commands/site/site-get.js +19 -16
  397. package/dist/m365/spo/commands/site/site-groupify.js +37 -34
  398. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +27 -22
  399. package/dist/m365/spo/commands/site/site-list.js +20 -20
  400. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +29 -26
  401. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +36 -28
  402. package/dist/m365/spo/commands/site/site-remove.js +66 -73
  403. package/dist/m365/spo/commands/site/site-rename.js +66 -77
  404. package/dist/m365/spo/commands/site/site-set.js +47 -50
  405. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +40 -42
  406. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +31 -29
  407. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +26 -28
  408. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +28 -18
  409. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +38 -42
  410. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +29 -29
  411. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +28 -30
  412. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +41 -45
  413. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +30 -26
  414. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +25 -21
  415. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +53 -51
  416. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +25 -23
  417. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +19 -15
  418. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +37 -37
  419. package/dist/m365/spo/commands/sitescript/sitescript-add.js +23 -26
  420. package/dist/m365/spo/commands/sitescript/sitescript-get.js +25 -27
  421. package/dist/m365/spo/commands/sitescript/sitescript-list.js +31 -25
  422. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +38 -42
  423. package/dist/m365/spo/commands/sitescript/sitescript-set.js +38 -40
  424. package/dist/m365/spo/commands/spo-get.js +16 -6
  425. package/dist/m365/spo/commands/spo-search.js +23 -23
  426. package/dist/m365/spo/commands/spo-set.js +11 -9
  427. package/dist/m365/spo/commands/storageentity/storageentity-get.js +37 -27
  428. package/dist/m365/spo/commands/storageentity/storageentity-list.js +36 -38
  429. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +43 -51
  430. package/dist/m365/spo/commands/storageentity/storageentity-set.js +33 -36
  431. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +21 -22
  432. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +32 -22
  433. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +39 -35
  434. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +56 -62
  435. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +24 -22
  436. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +57 -53
  437. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +56 -66
  438. package/dist/m365/spo/commands/term/term-add.js +102 -110
  439. package/dist/m365/spo/commands/term/term-get.js +53 -60
  440. package/dist/m365/spo/commands/term/term-group-add.js +74 -81
  441. package/dist/m365/spo/commands/term/term-group-get.js +40 -46
  442. package/dist/m365/spo/commands/term/term-group-list.js +43 -39
  443. package/dist/m365/spo/commands/term/term-list.js +44 -56
  444. package/dist/m365/spo/commands/term/term-set-add.js +88 -96
  445. package/dist/m365/spo/commands/term/term-set-get.js +42 -54
  446. package/dist/m365/spo/commands/term/term-set-list.js +43 -49
  447. package/dist/m365/spo/commands/theme/theme-apply.js +56 -60
  448. package/dist/m365/spo/commands/theme/theme-get.js +39 -34
  449. package/dist/m365/spo/commands/theme/theme-list.js +36 -26
  450. package/dist/m365/spo/commands/theme/theme-remove.js +47 -39
  451. package/dist/m365/spo/commands/theme/theme-set.js +33 -34
  452. package/dist/m365/spo/commands/user/user-get.js +37 -39
  453. package/dist/m365/spo/commands/user/user-list.js +25 -22
  454. package/dist/m365/spo/commands/user/user-remove.js +46 -48
  455. package/dist/m365/spo/commands/userprofile/userprofile-get.js +25 -24
  456. package/dist/m365/spo/commands/userprofile/userprofile-set.js +42 -34
  457. package/dist/m365/spo/commands/web/web-add.js +74 -99
  458. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +31 -28
  459. package/dist/m365/spo/commands/web/web-get.js +23 -20
  460. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +22 -19
  461. package/dist/m365/spo/commands/web/web-list.js +26 -23
  462. package/dist/m365/spo/commands/web/web-reindex.js +44 -55
  463. package/dist/m365/spo/commands/web/web-remove.js +36 -35
  464. package/dist/m365/spo/commands/web/web-roleassignment-add.js +186 -0
  465. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +168 -0
  466. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +51 -20
  467. package/dist/m365/spo/commands/web/web-set.js +53 -48
  468. package/dist/m365/spo/commands.js +10 -0
  469. package/dist/m365/teams/commands/app/app-install.js +37 -41
  470. package/dist/m365/teams/commands/app/app-list.js +19 -15
  471. package/dist/m365/teams/commands/app/app-publish.js +23 -20
  472. package/dist/m365/teams/commands/app/app-remove.js +32 -31
  473. package/dist/m365/teams/commands/app/app-uninstall.js +31 -30
  474. package/dist/m365/teams/commands/app/app-update.js +27 -27
  475. package/dist/m365/teams/commands/cache/cache-remove.js +25 -24
  476. package/dist/m365/teams/commands/channel/channel-add.js +17 -17
  477. package/dist/m365/teams/commands/channel/channel-get.js +31 -51
  478. package/dist/m365/teams/commands/channel/channel-list.js +24 -25
  479. package/dist/m365/teams/commands/channel/channel-member-add.js +21 -30
  480. package/dist/m365/teams/commands/channel/channel-member-list.js +28 -42
  481. package/dist/m365/teams/commands/channel/channel-member-remove.js +31 -34
  482. package/dist/m365/teams/commands/channel/channel-member-set.js +34 -56
  483. package/dist/m365/teams/commands/channel/channel-remove.js +62 -68
  484. package/dist/m365/teams/commands/channel/channel-set.js +29 -26
  485. package/dist/m365/teams/commands/chat/chat-get.js +15 -25
  486. package/dist/m365/teams/commands/chat/chat-list.js +13 -10
  487. package/dist/m365/teams/commands/chat/chat-member-list.js +14 -10
  488. package/dist/m365/teams/commands/chat/chat-message-list.js +30 -26
  489. package/dist/m365/teams/commands/chat/chat-message-send.js +19 -28
  490. package/dist/m365/teams/commands/funsettings/funsettings-list.js +19 -16
  491. package/dist/m365/teams/commands/funsettings/funsettings-set.js +28 -23
  492. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +19 -16
  493. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +25 -20
  494. package/dist/m365/teams/commands/membersettings/membersettings-list.js +19 -16
  495. package/dist/m365/teams/commands/membersettings/membersettings-set.js +25 -20
  496. package/dist/m365/teams/commands/message/message-get.js +20 -17
  497. package/dist/m365/teams/commands/message/message-list.js +22 -18
  498. package/dist/m365/teams/commands/message/message-reply-list.js +19 -15
  499. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +19 -16
  500. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +26 -21
  501. package/dist/m365/teams/commands/report/report-directroutingcalls.js +21 -18
  502. package/dist/m365/teams/commands/report/report-pstncalls.js +21 -18
  503. package/dist/m365/teams/commands/tab/tab-add.js +23 -20
  504. package/dist/m365/teams/commands/tab/tab-get.js +31 -51
  505. package/dist/m365/teams/commands/tab/tab-list.js +18 -14
  506. package/dist/m365/teams/commands/tab/tab-remove.js +34 -31
  507. package/dist/m365/teams/commands/team/team-add.js +53 -55
  508. package/dist/m365/teams/commands/team/team-archive.js +24 -21
  509. package/dist/m365/teams/commands/team/team-clone.js +34 -29
  510. package/dist/m365/teams/commands/team/team-get.js +24 -26
  511. package/dist/m365/teams/commands/team/team-list.js +29 -19
  512. package/dist/m365/teams/commands/team/team-remove.js +37 -41
  513. package/dist/m365/teams/commands/team/team-set.js +24 -19
  514. package/dist/m365/teams/commands/team/team-unarchive.js +25 -25
  515. package/dist/m365/teams/commands/user/user-app-add.js +23 -18
  516. package/dist/m365/teams/commands/user/user-app-list.js +35 -38
  517. package/dist/m365/teams/commands/user/user-app-remove.js +33 -32
  518. package/dist/m365/teams/commands/user/user-list.js +21 -22
  519. package/dist/m365/teams/commands.js +0 -3
  520. package/dist/m365/tenant/commands/id/id-get.js +37 -26
  521. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +38 -24
  522. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +38 -24
  523. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +38 -24
  524. package/dist/m365/tenant/commands/security/security-alerts-list.js +19 -7
  525. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +19 -7
  526. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +19 -7
  527. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +26 -14
  528. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +24 -12
  529. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +20 -17
  530. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +24 -12
  531. package/dist/m365/todo/commands/list/list-add.js +31 -19
  532. package/dist/m365/todo/commands/list/list-list.js +20 -8
  533. package/dist/m365/todo/commands/list/list-remove.js +52 -61
  534. package/dist/m365/todo/commands/list/list-set.js +29 -34
  535. package/dist/m365/todo/commands/task/task-add.js +27 -34
  536. package/dist/m365/todo/commands/task/task-list.js +28 -35
  537. package/dist/m365/todo/commands/task/task-remove.js +52 -61
  538. package/dist/m365/todo/commands/task/task-set.js +26 -28
  539. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +26 -14
  540. package/dist/m365/viva/commands/connections/connections-app-create.js +104 -106
  541. package/dist/m365/yammer/commands/group/group-list.js +11 -8
  542. package/dist/m365/yammer/commands/group/group-user-add.js +21 -16
  543. package/dist/m365/yammer/commands/group/group-user-remove.js +39 -38
  544. package/dist/m365/yammer/commands/message/message-add.js +27 -24
  545. package/dist/m365/yammer/commands/message/message-get.js +18 -15
  546. package/dist/m365/yammer/commands/message/message-like-set.js +45 -46
  547. package/dist/m365/yammer/commands/message/message-list.js +24 -21
  548. package/dist/m365/yammer/commands/message/message-remove.js +31 -30
  549. package/dist/m365/yammer/commands/network/network-list.js +29 -17
  550. package/dist/m365/yammer/commands/user/user-get.js +25 -22
  551. package/dist/m365/yammer/commands/user/user-list.js +11 -8
  552. package/dist/m365/yammer/commands/yammer-search.js +76 -73
  553. package/dist/request.js +10 -6
  554. package/dist/settingsNames.js +0 -1
  555. package/dist/utils/cache.js +81 -0
  556. package/dist/utils/fsUtil.js +2 -4
  557. package/dist/utils/md.js +1 -1
  558. package/dist/utils/pid.js +57 -0
  559. package/dist/utils/powerPlatform.js +42 -0
  560. package/dist/utils/spo.js +7 -6
  561. package/docs/docs/cmd/aad/app/app-add.md +12 -1
  562. package/docs/docs/cmd/aad/app/app-set.md +1 -1
  563. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.md +1 -7
  564. package/docs/docs/cmd/aad/user/user-signin-list.md +1 -1
  565. package/docs/docs/cmd/adaptivecard/adaptivecard-send.md +0 -20
  566. package/docs/docs/cmd/booking/business/business-get.md +33 -0
  567. package/docs/docs/cmd/booking/business/business-list.md +21 -0
  568. package/docs/docs/cmd/cli/completion/completion-clink-update.md +1 -1
  569. package/docs/docs/cmd/cli/completion/completion-pwsh-setup.md +1 -1
  570. package/docs/docs/cmd/cli/completion/completion-pwsh-update.md +1 -1
  571. package/docs/docs/cmd/cli/completion/completion-sh-setup.md +1 -1
  572. package/docs/docs/cmd/cli/completion/completion-sh-update.md +1 -1
  573. package/docs/docs/cmd/graph/changelog/changelog-list.md +53 -0
  574. package/docs/docs/cmd/onedrive/report/report-activityusercounts.md +1 -1
  575. package/docs/docs/cmd/onenote/notebook/notebook-list.md +70 -0
  576. package/docs/docs/cmd/outlook/mail/mail-send.md +69 -17
  577. package/docs/docs/cmd/planner/task/task-checklistitem-list.md +1 -1
  578. package/docs/docs/cmd/planner/task/task-reference-add.md +1 -1
  579. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +33 -0
  580. package/docs/docs/cmd/pp/environment/environment-list.md +1 -1
  581. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +26 -0
  582. package/docs/docs/cmd/request.md +76 -0
  583. package/docs/docs/cmd/search/externalconnection/externalconnection-remove.md +40 -0
  584. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  585. package/docs/docs/cmd/spfx/spfx-doctor.md +13 -4
  586. package/docs/docs/cmd/spo/contenttype/contenttype-set.md +45 -0
  587. package/docs/docs/cmd/spo/field/field-set.md +0 -3
  588. package/docs/docs/cmd/spo/file/file-roleassignment-add.md +57 -0
  589. package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +54 -0
  590. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.md +39 -0
  591. package/docs/docs/cmd/spo/folder/folder-get.md +13 -4
  592. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +39 -0
  593. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +36 -0
  594. package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +1 -1
  595. package/docs/docs/cmd/spo/hubsite/hubsite-get.md +3 -3
  596. package/docs/docs/cmd/spo/hubsite/hubsite-unregister.md +2 -2
  597. package/docs/docs/cmd/spo/list/list-roleassignment-add.md +3 -3
  598. package/docs/docs/cmd/spo/list/list-roleassignment-remove.md +6 -3
  599. package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +9 -0
  600. package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +9 -0
  601. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.md +67 -0
  602. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-break.md +15 -6
  603. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-reset.md +9 -0
  604. package/docs/docs/cmd/spo/roledefinition/roledefinition-add.md +43 -0
  605. package/docs/docs/cmd/spo/site/site-add.md +2 -2
  606. package/docs/docs/cmd/spo/site/site-apppermission-add.md +1 -1
  607. package/docs/docs/cmd/spo/site/site-apppermission-set.md +1 -1
  608. package/docs/docs/cmd/spo/site/site-groupify.md +0 -6
  609. package/docs/docs/cmd/spo/web/web-roleassignment-add.md +57 -0
  610. package/docs/docs/cmd/spo/web/web-roleassignment-remove.md +54 -0
  611. package/docs/docs/cmd/spo/web/web-roleinheritance-reset.md +10 -1
  612. package/docs/docs/cmd/teams/cache/cache-remove.md +1 -1
  613. package/docs/docs/cmd/teams/channel/channel-add.md +1 -1
  614. package/docs/docs/cmd/teams/channel/channel-list.md +1 -1
  615. package/docs/docs/cmd/teams/channel/channel-member-add.md +5 -11
  616. package/docs/docs/cmd/teams/channel/channel-member-list.md +0 -6
  617. package/docs/docs/cmd/teams/channel/channel-member-remove.md +1 -7
  618. package/docs/docs/cmd/teams/channel/channel-member-set.md +2 -2
  619. package/docs/docs/cmd/teams/funsettings/funsettings-set.md +6 -6
  620. package/docs/docs/cmd/tenant/security/security-alerts-list.md +1 -1
  621. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +1 -1
  622. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +1 -1
  623. package/npm-shrinkwrap.json +403 -379
  624. package/package.json +37 -20
  625. package/scripts/Register-CLIM365Completion.ps1 +1 -1
  626. package/dist/cli/index.js +0 -21
  627. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +0 -60
  628. package/dist/utils/index.js +0 -31
@@ -19,7 +19,8 @@ const fs = require("fs");
19
19
  const uuid_1 = require("uuid");
20
20
  const Auth_1 = require("../../../../Auth");
21
21
  const request_1 = require("../../../../request");
22
- const utils_1 = require("../../../../utils");
22
+ const accessToken_1 = require("../../../../utils/accessToken");
23
+ const odata_1 = require("../../../../utils/odata");
23
24
  const GraphCommand_1 = require("../../../base/GraphCommand");
24
25
  const commands_1 = require("../../commands");
25
26
  class AadAppAddCommand extends GraphCommand_1.default {
@@ -27,6 +28,7 @@ class AadAppAddCommand extends GraphCommand_1.default {
27
28
  super();
28
29
  _AadAppAddCommand_instances.add(this);
29
30
  this.appName = '';
31
+ this.appPermissions = [];
30
32
  __classPrivateFieldGet(this, _AadAppAddCommand_instances, "m", _AadAppAddCommand_initTelemetry).call(this);
31
33
  __classPrivateFieldGet(this, _AadAppAddCommand_instances, "m", _AadAppAddCommand_initOptions).call(this);
32
34
  __classPrivateFieldGet(this, _AadAppAddCommand_instances, "m", _AadAppAddCommand_initValidators).call(this);
@@ -37,37 +39,35 @@ class AadAppAddCommand extends GraphCommand_1.default {
37
39
  get description() {
38
40
  return 'Creates new Azure AD app registration';
39
41
  }
40
- commandAction(logger, args, cb) {
41
- this
42
- .resolveApis(args, logger)
43
- .then(apis => this.createAppRegistration(args, apis, logger))
44
- .then(appInfo => {
45
- // based on the assumption that we're adding AAD app to the current
46
- // directory. If we in the future extend the command with allowing
47
- // users to create AAD app in a different directory, we'll need to
48
- // adjust this
49
- appInfo.tenantId = utils_1.accessToken.getTenantIdFromAccessToken(Auth_1.default.service.accessTokens[Auth_1.default.defaultResource].accessToken);
50
- return Promise.resolve(appInfo);
51
- })
52
- .then(appInfo => this.updateAppFromManifest(args, appInfo))
53
- .then(appInfo => this.configureUri(args, appInfo, logger))
54
- .then(appInfo => this.configureSecret(args, appInfo, logger))
55
- .then(appInfo => this.saveAppInfo(args, appInfo, logger))
56
- .then((_appInfo) => {
57
- const appInfo = {
58
- appId: _appInfo.appId,
59
- objectId: _appInfo.id,
60
- tenantId: _appInfo.tenantId
61
- };
62
- if (_appInfo.secret) {
63
- appInfo.secret = _appInfo.secret;
42
+ commandAction(logger, args) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ try {
45
+ const apis = yield this.resolveApis(args, logger);
46
+ let appInfo = yield this.createAppRegistration(args, apis, logger);
47
+ // based on the assumption that we're adding AAD app to the current
48
+ // directory. If we in the future extend the command with allowing
49
+ // users to create AAD app in a different directory, we'll need to
50
+ // adjust this
51
+ appInfo.tenantId = accessToken_1.accessToken.getTenantIdFromAccessToken(Auth_1.default.service.accessTokens[Auth_1.default.defaultResource].accessToken);
52
+ appInfo = yield this.updateAppFromManifest(args, appInfo);
53
+ appInfo = yield this.grantAdminConsent(appInfo, args.options.grantAdminConsent, logger);
54
+ appInfo = yield this.configureUri(args, appInfo, logger);
55
+ appInfo = yield this.configureSecret(args, appInfo, logger);
56
+ const _appInfo = yield this.saveAppInfo(args, appInfo, logger);
57
+ appInfo = {
58
+ appId: _appInfo.appId,
59
+ objectId: _appInfo.id,
60
+ tenantId: _appInfo.tenantId
61
+ };
62
+ if (_appInfo.secrets) {
63
+ appInfo.secrets = _appInfo.secrets;
64
+ }
65
+ logger.log(appInfo);
64
66
  }
65
- if (_appInfo.secrets) {
66
- appInfo.secrets = _appInfo.secrets;
67
+ catch (err) {
68
+ this.handleRejectedODataJsonPromise(err);
67
69
  }
68
- logger.log(appInfo);
69
- cb();
70
- }, (rawRes) => this.handleRejectedODataJsonPromise(rawRes, logger, cb));
70
+ });
71
71
  }
72
72
  createAppRegistration(args, apis, logger) {
73
73
  return __awaiter(this, void 0, void 0, function* () {
@@ -120,6 +120,81 @@ class AadAppAddCommand extends GraphCommand_1.default {
120
120
  return request_1.default.post(createApplicationRequestOptions);
121
121
  });
122
122
  }
123
+ grantAdminConsent(appInfo, adminConsent, logger) {
124
+ if (!adminConsent || this.appPermissions.length === 0) {
125
+ return Promise.resolve(appInfo);
126
+ }
127
+ return this.createServicePrincipal(appInfo.appId)
128
+ .then((sp) => {
129
+ if (this.debug) {
130
+ logger.logToStderr("Service principal created, returned object id: " + sp.id);
131
+ }
132
+ const tasks = [];
133
+ this.appPermissions.forEach(permission => {
134
+ if (permission.scope.length > 0) {
135
+ tasks.push(this.grantOAuth2Permission(sp.id, permission.resourceId, permission.scope.join(' ')));
136
+ if (this.debug) {
137
+ logger.logToStderr(`Admin consent granted for following resource ${permission.resourceId}, with delegated permissions: ${permission.scope.join(',')}`);
138
+ }
139
+ }
140
+ permission.resourceAccess.filter(access => access.type === "Role").forEach((access) => {
141
+ tasks.push(this.addRoleToServicePrincipal(sp.id, permission.resourceId, access.id));
142
+ if (this.debug) {
143
+ logger.logToStderr(`Admin consent granted for following resource ${permission.resourceId}, with application permission: ${access.id}`);
144
+ }
145
+ });
146
+ });
147
+ return Promise.all(tasks)
148
+ .then(_ => {
149
+ return appInfo;
150
+ });
151
+ });
152
+ }
153
+ addRoleToServicePrincipal(objectId, resourceId, appRoleId) {
154
+ const requestOptions = {
155
+ url: `${this.resource}/v1.0/myorganization/servicePrincipals/${objectId}/appRoleAssignments`,
156
+ headers: {
157
+ 'Content-Type': 'application/json'
158
+ },
159
+ responseType: 'json',
160
+ data: {
161
+ appRoleId: appRoleId,
162
+ principalId: objectId,
163
+ resourceId: resourceId
164
+ }
165
+ };
166
+ return request_1.default.post(requestOptions);
167
+ }
168
+ grantOAuth2Permission(appId, resourceId, scopeName) {
169
+ const grantAdminConsentApplicationRequestOptions = {
170
+ url: `${this.resource}/v1.0/myorganization/oauth2PermissionGrants`,
171
+ headers: {
172
+ accept: 'application/json;odata.metadata=none'
173
+ },
174
+ responseType: 'json',
175
+ data: {
176
+ clientId: appId,
177
+ consentType: "AllPrincipals",
178
+ principalId: null,
179
+ resourceId: resourceId,
180
+ scope: scopeName
181
+ }
182
+ };
183
+ return request_1.default.post(grantAdminConsentApplicationRequestOptions);
184
+ }
185
+ createServicePrincipal(appId) {
186
+ const requestOptions = {
187
+ url: `${this.resource}/v1.0/myorganization/servicePrincipals`,
188
+ headers: {
189
+ 'content-type': 'application/json'
190
+ },
191
+ data: {
192
+ appId: appId
193
+ },
194
+ responseType: 'json'
195
+ };
196
+ return request_1.default.post(requestOptions);
197
+ }
123
198
  updateAppFromManifest(args, appInfo) {
124
199
  if (!args.options.manifest) {
125
200
  return Promise.resolve(appInfo);
@@ -135,6 +210,11 @@ class AadAppAddCommand extends GraphCommand_1.default {
135
210
  // separately
136
211
  const secrets = this.getSecretsFromManifest(v2Manifest);
137
212
  // Azure Portal returns v2 manifest whereas the Graph API expects a v1.6
213
+ if (args.options.apisApplication || args.options.apisDelegated) {
214
+ // take submitted delegated / application permissions as options
215
+ // otherwise, they will be skipped in the app update
216
+ v2Manifest.requiredResourceAccess = appInfo.requiredResourceAccess;
217
+ }
138
218
  const graphManifest = this.transformManifest(v2Manifest);
139
219
  const updateAppRequestOptions = {
140
220
  url: `${this.resource}/v1.0/myorganization/applications/${appInfo.id}`,
@@ -334,36 +414,69 @@ class AadAppAddCommand extends GraphCommand_1.default {
334
414
  .then(_ => appInfo);
335
415
  }
336
416
  resolveApis(args, logger) {
337
- if (!args.options.apisDelegated && !args.options.apisApplication) {
417
+ var _a;
418
+ if (!args.options.apisDelegated && !args.options.apisApplication
419
+ && (typeof ((_a = this.manifest) === null || _a === void 0 ? void 0 : _a.requiredResourceAccess) === 'undefined' || this.manifest.requiredResourceAccess.length === 0)) {
338
420
  return Promise.resolve([]);
339
421
  }
340
422
  if (this.verbose) {
341
423
  logger.logToStderr('Resolving requested APIs...');
342
424
  }
343
- return utils_1.odata
344
- .getAllItems(`${this.resource}/v1.0/myorganization/servicePrincipals?$select=servicePrincipalNames,appId,oauth2PermissionScopes,appRoles`)
425
+ return odata_1.odata
426
+ .getAllItems(`${this.resource}/v1.0/myorganization/servicePrincipals?$select=appId,appRoles,id,oauth2PermissionScopes,servicePrincipalNames`)
345
427
  .then(servicePrincipals => {
428
+ var _a;
429
+ let resolvedApis = [];
346
430
  try {
347
- const resolvedApis = this.getRequiredResourceAccessForApis(servicePrincipals, args.options.apisDelegated, 'Scope', logger);
348
- if (this.debug) {
349
- logger.logToStderr(`Resolved delegated permissions: ${JSON.stringify(resolvedApis, null, 2)}`);
350
- }
351
- const resolvedApplicationApis = this.getRequiredResourceAccessForApis(servicePrincipals, args.options.apisApplication, 'Role', logger);
352
- if (this.debug) {
353
- logger.logToStderr(`Resolved application permissions: ${JSON.stringify(resolvedApplicationApis, null, 2)}`);
354
- }
355
- // merge resolved application APIs onto resolved delegated APIs
356
- resolvedApplicationApis.forEach(resolvedRequiredResource => {
357
- const requiredResource = resolvedApis.find(api => api.resourceAppId === resolvedRequiredResource.resourceAppId);
358
- if (requiredResource) {
359
- requiredResource.resourceAccess.push(...resolvedRequiredResource.resourceAccess);
431
+ if (args.options.apisDelegated || args.options.apisApplication) {
432
+ resolvedApis = this.getRequiredResourceAccessForApis(servicePrincipals, args.options.apisDelegated, 'Scope', logger);
433
+ if (this.verbose) {
434
+ logger.logToStderr(`Resolved delegated permissions: ${JSON.stringify(resolvedApis, null, 2)}`);
360
435
  }
361
- else {
362
- resolvedApis.push(resolvedRequiredResource);
436
+ const resolvedApplicationApis = this.getRequiredResourceAccessForApis(servicePrincipals, args.options.apisApplication, 'Role', logger);
437
+ if (this.verbose) {
438
+ logger.logToStderr(`Resolved application permissions: ${JSON.stringify(resolvedApplicationApis, null, 2)}`);
363
439
  }
364
- });
365
- if (this.debug) {
440
+ // merge resolved application APIs onto resolved delegated APIs
441
+ resolvedApplicationApis.forEach(resolvedRequiredResource => {
442
+ const requiredResource = resolvedApis.find(api => api.resourceAppId === resolvedRequiredResource.resourceAppId);
443
+ if (requiredResource) {
444
+ requiredResource.resourceAccess.push(...resolvedRequiredResource.resourceAccess);
445
+ }
446
+ else {
447
+ resolvedApis.push(resolvedRequiredResource);
448
+ }
449
+ });
450
+ }
451
+ if (typeof ((_a = this.manifest) === null || _a === void 0 ? void 0 : _a.requiredResourceAccess) !== 'undefined' && this.manifest.requiredResourceAccess.length > 0) {
452
+ const manifestApis = this.manifest.requiredResourceAccess;
453
+ manifestApis.forEach(manifestApi => {
454
+ const requiredResource = resolvedApis.find(api => api.resourceAppId === manifestApi.resourceAppId);
455
+ if (requiredResource) {
456
+ // exclude if any duplicate required resources in both manifest and submitted options
457
+ requiredResource.resourceAccess.push(...manifestApi.resourceAccess.filter(manRes => !requiredResource.resourceAccess.some(res => res.id === manRes.id)));
458
+ }
459
+ else {
460
+ resolvedApis.push(manifestApi);
461
+ }
462
+ const app = servicePrincipals.find(servicePrincipals => servicePrincipals.appId === manifestApi.resourceAppId);
463
+ if (app) {
464
+ manifestApi.resourceAccess.forEach((res => {
465
+ var _a;
466
+ const resourceAccessPermission = {
467
+ id: res.id,
468
+ type: res.type
469
+ };
470
+ const oAuthValue = (_a = app.oauth2PermissionScopes.find(scp => scp.id === res.id)) === null || _a === void 0 ? void 0 : _a.value;
471
+ this.updateAppPermissions(app.id, resourceAccessPermission, oAuthValue);
472
+ }));
473
+ }
474
+ });
475
+ }
476
+ if (this.verbose) {
366
477
  logger.logToStderr(`Merged delegated and application permissions: ${JSON.stringify(resolvedApis, null, 2)}`);
478
+ logger.logToStderr(`App role assignments: ${JSON.stringify(this.appPermissions.flatMap(permission => permission.resourceAccess.filter(access => access.type === "Role")), null, 2)}`);
479
+ logger.logToStderr(`OAuth2 permissions: ${JSON.stringify(this.appPermissions.flatMap(permission => permission.scope), null, 2)}`);
367
480
  }
368
481
  return Promise.resolve(resolvedApis);
369
482
  }
@@ -405,13 +518,34 @@ class AadAppAddCommand extends GraphCommand_1.default {
405
518
  };
406
519
  resolvedApis.push(resolvedApi);
407
520
  }
408
- resolvedApi.resourceAccess.push({
521
+ const resourceAccessPermission = {
409
522
  id: permission.id,
410
523
  type: scopeType
411
- });
524
+ };
525
+ resolvedApi.resourceAccess.push(resourceAccessPermission);
526
+ this.updateAppPermissions(servicePrincipal.id, resourceAccessPermission, permission.value);
412
527
  });
413
528
  return resolvedApis;
414
529
  }
530
+ updateAppPermissions(spId, resourceAccessPermission, oAuth2PermissionValue) {
531
+ // During API resolution, we store globally both app role assignments and oauth2permissions
532
+ // So that we'll be able to parse them during the admin consent process
533
+ let existingPermission = this.appPermissions.find(oauth => oauth.resourceId === spId);
534
+ if (!existingPermission) {
535
+ existingPermission = {
536
+ resourceId: spId,
537
+ resourceAccess: [],
538
+ scope: []
539
+ };
540
+ this.appPermissions.push(existingPermission);
541
+ }
542
+ if (resourceAccessPermission.type === 'Scope' && oAuth2PermissionValue && !existingPermission.scope.find(scp => scp === oAuth2PermissionValue)) {
543
+ existingPermission.scope.push(oAuth2PermissionValue);
544
+ }
545
+ if (!existingPermission.resourceAccess.find(res => res.id === resourceAccessPermission.id)) {
546
+ existingPermission.resourceAccess.push(resourceAccessPermission);
547
+ }
548
+ }
415
549
  configureSecret(args, appInfo, logger) {
416
550
  if (!args.options.withSecret) {
417
551
  return Promise.resolve(appInfo);
@@ -422,7 +556,10 @@ class AadAppAddCommand extends GraphCommand_1.default {
422
556
  return this
423
557
  .createSecret({ appObjectId: appInfo.id })
424
558
  .then(secret => {
425
- appInfo.secret = secret.value;
559
+ if (!appInfo.secrets) {
560
+ appInfo.secrets = [];
561
+ }
562
+ appInfo.secrets.push(secret);
426
563
  return Promise.resolve(appInfo);
427
564
  });
428
565
  }
@@ -523,7 +660,8 @@ _AadAppAddCommand_instances = new WeakSet(), _AadAppAddCommand_initTelemetry = f
523
660
  withSecret: args.options.withSecret,
524
661
  certificateFile: typeof args.options.certificateFile !== 'undefined',
525
662
  certificateBase64Encoded: typeof args.options.certificateBase64Encoded !== 'undefined',
526
- certificateDisplayName: typeof args.options.certificateDisplayName !== 'undefined'
663
+ certificateDisplayName: typeof args.options.certificateDisplayName !== 'undefined',
664
+ grantAdminConsent: typeof args.options.grantAdminConsent !== 'undefined'
527
665
  });
528
666
  });
529
667
  }, _AadAppAddCommand_initOptions = function _AadAppAddCommand_initOptions() {
@@ -565,6 +703,8 @@ _AadAppAddCommand_instances = new WeakSet(), _AadAppAddCommand_initTelemetry = f
565
703
  option: '--manifest [manifest]'
566
704
  }, {
567
705
  option: '--save'
706
+ }, {
707
+ option: '--grantAdminConsent'
568
708
  });
569
709
  }, _AadAppAddCommand_initValidators = function _AadAppAddCommand_initValidators() {
570
710
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
@@ -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 _AadAppGetCommand_instances, _AadAppGetCommand_initTelemetry, _AadAppGetCommand_initOptions, _AadAppGetCommand_initValidators;
16
+ var _AadAppGetCommand_instances, _AadAppGetCommand_initTelemetry, _AadAppGetCommand_initOptions, _AadAppGetCommand_initValidators, _AadAppGetCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const fs = require("fs");
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("../../commands");
23
23
  class AadAppGetCommand extends GraphCommand_1.default {
@@ -27,6 +27,7 @@ class AadAppGetCommand extends GraphCommand_1.default {
27
27
  __classPrivateFieldGet(this, _AadAppGetCommand_instances, "m", _AadAppGetCommand_initTelemetry).call(this);
28
28
  __classPrivateFieldGet(this, _AadAppGetCommand_instances, "m", _AadAppGetCommand_initOptions).call(this);
29
29
  __classPrivateFieldGet(this, _AadAppGetCommand_instances, "m", _AadAppGetCommand_initValidators).call(this);
30
+ __classPrivateFieldGet(this, _AadAppGetCommand_instances, "m", _AadAppGetCommand_initOptionSets).call(this);
30
31
  }
31
32
  get name() {
32
33
  return commands_1.default.APP_GET;
@@ -34,15 +35,18 @@ class AadAppGetCommand extends GraphCommand_1.default {
34
35
  get description() {
35
36
  return 'Gets an Azure AD app registration';
36
37
  }
37
- commandAction(logger, args, cb) {
38
- this
39
- .getAppObjectId(args)
40
- .then(appObjectId => this.getAppInfo(appObjectId))
41
- .then(appInfo => this.saveAppInfo(args, appInfo, logger))
42
- .then((res) => {
43
- logger.log(res);
44
- cb();
45
- }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ try {
41
+ const appObjectId = yield this.getAppObjectId(args);
42
+ const appInfo = yield this.getAppInfo(appObjectId);
43
+ const res = yield this.saveAppInfo(args, appInfo, logger);
44
+ logger.log(res);
45
+ }
46
+ catch (err) {
47
+ this.handleRejectedODataJsonPromise(err);
48
+ }
49
+ });
46
50
  }
47
51
  getAppObjectId(args) {
48
52
  if (args.options.objectId) {
@@ -136,24 +140,16 @@ _AadAppGetCommand_instances = new WeakSet(), _AadAppGetCommand_initTelemetry = f
136
140
  this.options.unshift({ option: '--appId [appId]' }, { option: '--objectId [objectId]' }, { option: '--name [name]' }, { option: '--save' });
137
141
  }, _AadAppGetCommand_initValidators = function _AadAppGetCommand_initValidators() {
138
142
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
139
- if (!args.options.appId &&
140
- !args.options.objectId &&
141
- !args.options.name) {
142
- return 'Specify either appId, objectId, or name';
143
- }
144
- if ((args.options.appId && args.options.objectId) ||
145
- (args.options.appId && args.options.name) ||
146
- (args.options.objectId && args.options.name)) {
147
- return 'Specify either appId, objectId, or name but not both';
148
- }
149
- if (args.options.appId && !utils_1.validation.isValidGuid(args.options.appId)) {
143
+ if (args.options.appId && !validation_1.validation.isValidGuid(args.options.appId)) {
150
144
  return `${args.options.appId} is not a valid GUID`;
151
145
  }
152
- if (args.options.objectId && !utils_1.validation.isValidGuid(args.options.objectId)) {
146
+ if (args.options.objectId && !validation_1.validation.isValidGuid(args.options.objectId)) {
153
147
  return `${args.options.objectId} is not a valid GUID`;
154
148
  }
155
149
  return true;
156
150
  }));
151
+ }, _AadAppGetCommand_initOptionSets = function _AadAppGetCommand_initOptionSets() {
152
+ this.optionSets.push(['appId', 'objectId', 'name']);
157
153
  };
158
154
  module.exports = new AadAppGetCommand();
159
155
  //# sourceMappingURL=app-get.js.map
@@ -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 _AadAppRemoveCommand_instances, _AadAppRemoveCommand_initTelemetry, _AadAppRemoveCommand_initOptions, _AadAppRemoveCommand_initValidators;
16
+ var _AadAppRemoveCommand_instances, _AadAppRemoveCommand_initTelemetry, _AadAppRemoveCommand_initOptions, _AadAppRemoveCommand_initValidators, _AadAppRemoveCommand_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("../../commands");
23
23
  class AadAppRemoveCommand extends GraphCommand_1.default {
@@ -27,6 +27,7 @@ class AadAppRemoveCommand extends GraphCommand_1.default {
27
27
  __classPrivateFieldGet(this, _AadAppRemoveCommand_instances, "m", _AadAppRemoveCommand_initTelemetry).call(this);
28
28
  __classPrivateFieldGet(this, _AadAppRemoveCommand_instances, "m", _AadAppRemoveCommand_initOptions).call(this);
29
29
  __classPrivateFieldGet(this, _AadAppRemoveCommand_instances, "m", _AadAppRemoveCommand_initValidators).call(this);
30
+ __classPrivateFieldGet(this, _AadAppRemoveCommand_instances, "m", _AadAppRemoveCommand_initOptionSets).call(this);
30
31
  }
31
32
  get name() {
32
33
  return commands_1.default.APP_REMOVE;
@@ -34,43 +35,42 @@ class AadAppRemoveCommand extends GraphCommand_1.default {
34
35
  get description() {
35
36
  return 'Removes an Azure AD app registration';
36
37
  }
37
- commandAction(logger, args, cb) {
38
- const deleteApp = () => {
39
- this
40
- .getObjectId(args, logger)
41
- .then((objectId) => {
42
- if (this.verbose) {
43
- logger.logToStderr(`Deleting Azure AD app ${objectId}...`);
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const deleteApp = () => __awaiter(this, void 0, void 0, function* () {
41
+ try {
42
+ const objectId = yield this.getObjectId(args, logger);
43
+ if (this.verbose) {
44
+ logger.logToStderr(`Deleting Azure AD app ${objectId}...`);
45
+ }
46
+ const requestOptions = {
47
+ url: `${this.resource}/v1.0/myorganization/applications/${objectId}`,
48
+ headers: {
49
+ accept: 'application/json;odata.metadata=none'
50
+ },
51
+ responseType: 'json'
52
+ };
53
+ yield request_1.default.delete(requestOptions);
44
54
  }
45
- const requestOptions = {
46
- url: `${this.resource}/v1.0/myorganization/applications/${objectId}`,
47
- headers: {
48
- accept: 'application/json;odata.metadata=none'
49
- },
50
- responseType: 'json'
51
- };
52
- return request_1.default.delete(requestOptions);
53
- })
54
- .then(_ => cb(), (rawRes) => this.handleRejectedODataJsonPromise(rawRes, logger, cb));
55
- };
56
- if (args.options.confirm) {
57
- deleteApp();
58
- }
59
- else {
60
- cli_1.Cli.prompt({
61
- type: 'confirm',
62
- name: 'continue',
63
- default: false,
64
- message: `Are you sure you want to remove the app?`
65
- }, (result) => {
66
- if (!result.continue) {
67
- cb();
68
- }
69
- else {
70
- deleteApp();
55
+ catch (err) {
56
+ this.handleRejectedODataJsonPromise(err);
71
57
  }
72
58
  });
73
- }
59
+ if (args.options.confirm) {
60
+ yield deleteApp();
61
+ }
62
+ else {
63
+ const result = yield Cli_1.Cli.prompt({
64
+ type: 'confirm',
65
+ name: 'continue',
66
+ default: false,
67
+ message: `Are you sure you want to remove the app?`
68
+ });
69
+ if (result.continue) {
70
+ yield deleteApp();
71
+ }
72
+ }
73
+ });
74
74
  }
75
75
  getObjectId(args, logger) {
76
76
  if (args.options.objectId) {
@@ -117,24 +117,16 @@ _AadAppRemoveCommand_instances = new WeakSet(), _AadAppRemoveCommand_initTelemet
117
117
  this.options.unshift({ option: '--appId [appId]' }, { option: '--objectId [objectId]' }, { option: '--name [name]' }, { option: '--confirm' });
118
118
  }, _AadAppRemoveCommand_initValidators = function _AadAppRemoveCommand_initValidators() {
119
119
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
120
- if (!args.options.appId &&
121
- !args.options.objectId &&
122
- !args.options.name) {
123
- return 'Specify either appId, objectId, or name';
124
- }
125
- if ((args.options.appId && args.options.objectId) ||
126
- (args.options.appId && args.options.name) ||
127
- (args.options.objectId && args.options.name)) {
128
- return 'Specify either appId, objectId, or name';
129
- }
130
- if (args.options.appId && !utils_1.validation.isValidGuid(args.options.appId)) {
120
+ if (args.options.appId && !validation_1.validation.isValidGuid(args.options.appId)) {
131
121
  return `${args.options.appId} is not a valid GUID`;
132
122
  }
133
- if (args.options.objectId && !utils_1.validation.isValidGuid(args.options.objectId)) {
123
+ if (args.options.objectId && !validation_1.validation.isValidGuid(args.options.objectId)) {
134
124
  return `${args.options.objectId} is not a valid GUID`;
135
125
  }
136
126
  return true;
137
127
  }));
128
+ }, _AadAppRemoveCommand_initOptionSets = function _AadAppRemoveCommand_initOptionSets() {
129
+ this.optionSets.push(['appId', 'objectId', 'name']);
138
130
  };
139
131
  module.exports = new AadAppRemoveCommand();
140
132
  //# sourceMappingURL=app-remove.js.map
@@ -13,7 +13,7 @@ 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 _AadAppRoleAddCommand_instances, _AadAppRoleAddCommand_initTelemetry, _AadAppRoleAddCommand_initOptions, _AadAppRoleAddCommand_initValidators;
16
+ var _AadAppRoleAddCommand_instances, _AadAppRoleAddCommand_initTelemetry, _AadAppRoleAddCommand_initOptions, _AadAppRoleAddCommand_initValidators, _AadAppRoleAddCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const uuid_1 = require("uuid");
19
19
  const request_1 = require("../../../../request");
@@ -26,6 +26,7 @@ class AadAppRoleAddCommand extends GraphCommand_1.default {
26
26
  __classPrivateFieldGet(this, _AadAppRoleAddCommand_instances, "m", _AadAppRoleAddCommand_initTelemetry).call(this);
27
27
  __classPrivateFieldGet(this, _AadAppRoleAddCommand_instances, "m", _AadAppRoleAddCommand_initOptions).call(this);
28
28
  __classPrivateFieldGet(this, _AadAppRoleAddCommand_instances, "m", _AadAppRoleAddCommand_initValidators).call(this);
29
+ __classPrivateFieldGet(this, _AadAppRoleAddCommand_instances, "m", _AadAppRoleAddCommand_initOptionSets).call(this);
29
30
  }
30
31
  get name() {
31
32
  return commands_1.default.APP_ROLE_ADD;
@@ -33,33 +34,36 @@ class AadAppRoleAddCommand extends GraphCommand_1.default {
33
34
  get description() {
34
35
  return 'Adds role to the specified Azure AD app registration';
35
36
  }
36
- commandAction(logger, args, cb) {
37
- this
38
- .getAppObjectId(args, logger)
39
- .then((appId) => this.getAppInfo(appId, logger))
40
- .then((appInfo) => {
41
- if (this.verbose) {
42
- logger.logToStderr(`Adding role ${args.options.name} to Azure AD app ${appInfo.id}...`);
43
- }
44
- const requestOptions = {
45
- url: `${this.resource}/v1.0/myorganization/applications/${appInfo.id}`,
46
- headers: {
47
- accept: 'application/json;odata.metadata=none'
48
- },
49
- responseType: 'json',
50
- data: {
51
- appRoles: appInfo.appRoles.concat({
52
- displayName: args.options.name,
53
- description: args.options.description,
54
- id: (0, uuid_1.v4)(),
55
- value: args.options.claim,
56
- allowedMemberTypes: this.getAllowedMemberTypes(args)
57
- })
37
+ commandAction(logger, args) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ try {
40
+ const appId = yield this.getAppObjectId(args, logger);
41
+ const appInfo = yield this.getAppInfo(appId, logger);
42
+ if (this.verbose) {
43
+ logger.logToStderr(`Adding role ${args.options.name} to Azure AD app ${appInfo.id}...`);
58
44
  }
59
- };
60
- return request_1.default.patch(requestOptions);
61
- })
62
- .then(_ => cb(), (rawRes) => this.handleRejectedODataJsonPromise(rawRes, logger, cb));
45
+ const requestOptions = {
46
+ url: `${this.resource}/v1.0/myorganization/applications/${appInfo.id}`,
47
+ headers: {
48
+ accept: 'application/json;odata.metadata=none'
49
+ },
50
+ responseType: 'json',
51
+ data: {
52
+ appRoles: appInfo.appRoles.concat({
53
+ displayName: args.options.name,
54
+ description: args.options.description,
55
+ id: (0, uuid_1.v4)(),
56
+ value: args.options.claim,
57
+ allowedMemberTypes: this.getAllowedMemberTypes(args)
58
+ })
59
+ }
60
+ };
61
+ yield request_1.default.patch(requestOptions);
62
+ }
63
+ catch (err) {
64
+ this.handleRejectedODataJsonPromise(err);
65
+ }
66
+ });
63
67
  }
64
68
  getAppInfo(appId, logger) {
65
69
  if (this.verbose) {
@@ -132,15 +136,7 @@ _AadAppRoleAddCommand_instances = new WeakSet(), _AadAppRoleAddCommand_initTelem
132
136
  }, { option: '-c, --claim <claim>' });
133
137
  }, _AadAppRoleAddCommand_initValidators = function _AadAppRoleAddCommand_initValidators() {
134
138
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
135
- const { appId, appObjectId, appName, allowedMembers, claim } = args.options;
136
- if ((appId && appObjectId) ||
137
- (appId && appName) ||
138
- (appObjectId && appName)) {
139
- return `Specify either appId, appObjectId or appName but not multiple`;
140
- }
141
- if (!appId && !appObjectId && !appName) {
142
- return `Specify either appId, appObjectId or appName`;
143
- }
139
+ const { allowedMembers, claim } = args.options;
144
140
  if (AadAppRoleAddCommand.allowedMembers.indexOf(allowedMembers) < 0) {
145
141
  return `${allowedMembers} is not a valid value for allowedMembers. Valid values are ${AadAppRoleAddCommand.allowedMembers.join(', ')}`;
146
142
  }
@@ -155,6 +151,8 @@ _AadAppRoleAddCommand_instances = new WeakSet(), _AadAppRoleAddCommand_initTelem
155
151
  }
156
152
  return true;
157
153
  }));
154
+ }, _AadAppRoleAddCommand_initOptionSets = function _AadAppRoleAddCommand_initOptionSets() {
155
+ this.optionSets.push(['appId', 'appObjectId', 'appName']);
158
156
  };
159
157
  AadAppRoleAddCommand.allowedMembers = ['usersGroups', 'applications', 'both'];
160
158
  module.exports = new AadAppRoleAddCommand();