@pnp/cli-microsoft365 5.0.0-beta.fc638c4 → 5.1.0-beta.04832fc

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 (459) hide show
  1. package/.devcontainer/devcontainer.json +12 -9
  2. package/.eslintrc.js +2 -0
  3. package/.mocharc.json +9 -0
  4. package/README.md +2 -2
  5. package/dist/Auth.js +22 -9
  6. package/dist/Command.js +1 -1
  7. package/dist/api.d.ts +13 -0
  8. package/dist/api.js +17 -0
  9. package/dist/cli/Cli.js +40 -10
  10. package/dist/cli/index.js +5 -1
  11. package/dist/m365/aad/commands/app/app-add.js +54 -18
  12. package/dist/m365/aad/commands/app/app-delete.js +123 -0
  13. package/dist/m365/aad/commands/app/app-get.js +59 -14
  14. package/dist/m365/aad/commands/app/app-role-delete.js +2 -2
  15. package/dist/m365/aad/commands/app/app-role-list.js +6 -5
  16. package/dist/m365/aad/commands/app/app-set.js +98 -3
  17. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +4 -4
  18. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +3 -3
  19. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +4 -4
  20. package/dist/m365/aad/commands/group/group-list.js +21 -7
  21. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +2 -2
  22. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +2 -2
  23. package/dist/m365/aad/commands/groupsetting/groupsetting-list.js +7 -6
  24. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +2 -2
  25. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +2 -2
  26. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +8 -8
  27. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-list.js +7 -6
  28. package/dist/m365/aad/commands/o365group/o365group-add.js +41 -3
  29. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +41 -0
  30. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +87 -0
  31. package/dist/m365/aad/commands/o365group/o365group-get.js +2 -2
  32. package/dist/m365/aad/commands/o365group/o365group-list.js +15 -12
  33. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +8 -7
  34. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +7 -6
  35. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +2 -2
  36. package/dist/m365/aad/commands/o365group/o365group-remove.js +2 -2
  37. package/dist/m365/aad/commands/o365group/o365group-renew.js +2 -2
  38. package/dist/m365/aad/commands/o365group/o365group-set.js +2 -2
  39. package/dist/m365/aad/commands/o365group/o365group-teamify.js +2 -2
  40. package/dist/m365/aad/commands/o365group/o365group-user-add.js +3 -3
  41. package/dist/m365/aad/commands/o365group/o365group-user-list.js +21 -15
  42. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +3 -3
  43. package/dist/m365/aad/commands/o365group/o365group-user-set.js +23 -17
  44. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +3 -3
  45. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +2 -2
  46. package/dist/m365/aad/commands/sp/sp-add.js +3 -3
  47. package/dist/m365/aad/commands/sp/sp-get.js +3 -3
  48. package/dist/m365/aad/commands/user/user-get.js +2 -2
  49. package/dist/m365/aad/commands/user/user-hibp.js +2 -2
  50. package/dist/m365/aad/commands/user/user-list.js +7 -6
  51. package/dist/m365/aad/commands/user/user-set.js +2 -2
  52. package/dist/m365/aad/commands.js +3 -0
  53. package/dist/m365/base/AppCommand.js +2 -2
  54. package/dist/m365/base/SpoCommand.js +0 -260
  55. package/dist/m365/cli/commands/cli-doctor.js +2 -2
  56. package/dist/m365/cli/commands/config/config-set.js +1 -0
  57. package/dist/m365/commands/status.js +3 -3
  58. package/dist/m365/file/commands/file-add.js +3 -3
  59. package/dist/m365/file/commands/file-list.js +14 -12
  60. package/dist/m365/flow/commands/flow-export.js +2 -2
  61. package/dist/m365/flow/commands/flow-remove.js +2 -2
  62. package/dist/m365/flow/commands/run/run-cancel.js +2 -2
  63. package/dist/m365/flow/commands/run/run-resubmit.js +2 -2
  64. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +2 -2
  65. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +2 -2
  66. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +2 -2
  67. package/dist/m365/graph/commands/subscription/subscription-add.js +2 -2
  68. package/dist/m365/onedrive/commands/onedrive-list.js +3 -2
  69. package/dist/m365/outlook/commands/message/message-list.js +6 -5
  70. package/dist/m365/outlook/commands/room/room-list.js +44 -0
  71. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +26 -0
  72. package/dist/m365/outlook/commands.js +2 -0
  73. package/dist/m365/pa/commands/app/app-get.js +2 -2
  74. package/dist/m365/pa/commands/app/app-remove.js +2 -2
  75. package/dist/m365/pa/commands/pcf/pcf-init.js +4 -4
  76. package/dist/m365/pa/commands/solution/solution-init.js +2 -2
  77. package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
  78. package/dist/m365/planner/commands/bucket/bucket-list.js +7 -7
  79. package/dist/m365/planner/commands/plan/plan-add.js +2 -2
  80. package/dist/m365/planner/commands/plan/plan-details-get.js +134 -0
  81. package/dist/m365/planner/commands/plan/plan-get.js +7 -7
  82. package/dist/m365/planner/commands/plan/plan-list.js +2 -2
  83. package/dist/m365/planner/commands/task/task-add.js +6 -6
  84. package/dist/m365/planner/commands/task/task-details-get.js +39 -0
  85. package/dist/m365/planner/commands/task/task-get.js +37 -0
  86. package/dist/m365/planner/commands/task/task-list.js +46 -16
  87. package/dist/m365/planner/commands/task/task-set.js +6 -6
  88. package/dist/m365/planner/commands.js +3 -0
  89. package/dist/m365/spfx/commands/package/package-generate.js +4 -4
  90. package/dist/m365/spfx/commands/project/base-project-command.js +18 -19
  91. package/dist/m365/spfx/commands/project/model/index.js +5 -1
  92. package/dist/m365/spfx/commands/project/project-externalize/index.js +5 -1
  93. package/dist/m365/spfx/commands/project/project-externalize/rules/index.js +5 -1
  94. package/dist/m365/spfx/commands/project/project-upgrade/index.js +5 -2
  95. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001005_DEP_types_react.js +2 -2
  96. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001006_DEP_types_react_dom.js +2 -2
  97. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001008_DEP_react.js +2 -2
  98. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001009_DEP_react_dom.js +2 -2
  99. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001015_DEP_types_react_addons_shallow_compare.js +2 -2
  100. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001016_DEP_types_react_addons_update.js +2 -2
  101. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001017_DEP_types_react_addons_update.js +2 -2
  102. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001019_DEP_knockout.js +2 -2
  103. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001020_DEP_types_knockout.js +2 -2
  104. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  105. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001033_DEP_tslib.js +14 -0
  106. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002015_DEVDEP_types_react.js +2 -2
  107. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  108. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN020001_RES_types_react.js +2 -2
  109. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022001_SCSS_remove_fabric_react.js +2 -2
  110. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022002_SCSS_add_fabric_react.js +2 -2
  111. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023002_GITIGNORE_heft.js +40 -0
  112. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.14.0-beta.5.js → upgrade-1.14.0.js} +25 -25
  113. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.0-beta.1.js +63 -0
  114. package/dist/m365/spfx/commands/project/project-upgrade.js +10 -7
  115. package/dist/m365/spfx/commands/spfx-doctor.js +25 -6
  116. package/dist/m365/spo/commands/app/app-add.js +3 -2
  117. package/dist/m365/spo/commands/app/app-deploy.js +4 -4
  118. package/dist/m365/spo/commands/app/app-get.js +4 -4
  119. package/dist/m365/spo/commands/app/app-install.js +3 -3
  120. package/dist/m365/spo/commands/app/app-instance-list.js +2 -1
  121. package/dist/m365/spo/commands/app/app-list.js +3 -2
  122. package/dist/m365/spo/commands/app/app-remove.js +4 -5
  123. package/dist/m365/spo/commands/app/app-retract.js +4 -5
  124. package/dist/m365/spo/commands/app/app-uninstall.js +3 -3
  125. package/dist/m365/spo/commands/app/app-upgrade.js +3 -3
  126. package/dist/m365/spo/commands/apppage/apppage-add.js +2 -2
  127. package/dist/m365/spo/commands/apppage/apppage-set.js +2 -2
  128. package/dist/m365/spo/commands/cdn/cdn-get.js +4 -3
  129. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +5 -5
  130. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +4 -3
  131. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +5 -5
  132. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +4 -3
  133. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +5 -5
  134. package/dist/m365/spo/commands/cdn/cdn-set.js +3 -2
  135. package/dist/m365/spo/commands/contenttype/contenttype-add.js +6 -6
  136. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +6 -6
  137. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +6 -6
  138. package/dist/m365/spo/commands/contenttype/contenttype-get.js +2 -1
  139. package/dist/m365/spo/commands/contenttype/contenttype-list.js +2 -1
  140. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +2 -1
  141. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +3 -2
  142. package/dist/m365/spo/commands/customaction/customaction-add.js +3 -3
  143. package/dist/m365/spo/commands/customaction/customaction-clear.js +2 -1
  144. package/dist/m365/spo/commands/customaction/customaction-get.js +3 -3
  145. package/dist/m365/spo/commands/customaction/customaction-list.js +2 -1
  146. package/dist/m365/spo/commands/customaction/customaction-remove.js +3 -3
  147. package/dist/m365/spo/commands/customaction/customaction-set.js +4 -4
  148. package/dist/m365/spo/commands/externaluser/externaluser-list.js +6 -6
  149. package/dist/m365/spo/commands/feature/feature-enable.js +2 -1
  150. package/dist/m365/spo/commands/feature/feature-list.js +2 -1
  151. package/dist/m365/spo/commands/field/field-add.js +3 -2
  152. package/dist/m365/spo/commands/field/field-get.js +5 -5
  153. package/dist/m365/spo/commands/field/field-remove.js +5 -5
  154. package/dist/m365/spo/commands/field/field-set.js +10 -10
  155. package/dist/m365/spo/commands/file/file-add.js +5 -7
  156. package/dist/m365/spo/commands/file/file-checkin.js +3 -3
  157. package/dist/m365/spo/commands/file/file-checkout.js +3 -3
  158. package/dist/m365/spo/commands/file/file-copy.js +18 -7
  159. package/dist/m365/spo/commands/file/file-get.js +3 -3
  160. package/dist/m365/spo/commands/file/file-list.js +3 -3
  161. package/dist/m365/spo/commands/file/file-move.js +18 -7
  162. package/dist/m365/spo/commands/file/file-remove.js +3 -3
  163. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +3 -3
  164. package/dist/m365/spo/commands/folder/folder-add.js +3 -3
  165. package/dist/m365/spo/commands/folder/folder-copy.js +16 -5
  166. package/dist/m365/spo/commands/folder/folder-get.js +3 -3
  167. package/dist/m365/spo/commands/folder/folder-list.js +3 -3
  168. package/dist/m365/spo/commands/folder/folder-move.js +16 -5
  169. package/dist/m365/spo/commands/folder/folder-remove.js +3 -3
  170. package/dist/m365/spo/commands/folder/folder-rename.js +6 -8
  171. package/dist/m365/spo/commands/group/group-get.js +2 -1
  172. package/dist/m365/spo/commands/group/group-list.js +2 -1
  173. package/dist/m365/spo/commands/group/group-remove.js +2 -1
  174. package/dist/m365/spo/commands/group/group-user-add.js +17 -9
  175. package/dist/m365/spo/commands/group/group-user-list.js +2 -1
  176. package/dist/m365/spo/commands/group/group-user-remove.js +101 -0
  177. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +2 -1
  178. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +2 -1
  179. package/dist/m365/spo/commands/homesite/homesite-get.js +2 -1
  180. package/dist/m365/spo/commands/homesite/homesite-remove.js +3 -2
  181. package/dist/m365/spo/commands/homesite/homesite-set.js +5 -5
  182. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +4 -4
  183. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +2 -1
  184. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +3 -2
  185. package/dist/m365/spo/commands/hubsite/hubsite-get.js +3 -3
  186. package/dist/m365/spo/commands/hubsite/hubsite-list.js +2 -1
  187. package/dist/m365/spo/commands/hubsite/hubsite-register.js +3 -2
  188. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +6 -6
  189. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +6 -6
  190. package/dist/m365/spo/commands/hubsite/hubsite-set.js +8 -8
  191. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +2 -1
  192. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +3 -2
  193. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +3 -2
  194. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +3 -2
  195. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +5 -5
  196. package/dist/m365/spo/commands/list/list-add.js +5 -5
  197. package/dist/m365/spo/commands/list/list-contenttype-add.js +3 -3
  198. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +3 -3
  199. package/dist/m365/spo/commands/list/list-contenttype-list.js +3 -3
  200. package/dist/m365/spo/commands/list/list-contenttype-remove.js +3 -3
  201. package/dist/m365/spo/commands/list/list-get.js +3 -3
  202. package/dist/m365/spo/commands/list/list-label-get.js +4 -4
  203. package/dist/m365/spo/commands/list/list-label-set.js +5 -5
  204. package/dist/m365/spo/commands/list/list-list.js +2 -1
  205. package/dist/m365/spo/commands/list/list-remove.js +3 -3
  206. package/dist/m365/spo/commands/list/list-set.js +6 -6
  207. package/dist/m365/spo/commands/list/list-sitescript-get.js +4 -4
  208. package/dist/m365/spo/commands/list/list-view-field-add.js +5 -5
  209. package/dist/m365/spo/commands/list/list-view-field-remove.js +5 -5
  210. package/dist/m365/spo/commands/list/list-view-field-set.js +5 -5
  211. package/dist/m365/spo/commands/list/list-view-get.js +5 -5
  212. package/dist/m365/spo/commands/list/list-view-list.js +3 -3
  213. package/dist/m365/spo/commands/list/list-view-remove.js +4 -4
  214. package/dist/m365/spo/commands/list/list-view-set.js +5 -5
  215. package/dist/m365/spo/commands/list/list-webhook-add.js +3 -3
  216. package/dist/m365/spo/commands/list/list-webhook-get.js +4 -4
  217. package/dist/m365/spo/commands/list/list-webhook-list.js +4 -4
  218. package/dist/m365/spo/commands/list/list-webhook-remove.js +4 -4
  219. package/dist/m365/spo/commands/list/list-webhook-set.js +4 -4
  220. package/dist/m365/spo/commands/listitem/listitem-add.js +5 -7
  221. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +3 -3
  222. package/dist/m365/spo/commands/listitem/listitem-get.js +3 -3
  223. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +5 -7
  224. package/dist/m365/spo/commands/listitem/listitem-list.js +4 -4
  225. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +6 -8
  226. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +5 -7
  227. package/dist/m365/spo/commands/listitem/listitem-remove.js +3 -3
  228. package/dist/m365/spo/commands/listitem/listitem-set.js +4 -4
  229. package/dist/m365/spo/commands/mail/mail-send.js +2 -1
  230. package/dist/m365/spo/commands/navigation/navigation-node-add.js +2 -1
  231. package/dist/m365/spo/commands/navigation/navigation-node-list.js +2 -1
  232. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +3 -2
  233. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +5 -4
  234. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +3 -2
  235. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +3 -2
  236. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +3 -2
  237. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +5 -5
  238. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +5 -5
  239. package/dist/m365/spo/commands/page/Page.js +2 -2
  240. package/dist/m365/spo/commands/page/page-add.js +4 -4
  241. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +3 -3
  242. package/dist/m365/spo/commands/page/page-column-get.js +2 -1
  243. package/dist/m365/spo/commands/page/page-column-list.js +2 -1
  244. package/dist/m365/spo/commands/page/page-control-get.js +3 -3
  245. package/dist/m365/spo/commands/page/page-control-list.js +2 -1
  246. package/dist/m365/spo/commands/page/page-control-set.js +3 -3
  247. package/dist/m365/spo/commands/page/page-copy.js +2 -1
  248. package/dist/m365/spo/commands/page/page-get.js +3 -3
  249. package/dist/m365/spo/commands/page/page-header-set.js +2 -1
  250. package/dist/m365/spo/commands/page/page-list.js +2 -1
  251. package/dist/m365/spo/commands/page/page-remove.js +4 -4
  252. package/dist/m365/spo/commands/page/page-section-add.js +2 -1
  253. package/dist/m365/spo/commands/page/page-section-get.js +2 -1
  254. package/dist/m365/spo/commands/page/page-section-list.js +2 -1
  255. package/dist/m365/spo/commands/page/page-set.js +4 -4
  256. package/dist/m365/spo/commands/page/page-template-list.js +2 -1
  257. package/dist/m365/spo/commands/page/page-text-add.js +4 -4
  258. package/dist/m365/spo/commands/propertybag/propertybag-base.js +4 -4
  259. package/dist/m365/spo/commands/propertybag/propertybag-get.js +4 -6
  260. package/dist/m365/spo/commands/propertybag/propertybag-list.js +4 -6
  261. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +6 -9
  262. package/dist/m365/spo/commands/propertybag/propertybag-set.js +8 -10
  263. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +4 -4
  264. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +3 -2
  265. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +4 -4
  266. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +5 -5
  267. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +5 -5
  268. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +3 -2
  269. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +3 -2
  270. package/dist/m365/spo/commands/site/site-add.js +36 -16
  271. package/dist/m365/spo/commands/site/site-appcatalog-add.js +5 -5
  272. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +5 -5
  273. package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -4
  274. package/dist/m365/spo/commands/site/site-apppermission-get.js +2 -2
  275. package/dist/m365/spo/commands/site/site-apppermission-list.js +2 -2
  276. package/dist/m365/spo/commands/site/site-apppermission-remove.js +3 -4
  277. package/dist/m365/spo/commands/site/site-apppermission-set.js +3 -4
  278. package/dist/m365/spo/commands/site/site-chrome-set.js +2 -1
  279. package/dist/m365/spo/commands/site/site-classic-add.js +33 -13
  280. package/dist/m365/spo/commands/site/site-classic-list.js +4 -4
  281. package/dist/m365/spo/commands/site/site-classic-set.js +33 -13
  282. package/dist/m365/spo/commands/site/site-commsite-enable.js +6 -6
  283. package/dist/m365/spo/commands/site/site-ensure.js +2 -1
  284. package/dist/m365/spo/commands/site/site-get.js +2 -1
  285. package/dist/m365/spo/commands/site/site-groupify.js +2 -1
  286. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +3 -3
  287. package/dist/m365/spo/commands/site/site-list.js +4 -4
  288. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +2 -1
  289. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +66 -0
  290. package/dist/m365/spo/commands/site/site-remove.js +34 -14
  291. package/dist/m365/spo/commands/site/site-rename.js +3 -2
  292. package/dist/m365/spo/commands/site/site-set.js +12 -12
  293. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +4 -4
  294. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +4 -4
  295. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +3 -3
  296. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +2 -1
  297. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +4 -4
  298. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +4 -4
  299. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +4 -4
  300. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +4 -4
  301. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +3 -3
  302. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +3 -3
  303. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +4 -4
  304. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +3 -3
  305. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +2 -1
  306. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +3 -3
  307. package/dist/m365/spo/commands/sitescript/sitescript-add.js +3 -2
  308. package/dist/m365/spo/commands/sitescript/sitescript-get.js +4 -4
  309. package/dist/m365/spo/commands/sitescript/sitescript-list.js +3 -2
  310. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +4 -4
  311. package/dist/m365/spo/commands/sitescript/sitescript-set.js +4 -4
  312. package/dist/m365/spo/commands/spo-search.js +4 -4
  313. package/dist/m365/spo/commands/spo-set.js +2 -1
  314. package/dist/m365/spo/commands/storageentity/storageentity-get.js +2 -1
  315. package/dist/m365/spo/commands/storageentity/storageentity-list.js +2 -1
  316. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +5 -5
  317. package/dist/m365/spo/commands/storageentity/storageentity-set.js +5 -5
  318. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +2 -1
  319. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +2 -1
  320. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +3 -2
  321. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +16 -6
  322. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +16 -6
  323. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +3 -2
  324. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +5 -5
  325. package/dist/m365/spo/commands/term/term-add.js +13 -13
  326. package/dist/m365/spo/commands/term/term-get.js +9 -9
  327. package/dist/m365/spo/commands/term/term-group-add.js +6 -6
  328. package/dist/m365/spo/commands/term/term-group-get.js +5 -5
  329. package/dist/m365/spo/commands/term/term-group-list.js +3 -2
  330. package/dist/m365/spo/commands/term/term-list.js +7 -7
  331. package/dist/m365/spo/commands/term/term-set-add.js +9 -9
  332. package/dist/m365/spo/commands/term/term-set-get.js +7 -7
  333. package/dist/m365/spo/commands/term/term-set-list.js +5 -5
  334. package/dist/m365/spo/commands/theme/theme-apply.js +5 -5
  335. package/dist/m365/spo/commands/theme/theme-get.js +4 -4
  336. package/dist/m365/spo/commands/theme/theme-list.js +2 -1
  337. package/dist/m365/spo/commands/theme/theme-remove.js +2 -1
  338. package/dist/m365/spo/commands/theme/theme-set.js +5 -5
  339. package/dist/m365/spo/commands/user/user-get.js +2 -1
  340. package/dist/m365/spo/commands/user/user-list.js +2 -1
  341. package/dist/m365/spo/commands/user/user-remove.js +2 -1
  342. package/dist/m365/spo/commands/userprofile/userprofile-get.js +3 -3
  343. package/dist/m365/spo/commands/userprofile/userprofile-set.js +3 -2
  344. package/dist/m365/spo/commands/web/web-add.js +4 -3
  345. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +2 -1
  346. package/dist/m365/spo/commands/web/web-get.js +2 -1
  347. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +2 -1
  348. package/dist/m365/spo/commands/web/web-list.js +2 -1
  349. package/dist/m365/spo/commands/web/web-reindex.js +10 -11
  350. package/dist/m365/spo/commands/web/web-remove.js +2 -1
  351. package/dist/m365/spo/commands/web/web-set.js +2 -1
  352. package/dist/m365/spo/commands.js +2 -0
  353. package/dist/m365/teams/commands/app/app-install.js +77 -23
  354. package/dist/m365/teams/commands/app/app-list.js +8 -8
  355. package/dist/m365/teams/commands/app/app-remove.js +2 -2
  356. package/dist/m365/teams/commands/app/app-uninstall.js +2 -2
  357. package/dist/m365/teams/commands/app/app-update.js +55 -13
  358. package/dist/m365/teams/commands/channel/channel-add.js +2 -2
  359. package/dist/m365/teams/commands/channel/channel-get.js +32 -10
  360. package/dist/m365/teams/commands/channel/channel-list.js +7 -8
  361. package/dist/m365/teams/commands/channel/channel-remove.js +3 -3
  362. package/dist/m365/teams/commands/channel/channel-set.js +2 -2
  363. package/dist/m365/teams/commands/chat/chat-list.js +7 -6
  364. package/dist/m365/teams/commands/chat/chat-member-list.js +8 -8
  365. package/dist/m365/teams/commands/chat/chat-message-list.js +9 -9
  366. package/dist/m365/teams/commands/chat/chat-message-send.js +217 -0
  367. package/dist/m365/teams/commands/conversationmember/conversationmember-add.js +3 -3
  368. package/dist/m365/teams/commands/conversationmember/conversationmember-list.js +9 -9
  369. package/dist/m365/teams/commands/funsettings/funsettings-list.js +2 -2
  370. package/dist/m365/teams/commands/funsettings/funsettings-set.js +2 -2
  371. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +2 -2
  372. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +2 -2
  373. package/dist/m365/teams/commands/membersettings/membersettings-list.js +2 -2
  374. package/dist/m365/teams/commands/membersettings/membersettings-set.js +2 -2
  375. package/dist/m365/teams/commands/message/message-get.js +3 -3
  376. package/dist/m365/teams/commands/message/message-list.js +12 -12
  377. package/dist/m365/teams/commands/message/message-reply-list.js +10 -10
  378. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +2 -2
  379. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +3 -3
  380. package/dist/m365/teams/commands/report/report-directroutingcalls.js +3 -3
  381. package/dist/m365/teams/commands/report/report-pstncalls.js +3 -3
  382. package/dist/m365/teams/commands/tab/tab-add.js +5 -5
  383. package/dist/m365/teams/commands/tab/tab-get.js +4 -4
  384. package/dist/m365/teams/commands/tab/tab-list.js +10 -10
  385. package/dist/m365/teams/commands/tab/tab-remove.js +4 -4
  386. package/dist/m365/teams/commands/team/team-archive.js +2 -2
  387. package/dist/m365/teams/commands/team/team-clone.js +2 -2
  388. package/dist/m365/teams/commands/team/team-get.js +2 -2
  389. package/dist/m365/teams/commands/team/team-list.js +10 -12
  390. package/dist/m365/teams/commands/team/team-remove.js +2 -2
  391. package/dist/m365/teams/commands/team/team-set.js +2 -2
  392. package/dist/m365/teams/commands/team/team-unarchive.js +2 -2
  393. package/dist/m365/teams/commands/user/user-app-add.js +3 -3
  394. package/dist/m365/teams/commands/user/user-app-list.js +10 -10
  395. package/dist/m365/teams/commands/user/user-app-remove.js +2 -2
  396. package/dist/m365/teams/commands/user/user-list.js +14 -8
  397. package/dist/m365/teams/commands.js +1 -0
  398. package/dist/m365/tenant/commands/auditlog/auditlog-report.js +2 -2
  399. package/dist/m365/tenant/commands/id/id-get.js +2 -2
  400. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +2 -2
  401. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +2 -2
  402. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +2 -2
  403. package/dist/m365/tenant/commands/service/service-list.js +2 -2
  404. package/dist/m365/tenant/commands/service/service-message-list.js +2 -2
  405. package/dist/m365/tenant/commands/service/service-report-historicalservicestatus.js +2 -2
  406. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +5 -13
  407. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +9 -16
  408. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +3 -6
  409. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +8 -15
  410. package/dist/m365/tenant/commands/status/status-list.js +2 -2
  411. package/dist/m365/todo/commands/list/list-list.js +7 -6
  412. package/dist/m365/todo/commands/task/task-list.js +7 -6
  413. package/dist/request.js +4 -4
  414. package/dist/settingsNames.js +8 -6
  415. package/dist/utils/accessToken.js +44 -0
  416. package/dist/utils/formatting.js +69 -0
  417. package/dist/utils/fsUtil.js +36 -0
  418. package/dist/utils/index.js +26 -0
  419. package/dist/utils/odata.js +37 -0
  420. package/dist/utils/sinonUtil.js +19 -0
  421. package/dist/{m365/spfx/commands/project/project-upgrade/Utils.js → utils/spfx.js} +7 -19
  422. package/dist/utils/spo.js +432 -0
  423. package/dist/utils/urlUtil.js +174 -0
  424. package/dist/utils/validation.js +310 -0
  425. package/docs/docs/cmd/aad/app/app-delete.md +51 -0
  426. package/docs/docs/cmd/aad/app/app-get.md +12 -1
  427. package/docs/docs/cmd/aad/app/app-set.md +21 -0
  428. package/docs/docs/cmd/aad/group/group-list.md +9 -0
  429. package/docs/docs/cmd/aad/o365group/o365group-add.md +42 -6
  430. package/docs/docs/cmd/aad/o365group/o365group-conversation-list.md +24 -0
  431. package/docs/docs/cmd/aad/o365group/o365group-conversation-post-list.md +36 -0
  432. package/docs/docs/cmd/outlook/room/room-list.md +30 -0
  433. package/docs/docs/cmd/outlook/roomlist/roomlist-list.md +21 -0
  434. package/docs/docs/cmd/planner/plan/plan-details-get.md +45 -0
  435. package/docs/docs/cmd/planner/task/task-details-get.md +24 -0
  436. package/docs/docs/cmd/planner/task/task-get.md +29 -0
  437. package/docs/docs/cmd/planner/task/task-list.md +5 -0
  438. package/docs/docs/cmd/search/externalconnection/externalconnection-add.md +3 -3
  439. package/docs/docs/cmd/spfx/project/project-upgrade.md +8 -8
  440. package/docs/docs/cmd/spo/group/group-user-add.md +4 -0
  441. package/docs/docs/cmd/spo/group/group-user-remove.md +39 -0
  442. package/docs/docs/cmd/spo/site/site-recyclebinitem-restore.md +27 -0
  443. package/docs/docs/cmd/teams/app/app-install.md +22 -4
  444. package/docs/docs/cmd/teams/app/app-update.md +12 -3
  445. package/docs/docs/cmd/teams/channel/channel-get.md +11 -2
  446. package/docs/docs/cmd/teams/chat/chat-message-send.md +55 -0
  447. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.md +5 -9
  448. package/npm-shrinkwrap.json +865 -809
  449. package/package.json +23 -18
  450. package/dist/Utils.js +0 -575
  451. package/dist/m365/base/AadCommand.js +0 -10
  452. package/dist/m365/base/AzmgmtResponse.js +0 -3
  453. package/dist/m365/base/GraphItemsListCommand.js +0 -46
  454. package/dist/m365/base/GraphResponse.js +0 -3
  455. package/dist/m365/base/GraphResponseError.js +0 -3
  456. package/dist/m365/spo/ClientSvc.js +0 -128
  457. package/dist/m365/spo/FolderExtensions.js +0 -101
  458. package/dist/m365/spo/commands/site/SpoOperation.js +0 -3
  459. package/dist/m365/spo/spo.js +0 -3
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const config_1 = require("../../../../config");
4
4
  const request_1 = require("../../../../request");
