@pnp/cli-microsoft365 6.0.0-beta.27e1012 → 6.0.0-beta.3261c97

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