@pnp/cli-microsoft365 5.8.0-beta.85a4dec → 5.8.0-beta.9e55865

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 (513) hide show
  1. package/dist/Command.js +48 -35
  2. package/dist/cli/Cli.js +30 -24
  3. package/dist/m365/aad/commands/app/app-add.js +30 -30
  4. package/dist/m365/aad/commands/app/app-get.js +12 -9
  5. package/dist/m365/aad/commands/app/app-remove.js +34 -35
  6. package/dist/m365/aad/commands/app/app-role-add.js +29 -26
  7. package/dist/m365/aad/commands/app/app-role-list.js +20 -8
  8. package/dist/m365/aad/commands/app/app-role-remove.js +23 -22
  9. package/dist/m365/aad/commands/app/app-set.js +12 -7
  10. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +89 -93
  11. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +38 -38
  12. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +89 -91
  13. package/dist/m365/aad/commands/group/group-list.js +35 -23
  14. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +33 -32
  15. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +17 -14
  16. package/dist/m365/aad/commands/groupsetting/groupsetting-list.js +19 -7
  17. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +30 -29
  18. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +33 -30
  19. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +14 -13
  20. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-list.js +19 -7
  21. package/dist/m365/aad/commands/o365group/o365group-add.js +85 -96
  22. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +10 -7
  23. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +11 -10
  24. package/dist/m365/aad/commands/o365group/o365group-get.js +20 -25
  25. package/dist/m365/aad/commands/o365group/o365group-list.js +38 -43
  26. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +31 -19
  27. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +24 -12
  28. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +30 -33
  29. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +21 -18
  30. package/dist/m365/aad/commands/o365group/o365group-remove.js +38 -40
  31. package/dist/m365/aad/commands/o365group/o365group-renew.js +17 -12
  32. package/dist/m365/aad/commands/o365group/o365group-set.js +96 -114
  33. package/dist/m365/aad/commands/o365group/o365group-teamify.js +31 -28
  34. package/dist/m365/aad/commands/o365group/o365group-user-add.js +27 -24
  35. package/dist/m365/aad/commands/o365group/o365group-user-list.js +15 -17
  36. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +57 -60
  37. package/dist/m365/aad/commands/o365group/o365group-user-set.js +59 -60
  38. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +25 -20
  39. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +21 -18
  40. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +41 -31
  41. package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +30 -16
  42. package/dist/m365/aad/commands/policy/policy-list.js +22 -23
  43. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +60 -52
  44. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +84 -72
  45. package/dist/m365/aad/commands/siteclassification/siteclassification-get.js +66 -57
  46. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +96 -93
  47. package/dist/m365/aad/commands/sp/sp-add.js +22 -21
  48. package/dist/m365/aad/commands/sp/sp-get.js +22 -21
  49. package/dist/m365/aad/commands/user/user-get.js +37 -37
  50. package/dist/m365/aad/commands/user/user-hibp.js +21 -22
  51. package/dist/m365/aad/commands/user/user-list.js +31 -21
  52. package/dist/m365/aad/commands/user/user-password-validate.js +29 -17
  53. package/dist/m365/aad/commands/user/user-set.js +18 -13
  54. package/dist/m365/aad/commands/user/user-signin-list.js +24 -21
  55. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +39 -37
  56. package/dist/m365/app/commands/app-get.js +27 -15
  57. package/dist/m365/app/commands/app-open.js +18 -3
  58. package/dist/m365/app/commands/permission/permission-list.js +17 -15
  59. package/dist/m365/base/AnonymousCommand.js +14 -3
  60. package/dist/m365/base/AppCommand.js +51 -44
  61. package/dist/m365/base/DateAndPeriodBasedReport.js +7 -5
  62. package/dist/m365/base/PeriodBasedReport.js +23 -16
  63. package/dist/m365/base/SpoCommand.js +13 -9
  64. package/dist/m365/base/YammerCommand.js +4 -4
  65. package/dist/m365/booking/commands/business/business-get.js +27 -17
  66. package/dist/m365/booking/commands/business/business-list.js +20 -11
  67. package/dist/m365/cli/commands/cli-consent.js +15 -12
  68. package/dist/m365/cli/commands/cli-doctor.js +35 -25
  69. package/dist/m365/cli/commands/cli-issue.js +15 -15
  70. package/dist/m365/cli/commands/cli-reconsent.js +30 -18
  71. package/dist/m365/cli/commands/completion/completion-clink-update.js +13 -3
  72. package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +47 -38
  73. package/dist/m365/cli/commands/completion/completion-pwsh-update.js +16 -6
  74. package/dist/m365/cli/commands/completion/completion-sh-setup.js +21 -11
  75. package/dist/m365/cli/commands/completion/completion-sh-update.js +16 -6
  76. package/dist/m365/cli/commands/config/config-get.js +4 -3
  77. package/dist/m365/cli/commands/config/config-reset.js +9 -8
  78. package/dist/m365/cli/commands/config/config-set.js +20 -19
  79. package/dist/m365/commands/login.js +66 -63
  80. package/dist/m365/commands/logout.js +34 -23
  81. package/dist/m365/commands/request.js +56 -59
  82. package/dist/m365/commands/status.js +49 -27
  83. package/dist/m365/commands/version.js +13 -3
  84. package/dist/m365/file/commands/convert/convert-pdf.js +58 -53
  85. package/dist/m365/file/commands/file-add.js +14 -9
  86. package/dist/m365/file/commands/file-list.js +27 -30
  87. package/dist/m365/flow/commands/environment/environment-get.js +34 -22
  88. package/dist/m365/flow/commands/environment/environment-list.js +33 -21
  89. package/dist/m365/flow/commands/flow-disable.js +28 -14
  90. package/dist/m365/flow/commands/flow-enable.js +28 -14
  91. package/dist/m365/flow/commands/flow-export.js +102 -102
  92. package/dist/m365/flow/commands/flow-get.js +33 -21
  93. package/dist/m365/flow/commands/flow-list.js +28 -16
  94. package/dist/m365/flow/commands/flow-remove.js +38 -42
  95. package/dist/m365/flow/commands/run/run-cancel.js +32 -31
  96. package/dist/m365/flow/commands/run/run-get.js +33 -21
  97. package/dist/m365/flow/commands/run/run-list.js +31 -19
  98. package/dist/m365/flow/commands/run/run-resubmit.js +36 -37
  99. package/dist/m365/graph/commands/changelog/changelog-list.js +21 -18
  100. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +30 -27
  101. package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +30 -17
  102. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +38 -34
  103. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +42 -31
  104. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +57 -54
  105. package/dist/m365/graph/commands/subscription/subscription-add.js +28 -25
  106. package/dist/m365/onedrive/commands/onedrive-list.js +23 -13
  107. package/dist/m365/onenote/commands/notebook/notebook-list.js +11 -11
  108. package/dist/m365/outlook/commands/mail/mail-send.js +73 -31
  109. package/dist/m365/outlook/commands/message/message-list.js +21 -11
  110. package/dist/m365/outlook/commands/message/message-move.js +33 -25
  111. package/dist/m365/outlook/commands/room/room-list.js +23 -11
  112. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +19 -7
  113. package/dist/m365/pa/commands/app/app-get.js +41 -42
  114. package/dist/m365/pa/commands/app/app-list.js +19 -16
  115. package/dist/m365/pa/commands/app/app-remove.js +38 -38
  116. package/dist/m365/pa/commands/connector/connector-export.js +102 -104
  117. package/dist/m365/pa/commands/connector/connector-list.js +28 -16
  118. package/dist/m365/pa/commands/environment/environment-get.js +34 -22
  119. package/dist/m365/pa/commands/environment/environment-list.js +33 -21
  120. package/dist/m365/pa/commands/pcf/pcf-init.js +35 -34
  121. package/dist/m365/pa/commands/solution/solution-init.js +48 -47
  122. package/dist/m365/pa/commands/solution/solution-reference-add.js +15 -14
  123. package/dist/m365/planner/commands/bucket/bucket-add.js +31 -30
  124. package/dist/m365/planner/commands/bucket/bucket-get.js +19 -16
  125. package/dist/m365/planner/commands/bucket/bucket-list.js +19 -16
  126. package/dist/m365/planner/commands/bucket/bucket-remove.js +39 -40
  127. package/dist/m365/planner/commands/bucket/bucket-set.js +32 -29
  128. package/dist/m365/planner/commands/plan/plan-add.js +27 -26
  129. package/dist/m365/planner/commands/plan/plan-get.js +31 -32
  130. package/dist/m365/planner/commands/plan/plan-list.js +16 -13
  131. package/dist/m365/planner/commands/plan/plan-remove.js +34 -37
  132. package/dist/m365/planner/commands/task/task-add.js +43 -48
  133. package/dist/m365/planner/commands/task/task-checklistitem-add.js +47 -37
  134. package/dist/m365/planner/commands/task/task-checklistitem-list.js +35 -21
  135. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +51 -41
  136. package/dist/m365/planner/commands/task/task-get.js +25 -22
  137. package/dist/m365/planner/commands/task/task-list.js +48 -58
  138. package/dist/m365/planner/commands/task/task-reference-add.js +24 -23
  139. package/dist/m365/planner/commands/task/task-reference-list.js +30 -18
  140. package/dist/m365/planner/commands/task/task-reference-remove.js +39 -40
  141. package/dist/m365/planner/commands/task/task-remove.js +31 -32
  142. package/dist/m365/planner/commands/task/task-set.js +34 -39
  143. package/dist/m365/planner/commands/tenant/tenant-settings-list.js +26 -14
  144. package/dist/m365/planner/commands/tenant/tenant-settings-set.js +25 -22
  145. package/dist/m365/pp/commands/environment/environment-list.js +40 -28
  146. package/dist/m365/pp/commands/gateway/gateway-list.js +29 -17
  147. package/dist/m365/pp/commands/managementapp/managementapp-add.js +19 -18
  148. package/dist/m365/pp/commands/managementapp/managementapp-list.js +20 -8
  149. package/dist/m365/search/commands/externalconnection/externalconnection-add.js +29 -24
  150. package/dist/m365/search/commands/externalconnection/externalconnection-get.js +37 -28
  151. package/dist/m365/search/commands/externalconnection/externalconnection-list.js +19 -7
  152. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +39 -32
  153. package/dist/m365/spfx/commands/package/package-generate.js +104 -97
  154. package/dist/m365/spfx/commands/project/project-doctor.js +99 -102
  155. package/dist/m365/spfx/commands/project/project-externalize.js +45 -38
  156. package/dist/m365/spfx/commands/project/project-rename.js +38 -30
  157. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +1 -1
  158. package/dist/m365/spfx/commands/project/project-upgrade.js +173 -179
  159. package/dist/m365/spfx/commands/spfx-doctor.js +44 -49
  160. package/dist/m365/spo/commands/app/app-add.js +31 -32
  161. package/dist/m365/spo/commands/app/app-deploy.js +37 -38
  162. package/dist/m365/spo/commands/app/app-get.js +39 -40
  163. package/dist/m365/spo/commands/app/app-install.js +18 -13
  164. package/dist/m365/spo/commands/app/app-instance-list.js +25 -21
  165. package/dist/m365/spo/commands/app/app-list.js +29 -32
  166. package/dist/m365/spo/commands/app/app-remove.js +33 -36
  167. package/dist/m365/spo/commands/app/app-retract.js +33 -36
  168. package/dist/m365/spo/commands/app/app-teamspackage-download.js +42 -43
  169. package/dist/m365/spo/commands/app/app-uninstall.js +31 -30
  170. package/dist/m365/spo/commands/app/app-upgrade.js +18 -13
  171. package/dist/m365/spo/commands/apppage/apppage-add.js +38 -39
  172. package/dist/m365/spo/commands/apppage/apppage-set.js +20 -15
  173. package/dist/m365/spo/commands/cdn/cdn-get.js +35 -41
  174. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +29 -37
  175. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +33 -39
  176. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +43 -57
  177. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +41 -48
  178. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +36 -45
  179. package/dist/m365/spo/commands/cdn/cdn-set.js +63 -67
  180. package/dist/m365/spo/commands/contenttype/contenttype-add.js +48 -53
  181. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +94 -112
  182. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +120 -146
  183. package/dist/m365/spo/commands/contenttype/contenttype-get.js +35 -34
  184. package/dist/m365/spo/commands/contenttype/contenttype-list.js +21 -18
  185. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +62 -66
  186. package/dist/m365/spo/commands/contenttype/contenttype-set.js +166 -0
  187. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +50 -47
  188. package/dist/m365/spo/commands/customaction/customaction-add.js +43 -40
  189. package/dist/m365/spo/commands/customaction/customaction-clear.js +27 -25
  190. package/dist/m365/spo/commands/customaction/customaction-get.js +40 -35
  191. package/dist/m365/spo/commands/customaction/customaction-list.js +28 -23
  192. package/dist/m365/spo/commands/customaction/customaction-remove.js +32 -31
  193. package/dist/m365/spo/commands/customaction/customaction-set.js +21 -16
  194. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +42 -39
  195. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +35 -32
  196. package/dist/m365/spo/commands/externaluser/externaluser-list.js +51 -56
  197. package/dist/m365/spo/commands/feature/feature-disable.js +26 -21
  198. package/dist/m365/spo/commands/feature/feature-enable.js +26 -21
  199. package/dist/m365/spo/commands/feature/feature-list.js +23 -20
  200. package/dist/m365/spo/commands/field/field-add.js +25 -24
  201. package/dist/m365/spo/commands/field/field-get.js +39 -36
  202. package/dist/m365/spo/commands/field/field-list.js +28 -25
  203. package/dist/m365/spo/commands/field/field-remove.js +83 -86
  204. package/dist/m365/spo/commands/field/field-set.js +64 -70
  205. package/dist/m365/spo/commands/file/file-add.js +153 -175
  206. package/dist/m365/spo/commands/file/file-checkin.js +36 -31
  207. package/dist/m365/spo/commands/file/file-checkout.js +23 -18
  208. package/dist/m365/spo/commands/file/file-copy.js +61 -63
  209. package/dist/m365/spo/commands/file/file-get.js +64 -66
  210. package/dist/m365/spo/commands/file/file-list.js +13 -8
  211. package/dist/m365/spo/commands/file/file-move.js +60 -62
  212. package/dist/m365/spo/commands/file/file-remove.js +54 -56
  213. package/dist/m365/spo/commands/file/file-rename.js +29 -31
  214. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +45 -43
  215. package/dist/m365/spo/commands/folder/folder-add.js +26 -23
  216. package/dist/m365/spo/commands/folder/folder-copy.js +45 -42
  217. package/dist/m365/spo/commands/folder/folder-get.js +23 -23
  218. package/dist/m365/spo/commands/folder/folder-list.js +22 -19
  219. package/dist/m365/spo/commands/folder/folder-move.js +46 -43
  220. package/dist/m365/spo/commands/folder/folder-remove.js +40 -39
  221. package/dist/m365/spo/commands/folder/folder-rename.js +30 -36
  222. package/dist/m365/spo/commands/group/group-add.js +25 -22
  223. package/dist/m365/spo/commands/group/group-get.js +40 -37
  224. package/dist/m365/spo/commands/group/group-list.js +21 -18
  225. package/dist/m365/spo/commands/group/group-remove.js +46 -49
  226. package/dist/m365/spo/commands/group/group-set.js +26 -21
  227. package/dist/m365/spo/commands/group/group-user-add.js +30 -34
  228. package/dist/m365/spo/commands/group/group-user-list.js +23 -20
  229. package/dist/m365/spo/commands/group/group-user-remove.js +39 -40
  230. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +29 -19
  231. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +22 -19
  232. package/dist/m365/spo/commands/homesite/homesite-get.js +28 -18
  233. package/dist/m365/spo/commands/homesite/homesite-remove.js +48 -47
  234. package/dist/m365/spo/commands/homesite/homesite-set.js +24 -29
  235. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +18 -15
  236. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +25 -22
  237. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +34 -35
  238. package/dist/m365/spo/commands/hubsite/hubsite-get.js +18 -32
  239. package/dist/m365/spo/commands/hubsite/hubsite-list.js +64 -62
  240. package/dist/m365/spo/commands/hubsite/hubsite-register.js +19 -18
  241. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +29 -34
  242. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +43 -52
  243. package/dist/m365/spo/commands/hubsite/hubsite-set.js +34 -39
  244. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +19 -14
  245. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +31 -32
  246. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +34 -31
  247. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +50 -51
  248. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +25 -31
  249. package/dist/m365/spo/commands/list/list-add.js +23 -20
  250. package/dist/m365/spo/commands/list/list-contenttype-add.js +30 -27
  251. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +56 -57
  252. package/dist/m365/spo/commands/list/list-contenttype-list.js +29 -26
  253. package/dist/m365/spo/commands/list/list-contenttype-remove.js +41 -43
  254. package/dist/m365/spo/commands/list/list-get.js +33 -30
  255. package/dist/m365/spo/commands/list/list-label-get.js +46 -48
  256. package/dist/m365/spo/commands/list/list-label-set.js +46 -44
  257. package/dist/m365/spo/commands/list/list-list.js +25 -22
  258. package/dist/m365/spo/commands/list/list-remove.js +41 -43
  259. package/dist/m365/spo/commands/list/list-roleassignment-add.js +35 -36
  260. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +50 -52
  261. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +32 -27
  262. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +28 -23
  263. package/dist/m365/spo/commands/list/list-set.js +25 -22
  264. package/dist/m365/spo/commands/list/list-sitescript-get.js +49 -52
  265. package/dist/m365/spo/commands/list/list-view-add.js +29 -26
  266. package/dist/m365/spo/commands/list/list-view-field-add.js +47 -48
  267. package/dist/m365/spo/commands/list/list-view-field-remove.js +40 -43
  268. package/dist/m365/spo/commands/list/list-view-field-set.js +28 -25
  269. package/dist/m365/spo/commands/list/list-view-get.js +30 -27
  270. package/dist/m365/spo/commands/list/list-view-list.js +28 -25
  271. package/dist/m365/spo/commands/list/list-view-remove.js +40 -41
  272. package/dist/m365/spo/commands/list/list-view-set.js +25 -22
  273. package/dist/m365/spo/commands/list/list-webhook-add.js +39 -38
  274. package/dist/m365/spo/commands/list/list-webhook-get.js +29 -28
  275. package/dist/m365/spo/commands/list/list-webhook-list.js +47 -44
  276. package/dist/m365/spo/commands/list/list-webhook-remove.js +41 -44
  277. package/dist/m365/spo/commands/list/list-webhook-set.js +35 -34
  278. package/dist/m365/spo/commands/listitem/listitem-add.js +100 -109
  279. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +28 -25
  280. package/dist/m365/spo/commands/listitem/listitem-get.js +28 -25
  281. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +63 -66
  282. package/dist/m365/spo/commands/listitem/listitem-list.js +63 -70
  283. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +49 -51
  284. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +49 -51
  285. package/dist/m365/spo/commands/listitem/listitem-remove.js +46 -47
  286. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +51 -53
  287. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +32 -27
  288. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +25 -20
  289. package/dist/m365/spo/commands/listitem/listitem-set.js +141 -160
  290. package/dist/m365/spo/commands/mail/mail-send.js +48 -43
  291. package/dist/m365/spo/commands/navigation/navigation-node-add.js +29 -26
  292. package/dist/m365/spo/commands/navigation/navigation-node-list.js +26 -23
  293. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +34 -35
  294. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +26 -30
  295. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +48 -44
  296. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +48 -48
  297. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +34 -30
  298. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +36 -47
  299. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +22 -27
  300. package/dist/m365/spo/commands/page/page-add.js +193 -216
  301. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +183 -186
  302. package/dist/m365/spo/commands/page/page-column-get.js +23 -20
  303. package/dist/m365/spo/commands/page/page-column-list.js +18 -15
  304. package/dist/m365/spo/commands/page/page-control-get.js +36 -33
  305. package/dist/m365/spo/commands/page/page-control-list.js +33 -30
  306. package/dist/m365/spo/commands/page/page-control-set.js +97 -97
  307. package/dist/m365/spo/commands/page/page-copy.js +51 -51
  308. package/dist/m365/spo/commands/page/page-get.js +49 -51
  309. package/dist/m365/spo/commands/page/page-header-set.js +228 -232
  310. package/dist/m365/spo/commands/page/page-list.js +40 -39
  311. package/dist/m365/spo/commands/page/page-remove.js +43 -44
  312. package/dist/m365/spo/commands/page/page-section-add.js +66 -68
  313. package/dist/m365/spo/commands/page/page-section-get.js +14 -11
  314. package/dist/m365/spo/commands/page/page-section-list.js +23 -20
  315. package/dist/m365/spo/commands/page/page-set.js +215 -236
  316. package/dist/m365/spo/commands/page/page-template-list.js +24 -25
  317. package/dist/m365/spo/commands/page/page-text-add.js +40 -40
  318. package/dist/m365/spo/commands/propertybag/propertybag-get.js +24 -22
  319. package/dist/m365/spo/commands/propertybag/propertybag-list.js +19 -17
  320. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +30 -36
  321. package/dist/m365/spo/commands/propertybag/propertybag-set.js +22 -27
  322. package/dist/m365/spo/commands/roledefinition/roledefinition-add.js +117 -0
  323. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +25 -22
  324. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +20 -17
  325. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +35 -34
  326. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +38 -34
  327. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +42 -38
  328. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +33 -29
  329. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +29 -34
  330. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +24 -29
  331. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +44 -40
  332. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +45 -54
  333. package/dist/m365/spo/commands/site/site-add.js +177 -189
  334. package/dist/m365/spo/commands/site/site-appcatalog-add.js +29 -34
  335. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +29 -34
  336. package/dist/m365/spo/commands/site/site-apppermission-add.js +66 -34
  337. package/dist/m365/spo/commands/site/site-apppermission-get.js +19 -16
  338. package/dist/m365/spo/commands/site/site-apppermission-list.js +15 -17
  339. package/dist/m365/spo/commands/site/site-apppermission-remove.js +29 -35
  340. package/dist/m365/spo/commands/site/site-apppermission-set.js +30 -29
  341. package/dist/m365/spo/commands/site/site-chrome-set.js +50 -45
  342. package/dist/m365/spo/commands/site/site-classic-add.js +66 -82
  343. package/dist/m365/spo/commands/site/site-classic-list.js +27 -19
  344. package/dist/m365/spo/commands/site/site-classic-set.js +168 -186
  345. package/dist/m365/spo/commands/site/site-commsite-enable.js +25 -30
  346. package/dist/m365/spo/commands/site/site-ensure.js +38 -28
  347. package/dist/m365/spo/commands/site/site-get.js +17 -14
  348. package/dist/m365/spo/commands/site/site-groupify.js +35 -32
  349. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +24 -19
  350. package/dist/m365/spo/commands/site/site-list.js +17 -18
  351. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +27 -24
  352. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +31 -24
  353. package/dist/m365/spo/commands/site/site-remove.js +49 -58
  354. package/dist/m365/spo/commands/site/site-rename.js +65 -76
  355. package/dist/m365/spo/commands/site/site-set.js +26 -32
  356. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +37 -40
  357. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +27 -26
  358. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +23 -26
  359. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +27 -17
  360. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +34 -39
  361. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +26 -27
  362. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +25 -28
  363. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +37 -42
  364. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +27 -23
  365. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +22 -18
  366. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +49 -48
  367. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +22 -21
  368. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +17 -13
  369. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +33 -34
  370. package/dist/m365/spo/commands/sitescript/sitescript-add.js +22 -25
  371. package/dist/m365/spo/commands/sitescript/sitescript-get.js +22 -25
  372. package/dist/m365/spo/commands/sitescript/sitescript-list.js +30 -24
  373. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +34 -39
  374. package/dist/m365/spo/commands/sitescript/sitescript-set.js +35 -38
  375. package/dist/m365/spo/commands/spo-get.js +16 -6
  376. package/dist/m365/spo/commands/spo-search.js +19 -20
  377. package/dist/m365/spo/commands/spo-set.js +9 -7
  378. package/dist/m365/spo/commands/storageentity/storageentity-get.js +36 -26
  379. package/dist/m365/spo/commands/storageentity/storageentity-list.js +34 -36
  380. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +38 -48
  381. package/dist/m365/spo/commands/storageentity/storageentity-set.js +29 -34
  382. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +15 -16
  383. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +31 -21
  384. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +38 -34
  385. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +51 -59
  386. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +21 -20
  387. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +56 -52
  388. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +54 -65
  389. package/dist/m365/spo/commands/term/term-add.js +91 -98
  390. package/dist/m365/spo/commands/term/term-get.js +43 -49
  391. package/dist/m365/spo/commands/term/term-group-add.js +70 -79
  392. package/dist/m365/spo/commands/term/term-group-get.js +32 -37
  393. package/dist/m365/spo/commands/term/term-group-list.js +42 -38
  394. package/dist/m365/spo/commands/term/term-list.js +35 -40
  395. package/dist/m365/spo/commands/term/term-set-add.js +79 -86
  396. package/dist/m365/spo/commands/term/term-set-get.js +33 -38
  397. package/dist/m365/spo/commands/term/term-set-list.js +35 -40
  398. package/dist/m365/spo/commands/theme/theme-apply.js +52 -58
  399. package/dist/m365/spo/commands/theme/theme-get.js +37 -33
  400. package/dist/m365/spo/commands/theme/theme-list.js +35 -25
  401. package/dist/m365/spo/commands/theme/theme-remove.js +45 -37
  402. package/dist/m365/spo/commands/theme/theme-set.js +29 -32
  403. package/dist/m365/spo/commands/user/user-get.js +31 -28
  404. package/dist/m365/spo/commands/user/user-list.js +23 -20
  405. package/dist/m365/spo/commands/user/user-remove.js +39 -38
  406. package/dist/m365/spo/commands/userprofile/userprofile-get.js +22 -22
  407. package/dist/m365/spo/commands/userprofile/userprofile-set.js +41 -33
  408. package/dist/m365/spo/commands/web/web-add.js +71 -97
  409. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +29 -26
  410. package/dist/m365/spo/commands/web/web-get.js +21 -18
  411. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +20 -17
  412. package/dist/m365/spo/commands/web/web-list.js +24 -21
  413. package/dist/m365/spo/commands/web/web-reindex.js +40 -52
  414. package/dist/m365/spo/commands/web/web-remove.js +33 -32
  415. package/dist/m365/spo/commands/web/web-roleassignment-add.js +24 -25
  416. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +39 -41
  417. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +21 -16
  418. package/dist/m365/spo/commands/web/web-set.js +51 -46
  419. package/dist/m365/spo/commands.js +2 -0
  420. package/dist/m365/teams/commands/app/app-install.js +27 -24
  421. package/dist/m365/teams/commands/app/app-list.js +16 -13
  422. package/dist/m365/teams/commands/app/app-publish.js +23 -20
  423. package/dist/m365/teams/commands/app/app-remove.js +29 -28
  424. package/dist/m365/teams/commands/app/app-uninstall.js +28 -27
  425. package/dist/m365/teams/commands/app/app-update.js +21 -18
  426. package/dist/m365/teams/commands/cache/cache-remove.js +24 -23
  427. package/dist/m365/teams/commands/channel/channel-add.js +11 -8
  428. package/dist/m365/teams/commands/channel/channel-get.js +24 -26
  429. package/dist/m365/teams/commands/channel/channel-list.js +14 -13
  430. package/dist/m365/teams/commands/channel/channel-member-add.js +19 -24
  431. package/dist/m365/teams/commands/channel/channel-member-list.js +21 -23
  432. package/dist/m365/teams/commands/channel/channel-member-remove.js +27 -26
  433. package/dist/m365/teams/commands/channel/channel-member-set.js +26 -31
  434. package/dist/m365/teams/commands/channel/channel-remove.js +54 -57
  435. package/dist/m365/teams/commands/channel/channel-set.js +27 -24
  436. package/dist/m365/teams/commands/chat/chat-get.js +11 -8
  437. package/dist/m365/teams/commands/chat/chat-list.js +12 -9
  438. package/dist/m365/teams/commands/chat/chat-member-list.js +11 -8
  439. package/dist/m365/teams/commands/chat/chat-message-list.js +27 -24
  440. package/dist/m365/teams/commands/chat/chat-message-send.js +10 -7
  441. package/dist/m365/teams/commands/funsettings/funsettings-list.js +17 -14
  442. package/dist/m365/teams/commands/funsettings/funsettings-set.js +26 -21
  443. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +17 -14
  444. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +23 -18
  445. package/dist/m365/teams/commands/membersettings/membersettings-list.js +17 -14
  446. package/dist/m365/teams/commands/membersettings/membersettings-set.js +23 -18
  447. package/dist/m365/teams/commands/message/message-get.js +17 -14
  448. package/dist/m365/teams/commands/message/message-list.js +16 -13
  449. package/dist/m365/teams/commands/message/message-reply-list.js +15 -12
  450. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +17 -14
  451. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +23 -18
  452. package/dist/m365/teams/commands/report/report-directroutingcalls.js +18 -15
  453. package/dist/m365/teams/commands/report/report-pstncalls.js +18 -15
  454. package/dist/m365/teams/commands/tab/tab-add.js +20 -17
  455. package/dist/m365/teams/commands/tab/tab-get.js +21 -26
  456. package/dist/m365/teams/commands/tab/tab-list.js +14 -11
  457. package/dist/m365/teams/commands/tab/tab-remove.js +29 -26
  458. package/dist/m365/teams/commands/team/team-add.js +53 -55
  459. package/dist/m365/teams/commands/team/team-archive.js +26 -23
  460. package/dist/m365/teams/commands/team/team-clone.js +40 -35
  461. package/dist/m365/teams/commands/team/team-get.js +18 -17
  462. package/dist/m365/teams/commands/team/team-list.js +28 -18
  463. package/dist/m365/teams/commands/team/team-remove.js +34 -35
  464. package/dist/m365/teams/commands/team/team-set.js +26 -21
  465. package/dist/m365/teams/commands/team/team-unarchive.js +23 -20
  466. package/dist/m365/teams/commands/user/user-app-add.js +20 -15
  467. package/dist/m365/teams/commands/user/user-app-list.js +27 -28
  468. package/dist/m365/teams/commands/user/user-app-remove.js +30 -29
  469. package/dist/m365/teams/commands/user/user-list.js +16 -18
  470. package/dist/m365/tenant/commands/id/id-get.js +36 -25
  471. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +37 -23
  472. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +37 -23
  473. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +37 -23
  474. package/dist/m365/tenant/commands/security/security-alerts-list.js +19 -7
  475. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +19 -7
  476. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +19 -7
  477. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +26 -14
  478. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +23 -11
  479. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +20 -17
  480. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +23 -11
  481. package/dist/m365/todo/commands/list/list-add.js +31 -19
  482. package/dist/m365/todo/commands/list/list-list.js +19 -7
  483. package/dist/m365/todo/commands/list/list-remove.js +56 -48
  484. package/dist/m365/todo/commands/list/list-set.js +34 -22
  485. package/dist/m365/todo/commands/task/task-add.js +32 -22
  486. package/dist/m365/todo/commands/task/task-list.js +32 -22
  487. package/dist/m365/todo/commands/task/task-remove.js +56 -48
  488. package/dist/m365/todo/commands/task/task-set.js +22 -21
  489. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +26 -14
  490. package/dist/m365/viva/commands/connections/connections-app-create.js +102 -104
  491. package/dist/m365/yammer/commands/group/group-list.js +11 -8
  492. package/dist/m365/yammer/commands/group/group-user-add.js +21 -16
  493. package/dist/m365/yammer/commands/group/group-user-remove.js +38 -37
  494. package/dist/m365/yammer/commands/message/message-add.js +27 -24
  495. package/dist/m365/yammer/commands/message/message-get.js +18 -15
  496. package/dist/m365/yammer/commands/message/message-like-set.js +44 -45
  497. package/dist/m365/yammer/commands/message/message-list.js +24 -21
  498. package/dist/m365/yammer/commands/message/message-remove.js +30 -29
  499. package/dist/m365/yammer/commands/network/network-list.js +29 -17
  500. package/dist/m365/yammer/commands/user/user-get.js +25 -22
  501. package/dist/m365/yammer/commands/user/user-list.js +11 -8
  502. package/dist/m365/yammer/commands/yammer-search.js +76 -73
  503. package/dist/utils/fsUtil.js +2 -4
  504. package/dist/utils/md.js +1 -1
  505. package/docs/docs/cmd/outlook/mail/mail-send.md +69 -11
  506. package/docs/docs/cmd/spo/contenttype/contenttype-set.md +45 -0
  507. package/docs/docs/cmd/spo/roledefinition/roledefinition-add.md +43 -0
  508. package/docs/docs/cmd/spo/site/site-apppermission-add.md +1 -1
  509. package/docs/docs/cmd/spo/site/site-apppermission-set.md +1 -1
  510. package/docs/docs/cmd/teams/channel/channel-member-add.md +5 -5
  511. package/docs/docs/cmd/teams/channel/channel-member-remove.md +1 -1
  512. package/docs/docs/cmd/teams/channel/channel-member-set.md +1 -1
  513. package/package.json +4 -1