5
- const Utils_1 = require("../../../../Utils");
5
+ const utils_1 = require("../../../../utils");
6
6
  const SpoCommand_1 = require("../../../base/SpoCommand");
7
7
  const commands_1 = require("../../commands");
8
8
  class SpoThemeGetCommand extends SpoCommand_1.default {
@@ -14,11 +14,11 @@ class SpoThemeGetCommand extends SpoCommand_1.default {
14
14
  }
15
15
  commandAction(logger, args, cb) {
16
16
  let spoAdminUrl = '';
17
- this
17
+ utils_1.spo
18
18
  .getSpoAdminUrl(logger, this.debug)
19
19
  .then((_spoAdminUrl) => {
20
20
  spoAdminUrl = _spoAdminUrl;
21
- return this.getRequestDigest(spoAdminUrl);
21
+ return utils_1.spo.getRequestDigest(spoAdminUrl);
22
22
  })
23
23
  .then((res) => {
24
24
  if (this.verbose) {
@@ -29,7 +29,7 @@ class SpoThemeGetCommand extends SpoCommand_1.default {
29
29
  headers: {
30
30
  'X-RequestDigest': res.FormDigestValue
31
31
  },
32
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="12" ObjectPathId="11" /><ObjectPath Id="14" ObjectPathId="13" /><Query Id="15" ObjectPathId="13"><Query SelectAllProperties="true"><Properties /></Query></Query></Actions><ObjectPaths><Constructor Id="11" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="13" ParentId="11" Name="GetTenantTheme"><Parameters><Parameter Type="String">${Utils_1.default.escapeXml(args.options.name)}</Parameter></Parameters></Method></ObjectPaths></Request>`
32
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="12" ObjectPathId="11" /><ObjectPath Id="14" ObjectPathId="13" /><Query Id="15" ObjectPathId="13"><Query SelectAllProperties="true"><Properties /></Query></Query></Actions><ObjectPaths><Constructor Id="11" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="13" ParentId="11" Name="GetTenantTheme"><Parameters><Parameter Type="String">${utils_1.formatting.escapeXml(args.options.name)}</Parameter></Parameters></Method></ObjectPaths></Request>`
33
33
  };
34
34
  return request_1.default.post(requestOptions);
35
35
  })
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
4
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
5
6
  const commands_1 = require("../../commands");
6
7
  class SpoThemeListCommand extends SpoCommand_1.default {
@@ -14,7 +15,7 @@ class SpoThemeListCommand extends SpoCommand_1.default {
14
15
  return ['name'];
15
16
  }
16
17
  commandAction(logger, args, cb) {
17
- this
18
+ utils_1.spo
18
19
  .getSpoAdminUrl(logger, this.debug)
19
20
  .then((spoAdminUrl) => {
20
21
  if (this.verbose) {
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const cli_1 = require("../../../../cli");
4
4
  const request_1 = require("../../../../request");
5
+ const utils_1 = require("../../../../utils");
5
6
  const SpoCommand_1 = require("../../../base/SpoCommand");
6
7
  const commands_1 = require("../../commands");
7
8
  class SpoThemeRemoveCommand extends SpoCommand_1.default {
@@ -18,7 +19,7 @@ class SpoThemeRemoveCommand extends SpoCommand_1.default {
18
19
  }
19
20
  commandAction(logger, args, cb) {
20
21
  const removeTheme = () => {
21
- this
22
+ utils_1.spo
22
23
  .getSpoAdminUrl(logger, this.debug)
23
24
  .then((spoAdminUrl) => {
24
25
  if (this.verbose) {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const config_1 = require("../../../../config");
4
4
  const request_1 = require("../../../../request");
5
- const Utils_1 = require("../../../../Utils");
5
+ const utils_1 = require("../../../../utils");
6
6
  const SpoCommand_1 = require("../../../base/SpoCommand");
7
7
  const commands_1 = require("../../commands");
8
8
  class SpoThemeSetCommand extends SpoCommand_1.default {
@@ -19,11 +19,11 @@ class SpoThemeSetCommand extends SpoCommand_1.default {
19
19
  }
20
20
  commandAction(logger, args, cb) {
21
21
  let spoAdminUrl = '';
22
- this
22
+ utils_1.spo
23
23
  .getSpoAdminUrl(logger, this.debug)
24
24
  .then((_spoAdminUrl) => {
25
25
  spoAdminUrl = _spoAdminUrl;
26
- return this.getRequestDigest(spoAdminUrl);
26
+ return utils_1.spo.getRequestDigest(spoAdminUrl);
27
27
  })
28
28
  .then((res) => {
29
29
  const palette = JSON.parse(args.options.theme);
@@ -38,7 +38,7 @@ class SpoThemeSetCommand extends SpoCommand_1.default {
38
38
  headers: {
39
39
  'X-RequestDigest': res.FormDigestValue
40
40
  },
41
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="10" ObjectPathId="9" /><Method Name="UpdateTenantTheme" Id="11" ObjectPathId="9"><Parameters><Parameter Type="String">${Utils_1.default.escapeXml(args.options.name)}</Parameter><Parameter Type="String">{"isInverted":${isInverted},"name":"${Utils_1.default.escapeXml(args.options.name)}","palette":${JSON.stringify(palette)}}</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="9" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}"/></ObjectPaths></Request>`
41
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="10" ObjectPathId="9" /><Method Name="UpdateTenantTheme" Id="11" ObjectPathId="9"><Parameters><Parameter Type="String">${utils_1.formatting.escapeXml(args.options.name)}</Parameter><Parameter Type="String">{"isInverted":${isInverted},"name":"${utils_1.formatting.escapeXml(args.options.name)}","palette":${JSON.stringify(palette)}}</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="9" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}"/></ObjectPaths></Request>`
42
42
  };
43
43
  return request_1.default.post(requestOptions);
44
44
  })
@@ -66,7 +66,7 @@ class SpoThemeSetCommand extends SpoCommand_1.default {
66
66
  return options.concat(parentOptions);
67
67
  }
68
68
  validate(args) {
69
- if (!Utils_1.default.isValidTheme(args.options.theme)) {
69
+ if (!utils_1.validation.isValidTheme(args.options.theme)) {
70
70
  return 'The specified theme is not valid';
71
71
  }
72
72
  return true;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
4
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
5
6
  const commands_1 = require("../../commands");
6
7
  class SpoUserGetCommand extends SpoCommand_1.default {
@@ -77,7 +78,7 @@ class SpoUserGetCommand extends SpoCommand_1.default {
77
78
  typeof args.options.id !== 'number') {
78
79
  return `Specified id ${args.options.id} is not a number`;
79
80
  }
80
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
81
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
81
82
  }
82
83
  }
83
84
  module.exports = new SpoUserGetCommand();
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
4
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
5
6
  const commands_1 = require("../../commands");
6
7
  class SpoUserListCommand extends SpoCommand_1.default {
@@ -44,7 +45,7 @@ class SpoUserListCommand extends SpoCommand_1.default {
44
45
  return options.concat(parentOptions);
45
46
  }
46
47
  validate(args) {
47
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
48
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
48
49
  }
49
50
  }
50
51
  module.exports = new SpoUserListCommand();
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const cli_1 = require("../../../../cli");
4
4
  const request_1 = require("../../../../request");
5
+ const utils_1 = require("../../../../utils");
5
6
  const SpoCommand_1 = require("../../../base/SpoCommand");
6
7
  const commands_1 = require("../../commands");
7
8
  class SpoUserRemoveCommand extends SpoCommand_1.default {
@@ -85,7 +86,7 @@ class SpoUserRemoveCommand extends SpoCommand_1.default {
85
86
  if (args.options.id && args.options.loginName) {
86
87
  return 'Use either id or loginName, but not both';
87
88
  }
88
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
89
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
89
90
  }
90
91
  }
91
92
  module.exports = new SpoUserRemoveCommand();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
- const Utils_1 = require("../../../../Utils");
4
+ const utils_1 = require("../../../../utils");
5
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
6
6
  const commands_1 = require("../../commands");
7
7
  class SpoUserProfileGetCommand extends SpoCommand_1.default {
@@ -12,7 +12,7 @@ class SpoUserProfileGetCommand extends SpoCommand_1.default {
12
12
  return 'Sets user profile property for a SharePoint user';
13
13
  }
14
14
  commandAction(logger, args, cb) {
15
- this
15
+ utils_1.spo
16
16
  .getSpoUrl(logger, this.debug)
17
17
  .then((spoUrl) => {
18
18
  const userName = `i:0#.f|membership|${args.options.userName}`;
@@ -45,7 +45,7 @@ class SpoUserProfileGetCommand extends SpoCommand_1.default {
45
45
  return options.concat(parentOptions);
46
46
  }
47
47
  validate(args) {
48
- if (!Utils_1.default.isValidUserPrincipalName(args.options.userName)) {
48
+ if (!utils_1.validation.isValidUserPrincipalName(args.options.userName)) {
49
49
  return `${args.options.userName} is not a valid user principal name`;
50
50
  }
51
51
  return true;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
4
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
5
6
  const commands_1 = require("../../commands");
6
7
  class SpoUserProfileSetCommand extends SpoCommand_1.default {
@@ -12,11 +13,11 @@ class SpoUserProfileSetCommand extends SpoCommand_1.default {
12
13
  }
13
14
  commandAction(logger, args, cb) {
14
15
  let spoUrl = '';
15
- this
16
+ utils_1.spo
16
17
  .getSpoUrl(logger, this.debug)
17
18
  .then((_spoUrl) => {
18
19
  spoUrl = _spoUrl;
19
- return this.getRequestDigest(spoUrl);
20
+ return utils_1.spo.getRequestDigest(spoUrl);
20
21
  })
21
22
  .then((res) => {
22
23
  const propertyValue = args.options.propertyValue.split(',').map(o => o.trim());
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const Command_1 = require("../../../../Command");
4
4
  const config_1 = require("../../../../config");
5
5
  const request_1 = require("../../../../request");
6
+ const utils_1 = require("../../../../utils");
6
7
  const SpoCommand_1 = require("../../../base/SpoCommand");
7
8
  const base_permissions_1 = require("../../base-permissions");
8
9
  const commands_1 = require("../../commands");
@@ -27,7 +28,7 @@ class SpoWebAddCommand extends SpoCommand_1.default {
27
28
  commandAction(logger, args, cb) {
28
29
  let siteInfo = null;
29
30
  let subsiteFullUrl = '';
30
- this
31
+ utils_1.spo
31
32
  .getRequestDigest(args.options.parentWebUrl)
32
33
  .then((res) => {
33
34
  const requestOptions = {
@@ -87,7 +88,7 @@ class SpoWebAddCommand extends SpoCommand_1.default {
87
88
  }
88
89
  return Promise.reject(SpoWebAddCommand.DONE);
89
90
  }
90
- return this.getRequestDigest(subsiteFullUrl);
91
+ return utils_1.spo.getRequestDigest(subsiteFullUrl);
91
92
  })
92
93
  .then((res) => {
93
94
  const requestOptions = {
@@ -157,7 +158,7 @@ class SpoWebAddCommand extends SpoCommand_1.default {
157
158
  return options.concat(parentOptions);
158
159
  }
159
160
  validate(args) {
160
- const isValidSharePointUrl = SpoCommand_1.default.isValidSharePointUrl(args.options.parentWebUrl);
161
+ const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.parentWebUrl);
161
162
  if (isValidSharePointUrl !== true) {
162
163
  return isValidSharePointUrl;
163
164
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
4
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
5
6
  const commands_1 = require("../../commands");
6
7
  class SpoWebClientSideWebPartListCommand extends SpoCommand_1.default {
@@ -50,7 +51,7 @@ class SpoWebClientSideWebPartListCommand extends SpoCommand_1.default {
50
51
  return options.concat(parentOptions);
51
52
  }
52
53
  validate(args) {
53
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
54
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
54
55
  }
55
56
  }
56
57
  module.exports = new SpoWebClientSideWebPartListCommand();
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
4
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
5
6
  const commands_1 = require("../../commands");
6
7
  class SpoWebGetCommand extends SpoCommand_1.default {
@@ -47,7 +48,7 @@ class SpoWebGetCommand extends SpoCommand_1.default {
47
48
  return options.concat(parentOptions);
48
49
  }
49
50
  validate(args) {
50
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
51
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
51
52
  }
52
53
  }
53
54
  module.exports = new SpoWebGetCommand();
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
4
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
5
6
  const commands_1 = require("../../commands");
6
7
  class SpoWebInstalledLanguageListCommand extends SpoCommand_1.default {
@@ -41,7 +42,7 @@ class SpoWebInstalledLanguageListCommand extends SpoCommand_1.default {
41
42
  return options.concat(parentOptions);
42
43
  }
43
44
  validate(args) {
44
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
45
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
45
46
  }
46
47
  }
47
48
  module.exports = new SpoWebInstalledLanguageListCommand();
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
4
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
5
6
  const commands_1 = require("../../commands");
6
7
  class SpoWebListCommand extends SpoCommand_1.default {
@@ -45,7 +46,7 @@ class SpoWebListCommand extends SpoCommand_1.default {
45
46
  return options.concat(parentOptions);
46
47
  }
47
48
  validate(args) {
48
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
49
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
49
50
  }
50
51
  }
51
52
  module.exports = new SpoWebListCommand();
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
4
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
5
- const ClientSvc_1 = require("../../ClientSvc");
6
6
  const commands_1 = require("../../commands");
7
7
  const propertybag_base_1 = require("../propertybag/propertybag-base");
8
8
  class SpoWebReindexCommand extends SpoCommand_1.default {
@@ -17,17 +17,16 @@ class SpoWebReindexCommand extends SpoCommand_1.default {
17
17
  return 'Requests reindexing the specified subsite';
18
18
  }
19
19
  commandAction(logger, args, cb) {
20
- const clientSvcCommons = new ClientSvc_1.ClientSvc(logger, this.debug);
21
20
  let requestDigest = '';
22
21
  let webIdentityResp;
23
- this
22
+ utils_1.spo
24
23
  .getRequestDigest(args.options.webUrl)
25
24
  .then((res) => {
26
25
  requestDigest = res.FormDigestValue;
27
26
  if (this.debug) {
28
27
  logger.logToStderr(`Retrieved request digest. Retrieving web identity...`);
29
28
  }
30
- return clientSvcCommons.getCurrentWebIdentity(args.options.webUrl, requestDigest);
29
+ return utils_1.spo.getCurrentWebIdentity(args.options.webUrl, requestDigest);
31
30
  })
32
31
  .then((identityResp) => {
33
32
  webIdentityResp = identityResp;
@@ -37,14 +36,14 @@ class SpoWebReindexCommand extends SpoCommand_1.default {
37
36
  if (this.verbose) {
38
37
  logger.logToStderr(`Checking if the site is a no-script site...`);
39
38
  }
40
- return propertybag_base_1.SpoPropertyBagBaseCommand.isNoScriptSite(args.options.webUrl, requestDigest, webIdentityResp, clientSvcCommons);
39
+ return propertybag_base_1.SpoPropertyBagBaseCommand.isNoScriptSite(args.options.webUrl, requestDigest, webIdentityResp, logger, this.debug);
41
40
  })
42
41
  .then((isNoScriptSite) => {
43
42
  if (isNoScriptSite) {
44
43
  if (this.verbose) {
45
44
  logger.logToStderr(`Site is a no-script site. Reindexing lists instead...`);
46
45
  }
47
- return this.reindexLists(args.options.webUrl, requestDigest, logger, webIdentityResp, clientSvcCommons);
46
+ return this.reindexLists(args.options.webUrl, requestDigest, logger, webIdentityResp);
48
47
  }
49
48
  if (this.verbose) {
50
49
  logger.logToStderr(`Site is not a no-script site. Reindexing site...`);
@@ -72,7 +71,7 @@ class SpoWebReindexCommand extends SpoCommand_1.default {
72
71
  }
73
72
  });
74
73
  }
75
- reindexLists(webUrl, requestDigest, logger, webIdentityResp, clientSvcCommons) {
74
+ reindexLists(webUrl, requestDigest, logger, webIdentityResp) {
76
75
  return new Promise((resolve, reject) => {
77
76
  (() => {
78
77
  if (this.debug) {
@@ -88,7 +87,7 @@ class SpoWebReindexCommand extends SpoCommand_1.default {
88
87
  return request_1.default.get(requestOptions);
89
88
  })()
90
89
  .then((lists) => {
91
- const promises = lists.value.map(l => this.reindexList(l, webUrl, requestDigest, webIdentityResp, clientSvcCommons, logger));
90
+ const promises = lists.value.map(l => this.reindexList(l, webUrl, requestDigest, webIdentityResp, logger));
92
91
  return Promise.all(promises);
93
92
  })
94
93
  .then(() => {
@@ -97,7 +96,7 @@ class SpoWebReindexCommand extends SpoCommand_1.default {
97
96
  }, (err) => reject(err));
98
97
  });
99
98
  }
100
- reindexList(list, webUrl, requestDigest, webIdentityResp, clientSvcCommons, logger) {
99
+ reindexList(list, webUrl, requestDigest, webIdentityResp, logger) {
101
100
  return new Promise((resolve, reject) => {
102
101
  if (list.NoCrawl) {
103
102
  if (this.debug) {
@@ -106,7 +105,7 @@ class SpoWebReindexCommand extends SpoCommand_1.default {
106
105
  resolve();
107
106
  return;
108
107
  }
109
- clientSvcCommons
108
+ utils_1.spo
110
109
  .getFolderIdentity(webIdentityResp.objectIdentity, webUrl, list.RootFolder.ServerRelativeUrl, requestDigest)
111
110
  .then((folderIdentityResp) => {
112
111
  let searchversion = list.RootFolder.Properties.vti_x005f_searchversion || 0;
@@ -128,7 +127,7 @@ class SpoWebReindexCommand extends SpoCommand_1.default {
128
127
  return options.concat(parentOptions);
129
128
  }
130
129
  validate(args) {
131
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
130
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
132
131
  }
133
132
  }
134
133
  module.exports = new SpoWebReindexCommand();
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const cli_1 = require("../../../../cli");
4
4
  const request_1 = require("../../../../request");
5
+ const utils_1 = require("../../../../utils");
5
6
  const SpoCommand_1 = require("../../../base/SpoCommand");
6
7
  const commands_1 = require("../../commands");
7
8
  class SpoWebRemoveCommand extends SpoCommand_1.default {
@@ -65,7 +66,7 @@ class SpoWebRemoveCommand extends SpoCommand_1.default {
65
66
  return options.concat(parentOptions);
66
67
  }
67
68
  validate(args) {
68
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
69
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
69
70
  }
70
71
  }
71
72
  module.exports = new SpoWebRemoveCommand();
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
4
5
  const SpoCommand_1 = require("../../../base/SpoCommand");
5
6
  const commands_1 = require("../../commands");
6
7
  class SpoWebSetCommand extends SpoCommand_1.default {
@@ -116,7 +117,7 @@ class SpoWebSetCommand extends SpoCommand_1.default {
116
117
  return options.concat(parentOptions);
117
118
  }
118
119
  validate(args) {
119
- const isValidSharePointUrl = SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
120
+ const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.webUrl);
120
121
  if (isValidSharePointUrl !== true) {
121
122
  return isValidSharePointUrl;
122
123
  }
@@ -64,6 +64,7 @@ exports.default = {
64
64
  GROUP_REMOVE: `${prefix} group remove`,
65
65
  GROUP_USER_ADD: `${prefix} group user add`,
66
66
  GROUP_USER_LIST: `${prefix} group user list`,
67
+ GROUP_USER_REMOVE: `${prefix} group user remove`,
67
68
  HIDEDEFAULTTHEMES_GET: `${prefix} hidedefaultthemes get`,
68
69
  HIDEDEFAULTTHEMES_SET: `${prefix} hidedefaultthemes set`,
69
70
  HOMESITE_GET: `${prefix} homesite get`,
@@ -184,6 +185,7 @@ exports.default = {
184
185
  SITE_LIST: `${prefix} site list`,
185
186
  SITE_INPLACERECORDSMANAGEMENT_SET: `${prefix} site inplacerecordsmanagement set`,
186
187
  SITE_RECYCLEBINITEM_LIST: `${prefix} site recyclebinitem list`,
188
+ SITE_RECYCLEBINITEM_RESTORE: `${prefix} site recyclebinitem restore`,
187
189
  SITE_REMOVE: `${prefix} site remove`,
188
190
  SITE_RENAME: `${prefix} site rename`,
189
191
  SITE_SET: `${prefix} site set`,
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cli_1 = require("../../../../cli");
3
4
  const request_1 = require("../../../../request");
4
- const Utils_1 = require("../../../../Utils");
5
+ const utils_1 = require("../../../../utils");
6
+ const AadUserGetCommand = require("../../../aad/commands/user/user-get");
5
7
  const GraphCommand_1 = require("../../../base/GraphCommand");
6
8
  const commands_1 = require("../../commands");
7
9
  class TeamsAppInstallCommand extends GraphCommand_1.default {
@@ -9,44 +11,96 @@ class TeamsAppInstallCommand extends GraphCommand_1.default {
9
11
  return commands_1.default.APP_INSTALL;
10
12
  }
11
13
  get description() {
12
- return 'Installs an app from the catalog to a Microsoft Teams team';
14
+ return 'Installs a Microsoft Teams team app from the catalog in the specified team or for the specified user';
13
15
  }
14
16
  commandAction(logger, args, cb) {
15
- const endpoint = `${this.resource}/v1.0`;
16
- const requestOptions = {
17
- url: `${endpoint}/teams/${args.options.teamId}/installedApps`,
18
- headers: {
19
- 'content-type': 'application/json;odata=nometadata',
20
- 'accept': 'application/json;odata.metadata=none'
21
- },
22
- responseType: 'json',
23
- data: {
24
- 'teamsApp@odata.bind': `${endpoint}/appCatalogs/teamsApps/${args.options.appId}`
17
+ this
18
+ .validateUser(args, logger)
19
+ .then(_ => {
20
+ var _a;
21
+ let url = `${this.resource}/v1.0`;
22
+ if (args.options.teamId) {
23
+ url += `/teams/${encodeURIComponent(args.options.teamId)}/installedApps`;
25
24
  }
26
- };
27
- request_1.default
28
- .post(requestOptions)
25
+ else {
26
+ url += `/users/${encodeURIComponent(((_a = args.options.userId) !== null && _a !== void 0 ? _a : args.options.userName))}/teamwork/installedApps`;
27
+ }
28
+ const requestOptions = {
29
+ url: url,
30
+ headers: {
31
+ 'content-type': 'application/json;odata=nometadata',
32
+ 'accept': 'application/json;odata.metadata=none'
33
+ },
34
+ responseType: 'json',
35
+ data: {
36
+ 'teamsApp@odata.bind': `${this.resource}/v1.0/appCatalogs/teamsApps/${args.options.appId}`
37
+ }
38
+ };
39
+ return request_1.default.post(requestOptions);
40
+ })
29
41
  .then(_ => cb(), (res) => this.handleRejectedODataJsonPromise(res, logger, cb));
30
42
  }
43
+ // we need this method, because passing an invalid user ID to the API
44
+ // won't cause an error
45
+ validateUser(args, logger) {
46
+ if (!args.options.userId) {
47
+ return Promise.resolve(true);
48
+ }
49
+ if (this.verbose) {
50
+ logger.logToStderr(`Checking if user ${args.options.userId} exists...`);
51
+ }
52
+ const options = {
53
+ id: args.options.userId,
54
+ output: 'json',
55
+ debug: args.options.debug,
56
+ verbose: args.options.verbose
57
+ };
58
+ return cli_1.Cli
59
+ .executeCommandWithOutput(AadUserGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) })
60
+ .then((res) => {
61
+ if (this.verbose) {
62
+ logger.logToStderr(res.stderr);
63
+ }
64
+ return true;
65
+ }, (err) => {
66
+ if (this.verbose) {
67
+ logger.logToStderr(err.stderr);
68
+ }
69
+ return Promise.reject(`User with ID ${args.options.userId} not found. Original error: ${err.error.message}`);
70
+ });
71
+ }
31
72
  options() {
32
73
  const options = [
33
- {
34
- option: '--appId <appId>'
35
- },
36
- {
37
- option: '--teamId <teamId>'
38
- }
74
+ { option: '--appId <appId>' },
75
+ { option: '--teamId [teamId' },
76
+ { option: '--userId [userId]' },
77
+ { option: '--userName [userName]' }
39
78
  ];
40
79
  const parentOptions = super.options();
41
80
  return options.concat(parentOptions);
42
81
  }
43
82
  validate(args) {
44
- if (!Utils_1.default.isValidGuid(args.options.appId)) {
83
+ if (!utils_1.validation.isValidGuid(args.options.appId)) {
45
84
  return `${args.options.appId} is not a valid GUID`;
46
85
  }
47
- if (!Utils_1.default.isValidGuid(args.options.teamId)) {
86
+ if (!args.options.teamId &&
87
+ !args.options.userId &&
88
+ !args.options.userName) {
89
+ return `Specify either teamId, userId or userName`;
90
+ }
91
+ if ((args.options.teamId && args.options.userId) ||
92
+ (args.options.teamId && args.options.userName) ||
93
+ (args.options.userId && args.options.userName)) {
94
+ return `Specify either teamId, userId or userName but not multiple`;
95
+ }
96
+ if (args.options.teamId &&
97
+ !utils_1.validation.isValidGuid(args.options.teamId)) {
48
98
  return `${args.options.teamId} is not a valid GUID`;
49
99
  }
100
+ if (args.options.userId &&
101
+ !utils_1.validation.isValidGuid(args.options.userId)) {
102
+ return `${args.options.userId} is not a valid GUID`;
103
+ }
50
104
  return true;
51
105
  }
52
106
  }
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../../request");
4
- const Utils_1 = require("../../../../Utils");
5
- const GraphItemsListCommand_1 = require("../../../base/GraphItemsListCommand");
4
+ const utils_1 = require("../../../../utils");
5
+ const GraphCommand_1 = require("../../../base/GraphCommand");
6
6
  const commands_1 = require("../../commands");
7
- class TeamsAppListCommand extends GraphItemsListCommand_1.GraphItemsListCommand {
7
+ class TeamsAppListCommand extends GraphCommand_1.default {
8
8
  get name() {
9
9
  return commands_1.default.APP_LIST;
10
10
  }
@@ -76,15 +76,15 @@ class TeamsAppListCommand extends GraphItemsListCommand_1.GraphItemsListCommand
76
76
  commandAction(logger, args, cb) {
77
77
  this
78
78
  .getEndpointUrl(args)
79
- .then((endpoint) => this.getAllItems(endpoint, logger, true))
80
- .then(() => {
79
+ .then(endpoint => utils_1.odata.getAllItems(endpoint, logger))
80
+ .then((items) => {
81
81
  if (args.options.teamId || args.options.teamName) {
82
- this.items.forEach(t => {
82
+ items.forEach(t => {
83
83
  t.displayName = t.teamsApp.displayName;
84
84
  t.distributionMethod = t.teamsApp.distributionMethod;
85
85
  });
86
86
  }
87
- logger.log(this.items);
87
+ logger.log(items);
88
88
  cb();
89
89
  }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
90
90
  }
@@ -107,7 +107,7 @@ class TeamsAppListCommand extends GraphItemsListCommand_1.GraphItemsListCommand
107
107
  if (args.options.teamId && args.options.teamName) {
108
108
  return 'Specify either teamId or teamName, but not both.';
109
109
  }
110
- if (args.options.teamId && !Utils_1.default.isValidGuid(args.options.teamId)) {
110
+ if (args.options.teamId && !utils_1.validation.isValidGuid(args.options.teamId)) {
111
111
  return `${args.options.teamId} is not a valid GUID`;
112
112
  }
113
113
  return true;