@pnp/cli-microsoft365 7.0.0-beta.f1037e1 → 7.0.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 (422) hide show
  1. package/.eslintrc.cjs +1 -3
  2. package/README.md +4 -4
  3. package/dist/Auth.js +12 -2
  4. package/dist/Command.js +3 -3
  5. package/dist/GlobalOptions.js +1 -7
  6. package/dist/cli/Cli.js +24 -7
  7. package/dist/m365/aad/commands/app/app-add.js +8 -8
  8. package/dist/m365/aad/commands/app/app-get.js +4 -1
  9. package/dist/m365/aad/commands/app/app-remove.js +3 -1
  10. package/dist/m365/aad/commands/app/app-role-add.js +9 -6
  11. package/dist/m365/aad/commands/app/app-role-list.js +4 -1
  12. package/dist/m365/aad/commands/app/app-role-remove.js +5 -2
  13. package/dist/m365/aad/commands/app/app-set.js +13 -10
  14. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +11 -6
  15. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +4 -4
  16. package/dist/m365/aad/commands/group/group-get.js +4 -4
  17. package/dist/m365/aad/commands/group/group-list.js +1 -23
  18. package/dist/m365/aad/commands/group/group-remove.js +98 -0
  19. package/dist/m365/aad/commands/{o365group/o365group-add.js → m365group/m365group-add.js} +38 -29
  20. package/dist/m365/aad/commands/{o365group/o365group-conversation-list.js → m365group/m365group-conversation-list.js} +15 -10
  21. package/dist/m365/aad/commands/{o365group/o365group-conversation-post-list.js → m365group/m365group-conversation-post-list.js} +18 -14
  22. package/dist/m365/aad/commands/{o365group/o365group-get.js → m365group/m365group-get.js} +14 -10
  23. package/dist/m365/aad/commands/{o365group/o365group-list.js → m365group/m365group-list.js} +13 -28
  24. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-clear.js → m365group/m365group-recyclebinitem-clear.js} +15 -15
  25. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-list.js → m365group/m365group-recyclebinitem-list.js} +10 -10
  26. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-remove.js → m365group/m365group-recyclebinitem-remove.js} +17 -15
  27. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-restore.js → m365group/m365group-recyclebinitem-restore.js} +18 -15
  28. package/dist/m365/aad/commands/{o365group/o365group-remove.js → m365group/m365group-remove.js} +17 -12
  29. package/dist/m365/aad/commands/{o365group/o365group-renew.js → m365group/m365group-renew.js} +15 -10
  30. package/dist/m365/aad/commands/{o365group/o365group-report-activitycounts.js → m365group/m365group-report-activitycounts.js} +4 -4
  31. package/dist/m365/aad/commands/{o365group/o365group-report-activitydetail.js → m365group/m365group-report-activitydetail.js} +4 -4
  32. package/dist/m365/aad/commands/{o365group/o365group-report-activityfilecounts.js → m365group/m365group-report-activityfilecounts.js} +4 -4
  33. package/dist/m365/aad/commands/{o365group/o365group-report-activitygroupcounts.js → m365group/m365group-report-activitygroupcounts.js} +4 -4
  34. package/dist/m365/aad/commands/{o365group/o365group-report-activitystorage.js → m365group/m365group-report-activitystorage.js} +4 -4
  35. package/dist/m365/aad/commands/{o365group/o365group-set.js → m365group/m365group-set.js} +22 -17
  36. package/dist/m365/aad/commands/{o365group/o365group-teamify.js → m365group/m365group-teamify.js} +28 -20
  37. package/dist/m365/aad/commands/{o365group/o365group-user-add.js → m365group/m365group-user-add.js} +19 -14
  38. package/dist/m365/aad/commands/{o365group/o365group-user-list.js → m365group/m365group-user-list.js} +17 -12
  39. package/dist/m365/aad/commands/{o365group/o365group-user-remove.js → m365group/m365group-user-remove.js} +19 -14
  40. package/dist/m365/aad/commands/{o365group/o365group-user-set.js → m365group/m365group-user-set.js} +20 -15
  41. package/dist/m365/aad/commands/policy/policy-list.js +5 -5
  42. package/dist/m365/aad/commands/sp/sp-add.js +4 -1
  43. package/dist/m365/aad/commands/sp/sp-get.js +4 -1
  44. package/dist/m365/aad/commands/user/user-get.js +7 -2
  45. package/dist/m365/aad/commands.js +23 -22
  46. package/dist/m365/booking/commands/business/business-get.js +4 -1
  47. package/dist/m365/cli/commands/cli-issue.js +5 -5
  48. package/dist/m365/cli/commands/config/config-get.js +5 -5
  49. package/dist/m365/cli/commands/config/config-list.js +16 -0
  50. package/dist/m365/cli/commands/config/config-reset.js +5 -5
  51. package/dist/m365/cli/commands/config/config-set.js +5 -5
  52. package/dist/m365/cli/commands.js +1 -0
  53. package/dist/m365/commands/login.js +7 -7
  54. package/dist/m365/commands/request.js +1 -1
  55. package/dist/m365/flow/commands/flow-export.js +13 -13
  56. package/dist/m365/flow/commands/owner/owner-ensure.js +5 -5
  57. package/dist/m365/graph/commands/subscription/subscription-add.js +5 -5
  58. package/dist/m365/outlook/commands/message/message-list.js +4 -2
  59. package/dist/m365/outlook/commands/message/message-move.js +4 -2
  60. package/dist/m365/pa/commands/app/app-export.js +7 -7
  61. package/dist/m365/pa/commands/app/app-owner-set.js +5 -5
  62. package/dist/m365/pa/commands/app/app-permission-ensure.js +162 -0
  63. package/dist/m365/pa/commands/app/app-permission-list.js +2 -2
  64. package/dist/m365/pa/commands/app/app-permission-remove.js +153 -0
  65. package/dist/m365/pa/commands/connector/connector-export.js +5 -5
  66. package/dist/m365/pa/commands.js +3 -4
  67. package/dist/m365/planner/commands/bucket/bucket-add.js +6 -3
  68. package/dist/m365/planner/commands/bucket/bucket-get.js +11 -4
  69. package/dist/m365/planner/commands/bucket/bucket-list.js +6 -3
  70. package/dist/m365/planner/commands/bucket/bucket-remove.js +9 -4
  71. package/dist/m365/planner/commands/bucket/bucket-set.js +10 -4
  72. package/dist/m365/planner/commands/plan/plan-add.js +4 -1
  73. package/dist/m365/planner/commands/plan/plan-get.js +5 -3
  74. package/dist/m365/planner/commands/plan/plan-list.js +8 -6
  75. package/dist/m365/planner/commands/plan/plan-remove.js +4 -1
  76. package/dist/m365/planner/commands/plan/plan-set.js +6 -3
  77. package/dist/m365/planner/commands/roster/roster-get.js +4 -1
  78. package/dist/m365/planner/commands/roster/roster-member-add.js +4 -1
  79. package/dist/m365/planner/commands/roster/roster-member-get.js +4 -1
  80. package/dist/m365/planner/commands/roster/roster-member-list.js +4 -1
  81. package/dist/m365/planner/commands/roster/roster-member-remove.js +4 -1
  82. package/dist/m365/planner/commands/roster/roster-plan-list.js +4 -1
  83. package/dist/m365/planner/commands/roster/roster-remove.js +4 -1
  84. package/dist/m365/planner/commands/task/task-add.js +21 -12
  85. package/dist/m365/planner/commands/task/task-checklistitem-add.js +4 -1
  86. package/dist/m365/planner/commands/task/task-checklistitem-list.js +4 -1
  87. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +4 -1
  88. package/dist/m365/planner/commands/task/task-get.js +46 -28
  89. package/dist/m365/planner/commands/task/task-list.js +34 -19
  90. package/dist/m365/planner/commands/task/task-reference-add.js +4 -1
  91. package/dist/m365/planner/commands/task/task-reference-list.js +4 -1
  92. package/dist/m365/planner/commands/task/task-reference-remove.js +4 -1
  93. package/dist/m365/planner/commands/task/task-remove.js +49 -38
  94. package/dist/m365/planner/commands/task/task-set.js +38 -23
  95. package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-get.js +4 -1
  96. package/dist/m365/pp/commands/card/card-get.js +3 -5
  97. package/dist/m365/pp/commands/chatbot/chatbot-get.js +3 -1
  98. package/dist/m365/pp/commands/chatbot/chatbot-list.js +2 -2
  99. package/dist/m365/pp/commands/managementapp/managementapp-add.js +4 -1
  100. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +14 -14
  101. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +3 -1
  102. package/dist/m365/spfx/commands/package/package-generate.js +15 -15
  103. package/dist/m365/spfx/commands/project/DeployWorkflow.js +55 -0
  104. package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.1.js → doctor-1.18.0.js} +2 -2
  105. package/dist/m365/spfx/commands/project/project-doctor.js +9 -9
  106. package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +2 -2
  107. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +157 -0
  108. package/dist/m365/spfx/commands/project/project-github-workflow-model.js +2 -0
  109. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +1 -1
  110. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7.js +13 -0
  111. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
  112. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.1.js → upgrade-1.18.0.js} +35 -27
  113. package/dist/m365/spfx/commands/project/project-upgrade.js +26 -28
  114. package/dist/m365/spfx/commands/spfx-doctor.js +76 -106
  115. package/dist/m365/spfx/commands.js +1 -0
  116. package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +27 -26
  117. package/dist/m365/spo/commands/app/app-add.js +9 -9
  118. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +5 -5
  119. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-get.js +5 -3
  120. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +5 -5
  121. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-remove.js +2 -2
  122. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +3 -2
  123. package/dist/m365/spo/commands/commandset/commandset-add.js +11 -11
  124. package/dist/m365/spo/commands/commandset/commandset-get.js +12 -10
  125. package/dist/m365/spo/commands/commandset/commandset-list.js +5 -5
  126. package/dist/m365/spo/commands/commandset/commandset-remove.js +7 -6
  127. package/dist/m365/spo/commands/commandset/commandset-set.js +14 -12
  128. package/dist/m365/spo/commands/customaction/customaction-get.js +5 -2
  129. package/dist/m365/spo/commands/customaction/customaction-remove.js +3 -1
  130. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +3 -1
  131. package/dist/m365/spo/commands/file/file-add.js +13 -13
  132. package/dist/m365/spo/commands/file/file-checkin.js +1 -1
  133. package/dist/m365/spo/commands/file/file-checkout.js +1 -1
  134. package/dist/m365/spo/commands/file/file-copy.js +36 -4
  135. package/dist/m365/spo/commands/file/file-get.js +11 -8
  136. package/dist/m365/spo/commands/file/file-list.js +4 -4
  137. package/dist/m365/spo/commands/file/file-move.js +74 -98
  138. package/dist/m365/spo/commands/file/file-remove.js +8 -8
  139. package/dist/m365/spo/commands/file/file-rename.js +2 -2
  140. package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +1 -1
  141. package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +1 -1
  142. package/dist/m365/spo/commands/file/file-roleassignment-add.js +1 -1
  143. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +1 -1
  144. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +1 -1
  145. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
  146. package/dist/m365/spo/commands/file/file-sharinglink-add.js +8 -8
  147. package/dist/m365/spo/commands/file/file-sharinglink-list.js +5 -5
  148. package/dist/m365/spo/commands/file/file-version-clear.js +3 -3
  149. package/dist/m365/spo/commands/file/file-version-get.js +3 -3
  150. package/dist/m365/spo/commands/file/file-version-list.js +3 -3
  151. package/dist/m365/spo/commands/file/file-version-remove.js +3 -3
  152. package/dist/m365/spo/commands/file/file-version-restore.js +3 -3
  153. package/dist/m365/spo/commands/folder/folder-add.js +2 -4
  154. package/dist/m365/spo/commands/folder/folder-copy.js +89 -45
  155. package/dist/m365/spo/commands/folder/folder-get.js +1 -1
  156. package/dist/m365/spo/commands/folder/folder-list.js +2 -2
  157. package/dist/m365/spo/commands/folder/folder-move.js +89 -47
  158. package/dist/m365/spo/commands/folder/folder-remove.js +7 -4
  159. package/dist/m365/spo/commands/folder/folder-rename.js +13 -17
  160. package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +1 -1
  161. package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +1 -1
  162. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
  163. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
  164. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
  165. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
  166. package/dist/m365/spo/commands/group/group-list.js +0 -1
  167. package/dist/m365/spo/commands/group/group-member-add.js +24 -24
  168. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +7 -4
  169. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +4 -1
  170. package/dist/m365/spo/commands/hubsite/hubsite-get.js +3 -1
  171. package/dist/m365/spo/commands/list/list-add.js +4 -4
  172. package/dist/m365/spo/commands/list/list-retentionlabel-ensure.js +2 -24
  173. package/dist/m365/spo/commands/list/list-set.js +4 -4
  174. package/dist/m365/spo/commands/listitem/listitem-add.js +1 -0
  175. package/dist/m365/spo/commands/listitem/listitem-attachment-add.js +127 -0
  176. package/dist/m365/spo/commands/listitem/listitem-attachment-get.js +97 -0
  177. package/dist/m365/spo/commands/listitem/listitem-attachment-remove.js +121 -0
  178. package/dist/m365/spo/commands/listitem/listitem-attachment-set.js +115 -0
  179. package/dist/m365/spo/commands/listitem/listitem-set.js +3 -2
  180. package/dist/m365/spo/commands/navigation/navigation-node-set.js +2 -2
  181. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +34 -5
  182. package/dist/m365/spo/commands/page/clientsidepages.js +19 -81
  183. package/dist/m365/spo/commands/page/page-get.js +1 -0
  184. package/dist/m365/spo/commands/page/page-list.js +4 -3
  185. package/dist/m365/spo/commands/page/page-section-add.js +56 -21
  186. package/dist/m365/spo/commands/page/page-set.js +13 -2
  187. package/dist/m365/spo/commands/propertybag/propertybag-base.js +63 -59
  188. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +28 -31
  189. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +30 -32
  190. package/dist/m365/spo/commands/site/FlowsPolicy.js +7 -0
  191. package/dist/m365/spo/commands/site/site-add.js +114 -161
  192. package/dist/m365/spo/commands/site/site-apppermission-add.js +15 -18
  193. package/dist/m365/spo/commands/site/site-apppermission-remove.js +34 -38
  194. package/dist/m365/spo/commands/site/site-apppermission-set.js +11 -14
  195. package/dist/m365/spo/commands/site/site-commsite-enable.js +34 -5
  196. package/dist/m365/spo/commands/site/site-ensure.js +14 -67
  197. package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +22 -22
  198. package/dist/m365/spo/commands/site/site-list.js +25 -43
  199. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +6 -6
  200. package/dist/m365/spo/commands/site/site-remove.js +166 -210
  201. package/dist/m365/spo/commands/site/site-set.js +178 -199
  202. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +1 -1
  203. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-get.js +12 -7
  204. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-list.js +3 -2
  205. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-remove.js +2 -1
  206. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +3 -2
  207. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -8
  208. package/dist/m365/spo/commands/tenant/tenant-commandset-get.js +8 -3
  209. package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +3 -2
  210. package/dist/m365/spo/commands/tenant/tenant-commandset-remove.js +3 -1
  211. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +8 -8
  212. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +4 -4
  213. package/dist/m365/spo/commands/term/term-get.js +6 -6
  214. package/dist/m365/spo/commands/theme/theme-list.js +1 -9
  215. package/dist/m365/spo/commands/theme/theme-remove.js +24 -24
  216. package/dist/m365/spo/commands/theme/theme-set.js +0 -1
  217. package/dist/m365/spo/commands/user/user-get.js +10 -10
  218. package/dist/m365/spo/commands/user/user-remove.js +27 -27
  219. package/dist/m365/spo/commands/web/web-reindex.js +35 -42
  220. package/dist/m365/spo/commands/web/web-remove.js +21 -21
  221. package/dist/m365/spo/commands/web/web-roleassignment-add.js +16 -31
  222. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +33 -44
  223. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +18 -18
  224. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +19 -19
  225. package/dist/m365/spo/commands/web/web-set.js +5 -5
  226. package/dist/m365/spo/commands.js +4 -0
  227. package/dist/m365/teams/commands/app/app-list.js +5 -5
  228. package/dist/m365/teams/commands/app/app-remove.js +49 -15
  229. package/dist/m365/teams/commands/channel/channel-add.js +5 -1
  230. package/dist/m365/teams/commands/channel/channel-member-add.js +12 -10
  231. package/dist/m365/teams/commands/channel/channel-member-remove.js +3 -1
  232. package/dist/m365/teams/commands/channel/channel-member-set.js +4 -1
  233. package/dist/m365/teams/commands/chat/chat-get.js +7 -10
  234. package/dist/m365/teams/commands/chat/chat-member-add.js +5 -5
  235. package/dist/m365/teams/commands/chat/chat-message-send.js +8 -10
  236. package/dist/m365/teams/commands/funsettings/funsettings-set.js +4 -4
  237. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +4 -4
  238. package/dist/m365/teams/commands/meeting/meeting-list.js +101 -51
  239. package/dist/m365/teams/commands/membersettings/membersettings-set.js +4 -4
  240. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +5 -5
  241. package/dist/m365/teams/commands/team/team-clone.js +5 -10
  242. package/dist/m365/teams/commands/team/team-list.js +94 -30
  243. package/dist/m365/teams/commands/team/team-set.js +3 -3
  244. package/dist/m365/tenant/commands/info/info-get.js +83 -0
  245. package/dist/m365/tenant/commands.js +1 -0
  246. package/dist/m365/todo/commands/task/task-add.js +6 -6
  247. package/dist/m365/yammer/commands/message/message-like-set.js +27 -28
  248. package/dist/m365/yammer/commands/message/message-list.js +67 -86
  249. package/dist/m365/yammer/commands/message/message-remove.js +18 -18
  250. package/dist/m365/yammer/commands/yammer-search.js +58 -74
  251. package/dist/utils/aadGroup.js +39 -3
  252. package/dist/utils/formatting.js +7 -0
  253. package/dist/utils/fsUtil.js +5 -0
  254. package/dist/utils/planner.js +4 -3
  255. package/dist/utils/powerPlatform.js +1 -1
  256. package/dist/utils/spo.js +595 -54
  257. package/dist/utils/validation.js +0 -3
  258. package/docs/docs/_clisettings.mdx +2 -2
  259. package/docs/docs/cmd/_global.mdx +1 -1
  260. package/docs/docs/cmd/aad/app/app-set.mdx +15 -15
  261. package/docs/docs/cmd/aad/approleassignment/approleassignment-add.mdx +9 -9
  262. package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.mdx +10 -10
  263. package/docs/docs/cmd/aad/group/group-get.mdx +5 -5
  264. package/docs/docs/cmd/aad/group/group-list.mdx +0 -11
  265. package/docs/docs/cmd/aad/group/group-remove.mdx +44 -0
  266. package/docs/docs/cmd/aad/{o365group/o365group-add.mdx → m365group/m365group-add.mdx} +25 -15
  267. package/docs/docs/cmd/aad/{o365group/o365group-conversation-list.mdx → m365group/m365group-conversation-list.mdx} +4 -4
  268. package/docs/docs/cmd/aad/{o365group/o365group-conversation-post-list.mdx → m365group/m365group-conversation-post-list.mdx} +8 -8
  269. package/docs/docs/cmd/aad/{o365group/o365group-get.mdx → m365group/m365group-get.mdx} +6 -6
  270. package/docs/docs/cmd/aad/{o365group/o365group-list.mdx → m365group/m365group-list.mdx} +12 -29
  271. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-clear.mdx → m365group/m365group-recyclebinitem-clear.mdx} +5 -5
  272. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-list.mdx → m365group/m365group-recyclebinitem-list.mdx} +8 -8
  273. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-remove.mdx → m365group/m365group-recyclebinitem-remove.mdx} +6 -6
  274. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-restore.mdx → m365group/m365group-recyclebinitem-restore.mdx} +6 -6
  275. package/docs/docs/cmd/aad/{o365group/o365group-remove.mdx → m365group/m365group-remove.mdx} +6 -6
  276. package/docs/docs/cmd/aad/{o365group/o365group-renew.mdx → m365group/m365group-renew.mdx} +4 -4
  277. package/docs/docs/cmd/aad/{o365group/o365group-report-activitycounts.mdx → m365group/m365group-report-activitycounts.mdx} +6 -6
  278. package/docs/docs/cmd/aad/{o365group/o365group-report-activitydetail.mdx → m365group/m365group-report-activitydetail.mdx} +7 -7
  279. package/docs/docs/cmd/aad/{o365group/o365group-report-activityfilecounts.mdx → m365group/m365group-report-activityfilecounts.mdx} +6 -6
  280. package/docs/docs/cmd/aad/{o365group/o365group-report-activitygroupcounts.mdx → m365group/m365group-report-activitygroupcounts.mdx} +6 -6
  281. package/docs/docs/cmd/aad/{o365group/o365group-report-activitystorage.mdx → m365group/m365group-report-activitystorage.mdx} +6 -6
  282. package/docs/docs/cmd/aad/{o365group/o365group-set.mdx → m365group/m365group-set.mdx} +8 -8
  283. package/docs/docs/cmd/aad/{o365group/o365group-teamify.mdx → m365group/m365group-teamify.mdx} +5 -5
  284. package/docs/docs/cmd/aad/{o365group/o365group-user-add.mdx → m365group/m365group-user-add.mdx} +5 -5
  285. package/docs/docs/cmd/aad/{o365group/o365group-user-list.mdx → m365group/m365group-user-list.mdx} +7 -7
  286. package/docs/docs/cmd/aad/{o365group/o365group-user-remove.mdx → m365group/m365group-user-remove.mdx} +5 -5
  287. package/docs/docs/cmd/aad/{o365group/o365group-user-set.mdx → m365group/m365group-user-set.mdx} +5 -5
  288. package/docs/docs/cmd/aad/policy/policy-list.mdx +5 -5
  289. package/docs/docs/cmd/aad/user/user-set.mdx +1 -1
  290. package/docs/docs/cmd/cli/config/config-list.mdx +78 -0
  291. package/docs/docs/cmd/flow/flow-enable.mdx +2 -2
  292. package/docs/docs/cmd/flow/flow-export.mdx +11 -11
  293. package/docs/docs/cmd/graph/subscription/subscription-add.mdx +10 -10
  294. package/docs/docs/cmd/login.mdx +6 -0
  295. package/docs/docs/cmd/pa/app/app-export.mdx +5 -5
  296. package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +85 -0
  297. package/docs/docs/cmd/pa/app/app-permission-remove.mdx +74 -0
  298. package/docs/docs/cmd/pa/connector/connector-export.mdx +3 -3
  299. package/docs/docs/cmd/planner/plan/plan-add.mdx +1 -1
  300. package/docs/docs/cmd/planner/task/task-add.mdx +22 -7
  301. package/docs/docs/cmd/planner/task/task-get.mdx +13 -4
  302. package/docs/docs/cmd/planner/task/task-list.mdx +22 -7
  303. package/docs/docs/cmd/planner/task/task-remove.mdx +25 -8
  304. package/docs/docs/cmd/planner/task/task-set.mdx +22 -7
  305. package/docs/docs/cmd/pp/chatbot/chatbot-list.mdx +4 -4
  306. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +2 -2
  307. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +2 -2
  308. package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +3 -3
  309. package/docs/docs/cmd/pp/solution/solution-publisher-get.mdx +2 -2
  310. package/docs/docs/cmd/pp/solution/solution-publisher-remove.mdx +2 -2
  311. package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +94 -0
  312. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  313. package/docs/docs/cmd/spo/file/file-add.mdx +1 -1
  314. package/docs/docs/cmd/spo/file/file-checkin.mdx +1 -1
  315. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -9
  316. package/docs/docs/cmd/spo/file/file-checkout.mdx +1 -1
  317. package/docs/docs/cmd/spo/file/file-copy.mdx +20 -16
  318. package/docs/docs/cmd/spo/file/file-get.mdx +3 -3
  319. package/docs/docs/cmd/spo/file/file-list.mdx +2 -2
  320. package/docs/docs/cmd/spo/file/file-move.mdx +36 -18
  321. package/docs/docs/cmd/spo/file/file-remove.mdx +10 -10
  322. package/docs/docs/cmd/spo/file/file-rename.mdx +3 -3
  323. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +2 -2
  324. package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +3 -3
  325. package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
  326. package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
  327. package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +1 -1
  328. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +1 -1
  329. package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +1 -1
  330. package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +1 -1
  331. package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +1 -1
  332. package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +1 -1
  333. package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +1 -1
  334. package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +1 -1
  335. package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +1 -1
  336. package/docs/docs/cmd/spo/file/file-version-clear.mdx +3 -3
  337. package/docs/docs/cmd/spo/file/file-version-get.mdx +3 -3
  338. package/docs/docs/cmd/spo/file/file-version-list.mdx +3 -3
  339. package/docs/docs/cmd/spo/file/file-version-remove.mdx +3 -3
  340. package/docs/docs/cmd/spo/file/file-version-restore.mdx +3 -3
  341. package/docs/docs/cmd/spo/folder/folder-add.mdx +76 -1
  342. package/docs/docs/cmd/spo/folder/folder-copy.mdx +39 -12
  343. package/docs/docs/cmd/spo/folder/folder-get.mdx +1 -1
  344. package/docs/docs/cmd/spo/folder/folder-list.mdx +1 -1
  345. package/docs/docs/cmd/spo/folder/folder-move.mdx +40 -13
  346. package/docs/docs/cmd/spo/folder/folder-remove.mdx +1 -1
  347. package/docs/docs/cmd/spo/folder/folder-rename.mdx +5 -1
  348. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
  349. package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
  350. package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +2 -2
  351. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
  352. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.mdx +1 -1
  353. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.mdx +1 -1
  354. package/docs/docs/cmd/spo/group/group-member-add.mdx +27 -27
  355. package/docs/docs/cmd/spo/list/list-contenttype-remove.mdx +1 -1
  356. package/docs/docs/cmd/spo/list/list-retentionlabel-ensure.mdx +2 -11
  357. package/docs/docs/cmd/spo/listitem/listitem-add.mdx +2 -5
  358. package/docs/docs/cmd/spo/listitem/listitem-attachment-add.mdx +110 -0
  359. package/docs/docs/cmd/spo/listitem/listitem-attachment-get.mdx +104 -0
  360. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.mdx +1 -1
  361. package/docs/docs/cmd/spo/listitem/listitem-attachment-remove.mdx +58 -0
  362. package/docs/docs/cmd/spo/listitem/listitem-attachment-set.mdx +58 -0
  363. package/docs/docs/cmd/spo/listitem/listitem-set.mdx +2 -5
  364. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
  365. package/docs/docs/cmd/spo/page/page-get.mdx +0 -1
  366. package/docs/docs/cmd/spo/page/page-list.mdx +0 -1
  367. package/docs/docs/cmd/spo/page/page-section-add.mdx +25 -1
  368. package/docs/docs/cmd/spo/page/page-set.mdx +23 -0
  369. package/docs/docs/cmd/spo/site/site-add.mdx +1 -1
  370. package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +11 -2
  371. package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
  372. package/docs/docs/cmd/spo/site/site-list.mdx +3 -78
  373. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.mdx +1 -1
  374. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-get.mdx +2 -2
  375. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +3 -5
  376. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
  377. package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +1 -1
  378. package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +2 -4
  379. package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
  380. package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
  381. package/docs/docs/cmd/spo/user/user-get.mdx +8 -8
  382. package/docs/docs/cmd/teams/app/app-remove.mdx +9 -6
  383. package/docs/docs/cmd/teams/channel/channel-member-add.mdx +4 -4
  384. package/docs/docs/cmd/teams/meeting/meeting-list.mdx +135 -92
  385. package/docs/docs/cmd/teams/team/team-add.mdx +1 -1
  386. package/docs/docs/cmd/teams/team/team-clone.mdx +3 -3
  387. package/docs/docs/cmd/teams/team/team-list.mdx +47 -22
  388. package/docs/docs/cmd/tenant/info/info-get.mdx +101 -0
  389. package/docs/docs/cmd/yammer/network/network-list.mdx +1 -1
  390. package/npm-shrinkwrap.json +310 -1433
  391. package/package.json +23 -28
  392. package/dist/m365/pa/cds-project-mutator.js +0 -91
  393. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/generated/ManifestTypes.d.ts +0 -11
  394. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_ControlManifest.Input.xml +0 -31
  395. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_index.ts +0 -51
  396. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/generated/ManifestTypes.d.ts +0 -12
  397. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_ControlManifest.Input.xml +0 -37
  398. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_index.ts +0 -48
  399. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/index.ts +0 -0
  400. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_ControlManifest.Input.xml +0 -31
  401. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_index.tsx +0 -58
  402. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_ControlManifest.Input.xml +0 -37
  403. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_index.tsx +0 -55
  404. package/dist/m365/pa/commands/pcf/pcf-init/assets/package.json +0 -19
  405. package/dist/m365/pa/commands/pcf/pcf-init/assets/pcfconfig.json +0 -3
  406. package/dist/m365/pa/commands/pcf/pcf-init/assets/template_.gitignore +0 -14
  407. package/dist/m365/pa/commands/pcf/pcf-init/assets/template_pcfprojecttype.pcfproj +0 -45
  408. package/dist/m365/pa/commands/pcf/pcf-init/pcf-init-variables.js +0 -2
  409. package/dist/m365/pa/commands/pcf/pcf-init.js +0 -120
  410. package/dist/m365/pa/commands/solution/solution-init/assets/Other/Customizations.xml +0 -18
  411. package/dist/m365/pa/commands/solution/solution-init/assets/Other/Relationships.xml +0 -2
  412. package/dist/m365/pa/commands/solution/solution-init/assets/Other/template_Solution.xml +0 -94
  413. package/dist/m365/pa/commands/solution/solution-init/assets/template_.gitignore +0 -2
  414. package/dist/m365/pa/commands/solution/solution-init/assets/template_solutionprojecttype.cdsproj +0 -44
  415. package/dist/m365/pa/commands/solution/solution-init/solution-init-variables.js +0 -2
  416. package/dist/m365/pa/commands/solution/solution-init.js +0 -126
  417. package/dist/m365/pa/commands/solution/solution-reference-add.js +0 -88
  418. package/dist/m365/pa/template-instantiator.js +0 -57
  419. package/docs/docs/cmd/pa/pcf/pcf-init.mdx +0 -56
  420. package/docs/docs/cmd/pa/solution/solution-init.mdx +0 -46
  421. package/docs/docs/cmd/pa/solution/solution-reference-add.mdx +0 -42
  422. /package/dist/m365/aad/commands/{o365group → m365group}/GroupExtended.js +0 -0
