@pnp/cli-microsoft365 6.8.0-beta.e41be56 → 6.8.0

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 (290) hide show
  1. package/.eslintrc.js +2 -0
  2. package/.mocharc.json +1 -0
  3. package/README.md +6 -1
  4. package/dist/Command.js +6 -0
  5. package/dist/chili/chili.js +298 -0
  6. package/dist/chili/index.js +20 -0
  7. package/dist/cli/Cli.js +2 -2
  8. package/dist/m365/aad/commands/user/user-add.js +30 -21
  9. package/dist/m365/app/commands/permission/permission-add.js +279 -0
  10. package/dist/m365/app/commands.js +1 -0
  11. package/dist/m365/commands/commands.js +2 -0
  12. package/dist/m365/commands/docs.js +42 -0
  13. package/dist/m365/commands/login.js +1 -1
  14. package/dist/m365/commands/setup.js +180 -0
  15. package/dist/m365/commands/setupPresets.js +25 -0
  16. package/dist/m365/pa/commands/app/app-consent-set.js +101 -0
  17. package/dist/m365/pa/commands.js +1 -0
  18. package/dist/m365/planner/commands/roster/roster-plan-list.js +102 -0
  19. package/dist/m365/planner/commands.js +1 -0
  20. package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-get.js +97 -0
  21. package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-list.js +85 -0
  22. package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-policysettings-list.js +89 -0
  23. package/dist/m365/purview/commands.js +3 -0
  24. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.17.2.js +25 -0
  25. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001035_DEP_fluentui_react.js +18 -0
  26. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021009_PKG_no_duplicate_oui_deps.js +11 -4
  27. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  28. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001035_DEP_fluentui_react.js +18 -0
  29. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +2 -0
  30. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.17.2.js +61 -0
  31. package/dist/m365/spfx/commands/project/project-upgrade.js +2 -1
  32. package/dist/m365/spfx/commands/spfx-doctor.js +29 -30
  33. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-remove.js +146 -0
  34. package/dist/m365/spo/commands/file/file-checkin.js +8 -3
  35. package/dist/m365/spo/commands/file/file-checkout.js +8 -3
  36. package/dist/m365/spo/commands/file/file-copy.js +4 -4
  37. package/dist/m365/spo/commands/file/file-get.js +3 -1
  38. package/dist/m365/spo/commands/file/file-list.js +17 -6
  39. package/dist/m365/spo/commands/file/file-move.js +6 -7
  40. package/dist/m365/spo/commands/file/file-remove.js +6 -12
  41. package/dist/m365/spo/commands/file/file-rename.js +3 -3
  42. package/dist/m365/spo/commands/file/file-roleassignment-add.js +2 -1
  43. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +3 -3
  44. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +2 -1
  45. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +2 -1
  46. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +4 -2
  47. package/dist/m365/spo/commands/file/file-version-clear.js +3 -1
  48. package/dist/m365/spo/commands/file/file-version-get.js +3 -1
  49. package/dist/m365/spo/commands/file/file-version-remove.js +3 -1
  50. package/dist/m365/spo/commands/file/file-version-restore.js +3 -1
  51. package/dist/m365/spo/commands/folder/folder-copy.js +4 -4
  52. package/dist/m365/spo/commands/folder/folder-get.js +5 -2
  53. package/dist/m365/spo/commands/folder/folder-move.js +3 -2
  54. package/dist/m365/spo/commands/folder/folder-rename.js +5 -2
  55. package/dist/m365/spo/commands/list/list-get.js +30 -3
  56. package/dist/m365/spo/commands/list/list-list.js +39 -2
  57. package/dist/m365/spo/commands/listitem/listitem-batch-set.js +308 -0
  58. package/dist/m365/spo/commands/page/page-section-add.js +2 -3
  59. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +46 -1
  60. package/dist/m365/spo/commands/site/site-recyclebinitem-move.js +119 -0
  61. package/dist/m365/spo/commands/site/site-recyclebinitem-remove.js +106 -0
  62. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-get.js +30 -39
  63. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-list.js +47 -0
  64. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-remove.js +151 -0
  65. package/dist/m365/spo/commands/tenant/tenant-commandset-remove.js +152 -0
  66. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +203 -0
  67. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +4 -0
  68. package/dist/m365/spo/commands/term/term-add.js +13 -4
  69. package/dist/m365/spo/commands/term/term-get.js +14 -5
  70. package/dist/m365/spo/commands/term/term-group-get.js +12 -3
  71. package/dist/m365/spo/commands/term/term-group-list.js +39 -4
  72. package/dist/m365/spo/commands/term/term-list.js +18 -9
  73. package/dist/m365/spo/commands/term/term-set-add.js +13 -4
  74. package/dist/m365/spo/commands/term/term-set-get.js +12 -3
  75. package/dist/m365/spo/commands/term/term-set-list.js +12 -3
  76. package/dist/m365/spo/commands.js +9 -0
  77. package/dist/m365/teams/commands/chat/chat-member-remove.js +137 -0
  78. package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +124 -0
  79. package/dist/m365/teams/commands.js +2 -0
  80. package/dist/utils/formatting.js +35 -11
  81. package/dist/utils/pid.js +5 -0
  82. package/dist/utils/spo.js +1 -1
  83. package/docs/docs/cmd/aad/o365group/o365group-get.md +0 -12
  84. package/docs/docs/cmd/aad/user/user-add.md +4 -0
  85. package/docs/docs/cmd/aad/user/user-set.md +2 -2
  86. package/docs/docs/cmd/adaptivecard/adaptivecard-send.md +13 -13
  87. package/docs/docs/cmd/app/app-get.md +25 -6
  88. package/docs/docs/cmd/app/app-open.md +8 -2
  89. package/docs/docs/cmd/app/permission/permission-add.md +53 -0
  90. package/docs/docs/cmd/app/permission/permission-list.md +19 -19
  91. package/docs/docs/cmd/booking/business/business-get.md +30 -8
  92. package/docs/docs/cmd/booking/business/business-list.md +17 -8
  93. package/docs/docs/cmd/cli/cli-consent.md +6 -0
  94. package/docs/docs/cmd/cli/cli-doctor.md +17 -0
  95. package/docs/docs/cmd/cli/cli-issue.md +6 -0
  96. package/docs/docs/cmd/cli/cli-reconsent.md +6 -0
  97. package/docs/docs/cmd/cli/completion/completion-sh-setup.md +6 -0
  98. package/docs/docs/cmd/cli/config/config-get.md +6 -0
  99. package/docs/docs/cmd/docs.md +51 -0
  100. package/docs/docs/cmd/flow/environment/environment-list.md +18 -0
  101. package/docs/docs/cmd/flow/flow-get.md +20 -0
  102. package/docs/docs/cmd/flow/flow-list.md +17 -0
  103. package/docs/docs/cmd/graph/changelog/changelog-list.md +52 -0
  104. package/docs/docs/cmd/graph/schemaextension/schemaextension-add.md +61 -0
  105. package/docs/docs/cmd/graph/schemaextension/schemaextension-get.md +61 -0
  106. package/docs/docs/cmd/graph/schemaextension/schemaextension-list.md +61 -0
  107. package/docs/docs/cmd/graph/schemaextension/schemaextension-remove.md +4 -0
  108. package/docs/docs/cmd/graph/schemaextension/schemaextension-set.md +4 -0
  109. package/docs/docs/cmd/graph/subscription/subscription-add.md +73 -0
  110. package/docs/docs/cmd/login.md +1 -1
  111. package/docs/docs/cmd/onedrive/onedrive-list.md +225 -0
  112. package/docs/docs/cmd/onedrive/report/report-activityfilecounts.md +39 -0
  113. package/docs/docs/cmd/onedrive/report/report-activityusercounts.md +39 -0
  114. package/docs/docs/cmd/onedrive/report/report-activityuserdetail.md +43 -0
  115. package/docs/docs/cmd/onedrive/report/report-usageaccountcounts.md +38 -0
  116. package/docs/docs/cmd/onedrive/report/report-usageaccountdetail.md +43 -0
  117. package/docs/docs/cmd/onedrive/report/report-usagefilecounts.md +38 -0
  118. package/docs/docs/cmd/onedrive/report/report-usagestorage.md +37 -0
  119. package/docs/docs/cmd/onenote/notebook/notebook-list.md +79 -0
  120. package/docs/docs/cmd/pa/app/app-consent-set.md +47 -0
  121. package/docs/docs/cmd/planner/plan/plan-get.md +1 -1
  122. package/docs/docs/cmd/planner/plan/plan-list.md +1 -1
  123. package/docs/docs/cmd/planner/roster/roster-add.md +2 -1
  124. package/docs/docs/cmd/planner/roster/roster-get.md +1 -1
  125. package/docs/docs/cmd/planner/roster/roster-plan-list.md +109 -0
  126. package/docs/docs/cmd/planner/roster/roster-remove.md +2 -1
  127. package/docs/docs/cmd/planner/task/task-get.md +0 -6
  128. package/docs/docs/cmd/planner/task/task-set.md +1 -1
  129. package/docs/docs/cmd/purview/retentionevent/retentionevent-add.md +6 -7
  130. package/docs/docs/cmd/purview/retentionevent/retentionevent-get.md +6 -7
  131. package/docs/docs/cmd/purview/retentionevent/retentionevent-list.md +4 -4
  132. package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.md +4 -4
  133. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.md +10 -10
  134. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +11 -11
  135. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.md +10 -10
  136. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.md +10 -10
  137. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.md +10 -10
  138. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.md +12 -12
  139. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-get.md +8 -9
  140. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-list.md +8 -9
  141. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-remove.md +8 -8
  142. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-set.md +8 -8
  143. package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-get.md +118 -0
  144. package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-list.md +111 -0
  145. package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-policysettings-list.md +97 -0
  146. package/docs/docs/cmd/search/externalconnection/externalconnection-get.md +17 -0
  147. package/docs/docs/cmd/search/externalconnection/externalconnection-list.md +17 -0
  148. package/docs/docs/cmd/setup.md +86 -0
  149. package/docs/docs/cmd/spfx/project/project-doctor.md +1 -1
  150. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  151. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +1 -1
  152. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-remove.md +77 -0
  153. package/docs/docs/cmd/spo/commandset/commandset-set.md +1 -1
  154. package/docs/docs/cmd/spo/contenttype/contenttype-set.md +2 -2
  155. package/docs/docs/cmd/spo/customaction/customaction-add.md +1 -1
  156. package/docs/docs/cmd/spo/customaction/customaction-set.md +1 -1
  157. package/docs/docs/cmd/spo/feature/feature-enable.md +2 -2
  158. package/docs/docs/cmd/spo/file/file-add.md +1 -1
  159. package/docs/docs/cmd/spo/file/file-checkin.md +1 -1
  160. package/docs/docs/cmd/spo/file/file-checkout.md +1 -1
  161. package/docs/docs/cmd/spo/file/file-copy.md +1 -1
  162. package/docs/docs/cmd/spo/file/file-get.md +1 -1
  163. package/docs/docs/cmd/spo/file/file-list.md +9 -6
  164. package/docs/docs/cmd/spo/file/file-move.md +3 -3
  165. package/docs/docs/cmd/spo/file/file-remove.md +12 -0
  166. package/docs/docs/cmd/spo/file/file-rename.md +1 -1
  167. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.md +3 -3
  168. package/docs/docs/cmd/spo/file/file-retentionlabel-remove.md +2 -2
  169. package/docs/docs/cmd/spo/file/file-roleassignment-add.md +1 -1
  170. package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +1 -1
  171. package/docs/docs/cmd/spo/file/file-roleinheritance-break.md +1 -1
  172. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.md +1 -1
  173. package/docs/docs/cmd/spo/file/file-sharinginfo-get.md +1 -1
  174. package/docs/docs/cmd/spo/file/file-sharinglink-add.md +1 -1
  175. package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +1 -1
  176. package/docs/docs/cmd/spo/file/file-sharinglink-get.md +1 -1
  177. package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
  178. package/docs/docs/cmd/spo/file/file-sharinglink-remove.md +1 -1
  179. package/docs/docs/cmd/spo/file/file-sharinglink-set.md +1 -1
  180. package/docs/docs/cmd/spo/file/file-version-clear.md +2 -2
  181. package/docs/docs/cmd/spo/file/file-version-get.md +1 -1
  182. package/docs/docs/cmd/spo/file/file-version-list.md +1 -1
  183. package/docs/docs/cmd/spo/file/file-version-remove.md +1 -1
  184. package/docs/docs/cmd/spo/file/file-version-restore.md +1 -1
  185. package/docs/docs/cmd/spo/folder/folder-add.md +9 -3
  186. package/docs/docs/cmd/spo/folder/folder-copy.md +2 -2
  187. package/docs/docs/cmd/spo/folder/folder-get.md +7 -7
  188. package/docs/docs/cmd/spo/folder/folder-list.md +11 -11
  189. package/docs/docs/cmd/spo/folder/folder-move.md +1 -1
  190. package/docs/docs/cmd/spo/folder/folder-remove.md +7 -7
  191. package/docs/docs/cmd/spo/folder/folder-rename.md +11 -5
  192. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.md +3 -3
  193. package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.md +1 -1
  194. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +1 -1
  195. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +4 -4
  196. package/docs/docs/cmd/spo/list/list-get.md +10 -0
  197. package/docs/docs/cmd/spo/list/list-list.md +28 -0
  198. package/docs/docs/cmd/spo/listitem/listitem-batch-set.md +67 -0
  199. package/docs/docs/cmd/spo/listitem/listitem-list.md +1 -1
  200. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.md +19 -0
  201. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-remove.md +12 -0
  202. package/docs/docs/cmd/spo/orgnewssite/orgnewssite-list.md +6 -0
  203. package/docs/docs/cmd/spo/page/page-column-get.md +15 -0
  204. package/docs/docs/cmd/spo/page/page-column-list.md +16 -0
  205. package/docs/docs/cmd/spo/page/page-control-get.md +18 -0
  206. package/docs/docs/cmd/spo/page/page-control-list.md +18 -0
  207. package/docs/docs/cmd/spo/page/page-copy.md +35 -0
  208. package/docs/docs/cmd/spo/page/page-get.md +39 -0
  209. package/docs/docs/cmd/spo/page/page-list.md +53 -0
  210. package/docs/docs/cmd/spo/page/page-section-get.md +12 -0
  211. package/docs/docs/cmd/spo/page/page-section-list.md +13 -0
  212. package/docs/docs/cmd/spo/page/page-template-list.md +31 -0
  213. package/docs/docs/cmd/spo/propertybag/propertybag-get.md +6 -0
  214. package/docs/docs/cmd/spo/propertybag/propertybag-list.md +13 -0
  215. package/docs/docs/cmd/spo/report/report-activityfilecounts.md +7 -0
  216. package/docs/docs/cmd/spo/report/report-activitypages.md +7 -0
  217. package/docs/docs/cmd/spo/report/report-activityusercounts.md +7 -0
  218. package/docs/docs/cmd/spo/report/report-activityuserdetail.md +7 -0
  219. package/docs/docs/cmd/spo/report/report-siteusagedetail.md +7 -0
  220. package/docs/docs/cmd/spo/report/report-siteusagefilecounts.md +7 -0
  221. package/docs/docs/cmd/spo/report/report-siteusagepages.md +7 -0
  222. package/docs/docs/cmd/spo/report/report-siteusagesitecounts.md +7 -0
  223. package/docs/docs/cmd/spo/report/report-siteusagestorage.md +7 -0
  224. package/docs/docs/cmd/spo/roledefinition/roledefinition-get.md +20 -0
  225. package/docs/docs/cmd/spo/roledefinition/roledefinition-list.md +20 -0
  226. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-add.md +20 -0
  227. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-list.md +18 -0
  228. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-approve.md +20 -0
  229. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-list.md +17 -0
  230. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-set.md +13 -0
  231. package/docs/docs/cmd/spo/site/site-recyclebinitem-move.md +43 -0
  232. package/docs/docs/cmd/spo/site/site-recyclebinitem-remove.md +45 -0
  233. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.md +1 -1
  234. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.md +103 -0
  235. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.md +49 -0
  236. package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.md +49 -0
  237. package/docs/docs/cmd/spo/tenant/tenant-commandset-set.md +57 -0
  238. package/docs/docs/cmd/spo/tenant/tenant-settings-set.md +57 -54
  239. package/docs/docs/cmd/spo/term/term-add.md +107 -6
  240. package/docs/docs/cmd/spo/term/term-get.md +111 -10
  241. package/docs/docs/cmd/spo/term/term-group-get.md +71 -5
  242. package/docs/docs/cmd/spo/term/term-group-list.md +70 -2
  243. package/docs/docs/cmd/spo/term/term-list.md +80 -8
  244. package/docs/docs/cmd/spo/term/term-set-add.md +95 -11
  245. package/docs/docs/cmd/spo/term/term-set-get.md +92 -8
  246. package/docs/docs/cmd/spo/term/term-set-list.md +85 -5
  247. package/docs/docs/cmd/teams/app/app-list.md +17 -0
  248. package/docs/docs/cmd/teams/app/app-publish.md +18 -1
  249. package/docs/docs/cmd/teams/channel/channel-add.md +20 -0
  250. package/docs/docs/cmd/teams/channel/channel-get.md +21 -0
  251. package/docs/docs/cmd/teams/channel/channel-list.md +21 -0
  252. package/docs/docs/cmd/teams/channel/channel-member-list.md +20 -0
  253. package/docs/docs/cmd/teams/channel/channel-member-set.md +21 -0
  254. package/docs/docs/cmd/teams/chat/chat-get.md +22 -0
  255. package/docs/docs/cmd/teams/chat/chat-list.md +22 -0
  256. package/docs/docs/cmd/teams/chat/chat-member-list.md +20 -0
  257. package/docs/docs/cmd/teams/chat/chat-member-remove.md +52 -0
  258. package/docs/docs/cmd/teams/chat/chat-message-list.md +23 -0
  259. package/docs/docs/cmd/teams/funsettings/funsettings-list.md +15 -0
  260. package/docs/docs/cmd/teams/guestsettings/guestsettings-list.md +13 -0
  261. package/docs/docs/cmd/teams/meeting/meeting-transcript-list.md +96 -0
  262. package/docs/docs/cmd/teams/membersettings/membersettings-list.md +17 -0
  263. package/docs/docs/cmd/teams/tab/tab-remove.md +1 -1
  264. package/docs/docs/cmd/todo/list/list-add.md +18 -0
  265. package/docs/docs/cmd/todo/list/list-get.md +18 -0
  266. package/docs/docs/cmd/todo/list/list-list.md +18 -0
  267. package/docs/docs/cmd/todo/task/task-get.md +21 -0
  268. package/docs/docs/cmd/todo/task/task-list.md +21 -0
  269. package/docs/docs/cmd/util/accesstoken/accesstoken-get.md +6 -0
  270. package/docs/docs/cmd/version.md +1 -1
  271. package/docs/docs/cmd/viva/connections/connections-app-create.md +3 -3
  272. package/docs/docs/cmd/yammer/group/group-list.md +42 -0
  273. package/docs/docs/cmd/yammer/message/message-add.md +32 -0
  274. package/docs/docs/cmd/yammer/message/message-get.md +32 -0
  275. package/docs/docs/cmd/yammer/message/message-list.md +34 -0
  276. package/docs/docs/cmd/yammer/network/network-list.md +70 -0
  277. package/docs/docs/cmd/yammer/report/report-activitycounts.md +7 -0
  278. package/docs/docs/cmd/yammer/report/report-activityusercounts.md +7 -0
  279. package/docs/docs/cmd/yammer/report/report-activityuserdetail.md +7 -0
  280. package/docs/docs/cmd/yammer/report/report-deviceusagedistributionusercounts.md +7 -0
  281. package/docs/docs/cmd/yammer/report/report-deviceusageusercounts.md +7 -0
  282. package/docs/docs/cmd/yammer/report/report-deviceusageuserdetail.md +7 -0
  283. package/docs/docs/cmd/yammer/report/report-groupsactivitycounts.md +7 -0
  284. package/docs/docs/cmd/yammer/report/report-groupsactivitydetail.md +7 -0
  285. package/docs/docs/cmd/yammer/report/report-groupsactivitygroupcounts.md +7 -0
  286. package/docs/docs/cmd/yammer/user/user-get.md +55 -0
  287. package/docs/docs/cmd/yammer/user/user-list.md +55 -0
  288. package/docs/docs/cmd/yammer/yammer-search.md +15 -3
  289. package/npm-shrinkwrap.json +267 -334
  290. package/package.json +15 -13