@@ -35,111 +35,107 @@ class AadAppRoleAssignmentAddCommand extends GraphCommand_1.default {
35
35
  get description() {
36
36
  return 'Adds service principal permissions also known as scopes and app role assignments for specified Azure AD application registration';
37
37
  }
38
- commandAction(logger, args, cb) {
39
- let objectId = '';
40
- let queryFilter = '';
41
- if (args.options.appId) {
42
- queryFilter = `$filter=appId eq '${encodeURIComponent(args.options.appId)}'`;
43
- }
44
- else if (args.options.objectId) {
45
- queryFilter = `$filter=id eq '${encodeURIComponent(args.options.objectId)}'`;
46
- }
47
- else {
48
- queryFilter = `$filter=displayName eq '${encodeURIComponent(args.options.displayName)}'`;
49
- }
50
- const getServicePrinciplesRequestOptions = {
51
- url: `${this.resource}/v1.0/servicePrincipals?${queryFilter}`,
52
- headers: {
53
- accept: 'application/json'
54
- },
55
- responseType: 'json'
56
- };
57
- request_1.default
58
- .get(getServicePrinciplesRequestOptions)
59
- .then((servicePrincipalResult) => {
60
- if (servicePrincipalResult.value.length > 1) {
61
- return Promise.reject('More than one service principal found. Please use the appId or objectId option to make sure the right service principal is specified.');
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ let objectId = '';
41
+ let queryFilter = '';
42
+ if (args.options.appId) {
43
+ queryFilter = `$filter=appId eq '${encodeURIComponent(args.options.appId)}'`;
62
44
  }
63
- objectId = servicePrincipalResult.value[0].id;
64
- let resource = encodeURIComponent(args.options.resource);
65
- // try resolve aliases that the user might enter since these are seen in the Azure portal
66
- switch (args.options.resource.toLocaleLowerCase()) {
67
- case 'sharepoint':
68
- resource = 'Office 365 SharePoint Online';
69
- break;
70
- case 'intune':
71
- resource = 'Microsoft Intune API';
72
- break;
73
- case 'exchange':
74
- resource = 'Office 365 Exchange Online';
75
- break;
45
+ else if (args.options.objectId) {
46
+ queryFilter = `$filter=id eq '${encodeURIComponent(args.options.objectId)}'`;
76
47
  }
77
- // will perform resource name, appId or objectId search
78
- let filter = `$filter=(displayName eq '${resource}' or startswith(displayName,'${resource}'))`;
79
- if (utils_1.validation.isValidGuid(resource)) {
80
- filter += ` or appId eq '${resource}' or id eq '${resource}'`;
48
+ else {
49
+ queryFilter = `$filter=displayName eq '${encodeURIComponent(args.options.displayName)}'`;
81
50
  }
82
- const requestOptions = {
83
- url: `${this.resource}/v1.0/servicePrincipals?${filter}`,
51
+ const getServicePrinciplesRequestOptions = {
52
+ url: `${this.resource}/v1.0/servicePrincipals?${queryFilter}`,
84
53
  headers: {
85
- 'accept': 'application/json'
54
+ accept: 'application/json'
86
55
  },
87
56
  responseType: 'json'
88
57
  };
89
- return request_1.default.get(requestOptions);
90
- })
91
- .then((res) => {
92
- const result = [];
93
- // flatten the app roles found
94
- const appRolesFound = [];
95
- for (const servicePrincipal of res.value) {
96
- for (const role of servicePrincipal.appRoles) {
97
- appRolesFound.push({
98
- resourceId: servicePrincipal.id,
99
- objectId: role.id,
100
- value: role.value
58
+ try {
59
+ const servicePrincipalResult = yield request_1.default.get(getServicePrinciplesRequestOptions);
60
+ if (servicePrincipalResult.value.length > 1) {
61
+ throw 'More than one service principal found. Please use the appId or objectId option to make sure the right service principal is specified.';
62
+ }
63
+ objectId = servicePrincipalResult.value[0].id;
64
+ let resource = encodeURIComponent(args.options.resource);
65
+ // try resolve aliases that the user might enter since these are seen in the Azure portal
66
+ switch (args.options.resource.toLocaleLowerCase()) {
67
+ case 'sharepoint':
68
+ resource = 'Office 365 SharePoint Online';
69
+ break;
70
+ case 'intune':
71
+ resource = 'Microsoft Intune API';
72
+ break;
73
+ case 'exchange':
74
+ resource = 'Office 365 Exchange Online';
75
+ break;
76
+ }
77
+ // will perform resource name, appId or objectId search
78
+ let filter = `$filter=(displayName eq '${resource}' or startswith(displayName,'${resource}'))`;
79
+ if (utils_1.validation.isValidGuid(resource)) {
80
+ filter += ` or appId eq '${resource}' or id eq '${resource}'`;
81
+ }
82
+ const requestOptions = {
83
+ url: `${this.resource}/v1.0/servicePrincipals?${filter}`,
84
+ headers: {
85
+ 'accept': 'application/json'
86
+ },
87
+ responseType: 'json'
88
+ };
89
+ const res = yield request_1.default.get(requestOptions);
90
+ const appRoles = [];
91
+ // flatten the app roles found
92
+ const appRolesFound = [];
93
+ for (const servicePrincipal of res.value) {
94
+ for (const role of servicePrincipal.appRoles) {
95
+ appRolesFound.push({
96
+ resourceId: servicePrincipal.id,
97
+ objectId: role.id,
98
+ value: role.value
99
+ });
100
+ }
101
+ }
102
+ if (!appRolesFound.length) {
103
+ throw `The resource '${args.options.resource}' does not have any application permissions available.`;
104
+ }
105
+ // search for match between the found app roles and the specified scope option value
106
+ for (const scope of args.options.scope.split(',')) {
107
+ const existingRoles = appRolesFound.filter((role) => {
108
+ return role.value.toLocaleLowerCase() === scope.toLocaleLowerCase().trim();
101
109
  });
110
+ if (!existingRoles.length) {
111
+ // the role specified in the scope option does not belong to the found service principles
112
+ // throw an error and show list with available roles (scopes)
113
+ let availableRoles = '';
114
+ appRolesFound.map((r) => availableRoles += `${os.EOL}${r.value}`);
115
+ throw `The scope value '${scope}' you have specified does not exist for ${args.options.resource}. ${os.EOL}Available scopes (application permissions) are: ${availableRoles}`;
116
+ }
117
+ appRoles.push(existingRoles[0]);
102
118
  }
103
- }
104
- if (!appRolesFound.length) {
105
- return Promise.reject(`The resource '${args.options.resource}' does not have any application permissions available.`);
106
- }
107
- // search for match between the found app roles and the specified scope option value
108
- for (const scope of args.options.scope.split(',')) {
109
- const existingRoles = appRolesFound.filter((role) => {
110
- return role.value.toLocaleLowerCase() === scope.toLocaleLowerCase().trim();
111
- });
112
- if (!existingRoles.length) {
113
- // the role specified in the scope option does not belong to the found service principles
114
- // throw an error and show list with available roles (scopes)
115
- let availableRoles = '';
116
- appRolesFound.map((r) => availableRoles += `${os.EOL}${r.value}`);
117
- return Promise.reject(`The scope value '${scope}' you have specified does not exist for ${args.options.resource}. ${os.EOL}Available scopes (application permissions) are: ${availableRoles}`);
119
+ const tasks = [];
120
+ for (const appRole of appRoles) {
121
+ tasks.push(this.addRoleToServicePrincipal(objectId, appRole));
122
+ }
123
+ const rolesAddedResponse = yield Promise.all(tasks);
124
+ if (args.options.output && args.options.output.toLowerCase() === 'json') {
125
+ logger.log(rolesAddedResponse);
126
+ }
127
+ else {
128
+ logger.log(rolesAddedResponse.map((result) => ({
129
+ objectId: result.id,
130
+ principalDisplayName: result.principalDisplayName,
131
+ resourceDisplayName: result.resourceDisplayName
132
+ })));
118
133
  }
119
- result.push(existingRoles[0]);
120
- }
121
- return Promise.resolve(result);
122
- })
123
- .then((appRoles) => {
124
- const tasks = [];
125
- for (const appRole of appRoles) {
126
- tasks.push(this.addRoleToServicePrincipal(objectId, appRole));
127
134
  }
128
- return Promise.all(tasks);
129
- })
130
- .then((rolesAddedResponse) => {
131
- if (args.options.output && args.options.output.toLowerCase() === 'json') {
132
- logger.log(rolesAddedResponse);
135
+ catch (err) {
136
+ this.handleRejectedODataJsonPromise(err);
133
137
  }
134
- else {
135
- logger.log(rolesAddedResponse.map((result) => ({
136
- objectId: result.id,
137
- principalDisplayName: result.principalDisplayName,
138
- resourceDisplayName: result.resourceDisplayName
139
- })));
140
- }
141
- cb();
142
- }, (rawRes) => this.handleRejectedODataJsonPromise(rawRes, logger, cb));
138
+ });
143
139
  }
144
140
  addRoleToServicePrincipal(objectId, appRole) {
145
141
  const requestOptions = {
@@ -37,45 +37,45 @@ class AadAppRoleAssignmentListCommand extends GraphCommand_1.default {
37
37
  defaultProperties() {
38
38
  return ['resourceDisplayName', 'roleName'];
39
39
  }
40
- commandAction(logger, args, cb) {
41
- let spAppRoleAssignments;
42
- this.getAppRoleAssignments(args.options)
43
- .then((appRoleAssignments) => {
44
- spAppRoleAssignments = appRoleAssignments;
45
- // the role assignment has an appRoleId but no name. To get the name,
46
- // we need to get all the roles from the resource. the resource is
47
- // a service principal. Multiple roles may have same resource id.
48
- const resourceIds = appRoleAssignments.map((item) => item.resourceId);
49
- const tasks = [];
50
- for (let i = 0; i < resourceIds.length; i++) {
51
- tasks.push(this.getServicePrincipal(resourceIds[i]));
52
- }
53
- return Promise.all(tasks);
54
- })
55
- .then((resources) => {
56
- // loop through all appRoleAssignments for the servicePrincipal
57
- // and lookup the appRole.Id in the resources[resourceId].appRoles array...
58
- const results = [];
59
- spAppRoleAssignments.map((appRoleAssignment) => {
60
- const resource = resources.find((r) => r.id === appRoleAssignment.resourceId);
61
- if (resource) {
62
- const appRole = resource.appRoles.find((r) => r.id === appRoleAssignment.appRoleId);
63
- if (appRole) {
64
- results.push({
65
- appRoleId: appRoleAssignment.appRoleId,
66
- resourceDisplayName: appRoleAssignment.resourceDisplayName,
67
- resourceId: appRoleAssignment.resourceId,
68
- roleId: appRole.id,
69
- roleName: appRole.value,
70
- created: appRoleAssignment.createdDateTime,
71
- deleted: appRoleAssignment.deletedDateTime
72
- });
73
- }
40
+ commandAction(logger, args) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ try {
43
+ const spAppRoleAssignments = yield this.getAppRoleAssignments(args.options);
44
+ // the role assignment has an appRoleId but no name. To get the name,
45
+ // we need to get all the roles from the resource. the resource is
46
+ // a service principal. Multiple roles may have same resource id.
47
+ const resourceIds = spAppRoleAssignments.map((item) => item.resourceId);
48
+ const tasks = [];
49
+ for (let i = 0; i < resourceIds.length; i++) {
50
+ tasks.push(this.getServicePrincipal(resourceIds[i]));
74
51
  }
75
- });
76
- logger.log(results);
77
- cb();
78
- }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
52
+ const resources = yield Promise.all(tasks);
53
+ // loop through all appRoleAssignments for the servicePrincipal
54
+ // and lookup the appRole.Id in the resources[resourceId].appRoles array...
55
+ const results = [];
56
+ spAppRoleAssignments.map((appRoleAssignment) => {
57
+ const resource = resources.find((r) => r.id === appRoleAssignment.resourceId);
58
+ if (resource) {
59
+ const appRole = resource.appRoles.find((r) => r.id === appRoleAssignment.appRoleId);
60
+ if (appRole) {
61
+ results.push({
62
+ appRoleId: appRoleAssignment.appRoleId,
63
+ resourceDisplayName: appRoleAssignment.resourceDisplayName,
64
+ resourceId: appRoleAssignment.resourceId,
65
+ roleId: appRole.id,
66
+ roleName: appRole.value,
67
+ created: appRoleAssignment.createdDateTime,
68
+ deleted: appRoleAssignment.deletedDateTime
69
+ });
70
+ }
71
+ }
72
+ });
73
+ logger.log(results);
74
+ }
75
+ catch (err) {
76
+ this.handleRejectedODataJsonPromise(err);
77
+ }
78
+ });
79
79
  }
80
80
  getAppRoleAssignments(argOptions) {
81
81
  return new Promise((resolve, reject) => {
@@ -36,105 +36,103 @@ class AadAppRoleAssignmentRemoveCommand extends GraphCommand_1.default {
36
36
  get description() {
37
37
  return 'Deletes an app role assignment for the specified Azure AD Application Registration';
38
38
  }
39
- commandAction(logger, args, cb) {
40
- const removeAppRoleAssignment = () => {
41
- let sp;
42
- // get the service principal associated with the appId
43
- let spMatchQuery = '';
44
- if (args.options.appId) {
45
- spMatchQuery = `appId eq '${encodeURIComponent(args.options.appId)}'`;
46
- }
47
- else if (args.options.objectId) {
48
- spMatchQuery = `id eq '${encodeURIComponent(args.options.objectId)}'`;
49
- }
50
- else {
51
- spMatchQuery = `displayName eq '${encodeURIComponent(args.options.displayName)}'`;
52
- }
53
- this
54
- .getServicePrincipalForApp(spMatchQuery)
55
- .then((resp) => {
56
- if (!resp.value.length) {
57
- return Promise.reject('app registration not found');
58
- }
59
- sp = resp.value[0];
60
- let resource = encodeURIComponent(args.options.resource);
61
- // try resolve aliases that the user might enter since these are seen in the Azure portal
62
- switch (args.options.resource.toLocaleLowerCase()) {
63
- case 'sharepoint':
64
- resource = 'Office 365 SharePoint Online';
65
- break;
66
- case 'intune':
67
- resource = 'Microsoft Intune API';
68
- break;
69
- case 'exchange':
70
- resource = 'Office 365 Exchange Online';
71
- break;
72
- }
73
- // will perform resource name, appId or objectId search
74
- let filter = `$filter=(displayName eq '${resource}' or startswith(displayName,'${resource}'))`;
75
- if (utils_1.validation.isValidGuid(resource)) {
76
- filter += ` or appId eq '${resource}' or id eq '${resource}'`;
39
+ commandAction(logger, args) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const removeAppRoleAssignment = () => __awaiter(this, void 0, void 0, function* () {
42
+ let sp;
43
+ // get the service principal associated with the appId
44
+ let spMatchQuery = '';
45
+ if (args.options.appId) {
46
+ spMatchQuery = `appId eq '${encodeURIComponent(args.options.appId)}'`;
77
47
  }
78
- const requestOptions = {
79
- url: `${this.resource}/v1.0/servicePrincipals?${filter}`,
80
- headers: {
81
- 'accept': 'application/json'
82
- },
83
- responseType: 'json'
84
- };
85
- return request_1.default.get(requestOptions);
86
- })
87
- .then((resp) => {
88
- if (!resp.value.length) {
89
- return Promise.reject('Resource not found');
48
+ else if (args.options.objectId) {
49
+ spMatchQuery = `id eq '${encodeURIComponent(args.options.objectId)}'`;
90
50
  }
91
- const appRolesToBeDeleted = [];
92
- const appRolesFound = resp.value[0].appRoles;
93
- if (!appRolesFound.length) {
94
- return Promise.reject(`The resource '${args.options.resource}' does not have any application permissions available.`);
51
+ else {
52
+ spMatchQuery = `displayName eq '${encodeURIComponent(args.options.displayName)}'`;
95
53
  }
96
- for (const scope of args.options.scope.split(',')) {
97
- const existingRoles = appRolesFound.filter((role) => {
98
- return role.value.toLocaleLowerCase() === scope.toLocaleLowerCase().trim();
99
- });
100
- if (!existingRoles.length) {
101
- // the role specified in the scope option does not belong to the found service principles
102
- // throw an error and show list with available roles (scopes)
103
- let availableRoles = '';
104
- appRolesFound.map((r) => availableRoles += `${os.EOL}${r.value}`);
105
- return Promise.reject(`The scope value '${scope}' you have specified does not exist for ${args.options.resource}. ${os.EOL}Available scopes (application permissions) are: ${availableRoles}`);
54
+ try {
55
+ let resp = yield this.getServicePrincipalForApp(spMatchQuery);
56
+ if (!resp.value.length) {
57
+ throw 'app registration not found';
106
58
  }
107
- appRolesToBeDeleted.push(existingRoles[0]);
108
- }
109
- const tasks = [];
110
- for (const appRole of appRolesToBeDeleted) {
111
- const appRoleAssignment = sp.appRoleAssignments.filter((role) => role.appRoleId === appRole.id);
112
- if (!appRoleAssignment.length) {
113
- return Promise.reject('App role assignment not found');
59
+ sp = resp.value[0];
60
+ let resource = encodeURIComponent(args.options.resource);
61
+ // try resolve aliases that the user might enter since these are seen in the Azure portal
62
+ switch (args.options.resource.toLocaleLowerCase()) {
63
+ case 'sharepoint':
64
+ resource = 'Office 365 SharePoint Online';
65
+ break;
66
+ case 'intune':
67
+ resource = 'Microsoft Intune API';
68
+ break;
69
+ case 'exchange':
70
+ resource = 'Office 365 Exchange Online';
71
+ break;
114
72
  }
115
- tasks.push(this.removeAppRoleAssignmentForServicePrincipal(sp.id, appRoleAssignment[0].id));
116
- }
117
- return Promise.all(tasks);
118
- }).then(_ => cb(), (res) => this.handleRejectedODataJsonPromise(res, logger, cb));
119
- };
120
- if (args.options.confirm) {
121
- removeAppRoleAssignment();
122
- }
123
- else {
124
- cli_1.Cli.prompt({
125
- type: 'confirm',
126
- name: 'continue',
127
- default: false,
128
- message: `Are you sure you want to remove the appRoleAssignment with scope ${args.options.scope} for resource ${args.options.resource}?`
129
- }, (result) => {
130
- if (!result.continue) {
131
- cb();
73
+ // will perform resource name, appId or objectId search
74
+ let filter = `$filter=(displayName eq '${resource}' or startswith(displayName,'${resource}'))`;
75
+ if (utils_1.validation.isValidGuid(resource)) {
76
+ filter += ` or appId eq '${resource}' or id eq '${resource}'`;
77
+ }
78
+ const requestOptions = {
79
+ url: `${this.resource}/v1.0/servicePrincipals?${filter}`,
80
+ headers: {
81
+ 'accept': 'application/json'
82
+ },
83
+ responseType: 'json'
84
+ };
85
+ resp = yield request_1.default.get(requestOptions);
86
+ if (!resp.value.length) {
87
+ throw 'Resource not found';
88
+ }
89
+ const appRolesToBeDeleted = [];
90
+ const appRolesFound = resp.value[0].appRoles;
91
+ if (!appRolesFound.length) {
92
+ throw `The resource '${args.options.resource}' does not have any application permissions available.`;
93
+ }
94
+ for (const scope of args.options.scope.split(',')) {
95
+ const existingRoles = appRolesFound.filter((role) => {
96
+ return role.value.toLocaleLowerCase() === scope.toLocaleLowerCase().trim();
97
+ });
98
+ if (!existingRoles.length) {
99
+ // the role specified in the scope option does not belong to the found service principles
100
+ // throw an error and show list with available roles (scopes)
101
+ let availableRoles = '';
102
+ appRolesFound.map((r) => availableRoles += `${os.EOL}${r.value}`);
103
+ throw `The scope value '${scope}' you have specified does not exist for ${args.options.resource}. ${os.EOL}Available scopes (application permissions) are: ${availableRoles}`;
104
+ }
105
+ appRolesToBeDeleted.push(existingRoles[0]);
106
+ }
107
+ const tasks = [];
108
+ for (const appRole of appRolesToBeDeleted) {
109
+ const appRoleAssignment = sp.appRoleAssignments.filter((role) => role.appRoleId === appRole.id);
110
+ if (!appRoleAssignment.length) {
111
+ throw 'App role assignment not found';
112
+ }
113
+ tasks.push(this.removeAppRoleAssignmentForServicePrincipal(sp.id, appRoleAssignment[0].id));
114
+ }
115
+ yield Promise.all(tasks);
132
116
  }
133
- else {
134
- removeAppRoleAssignment();
117
+ catch (err) {
118
+ this.handleRejectedODataJsonPromise(err);
135
119
  }
136
120
  });
137
- }
121
+ if (args.options.confirm) {
122
+ yield removeAppRoleAssignment();
123
+ }
124
+ else {
125
+ const result = yield cli_1.Cli.prompt({
126
+ type: 'confirm',
127
+ name: 'continue',
128
+ default: false,
129
+ message: `Are you sure you want to remove the appRoleAssignment with scope ${args.options.scope} for resource ${args.options.resource}?`
130
+ });
131
+ if (result.continue) {
132
+ yield removeAppRoleAssignment();
133
+ }
134
+ }
135
+ });
138
136
  }
139
137
  getServicePrincipalForApp(filterParam) {
140
138
  const spRequestOptions = {
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
12
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
13
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
@@ -25,30 +34,33 @@ class AadGroupListCommand extends GraphCommand_1.default {
25
34
  defaultProperties() {
26
35
  return ['id', 'displayName', 'groupType'];
27
36
  }
28
- commandAction(logger, args, cb) {
29
- const endpoint = args.options.deleted ? 'directory/deletedItems/microsoft.graph.group' : 'groups';
30
- utils_1.odata
31
- .getAllItems(`${this.resource}/v1.0/${endpoint}`)
32
- .then((groups) => {
33
- if (args.options.output === 'text') {
34
- groups.forEach((group) => {
35
- if (group.groupTypes && group.groupTypes.length > 0 && group.groupTypes[0] === 'Unified') {
36
- group.groupType = 'Microsoft 365';
37
- }
38
- else if (group.mailEnabled && group.securityEnabled) {
39
- group.groupType = 'Mail enabled security';
40
- }
41
- else if (group.securityEnabled) {
42
- group.groupType = 'Security';
43
- }
44
- else if (group.mailEnabled) {
45
- group.groupType = 'Distribution';
46
- }
47
- });
37
+ commandAction(logger, args) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const endpoint = args.options.deleted ? 'directory/deletedItems/microsoft.graph.group' : 'groups';
40
+ try {
41
+ const groups = yield utils_1.odata.getAllItems(`${this.resource}/v1.0/${endpoint}`);
42
+ if (args.options.output === 'text') {
43
+ groups.forEach((group) => {
44
+ if (group.groupTypes && group.groupTypes.length > 0 && group.groupTypes[0] === 'Unified') {
45
+ group.groupType = 'Microsoft 365';
46
+ }
47
+ else if (group.mailEnabled && group.securityEnabled) {
48
+ group.groupType = 'Mail enabled security';
49
+ }
50
+ else if (group.securityEnabled) {
51
+ group.groupType = 'Security';
52
+ }
53
+ else if (group.mailEnabled) {
54
+ group.groupType = 'Distribution';
55
+ }
56
+ });
57
+ }
58
+ logger.log(groups);
48
59
  }
49
- logger.log(groups);
50
- cb();
51
- }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
60
+ catch (err) {
61
+ this.handleRejectedODataJsonPromise(err);
62
+ }
63
+ });
52
64
  }
53
65
  }
54
66
  _AadGroupListCommand_instances = new WeakSet(), _AadGroupListCommand_initTelemetry = function _AadGroupListCommand_initTelemetry() {
@@ -35,38 +35,39 @@ class AadGroupSettingAddCommand extends GraphCommand_1.default {
35
35
  allowUnknownOptions() {
36
36
  return true;
37
37
  }
38
- commandAction(logger, args, cb) {
39
- if (this.verbose) {
40
- logger.logToStderr(`Retrieving group setting template with id '${args.options.templateId}'...`);
41
- }
42
- const requestOptions = {
43
- url: `${this.resource}/v1.0/groupSettingTemplates/${args.options.templateId}`,
44
- headers: {
45
- accept: 'application/json;odata.metadata=none'
46
- },
47
- responseType: 'json'
48
- };
49
- request_1.default
50
- .get(requestOptions)
51
- .then((groupSettingTemplate) => {
52
- const requestOptions = {
53
- url: `${this.resource}/v1.0/groupSettings`,
54
- headers: {
55
- accept: 'application/json;odata.metadata=none',
56
- 'content-type': 'application/json'
57
- },
58
- data: {
59
- templateId: args.options.templateId,
60
- values: this.getGroupSettingValues(args.options, groupSettingTemplate)
61
- },
62
- responseType: 'json'
63
- };
64
- return request_1.default.post(requestOptions);
65
- })
66
- .then((res) => {
67
- logger.log(res);
68
- cb();
69
- }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (this.verbose) {
41
+ logger.logToStderr(`Retrieving group setting template with id '${args.options.templateId}'...`);
42
+ }
43
+ try {
44
+ let requestOptions = {
45
+ url: `${this.resource}/v1.0/groupSettingTemplates/${args.options.templateId}`,
46
+ headers: {
47
+ accept: 'application/json;odata.metadata=none'
48
+ },
49
+ responseType: 'json'
50
+ };
51
+ const groupSettingTemplate = yield request_1.default.get(requestOptions);
52
+ requestOptions = {
53
+ url: `${this.resource}/v1.0/groupSettings`,
54
+ headers: {
55
+ accept: 'application/json;odata.metadata=none',
56
+ 'content-type': 'application/json'
57
+ },
58
+ data: {
59
+ templateId: args.options.templateId,
60
+ values: this.getGroupSettingValues(args.options, groupSettingTemplate)
61
+ },
62
+ responseType: 'json'
63
+ };
64
+ const res = yield request_1.default.post(requestOptions);
65
+ logger.log(res);
66
+ }
67
+ catch (err) {
68
+ this.handleRejectedODataJsonPromise(err);
69
+ }
70
+ });
70
71
  }
71
72
  getGroupSettingValues(options, groupSettingTemplate) {
72
73
  const values = [];