@@ -4,7 +4,6 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
6
  var _TeamsChatGetCommand_instances, _TeamsChatGetCommand_initTelemetry, _TeamsChatGetCommand_initOptions, _TeamsChatGetCommand_initValidators, _TeamsChatGetCommand_initOptionSets;
7
- import os from 'os';
8
7
  import auth from '../../../../Auth.js';
9
8
  import request from '../../../../request.js';
10
9
  import { accessToken } from '../../../../utils/accessToken.js';
@@ -13,6 +12,7 @@ import { validation } from '../../../../utils/validation.js';
13
12
  import GraphCommand from '../../../base/GraphCommand.js';
14
13
  import commands from '../../commands.js';
15
14
  import { chatUtil } from './chatUtil.js';
15
+ import { Cli } from '../../../../cli/Cli.js';
16
16
  class TeamsChatGetCommand extends GraphCommand {
17
17
  get name() {
18
18
  return commands.CHAT_GET;
@@ -66,10 +66,9 @@ class TeamsChatGetCommand extends GraphCommand {
66
66
  if (existingChats.length === 1) {
67
67
  return existingChats[0].id;
68
68
  }
69
- const disambiguationText = existingChats.map(c => {
70
- return `- ${c.id}${c.topic && ' - '}${c.topic} - ${c.createdDateTime && new Date(c.createdDateTime).toLocaleString()}`;
71
- }).join(os.EOL);
72
- throw `Multiple chat conversations with these participants found. Please disambiguate:${os.EOL}${disambiguationText}`;
69
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('id', existingChats);
70
+ const result = await Cli.handleMultipleResultsFound(`Multiple chat conversations with these participants found.`, resultAsKeyValuePair);
71
+ return result.id;
73
72
  }
74
73
  async getChatIdByName(name) {
75
74
  const existingChats = await chatUtil.findExistingGroupChatsByName(name);
@@ -79,11 +78,9 @@ class TeamsChatGetCommand extends GraphCommand {
79
78
  if (existingChats.length === 1) {
80
79
  return existingChats[0].id;
81
80
  }
82
- const disambiguationText = existingChats.map(c => {
83
- const memberstring = c.members.map(m => m.email).join(', ');
84
- return `- ${c.id} - ${c.createdDateTime && new Date(c.createdDateTime).toLocaleString()} - ${memberstring}`;
85
- }).join(os.EOL);
86
- throw `Multiple chat conversations with this name found. Please disambiguate:${os.EOL}${disambiguationText}`;
81
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('id', existingChats);
82
+ const result = await Cli.handleMultipleResultsFound(`Multiple chat conversations with this name found.`, resultAsKeyValuePair);
83
+ return result.id;
87
84
  }
88
85
  }
89
86
  _TeamsChatGetCommand_instances = new WeakSet(), _TeamsChatGetCommand_initTelemetry = function _TeamsChatGetCommand_initTelemetry() {
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _TeamsChatMemberAddCommand_instances, _TeamsChatMemberAddCommand_initTelemetry, _TeamsChatMemberAddCommand_initOptions, _TeamsChatMemberAddCommand_initValidators, _TeamsChatMemberAddCommand_initOptionSets;
6
+ var _TeamsChatMemberAddCommand_instances, _a, _TeamsChatMemberAddCommand_initTelemetry, _TeamsChatMemberAddCommand_initOptions, _TeamsChatMemberAddCommand_initValidators, _TeamsChatMemberAddCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
8
  import { formatting } from '../../../../utils/formatting.js';
9
9
  import { validation } from '../../../../utils/validation.js';
@@ -49,7 +49,7 @@ class TeamsChatMemberAddCommand extends GraphCommand {
49
49
  }
50
50
  }
51
51
  }
52
- _TeamsChatMemberAddCommand_instances = new WeakSet(), _TeamsChatMemberAddCommand_initTelemetry = function _TeamsChatMemberAddCommand_initTelemetry() {
52
+ _a = TeamsChatMemberAddCommand, _TeamsChatMemberAddCommand_instances = new WeakSet(), _TeamsChatMemberAddCommand_initTelemetry = function _TeamsChatMemberAddCommand_initTelemetry() {
53
53
  this.telemetry.push((args) => {
54
54
  Object.assign(this.telemetryProperties, {
55
55
  userId: typeof args.options.userId !== 'undefined',
@@ -68,7 +68,7 @@ _TeamsChatMemberAddCommand_instances = new WeakSet(), _TeamsChatMemberAddCommand
68
68
  option: '--userName [userName]'
69
69
  }, {
70
70
  option: '--role [role]',
71
- autocomplete: TeamsChatMemberAddCommand.roles
71
+ autocomplete: _a.roles
72
72
  }, {
73
73
  option: '--visibleHistoryStartDateTime [visibleHistoryStartDateTime]'
74
74
  }, {
@@ -85,8 +85,8 @@ _TeamsChatMemberAddCommand_instances = new WeakSet(), _TeamsChatMemberAddCommand
85
85
  if (args.options.userName && !validation.isValidUserPrincipalName(args.options.userName)) {
86
86
  return `${args.options.userName} is not a valid userName.`;
87
87
  }
88
- if (args.options.role && TeamsChatMemberAddCommand.roles.indexOf(args.options.role) < 0) {
89
- return `${args.options.role} is not a valid role. Allowed values are ${TeamsChatMemberAddCommand.roles.join(', ')}`;
88
+ if (args.options.role && _a.roles.indexOf(args.options.role) < 0) {
89
+ return `${args.options.role} is not a valid role. Allowed values are ${_a.roles.join(', ')}`;
90
90
  }
91
91
  if (args.options.visibleHistoryStartDateTime && !validation.isValidISODateTime(args.options.visibleHistoryStartDateTime)) {
92
92
  return `'${args.options.visibleHistoryStartDateTime}' is not a valid visibleHistoryStartDateTime.`;
@@ -4,7 +4,6 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
6
  var _TeamsChatMessageSendCommand_instances, _TeamsChatMessageSendCommand_initTelemetry, _TeamsChatMessageSendCommand_initOptions, _TeamsChatMessageSendCommand_initValidators, _TeamsChatMessageSendCommand_initOptionSets;
7
- import os from 'os';
8
7
  import auth from '../../../../Auth.js';
9
8
  import request from '../../../../request.js';
10
9
  import { accessToken } from '../../../../utils/accessToken.js';
@@ -12,6 +11,8 @@ import { validation } from '../../../../utils/validation.js';
12
11
  import GraphCommand from '../../../base/GraphCommand.js';
13
12
  import commands from '../../commands.js';
14
13
  import { chatUtil } from './chatUtil.js';
14
+ import { Cli } from '../../../../cli/Cli.js';
15
+ import { formatting } from '../../../../utils/formatting.js';
15
16
  class TeamsChatMessageSendCommand extends GraphCommand {
16
17
  get name() {
17
18
  return commands.CHAT_MESSAGE_SEND;
@@ -55,10 +56,9 @@ class TeamsChatMessageSendCommand extends GraphCommand {
55
56
  if (existingChats.length === 1) {
56
57
  return existingChats[0].id;
57
58
  }
58
- const disambiguationText = existingChats.map(c => {
59
- return `- ${c.id}${c.topic && ' - '}${c.topic} - ${c.createdDateTime && new Date(c.createdDateTime).toLocaleString()}`;
60
- }).join(os.EOL);
61
- throw `Multiple chat conversations with this name found. Please disambiguate:${os.EOL}${disambiguationText}`;
59
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('id', existingChats);
60
+ const result = await Cli.handleMultipleResultsFound(`Multiple chat conversations with this name found.`, resultAsKeyValuePair);
61
+ return result.id;
62
62
  }
63
63
  async getChatIdByName(chatName) {
64
64
  const existingChats = await chatUtil.findExistingGroupChatsByName(chatName);
@@ -68,11 +68,9 @@ class TeamsChatMessageSendCommand extends GraphCommand {
68
68
  if (existingChats.length === 1) {
69
69
  return existingChats[0].id;
70
70
  }
71
- const disambiguationText = existingChats.map(c => {
72
- const memberstring = c.members.map(m => m.email).join(', ');
73
- return `- ${c.id} - ${c.createdDateTime && new Date(c.createdDateTime).toLocaleString()} - ${memberstring}`;
74
- }).join(os.EOL);
75
- throw `Multiple chat conversations with this name found. Please disambiguate:${os.EOL}${disambiguationText}`;
71
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('id', existingChats);
72
+ const result = await Cli.handleMultipleResultsFound(`Multiple chat conversations with this name found.`, resultAsKeyValuePair);
73
+ return result.id;
76
74
  }
77
75
  // This Microsoft Graph API request throws an intermittent 404 exception, saying that it cannot find the principal.
78
76
  // The same behavior occurs when creating the conversation through the Graph Explorer.
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _TeamsFunSettingsSetCommand_instances, _TeamsFunSettingsSetCommand_initTelemetry, _TeamsFunSettingsSetCommand_initOptions, _TeamsFunSettingsSetCommand_initTypes, _TeamsFunSettingsSetCommand_initValidators;
6
+ var _TeamsFunSettingsSetCommand_instances, _a, _TeamsFunSettingsSetCommand_initTelemetry, _TeamsFunSettingsSetCommand_initOptions, _TeamsFunSettingsSetCommand_initTypes, _TeamsFunSettingsSetCommand_initValidators;
7
7
  import request from '../../../../request.js';
8
8
  import { formatting } from '../../../../utils/formatting.js';
9
9
  import { validation } from '../../../../utils/validation.js';
@@ -32,7 +32,7 @@ class TeamsFunSettingsSetCommand extends GraphCommand {
32
32
  const data = {
33
33
  funSettings: {}
34
34
  };
35
- TeamsFunSettingsSetCommand.booleanProps.forEach(p => {
35
+ _a.booleanProps.forEach(p => {
36
36
  if (typeof args.options[p] !== 'undefined') {
37
37
  data.funSettings[p] = args.options[p];
38
38
  }
@@ -55,12 +55,12 @@ class TeamsFunSettingsSetCommand extends GraphCommand {
55
55
  }
56
56
  }
57
57
  }
58
- _TeamsFunSettingsSetCommand_instances = new WeakSet(), _TeamsFunSettingsSetCommand_initTelemetry = function _TeamsFunSettingsSetCommand_initTelemetry() {
58
+ _a = TeamsFunSettingsSetCommand, _TeamsFunSettingsSetCommand_instances = new WeakSet(), _TeamsFunSettingsSetCommand_initTelemetry = function _TeamsFunSettingsSetCommand_initTelemetry() {
59
59
  this.telemetry.push((args) => {
60
60
  Object.assign(this.telemetryProperties, {
61
61
  giphyContentRating: args.options.giphyContentRating
62
62
  });
63
- TeamsFunSettingsSetCommand.booleanProps.forEach(p => {
63
+ _a.booleanProps.forEach(p => {
64
64
  this.telemetryProperties[p] = args.options[p];
65
65
  });
66
66
  });
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _TeamsGuestSettingsSetCommand_instances, _TeamsGuestSettingsSetCommand_initTelemetry, _TeamsGuestSettingsSetCommand_initOptions, _TeamsGuestSettingsSetCommand_initTypes, _TeamsGuestSettingsSetCommand_initValidators;
6
+ var _TeamsGuestSettingsSetCommand_instances, _a, _TeamsGuestSettingsSetCommand_initTelemetry, _TeamsGuestSettingsSetCommand_initOptions, _TeamsGuestSettingsSetCommand_initTypes, _TeamsGuestSettingsSetCommand_initValidators;
7
7
  import request from '../../../../request.js';
8
8
  import { formatting } from '../../../../utils/formatting.js';
9
9
  import { validation } from '../../../../utils/validation.js';
@@ -28,7 +28,7 @@ class TeamsGuestSettingsSetCommand extends GraphCommand {
28
28
  const data = {
29
29
  guestSettings: {}
30
30
  };
31
- TeamsGuestSettingsSetCommand.booleanProps.forEach(p => {
31
+ _a.booleanProps.forEach(p => {
32
32
  if (typeof args.options[p] !== 'undefined') {
33
33
  data.guestSettings[p] = args.options[p];
34
34
  }
@@ -49,9 +49,9 @@ class TeamsGuestSettingsSetCommand extends GraphCommand {
49
49
  }
50
50
  }
51
51
  }
52
- _TeamsGuestSettingsSetCommand_instances = new WeakSet(), _TeamsGuestSettingsSetCommand_initTelemetry = function _TeamsGuestSettingsSetCommand_initTelemetry() {
52
+ _a = TeamsGuestSettingsSetCommand, _TeamsGuestSettingsSetCommand_instances = new WeakSet(), _TeamsGuestSettingsSetCommand_initTelemetry = function _TeamsGuestSettingsSetCommand_initTelemetry() {
53
53
  this.telemetry.push((args) => {
54
- TeamsGuestSettingsSetCommand.booleanProps.forEach(p => {
54
+ _a.booleanProps.forEach(p => {
55
55
  this.telemetryProperties[p] = args.options[p];
56
56
  });
57
57
  });
@@ -5,13 +5,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
5
5
  };
6
6
  var _TeamsMeetingListCommand_instances, _TeamsMeetingListCommand_initTelemetry, _TeamsMeetingListCommand_initOptions, _TeamsMeetingListCommand_initValidators;
7
7
  import auth from '../../../../Auth.js';
8
- import { Cli } from '../../../../cli/Cli.js';
9
8
  import { aadUser } from '../../../../utils/aadUser.js';
10
9
  import { accessToken } from '../../../../utils/accessToken.js';
11
10
  import { odata } from '../../../../utils/odata.js';
12
11
  import { validation } from '../../../../utils/validation.js';
13
12
  import GraphCommand from "../../../base/GraphCommand.js";
14
13
  import commands from '../../commands.js';
14
+ import request from '../../../../request.js';
15
+ import { formatting } from '../../../../utils/formatting.js';
15
16
  class TeamsMeetingListCommand extends GraphCommand {
16
17
  get name() {
17
18
  return commands.MEETING_LIST;
@@ -20,7 +21,7 @@ class TeamsMeetingListCommand extends GraphCommand {
20
21
  return 'Retrieve all online meetings for a given user or shared mailbox';
21
22
  }
22
23
  defaultProperties() {
23
- return ['subject', 'start', 'end'];
24
+ return ['subject', 'startDateTime', 'endDateTime'];
24
25
  }
25
26
  constructor() {
26
27
  super();
@@ -32,59 +33,99 @@ class TeamsMeetingListCommand extends GraphCommand {
32
33
  async commandAction(logger, args) {
33
34
  try {
34
35
  const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.service.accessTokens[this.resource].accessToken);
35
- if (this.verbose) {
36
- await logger.logToStderr(`Retrieving meetings for ${isAppOnlyAccessToken ? 'specific user' : 'currently logged in user'}`);
37
- }
38
- let requestUrl = `${this.resource}/v1.0/`;
39
- if (isAppOnlyAccessToken) {
40
- if (!args.options.userId && !args.options.userName && !args.options.email) {
41
- throw `The option 'userId', 'userName' or 'email' is required when retrieving meetings using app only permissions`;
42
- }
43
- requestUrl += 'users/';
44
- if (args.options.userId) {
45
- requestUrl += args.options.userId;
46
- }
47
- else if (args.options.userName) {
48
- requestUrl += args.options.userName;
49
- }
50
- else if (args.options.email) {
51
- const userId = await aadUser.getUserIdByEmail(args.options.email);
52
- requestUrl += userId;
53
- }
54
- }
55
- else {
56
- if (args.options.userId || args.options.userName || args.options.email) {
57
- throw `The options 'userId', 'userName' and 'email' cannot be used when retrieving meetings using delegated permissions`;
58
- }
59
- requestUrl += `me`;
36
+ if (isAppOnlyAccessToken && !args.options.userId && !args.options.userName && !args.options.email) {
37
+ throw `The option 'userId', 'userName' or 'email' is required when retrieving meetings using app only permissions`;
60
38
  }
61
- requestUrl += `/events?$filter=start/dateTime ge '${args.options.startDateTime}'`;
62
- if (args.options.endDateTime) {
63
- requestUrl += ` and end/dateTime le '${args.options.endDateTime}'`;
39
+ else if (!isAppOnlyAccessToken && (args.options.userId || args.options.userName || args.options.email)) {
40
+ throw `The options 'userId', 'userName' and 'email' cannot be used when retrieving meetings using delegated permissions`;
64
41
  }
65
- if (args.options.isOrganizer) {
66
- requestUrl += ' and isOrganizer eq true';
67
- }
68
- const res = await odata.getAllItems(requestUrl);
69
- const resFiltered = res.filter(y => y.isOnlineMeeting);
70
- if (!args.options.output || !Cli.shouldTrimOutput(args.options.output)) {
71
- await logger.log(resFiltered);
72
- }
73
- else {
74
- //converted to text friendly output
75
- await logger.log(resFiltered.map(i => {
76
- return {
77
- subject: i.subject,
78
- start: i.start.dateTime,
79
- end: i.end.dateTime
80
- };
81
- }));
42
+ if (this.verbose) {
43
+ await logger.logToStderr(`Retrieving meetings for user: ${args.options.userId || args.options.userName || args.options.email || accessToken.getUserNameFromAccessToken(auth.service.accessTokens[this.resource].accessToken)}...`);
82
44
  }
45
+ const graphBaseUrl = await this.getGraphBaseUrl(args.options);
46
+ const meetingUrls = await this.getMeetingJoinUrls(graphBaseUrl, args.options);
47
+ const meetings = await this.getTeamsMeetings(logger, graphBaseUrl, meetingUrls);
48
+ await logger.log(meetings);
83
49
  }
84
50
  catch (err) {
85
51
  this.handleRejectedODataJsonPromise(err);
86
52
  }
87
53
  }
54
+ /**
55
+ * Get the first part of the Graph API URL that contains the user information.
56
+ */
57
+ async getGraphBaseUrl(options) {
58
+ let requestUrl = `${this.resource}/v1.0/`;
59
+ if (options.userId || options.userName) {
60
+ requestUrl += `users/${options.userId || options.userName}`;
61
+ }
62
+ else if (options.email) {
63
+ const userId = await aadUser.getUserIdByEmail(options.email);
64
+ requestUrl += `users/${userId}`;
65
+ }
66
+ else {
67
+ requestUrl += 'me';
68
+ }
69
+ return requestUrl;
70
+ }
71
+ /**
72
+ * Gets the meeting join urls for the specified user using calendar events.
73
+ */
74
+ async getMeetingJoinUrls(graphBaseUrl, options) {
75
+ let requestUrl = graphBaseUrl;
76
+ requestUrl += `/events?$filter=start/dateTime ge '${options.startDateTime}'`;
77
+ if (options.endDateTime) {
78
+ requestUrl += ` and end/dateTime lt '${options.endDateTime}'`;
79
+ }
80
+ if (options.isOrganizer) {
81
+ requestUrl += ' and isOrganizer eq true';
82
+ }
83
+ requestUrl += '&$select=onlineMeeting';
84
+ const items = await odata.getAllItems(requestUrl);
85
+ const result = items.filter(i => i.onlineMeeting).map(i => i.onlineMeeting.joinUrl);
86
+ return result;
87
+ }
88
+ async getTeamsMeetings(logger, graphBaseUrl, meetingUrls) {
89
+ const graphRelativeUrl = graphBaseUrl.replace(`${this.resource}/v1.0/`, '');
90
+ let result = [];
91
+ for (let i = 0; i < meetingUrls.length; i += 20) {
92
+ if (this.verbose) {
93
+ logger.logToStderr(`Retrieving meetings ${i + 1}-${Math.min(i + 20, meetingUrls.length)}...`);
94
+ }
95
+ const batch = meetingUrls.slice(i, i + 20);
96
+ const requestOptions = {
97
+ url: `${this.resource}/v1.0/$batch`,
98
+ headers: {
99
+ accept: 'application/json',
100
+ 'content-type': 'application/json'
101
+ },
102
+ responseType: 'json',
103
+ data: {
104
+ requests: batch.map((url, index) => ({
105
+ id: i + index,
106
+ method: 'GET',
107
+ url: `${graphRelativeUrl}/onlineMeetings?$filter=joinWebUrl eq '${formatting.encodeQueryParameter(url)}'`
108
+ }))
109
+ }
110
+ };
111
+ const requestResponse = await request.post(requestOptions);
112
+ for (const response of requestResponse.responses) {
113
+ if (response.status === 200) {
114
+ result.push(response.body.value[0]);
115
+ }
116
+ else {
117
+ // Encountered errors where message was empty resulting in [object Object] error messages
118
+ if (!response.body.error.message) {
119
+ throw response.body.error.code;
120
+ }
121
+ throw response.body;
122
+ }
123
+ }
124
+ }
125
+ // Sort all meetings by start date
126
+ result = result.sort((a, b) => a.startDateTime < b.startDateTime ? -1 : a.startDateTime > b.startDateTime ? 1 : 0);
127
+ return result;
128
+ }
88
129
  }
89
130
  _TeamsMeetingListCommand_instances = new WeakSet(), _TeamsMeetingListCommand_initTelemetry = function _TeamsMeetingListCommand_initTelemetry() {
90
131
  this.telemetry.push((args) => {
@@ -113,13 +154,22 @@ _TeamsMeetingListCommand_instances = new WeakSet(), _TeamsMeetingListCommand_ini
113
154
  }, _TeamsMeetingListCommand_initValidators = function _TeamsMeetingListCommand_initValidators() {
114
155
  this.validators.push(async (args) => {
115
156
  if (!validation.isValidISODateTime(args.options.startDateTime)) {
116
- return `'${args.options.startDateTime}' is not a valid ISO date string`;
157
+ return `'${args.options.startDateTime}' is not a valid ISO date string for startDateTime.`;
158
+ }
159
+ if (args.options.endDateTime && !validation.isValidISODateTime(args.options.endDateTime)) {
160
+ return `'${args.options.startDateTime}' is not a valid ISO date string for endDateTime.`;
161
+ }
162
+ if (args.options.startDateTime && args.options.endDateTime && args.options.startDateTime > args.options.endDateTime) {
163
+ return 'startDateTime value must be before endDateTime.';
117
164
  }
118
165
  if (args.options.userId && !validation.isValidGuid(args.options.userId)) {
119
- return `${args.options.userId} is not a valid Guid`;
166
+ return `${args.options.userId} is not a valid GUID for userId.`;
120
167
  }
121
- if (args.options.endDateTime && !validation.isValidISODateTime(args.options.endDateTime)) {
122
- return `'${args.options.startDateTime}' is not a valid ISO date string`;
168
+ if (args.options.userName && !validation.isValidUserPrincipalName(args.options.userName)) {
169
+ return `'${args.options.userName}' is not a valid UPN for userName.`;
170
+ }
171
+ if (args.options.email && !validation.isValidUserPrincipalName(args.options.email)) {
172
+ return `'${args.options.email}' is not a valid UPN for email.`;
123
173
  }
124
174
  return true;
125
175
  });
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _TeamsMemberSettingsSetCommand_instances, _TeamsMemberSettingsSetCommand_initTelemetry, _TeamsMemberSettingsSetCommand_initOptions, _TeamsMemberSettingsSetCommand_initTypes, _TeamsMemberSettingsSetCommand_initValidators;
6
+ var _TeamsMemberSettingsSetCommand_instances, _a, _TeamsMemberSettingsSetCommand_initTelemetry, _TeamsMemberSettingsSetCommand_initOptions, _TeamsMemberSettingsSetCommand_initTypes, _TeamsMemberSettingsSetCommand_initValidators;
7
7
  import request from '../../../../request.js';
8
8
  import { formatting } from '../../../../utils/formatting.js';
9
9
  import { validation } from '../../../../utils/validation.js';
@@ -28,7 +28,7 @@ class TeamsMemberSettingsSetCommand extends GraphCommand {
28
28
  const data = {
29
29
  memberSettings: {}
30
30
  };
31
- TeamsMemberSettingsSetCommand.booleanProps.forEach(p => {
31
+ _a.booleanProps.forEach(p => {
32
32
  if (typeof args.options[p] !== 'undefined') {
33
33
  data.memberSettings[p] = args.options[p];
34
34
  }
@@ -49,9 +49,9 @@ class TeamsMemberSettingsSetCommand extends GraphCommand {
49
49
  }
50
50
  }
51
51
  }
52
- _TeamsMemberSettingsSetCommand_instances = new WeakSet(), _TeamsMemberSettingsSetCommand_initTelemetry = function _TeamsMemberSettingsSetCommand_initTelemetry() {
52
+ _a = TeamsMemberSettingsSetCommand, _TeamsMemberSettingsSetCommand_instances = new WeakSet(), _TeamsMemberSettingsSetCommand_initTelemetry = function _TeamsMemberSettingsSetCommand_initTelemetry() {
53
53
  this.telemetry.push((args) => {
54
- TeamsMemberSettingsSetCommand.booleanProps.forEach(p => {
54
+ _a.booleanProps.forEach(p => {
55
55
  this.telemetryProperties[p] = args.options[p];
56
56
  });
57
57
  });
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _TeamsMessagingSettingsSetCommand_instances, _TeamsMessagingSettingsSetCommand_initTelemetry, _TeamsMessagingSettingsSetCommand_initOptions, _TeamsMessagingSettingsSetCommand_initTypes, _TeamsMessagingSettingsSetCommand_initValidators;
6
+ var _TeamsMessagingSettingsSetCommand_instances, _a, _TeamsMessagingSettingsSetCommand_initTelemetry, _TeamsMessagingSettingsSetCommand_initOptions, _TeamsMessagingSettingsSetCommand_initTypes, _TeamsMessagingSettingsSetCommand_initValidators;
7
7
  import request from '../../../../request.js';
8
8
  import { formatting } from '../../../../utils/formatting.js';
9
9
  import { validation } from '../../../../utils/validation.js';
@@ -28,7 +28,7 @@ class TeamsMessagingSettingsSetCommand extends GraphCommand {
28
28
  const data = {
29
29
  messagingSettings: {}
30
30
  };
31
- TeamsMessagingSettingsSetCommand.booleanProps.forEach((p) => {
31
+ _a.booleanProps.forEach((p) => {
32
32
  if (typeof args.options[p] !== 'undefined') {
33
33
  data.messagingSettings[p] = args.options[p];
34
34
  }
@@ -49,9 +49,9 @@ class TeamsMessagingSettingsSetCommand extends GraphCommand {
49
49
  }
50
50
  }
51
51
  }
52
- _TeamsMessagingSettingsSetCommand_instances = new WeakSet(), _TeamsMessagingSettingsSetCommand_initTelemetry = function _TeamsMessagingSettingsSetCommand_initTelemetry() {
52
+ _a = TeamsMessagingSettingsSetCommand, _TeamsMessagingSettingsSetCommand_instances = new WeakSet(), _TeamsMessagingSettingsSetCommand_initTelemetry = function _TeamsMessagingSettingsSetCommand_initTelemetry() {
53
53
  this.telemetry.push((args) => {
54
- TeamsMessagingSettingsSetCommand.booleanProps.forEach((p) => {
54
+ _a.booleanProps.forEach((p) => {
55
55
  this.telemetryProperties[p] = args.options[p];
56
56
  });
57
57
  });
@@ -83,7 +83,7 @@ _TeamsMessagingSettingsSetCommand_instances = new WeakSet(), _TeamsMessagingSett
83
83
  }
84
84
  let hasDuplicate = false;
85
85
  let property = '';
86
- TeamsMessagingSettingsSetCommand.booleanProps.forEach((prop) => {
86
+ _a.booleanProps.forEach((prop) => {
87
87
  if (args.options[prop] instanceof Array) {
88
88
  property = prop;
89
89
  hasDuplicate = true;
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _TeamsTeamCloneCommand_instances, _TeamsTeamCloneCommand_initTelemetry, _TeamsTeamCloneCommand_initOptions, _TeamsTeamCloneCommand_initValidators, _TeamsTeamCloneCommand_initOptionSets;
6
+ var _TeamsTeamCloneCommand_instances, _TeamsTeamCloneCommand_initTelemetry, _TeamsTeamCloneCommand_initOptions, _TeamsTeamCloneCommand_initValidators;
7
7
  import request from '../../../../request.js';
8
8
  import { formatting } from '../../../../utils/formatting.js';
9
9
  import { validation } from '../../../../utils/validation.js';
@@ -22,7 +22,6 @@ class TeamsTeamCloneCommand extends GraphCommand {
22
22
  __classPrivateFieldGet(this, _TeamsTeamCloneCommand_instances, "m", _TeamsTeamCloneCommand_initTelemetry).call(this);
23
23
  __classPrivateFieldGet(this, _TeamsTeamCloneCommand_instances, "m", _TeamsTeamCloneCommand_initOptions).call(this);
24
24
  __classPrivateFieldGet(this, _TeamsTeamCloneCommand_instances, "m", _TeamsTeamCloneCommand_initValidators).call(this);
25
- __classPrivateFieldGet(this, _TeamsTeamCloneCommand_instances, "m", _TeamsTeamCloneCommand_initOptionSets).call(this);
26
25
  }
27
26
  async commandAction(logger, args) {
28
27
  const data = {
@@ -42,7 +41,7 @@ class TeamsTeamCloneCommand extends GraphCommand {
42
41
  const requestOptions = {
43
42
  url: `${this.resource}/v1.0/teams/${formatting.encodeQueryParameter(args.options.id)}/clone`,
44
43
  headers: {
45
- "content-type": "application/json",
44
+ 'content-type': 'application/json',
46
45
  accept: 'application/json;odata.metadata=none'
47
46
  },
48
47
  responseType: 'json',
@@ -75,16 +74,14 @@ _TeamsTeamCloneCommand_instances = new WeakSet(), _TeamsTeamCloneCommand_initTel
75
74
  Object.assign(this.telemetryProperties, {
76
75
  description: typeof args.options.description !== 'undefined',
77
76
  classification: typeof args.options.classification !== 'undefined',
78
- visibility: typeof args.options.visibility !== 'undefined',
79
- id: typeof args.options.id !== 'undefined',
80
- name: typeof args.options.name !== 'undefined'
77
+ visibility: typeof args.options.visibility !== 'undefined'
81
78
  });
82
79
  });
83
80
  }, _TeamsTeamCloneCommand_initOptions = function _TeamsTeamCloneCommand_initOptions() {
84
81
  this.options.unshift({
85
- option: '-i, --id [id]'
82
+ option: '-i, --id <id>'
86
83
  }, {
87
- option: '-n, --name [name]'
84
+ option: '-n, --name <name>'
88
85
  }, {
89
86
  option: '-p, --partsToClone <partsToClone>',
90
87
  autocomplete: ['apps', 'channels', 'members', 'settings', 'tabs']
@@ -121,8 +118,6 @@ _TeamsTeamCloneCommand_instances = new WeakSet(), _TeamsTeamCloneCommand_initTel
121
118
  }
122
119
  return true;
123
120
  });
124
- }, _TeamsTeamCloneCommand_initOptionSets = function _TeamsTeamCloneCommand_initOptionSets() {
125
- this.optionSets.push({ options: ['id', 'name'] });
126
121
  };
127
122
  export default new TeamsTeamCloneCommand();
128
123
  //# sourceMappingURL=team-clone.js.map