@@ -0,0 +1,137 @@
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 _TeamsChatMemberRemoveCommand_instances, _TeamsChatMemberRemoveCommand_initTelemetry, _TeamsChatMemberRemoveCommand_initOptions, _TeamsChatMemberRemoveCommand_initValidators, _TeamsChatMemberRemoveCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const odata_1 = require("../../../../utils/odata");
19
+ const validation_1 = require("../../../../utils/validation");
20
+ const GraphCommand_1 = require("../../../base/GraphCommand");
21
+ const commands_1 = require("../../commands");
22
+ const Cli_1 = require("../../../../cli/Cli");
23
+ const request_1 = require("../../../../request");
24
+ class TeamsChatMemberRemoveCommand extends GraphCommand_1.default {
25
+ get name() {
26
+ return commands_1.default.CHAT_MEMBER_REMOVE;
27
+ }
28
+ get description() {
29
+ return 'Removes a member from a Microsoft Teams chat conversation';
30
+ }
31
+ constructor() {
32
+ super();
33
+ _TeamsChatMemberRemoveCommand_instances.add(this);
34
+ __classPrivateFieldGet(this, _TeamsChatMemberRemoveCommand_instances, "m", _TeamsChatMemberRemoveCommand_initTelemetry).call(this);
35
+ __classPrivateFieldGet(this, _TeamsChatMemberRemoveCommand_instances, "m", _TeamsChatMemberRemoveCommand_initOptions).call(this);
36
+ __classPrivateFieldGet(this, _TeamsChatMemberRemoveCommand_instances, "m", _TeamsChatMemberRemoveCommand_initValidators).call(this);
37
+ __classPrivateFieldGet(this, _TeamsChatMemberRemoveCommand_instances, "m", _TeamsChatMemberRemoveCommand_initOptionSets).call(this);
38
+ }
39
+ commandAction(logger, args) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const removeUserFromChat = () => __awaiter(this, void 0, void 0, function* () {
42
+ try {
43
+ if (this.verbose) {
44
+ logger.logToStderr(`Removing member ${args.options.id || args.options.userId || args.options.userName} from chat with id ${args.options.chatId}...`);
45
+ }
46
+ const memberId = yield this.getMemberId(args);
47
+ const chatMemberRemoveOptions = {
48
+ url: `${this.resource}/v1.0/chats/${args.options.chatId}/members/${memberId}`,
49
+ headers: {
50
+ accept: 'application/json;odata.metadata=none'
51
+ }
52
+ };
53
+ yield request_1.default.delete(chatMemberRemoveOptions);
54
+ }
55
+ catch (err) {
56
+ this.handleRejectedODataJsonPromise(err);
57
+ }
58
+ });
59
+ if (args.options.confirm) {
60
+ yield removeUserFromChat();
61
+ }
62
+ else {
63
+ const result = yield Cli_1.Cli.prompt({
64
+ type: 'confirm',
65
+ name: 'continue',
66
+ default: false,
67
+ message: `Are you sure you want to remove member ${args.options.id || args.options.userId || args.options.userName} from chat with id ${args.options.chatId}?`
68
+ });
69
+ if (result.continue) {
70
+ yield removeUserFromChat();
71
+ }
72
+ }
73
+ });
74
+ }
75
+ getMemberId(args) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ if (args.options.id) {
78
+ return args.options.id;
79
+ }
80
+ const memberRequestUrl = `${this.resource}/v1.0/chats/${args.options.chatId}/members`;
81
+ const members = yield odata_1.odata.getAllItems(memberRequestUrl);
82
+ if (args.options.userName) {
83
+ const matchingMember = members.find((memb) => memb.email.toLowerCase() === args.options.userName.toLowerCase());
84
+ if (!matchingMember) {
85
+ throw `Member with userName '${args.options.userName}' could not be found in the chat.`;
86
+ }
87
+ return matchingMember.id;
88
+ }
89
+ else {
90
+ const matchingMember = members.find((memb) => memb.userId.toLowerCase() === args.options.userId.toLowerCase());
91
+ if (!matchingMember) {
92
+ throw `Member with userId '${args.options.userId}' could not be found in the chat.`;
93
+ }
94
+ return matchingMember.id;
95
+ }
96
+ });
97
+ }
98
+ }
99
+ _TeamsChatMemberRemoveCommand_instances = new WeakSet(), _TeamsChatMemberRemoveCommand_initTelemetry = function _TeamsChatMemberRemoveCommand_initTelemetry() {
100
+ this.telemetry.push((args) => {
101
+ Object.assign(this.telemetryProperties, {
102
+ id: typeof args.options.id !== 'undefined',
103
+ userId: typeof args.options.userId !== 'undefined',
104
+ userName: typeof args.options.userName !== 'undefined',
105
+ confirm: !!args.options.confirm
106
+ });
107
+ });
108
+ }, _TeamsChatMemberRemoveCommand_initOptions = function _TeamsChatMemberRemoveCommand_initOptions() {
109
+ this.options.unshift({
110
+ option: '-i, --chatId <chatId>'
111
+ }, {
112
+ option: '--id [id]'
113
+ }, {
114
+ option: '--userId [userId]'
115
+ }, {
116
+ option: '--userName [userName]'
117
+ }, {
118
+ option: '--confirm'
119
+ });
120
+ }, _TeamsChatMemberRemoveCommand_initValidators = function _TeamsChatMemberRemoveCommand_initValidators() {
121
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
122
+ if (!validation_1.validation.isValidTeamsChatId(args.options.chatId)) {
123
+ return `${args.options.chatId} is not a valid Teams chatId.`;
124
+ }
125
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
126
+ return `${args.options.userId} is not a valid userId.`;
127
+ }
128
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
129
+ return `${args.options.userName} is not a valid user principal name.`;
130
+ }
131
+ return true;
132
+ }));
133
+ }, _TeamsChatMemberRemoveCommand_initOptionSets = function _TeamsChatMemberRemoveCommand_initOptionSets() {
134
+ this.optionSets.push({ options: ['id', 'userId', 'userName'] });
135
+ };
136
+ module.exports = new TeamsChatMemberRemoveCommand();
137
+ //# sourceMappingURL=chat-member-remove.js.map
@@ -0,0 +1,124 @@
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 _TeamsMeetingTranscriptListCommand_instances, _TeamsMeetingTranscriptListCommand_initTelemetry, _TeamsMeetingTranscriptListCommand_initOptions, _TeamsMeetingTranscriptListCommand_initValidators, _TeamsMeetingTranscriptListCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
19
+ const GraphCommand_1 = require("../../../base/GraphCommand");
20
+ const commands_1 = require("../../commands");
21
+ const odata_1 = require("../../../../utils/odata");
22
+ const validation_1 = require("../../../../utils/validation");
23
+ const accessToken_1 = require("../../../../utils/accessToken");
24
+ const aadUser_1 = require("../../../../utils/aadUser");
25
+ class TeamsMeetingTranscriptListCommand extends GraphCommand_1.default {
26
+ get name() {
27
+ return commands_1.default.MEETING_TRANSCRIPT_LIST;
28
+ }
29
+ get description() {
30
+ return 'Lists all transcripts for a given meeting';
31
+ }
32
+ defaultProperties() {
33
+ return ['id', 'createdDateTime'];
34
+ }
35
+ constructor() {
36
+ super();
37
+ _TeamsMeetingTranscriptListCommand_instances.add(this);
38
+ __classPrivateFieldGet(this, _TeamsMeetingTranscriptListCommand_instances, "m", _TeamsMeetingTranscriptListCommand_initTelemetry).call(this);
39
+ __classPrivateFieldGet(this, _TeamsMeetingTranscriptListCommand_instances, "m", _TeamsMeetingTranscriptListCommand_initOptions).call(this);
40
+ __classPrivateFieldGet(this, _TeamsMeetingTranscriptListCommand_instances, "m", _TeamsMeetingTranscriptListCommand_initValidators).call(this);
41
+ __classPrivateFieldGet(this, _TeamsMeetingTranscriptListCommand_instances, "m", _TeamsMeetingTranscriptListCommand_initOptionSets).call(this);
42
+ }
43
+ commandAction(logger, args) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ try {
46
+ const isAppOnlyAccessToken = accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken);
47
+ if (this.verbose) {
48
+ logger.logToStderr(`Retrieving transcript list for the given meeting...`);
49
+ }
50
+ let requestUrl = `${this.resource}/beta/`;
51
+ if (isAppOnlyAccessToken) {
52
+ if (!args.options.userId && !args.options.userName && !args.options.email) {
53
+ throw `The option 'userId', 'userName' or 'email' is required when retrieving meeting transcripts list using app only permissions`;
54
+ }
55
+ requestUrl += 'users/';
56
+ if (args.options.userId) {
57
+ requestUrl += args.options.userId;
58
+ }
59
+ else if (args.options.userName) {
60
+ requestUrl += args.options.userName;
61
+ }
62
+ else if (args.options.email) {
63
+ if (this.verbose) {
64
+ logger.logToStderr(`Getting user ID for user with email '${args.options.email}'.`);
65
+ }
66
+ const userId = yield aadUser_1.aadUser.getUserIdByEmail(args.options.email);
67
+ requestUrl += userId;
68
+ }
69
+ }
70
+ else {
71
+ if (args.options.userId || args.options.userName || args.options.email) {
72
+ throw `The options 'userId', 'userName' and 'email' cannot be used while retrieving meeting transcripts using delegated permissions`;
73
+ }
74
+ requestUrl += `me`;
75
+ }
76
+ requestUrl += `/onlineMeetings/${args.options.meetingId}/transcripts`;
77
+ const res = yield odata_1.odata.getAllItems(requestUrl);
78
+ logger.log(res);
79
+ }
80
+ catch (err) {
81
+ this.handleRejectedODataJsonPromise(err);
82
+ }
83
+ });
84
+ }
85
+ }
86
+ _TeamsMeetingTranscriptListCommand_instances = new WeakSet(), _TeamsMeetingTranscriptListCommand_initTelemetry = function _TeamsMeetingTranscriptListCommand_initTelemetry() {
87
+ this.telemetry.push((args) => {
88
+ Object.assign(this.telemetryProperties, {
89
+ userId: typeof args.options.userId !== 'undefined',
90
+ userName: typeof args.options.userName !== 'undefined',
91
+ email: typeof args.options.email !== 'undefined'
92
+ });
93
+ });
94
+ }, _TeamsMeetingTranscriptListCommand_initOptions = function _TeamsMeetingTranscriptListCommand_initOptions() {
95
+ this.options.unshift({
96
+ option: '-u, --userId [userId]'
97
+ }, {
98
+ option: '-n, --userName [userName]'
99
+ }, {
100
+ option: '--email [email]'
101
+ }, {
102
+ option: '-m, --meetingId <meetingId>'
103
+ });
104
+ }, _TeamsMeetingTranscriptListCommand_initValidators = function _TeamsMeetingTranscriptListCommand_initValidators() {
105
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
106
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
107
+ return `${args.options.userId} is not a valid Guid`;
108
+ }
109
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
110
+ return `${args.options.userName} is not a valid user principal name (UPN)`;
111
+ }
112
+ if (args.options.email && !validation_1.validation.isValidUserPrincipalName(args.options.email)) {
113
+ return `${args.options.email} is not a valid email`;
114
+ }
115
+ return true;
116
+ }));
117
+ }, _TeamsMeetingTranscriptListCommand_initOptionSets = function _TeamsMeetingTranscriptListCommand_initOptionSets() {
118
+ this.optionSets.push({
119
+ options: ['userId', 'userName', 'email'],
120
+ runsWhen: (args) => args.options.userId || args.options.userName || args.options.email
121
+ });
122
+ };
123
+ module.exports = new TeamsMeetingTranscriptListCommand();
124
+ //# sourceMappingURL=meeting-transcript-list.js.map
@@ -21,6 +21,7 @@ exports.default = {
21
21
  CHAT_GET: `${prefix} chat get`,
22
22
  CHAT_LIST: `${prefix} chat list`,
23
23
  CHAT_MEMBER_LIST: `${prefix} chat member list`,
24
+ CHAT_MEMBER_REMOVE: `${prefix} chat member remove`,
24
25
  CHAT_MESSAGE_LIST: `${prefix} chat message list`,
25
26
  CHAT_MESSAGE_SEND: `${prefix} chat message send`,
26
27
  FUNSETTINGS_LIST: `${prefix} funsettings list`,
@@ -30,6 +31,7 @@ exports.default = {
30
31
  MEETING_ATTENDANCEREPORT_LIST: `${prefix} meeting attendancereport list`,
31
32
  MEETING_GET: `${prefix} meeting get`,
32
33
  MEETING_LIST: `${prefix} meeting list`,
34
+ MEETING_TRANSCRIPT_LIST: `${prefix} meeting transcript list`,
33
35
  MEMBERSETTINGS_LIST: `${prefix} membersettings list`,
34
36
  MEMBERSETTINGS_SET: `${prefix} membersettings set`,
35
37
  MESSAGE_GET: `${prefix} message get`,
@@ -1,9 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatting = void 0;
3
+ exports.formatting = exports.CheckStatus = void 0;
4
+ const chalk = require("chalk");
4
5
  const stripJsonComments = require("strip-json-comments");
5
6
  const base_permissions_1 = require("../m365/spo/base-permissions");
6
7
  const RoleType_1 = require("../m365/spo/commands/roledefinition/RoleType");
8
+ /**
9
+ * Has the particular check passed or failed
10
+ */
11
+ var CheckStatus;
12
+ (function (CheckStatus) {
13
+ CheckStatus[CheckStatus["Success"] = 0] = "Success";
14
+ CheckStatus[CheckStatus["Failure"] = 1] = "Failure";
15
+ })(CheckStatus = exports.CheckStatus || (exports.CheckStatus = {}));
7
16
  exports.formatting = {
8
17
  escapeXml(s) {
9
18
  if (!s) {
@@ -54,16 +63,23 @@ exports.formatting = {
54
63
  const regex = new RegExp(`\\s*(${quoteChar})?(.*?)\\1\\s*(?:${delimiter}|$)`, 'gs');
55
64
  const lines = s.split('\n');
56
65
  const match = (line) => [...line.matchAll(regex)]
57
- .map(m => m[2]) // we only want the second capture group
58
- .slice(0, -1); // cut off blank match at the end
59
- const heads = match(lines[0]);
60
- return lines.slice(1).map(line => {
61
- return match(line).reduce((acc, cur, i) => {
62
- const val = cur;
63
- const numValue = parseInt(val);
64
- const key = heads[i];
65
- return Object.assign(Object.assign({}, acc), { [key]: isNaN(numValue) || numValue.toString() !== val ? val : numValue });
66
- }, {});
66
+ .map(m => m[2]); // we only want the second capture group
67
+ const heads = match(lines[0]).slice(0, -1);
68
+ return lines.slice(1)
69
+ .filter(text => text.trim() !== '')
70
+ .map(line => {
71
+ const lineMatch = match(line);
72
+ const obj = {};
73
+ heads.forEach((key, index) => {
74
+ const value = parseInt(lineMatch[index]);
75
+ if (isNaN(value) || value.toString() !== lineMatch[index]) {
76
+ obj[key] = lineMatch[index];
77
+ }
78
+ else {
79
+ obj[key] = parseInt(lineMatch[index]);
80
+ }
81
+ });
82
+ return obj;
67
83
  });
68
84
  },
69
85
  encodeQueryParameter(value) {
@@ -132,6 +148,14 @@ exports.formatting = {
132
148
  }
133
149
  xml = xml.replace(/<\/?[0-9]{1,}>/g, '');
134
150
  return xml;
151
+ },
152
+ getStatus(result, message) {
153
+ const primarySupported = process.platform !== 'win32' ||
154
+ process.env.CI === 'true' ||
155
+ process.env.TERM === 'xterm-256color';
156
+ const success = primarySupported ? '✔' : '√';
157
+ const failure = primarySupported ? '✖' : '×';
158
+ return `${result === CheckStatus.Success ? chalk.green(success) : chalk.red(failure)} ${message}`;
135
159
  }
136
160
  };
137
161
  //# sourceMappingURL=formatting.js.map
package/dist/utils/pid.js CHANGED
@@ -68,6 +68,11 @@ exports.pid = {
68
68
  return processName;
69
69
  }
70
70
  return undefined;
71
+ },
72
+ isPowerShell() {
73
+ const processName = exports.pid.getProcessName(process.ppid) || '';
74
+ return processName.indexOf('powershell') > -1 ||
75
+ processName.indexOf('pwsh') > -1;
71
76
  }
72
77
  };
73
78
  //# sourceMappingURL=pid.js.map
package/dist/utils/spo.js CHANGED
@@ -453,7 +453,7 @@ exports.spo = {
453
453
  * Retrieves the SiteId, VroomItemId and VroomDriveId from a specific file.
454
454
  * @param webUrl Web url
455
455
  * @param fileId GUID ID of the file
456
- * @param fileUrl Decoded URL of the file
456
+ * @param fileUrl Decoded site-relative or server-relative URL of the file
457
457
  */
458
458
  getVroomFileDetails(webUrl, fileId, fileUrl) {
459
459
  return __awaiter(this, void 0, void 0, function* () {
@@ -8,12 +8,6 @@ Gets information about the specified Microsoft 365 Group or Microsoft Teams team
8
8
  m365 aad o365group get [options]
9
9
  ```
10
10
 
11
- ## Alias
12
-
13
- ```sh
14
- m365 teams team get
15
- ```
16
-
17
11
  ## Options
18
12
 
19
13
  `-i, --id <id>`
@@ -37,9 +31,3 @@ Get information about the Microsoft 365 Group with id _1caf7dcd-7e83-4c3a-94f7-9
37
31
  ```sh
38
32
  m365 aad o365group get --id 1caf7dcd-7e83-4c3a-94f7-932a1299c844 --includeSiteUrl
39
33
  ```
40
-
41
- Get information about the Microsoft Teams team with id _2eaf7dcd-7e83-4c3a-94f7-932a1299c844_
42
-
43
- ```sh
44
- m365 teams team get --id 2eaf7dcd-7e83-4c3a-94f7-932a1299c844
45
- ```
@@ -71,6 +71,10 @@ m365 aad user add [options]
71
71
  !!! note
72
72
  After running this command, it may take a minute before the user is effectively created in the tenant.
73
73
 
74
+ This command allows using unknown options. For a comprehensive list of user properties, please refer to the [Graph documentation page](https://learn.microsoft.com/en-us/graph/api/resources/user?view=graph-rest-1.0#properties).
75
+
76
+ If the specified option is not found, you will receive a `Resource 'xyz' does not exist or one of its queried reference-property objects are not present.` error.
77
+
74
78
  ## Examples
75
79
 
76
80
  Create a user and let him/her update the password at first login
@@ -74,9 +74,9 @@ m365 aad user set [options]
74
74
 
75
75
  ## Remarks
76
76
 
77
- This command allows using unknown options.
77
+ This command allows using unknown options. For a comprehensive list of user properties, please refer to the [Graph documentation page](https://learn.microsoft.com/en-us/graph/api/resources/user?view=graph-rest-1.0#properties).
78
78
 
79
- If the user with the specified id or user name doesn't exist, you will get a `Resource 'xyz' does not exist or one of its queried reference-property objects are not present.` error.
79
+ If the user with the specified ID or username doesn't exist, or if the specified option is not found, you will receive a `Resource 'xyz' does not exist or one of its queried reference-property objects are not present.` error.
80
80
 
81
81
  ## Examples
82
82
 
@@ -17,7 +17,7 @@ m365 adaptivecard send [options]
17
17
  : Title of the card. Specify either `title` or `card` but not both.
18
18
 
19
19
  `-d, --description [description]`
20
- : Contents of the card
20
+ : Contents of the card.
21
21
 
22
22
  `-i, --imageUrl [imageUrl]`
23
23
  : URL of the image to include on the card.
@@ -48,73 +48,73 @@ If your custom card is a card template (card with placeholders like `${title}`),
48
48
 
49
49
  ## Examples
50
50
 
51
- Send a predefined adaptive card with just title
51
+ Send a predefined adaptive card with just title.
52
52
 
53
53
  ```sh
54
54
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --title "CLI for Microsoft 365 v3.4"
55
55
  ```
56
56
 
57
- Send a predefined adaptive card with just description
57
+ Send a predefined adaptive card with just description.
58
58
 
59
59
  ```sh
60
60
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --description "New release of CLI for Microsoft 365"
61
61
  ```
62
62
 
63
- Send card with title and description
63
+ Send card with title and description.
64
64
 
65
65
  ```sh
66
66
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --title "CLI for Microsoft 365 v3.4" --description "New release of CLI for Microsoft 365"
67
67
  ```
68
68
 
69
- Send card with title, description and image
69
+ Send card with title, description, and image.
70
70
 
71
71
  ```sh
72
72
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --title "CLI for Microsoft 365 v3.4" --description "New release of CLI for Microsoft 365" --imageUrl "https://contoso.com/image.gif"
73
73
  ```
74
74
 
75
- Send card with title, description and action
75
+ Send card with title, description, and action.
76
76
 
77
77
  ```sh
78
78
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --title "CLI for Microsoft 365 v3.4" --description "New release of CLI for Microsoft 365" --actionUrl "https://aka.ms/cli-m365"
79
79
  ```
80
80
 
81
- Send card with title, description, image and action
81
+ Send card with title, description, image, and action.
82
82
 
83
83
  ```sh
84
84
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --title "CLI for Microsoft 365 v3.4" --description "New release of CLI for Microsoft 365" --imageUrl "https://contoso.com/image.gif" --actionUrl "https://aka.ms/cli-m365"
85
85
  ```
86
86
 
87
- Send card with title, description, action and unknown options
87
+ Send card with title, description, action, and unknown options.
88
88
 
89
89
  ```sh
90
90
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --title "CLI for Microsoft 365 v3.4" --description "New release of CLI for Microsoft 365" --actionUrl "https://aka.ms/cli-m365" --Version "v3.4.0" --ReleaseNotes "https://pnp.github.io/cli-microsoft365/about/release-notes/#v340"
91
91
  ```
92
92
 
93
- Send custom card without any data
93
+ Send custom card without any data.
94
94
 
95
95
  ```sh
96
96
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --card '{"type":"AdaptiveCard","body":[{"type":"TextBlock","size":"Medium","weight":"Bolder","text":"CLI for Microsoft 365 v3.4"},{"type":"TextBlock","text":"New release of CLI for Microsoft 365","wrap":true}],"actions":[{"type":"Action.OpenUrl","title":"View","url":"https://aka.ms/cli-m365"}],"$schema":"http://adaptivecards.io/schemas/adaptive-card.json","version":"1.2"}'
97
97
  ```
98
98
 
99
- Send custom card with just title merged
99
+ Send custom card with just title merged.
100
100
 
101
101
  ```sh
102
102
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --card '{"type":"AdaptiveCard","body":[{"type":"TextBlock","size":"Medium","weight":"Bolder","text":"${title}"}],"$schema":"http://adaptivecards.io/schemas/adaptive-card.json","version":"1.2"}' --title "CLI for Microsoft 365 v3.4"
103
103
  ```
104
104
 
105
- Send custom card with all known options merged
105
+ Send custom card with all known options merged.
106
106
 
107
107
  ```sh
108
108
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --card '{"type":"AdaptiveCard","body":[{"type":"TextBlock","size":"Medium","weight":"Bolder","text":"${title}"},{"type":"TextBlock","text":"${description}","wrap":true},{"type":"FactSet","facts":[{"$data":"${properties}","title":"${key}:","value":"${value}"}]}],"actions":[{"type":"Action.OpenUrl","title":"View","url":"${actionUrl}"}],"$schema":"http://adaptivecards.io/schemas/adaptive-card.json","version":"1.2"}' --title "CLI for Microsoft 365 v3.4" --description "New release of CLI for Microsoft 365" --imageUrl "https://contoso.com/image.gif" --actionUrl "https://aka.ms/cli-m365"
109
109
  ```
110
110
 
111
- Send custom card with unknown option merged
111
+ Send custom card with unknown option merged.
112
112
 
113
113
  ```sh
114
114
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --card '{"type":"AdaptiveCard","body":[{"type":"TextBlock","size":"Medium","weight":"Bolder","text":"${Title}"}],"$schema":"http://adaptivecards.io/schemas/adaptive-card.json","version":"1.2"}' --Title "CLI for Microsoft 365 v3.4"
115
115
  ```
116
116
 
117
- Send custom card with card data
117
+ Send custom card with card data.
118
118
 
119
119
  ```sh
120
120
  m365 adaptivecard send --url https://contoso.webhook.office.com/webhookb2/892e8ed3-997c-4b6e-8f8a-7f32728a8a87@f7322380-f203-42ff-93e8-66e266f6d2e4/IncomingWebhook/fcc6565ec7a944928bd43d6fc193b258/4f0482d4-b147-4f67-8a61-11f0a5019547 --card '{"type":"AdaptiveCard","body":[{"type":"TextBlock","size":"Medium","weight":"Bolder","text":"${title}"},{"type":"TextBlock","text":"${description}","wrap":true},{"type":"FactSet","facts":[{"$data":"${properties}","title":"${key}:","value":"${value}"}]}],"actions":[{"type":"Action.OpenUrl","title":"View","url":"${viewUrl}"}],"$schema":"http://adaptivecards.io/schemas/adaptive-card.json","version":"1.2"}' --cardData '{"title":"Publish Adaptive Card Schema","description":"Now that we have defined the main rules and features of the format, we need to produce a schema and publish it to GitHub. The schema will be the starting point of our reference documentation.","creator":{"name":"Matt Hidinger","profileImage":"https://pbs.twimg.com/profile_images/3647943215/d7f12830b3c17a5a9e4afcc370e3a37e_400x400.jpeg"},"createdUtc":"2017-02-14T06:08:39Z","viewUrl":"https://adaptivecards.io","properties":[{"key":"Board","value":"Adaptive Cards"},{"key":"List","value":"Backlog"},{"key":"Assigned to","value":"Matt Hidinger"},{"key":"Due date","value":"Not set"}]}'
@@ -11,7 +11,7 @@ m365 app get [options]
11
11
  ## Options
12
12
 
13
13
  `--appId [appId]`
14
- : Client ID of the Azure AD app registered in the .m365rc.json file to retrieve information for
14
+ : Client ID of the Azure AD app registered in the .m365rc.json file to retrieve information for.
15
15
 
16
16
  --8<-- "docs/cmd/_global.md"
17
17
 
@@ -23,13 +23,13 @@ If you have multiple apps registered in your .m365rc.json file, you can specify
23
23
 
24
24
  ## Examples
25
25
 
26
- Retrieve information about your current Azure AD app
26
+ Retrieve information about your current Azure AD app.
27
27
 
28
28
  ```sh
29
29
  m365 app get
30
30
  ```
31
31
 
32
- Retrieve information about the Azure AD app with client ID _e23d235c-fcdf-45d1-ac5f-24ab2ee0695d_ specified in the _.m365rc.json_ file
32
+ Retrieve information about the Azure AD app with client ID specified in the _.m365rc.json_ file.
33
33
 
34
34
  ```sh
35
35
  m365 app get --appId e23d235c-fcdf-45d1-ac5f-24ab2ee0695d
@@ -54,7 +54,7 @@ m365 app get --appId e23d235c-fcdf-45d1-ac5f-24ab2ee0695d
54
54
  "isDeviceOnlyAuthSupported": null,
55
55
  "isFallbackPublicClient": null,
56
56
  "notes": null,
57
- "publisherDomain": "8b7jz1.onmicrosoft.com",
57
+ "publisherDomain": "contoso.onmicrosoft.com",
58
58
  "serviceManagementReference": null,
59
59
  "signInAudience": "AzureADMyOrg",
60
60
  "tags": [],
@@ -172,7 +172,7 @@ m365 app get --appId e23d235c-fcdf-45d1-ac5f-24ab2ee0695d
172
172
  parentalControlSettings : {"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"}
173
173
  passwordCredentials : []
174
174
  publicClient : {"redirectUris":[]}
175
- publisherDomain : 8b7jz1.onmicrosoft.com
175
+ publisherDomain : contoso.onmicrosoft.com
176
176
  requiredResourceAccess : [{"resourceAppId":"b55b276d-2b09-4ad2-8de5-f09cf24ffba9","resourceAccess":[{"id":"162b1576-a2b2-458d-b7b9-04481911b4ef","type":"Role"}]},{"resourceAppId":"00000005-0000-0ff1-ce00-000000000000","resourceAccess":[{"id":"8e5870bb-8808-44dc-8e10-c509ed919ddd","type":"Scope"},{"id":"5db81a03-0de0-432b-b31e-71d57c8d2e0b","type":"Scope"}]}]
177
177
  samlMetadataUrl : null
178
178
  serviceManagementReference: null
@@ -188,5 +188,24 @@ m365 app get --appId e23d235c-fcdf-45d1-ac5f-24ab2ee0695d
188
188
 
189
189
  ```csv
190
190
  id,deletedDateTime,appId,applicationTemplateId,disabledByMicrosoftStatus,createdDateTime,displayName,description,groupMembershipClaims,identifierUris,isDeviceOnlyAuthSupported,isFallbackPublicClient,notes,publisherDomain,serviceManagementReference,signInAudience,tags,tokenEncryptionKeyId,samlMetadataUrl,defaultRedirectUri,certification,optionalClaims,addIns,api,appRoles,info,keyCredentials,parentalControlSettings,passwordCredentials,publicClient,requiredResourceAccess,verifiedPublisher,web,spa
191
- b3241f2a-6551-43d4-a72f-0d02ccfeb77f,,02f9ff8c-b79e-4552-bdda-4facd74d6df1,,,2022-10-28T21:20:57Z,My AAD app,,,[],,,,8b7jz1.onmicrosoft.com,,AzureADMyOrg,[],,,,,,[],"{""acceptMappedClaims"":null,""knownClientApplications"":[],""requestedAccessTokenVersion"":null,""oauth2PermissionScopes"":[],""preAuthorizedApplications"":[]}","[{""allowedMemberTypes"":[""User""],""description"":""Managers"",""displayName"":""Managers"",""id"":""d7c46856-8a66-485a-9047-098eba08b9a3"",""isEnabled"":true,""origin"":""Application"",""value"":""managers""}]","{""logoUrl"":null,""marketingUrl"":null,""privacyStatementUrl"":null,""supportUrl"":null,""termsOfServiceUrl"":null}",[],"{""countriesBlockedForMinors"":[],""legalAgeGroupRule"":""Allow""}",[],"{""redirectUris"":[]}","[{""resourceAppId"":""b55b276d-2b09-4ad2-8de5-f09cf24ffba9"",""resourceAccess"":[{""id"":""162b1576-a2b2-458d-b7b9-04481911b4ef"",""type"":""Role""}]},{""resourceAppId"":""00000005-0000-0ff1-ce00-000000000000"",""resourceAccess"":[{""id"":""8e5870bb-8808-44dc-8e10-c509ed919ddd"",""type"":""Scope""},{""id"":""5db81a03-0de0-432b-b31e-71d57c8d2e0b"",""type"":""Scope""}]}]","{""displayName"":null,""verifiedPublisherId"":null,""addedDateTime"":null}","{""homePageUrl"":null,""logoutUrl"":null,""redirectUris"":[],""implicitGrantSettings"":{""enableAccessTokenIssuance"":false,""enableIdTokenIssuance"":false},""redirectUriSettings"":[]}","{""redirectUris"":[]}"
191
+ b3241f2a-6551-43d4-a72f-0d02ccfeb77f,,02f9ff8c-b79e-4552-bdda-4facd74d6df1,,,2022-10-28T21:20:57Z,My AAD app,,,[],,,,contoso.onmicrosoft.com,,AzureADMyOrg,[],,,,,,[],"{""acceptMappedClaims"":null,""knownClientApplications"":[],""requestedAccessTokenVersion"":null,""oauth2PermissionScopes"":[],""preAuthorizedApplications"":[]}","[{""allowedMemberTypes"":[""User""],""description"":""Managers"",""displayName"":""Managers"",""id"":""d7c46856-8a66-485a-9047-098eba08b9a3"",""isEnabled"":true,""origin"":""Application"",""value"":""managers""}]","{""logoUrl"":null,""marketingUrl"":null,""privacyStatementUrl"":null,""supportUrl"":null,""termsOfServiceUrl"":null}",[],"{""countriesBlockedForMinors"":[],""legalAgeGroupRule"":""Allow""}",[],"{""redirectUris"":[]}","[{""resourceAppId"":""b55b276d-2b09-4ad2-8de5-f09cf24ffba9"",""resourceAccess"":[{""id"":""162b1576-a2b2-458d-b7b9-04481911b4ef"",""type"":""Role""}]},{""resourceAppId"":""00000005-0000-0ff1-ce00-000000000000"",""resourceAccess"":[{""id"":""8e5870bb-8808-44dc-8e10-c509ed919ddd"",""type"":""Scope""},{""id"":""5db81a03-0de0-432b-b31e-71d57c8d2e0b"",""type"":""Scope""}]}]","{""displayName"":null,""verifiedPublisherId"":null,""addedDateTime"":null}","{""homePageUrl"":null,""logoutUrl"":null,""redirectUris"":[],""implicitGrantSettings"":{""enableAccessTokenIssuance"":false,""enableIdTokenIssuance"":false},""redirectUriSettings"":[]}","{""redirectUris"":[]}"
192
+ ```
193
+
194
+ === "Markdown"
195
+
196
+ ```md
197
+ # app get --appId "02f9ff8c-b79e-4552-bdda-4facd74d6df1"
198
+
199
+ Date: 5/29/2023
200
+
201
+ ## My AAD app (b3241f2a-6551-43d4-a72f-0d02ccfeb77f)
202
+
203
+ Property | Value
204
+ ---------|-------
205
+ id | b3241f2a-6551-43d4-a72f-0d02ccfeb77f
206
+ appId | 02f9ff8c-b79e-4552-bdda-4facd74d6df1
207
+ createdDateTime | 2022-10-28T21:20:57Z
208
+ displayName | My AAD app
209
+ publisherDomain | contoso.onmicrosoft.com
210
+ signInAudience | AzureADMyOrg
192
211
  ```
@@ -1,6 +1,6 @@
1
1
  # app open
2
2
 
3
- Returns deep link of the current AD app to open the Azure portal on the Azure AD app registration management page.
3
+ Returns deep link of the current AD app to open the Azure portal on the Azure AD app registration management page
4
4
 
5
5
  ## Usage
6
6
 
@@ -38,7 +38,7 @@ Prints the url of the Azure AD application registration management page on the p
38
38
  m365 app open --preview
39
39
  ```
40
40
 
41
- Prints the URL to the Azure AD application registration management page on the Azure Portal, evading a possible choice prompt in the case of multiple saved apps in the `.m365rc.json` file.
41
+ Prints the URL to the Azure AD application registration management page on the Azure Portal, evading a possible choice prompt in the case of multiple saved apps in the _.m365rc.json_ file.
42
42
 
43
43
  ```sh
44
44
  m365 app open --appId d75be2e1-0204-4f95-857d-51a37cf40be8
@@ -63,3 +63,9 @@ m365 app open --appId d75be2e1-0204-4f95-857d-51a37cf40be8
63
63
  ```csv
64
64
  Use a web browser to open the page https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/Overview/appId/02f9ff8c-b79e-4552-bdda-4facd74d6df2/isMSAApp/
65
65
  ```
66
+
67
+ === "Markdown"
68
+
69
+ ```md
70
+ Use a web browser to open the page https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/Overview/appId/02f9ff8c-b79e-4552-bdda-4facd74d6df2/isMSAApp/
71
+ ```