@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 cli_1 = require("../../../../cli");
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 SpoFileRemoveCommand extends SpoCommand_1.default {
@@ -107,12 +107,12 @@ class SpoFileRemoveCommand extends SpoCommand_1.default {
107
107
  return options.concat(parentOptions);
108
108
  }
109
109
  validate(args) {
110
- const isValidSharePointUrl = SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
110
+ const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.webUrl);
111
111
  if (isValidSharePointUrl !== true) {
112
112
  return isValidSharePointUrl;
113
113
  }
114
114
  if (args.options.id &&
115
- !Utils_1.default.isValidGuid(args.options.id)) {
115
+ !utils_1.validation.isValidGuid(args.options.id)) {
116
116
  return `${args.options.id} is not a valid GUID`;
117
117
  }
118
118
  if (args.options.id && args.options.url) {
@@ -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
  const FileSharingPrincipalType_1 = require("./FileSharingPrincipalType");
@@ -108,12 +108,12 @@ class SpoFileSharinginfoGetCommand extends SpoCommand_1.default {
108
108
  return options.concat(parentOptions);
109
109
  }
110
110
  validate(args) {
111
- const isValidSharePointUrl = SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
111
+ const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.webUrl);
112
112
  if (isValidSharePointUrl !== true) {
113
113
  return isValidSharePointUrl;
114
114
  }
115
115
  if (args.options.id) {
116
- if (!Utils_1.default.isValidGuid(args.options.id)) {
116
+ if (!utils_1.validation.isValidGuid(args.options.id)) {
117
117
  return `${args.options.id} is not a valid GUID`;
118
118
  }
119
119
  }
@@ -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 SpoFolderAddCommand extends SpoCommand_1.default {
@@ -15,7 +15,7 @@ class SpoFolderAddCommand extends SpoCommand_1.default {
15
15
  if (this.verbose) {
16
16
  logger.logToStderr(`Adding folder to site ${args.options.webUrl}...`);
17
17
  }
18
- const parentFolderServerRelativeUrl = Utils_1.default.getServerRelativePath(args.options.webUrl, args.options.parentFolderUrl);
18
+ const parentFolderServerRelativeUrl = utils_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.parentFolderUrl);
19
19
  const serverRelativeUrl = `${parentFolderServerRelativeUrl}/${args.options.name}`;
20
20
  const requestUrl = `${args.options.webUrl}/_api/web/folders`;
21
21
  const requestOptions = {
@@ -51,7 +51,7 @@ class SpoFolderAddCommand extends SpoCommand_1.default {
51
51
  return options.concat(parentOptions);
52
52
  }
53
53
  validate(args) {
54
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
54
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
55
55
  }
56
56
  }
57
57
  module.exports = new SpoFolderAddCommand();
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const url = require("url");
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 SpoFolderCopyCommand extends SpoCommand_1.default {
@@ -23,9 +24,9 @@ class SpoFolderCopyCommand extends SpoCommand_1.default {
23
24
  const webUrl = args.options.webUrl;
24
25
  const parsedUrl = url.parse(webUrl);
25
26
  const tenantUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}`;
26
- const sourceAbsoluteUrl = this.urlCombine(webUrl, args.options.sourceUrl);
27
+ const sourceAbsoluteUrl = utils_1.urlUtil.urlCombine(webUrl, args.options.sourceUrl);
27
28
  const allowSchemaMismatch = args.options.allowSchemaMismatch || false;
28
- const requestUrl = this.urlCombine(webUrl, '/_api/site/CreateCopyJobs');
29
+ const requestUrl = utils_1.urlUtil.urlCombine(webUrl, '/_api/site/CreateCopyJobs');
29
30
  const requestOptions = {
30
31
  url: requestUrl,
31
32
  headers: {
@@ -33,7 +34,7 @@ class SpoFolderCopyCommand extends SpoCommand_1.default {
33
34
  },
34
35
  data: {
35
36
  exportObjectUris: [sourceAbsoluteUrl],
36
- destinationUri: this.urlCombine(tenantUrl, args.options.targetUrl),
37
+ destinationUri: utils_1.urlUtil.urlCombine(tenantUrl, args.options.targetUrl),
37
38
  options: {
38
39
  "AllowSchemaMismatch": allowSchemaMismatch,
39
40
  "IgnoreVersionHistory": true
@@ -49,7 +50,17 @@ class SpoFolderCopyCommand extends SpoCommand_1.default {
49
50
  const copyJobInfo = jobInfo.value[0];
50
51
  const progressPollInterval = 30 * 60; //used previously implemented interval. The API does not provide guidance on what value should be used.
51
52
  setTimeout(() => {
52
- this.waitUntilCopyJobFinished(copyJobInfo, webUrl, progressPollInterval, resolve, reject, logger, this.dots);
53
+ utils_1.spo.waitUntilCopyJobFinished({
54
+ copyJobInfo,
55
+ siteUrl: webUrl,
56
+ pollingInterval: progressPollInterval,
57
+ resolve,
58
+ reject,
59
+ logger,
60
+ dots: this.dots,
61
+ debug: this.debug,
62
+ verbose: this.verbose
63
+ });
53
64
  }, progressPollInterval);
54
65
  });
55
66
  })
@@ -74,7 +85,7 @@ class SpoFolderCopyCommand extends SpoCommand_1.default {
74
85
  return options.concat(parentOptions);
75
86
  }
76
87
  validate(args) {
77
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
88
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
78
89
  }
79
90
  }
80
91
  module.exports = new SpoFolderCopyCommand();
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const Command_1 = require("../../../../Command");
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 SpoFolderGetCommand extends SpoCommand_1.default {
@@ -16,7 +16,7 @@ class SpoFolderGetCommand extends SpoCommand_1.default {
16
16
  if (this.verbose) {
17
17
  logger.logToStderr(`Retrieving folder from site ${args.options.webUrl}...`);
18
18
  }
19
- const serverRelativeUrl = Utils_1.default.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
19
+ const serverRelativeUrl = utils_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
20
20
  const requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(serverRelativeUrl)}')`;
21
21
  const requestOptions = {
22
22
  url: requestUrl,
@@ -51,7 +51,7 @@ class SpoFolderGetCommand extends SpoCommand_1.default {
51
51
  return options.concat(parentOptions);
52
52
  }
53
53
  validate(args) {
54
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
54
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
55
55
  }
56
56
  }
57
57
  module.exports = new SpoFolderGetCommand();
@@ -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 SpoFolderListCommand extends SpoCommand_1.default {
@@ -18,7 +18,7 @@ class SpoFolderListCommand extends SpoCommand_1.default {
18
18
  if (this.verbose) {
19
19
  logger.logToStderr(`Retrieving folders from site ${args.options.webUrl} parent folder ${args.options.parentFolderUrl}...`);
20
20
  }
21
- const serverRelativeUrl = Utils_1.default.getServerRelativePath(args.options.webUrl, args.options.parentFolderUrl);
21
+ const serverRelativeUrl = utils_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.parentFolderUrl);
22
22
  const requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(serverRelativeUrl)}')/folders`;
23
23
  const requestOptions = {
24
24
  url: requestUrl,
@@ -47,7 +47,7 @@ class SpoFolderListCommand extends SpoCommand_1.default {
47
47
  return options.concat(parentOptions);
48
48
  }
49
49
  validate(args) {
50
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
50
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
51
51
  }
52
52
  }
53
53
  module.exports = new SpoFolderListCommand();
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const url = require("url");
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 SpoFolderMoveCommand extends SpoCommand_1.default {
@@ -23,9 +24,9 @@ class SpoFolderMoveCommand extends SpoCommand_1.default {
23
24
  const webUrl = args.options.webUrl;
24
25
  const parsedUrl = url.parse(webUrl);
25
26
  const tenantUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}`;
26
- const sourceAbsoluteUrl = this.urlCombine(webUrl, args.options.sourceUrl);
27
+ const sourceAbsoluteUrl = utils_1.urlUtil.urlCombine(webUrl, args.options.sourceUrl);
27
28
  const allowSchemaMismatch = args.options.allowSchemaMismatch || false;
28
- const requestUrl = this.urlCombine(webUrl, '/_api/site/CreateCopyJobs');
29
+ const requestUrl = utils_1.urlUtil.urlCombine(webUrl, '/_api/site/CreateCopyJobs');
29
30
  const requestOptions = {
30
31
  url: requestUrl,
31
32
  headers: {
@@ -33,7 +34,7 @@ class SpoFolderMoveCommand extends SpoCommand_1.default {
33
34
  },
34
35
  data: {
35
36
  exportObjectUris: [sourceAbsoluteUrl],
36
- destinationUri: this.urlCombine(tenantUrl, args.options.targetUrl),
37
+ destinationUri: utils_1.urlUtil.urlCombine(tenantUrl, args.options.targetUrl),
37
38
  options: {
38
39
  "AllowSchemaMismatch": allowSchemaMismatch,
39
40
  "IgnoreVersionHistory": true,
@@ -50,7 +51,17 @@ class SpoFolderMoveCommand extends SpoCommand_1.default {
50
51
  const copyJobInfo = jobInfo.value[0];
51
52
  const progressPollInterval = 30 * 60; //used previously implemented interval. The API does not provide guidance on what value should be used.
52
53
  setTimeout(() => {
53
- this.waitUntilCopyJobFinished(copyJobInfo, webUrl, progressPollInterval, resolve, reject, logger, this.dots);
54
+ utils_1.spo.waitUntilCopyJobFinished({
55
+ copyJobInfo,
56
+ siteUrl: webUrl,
57
+ pollingInterval: progressPollInterval,
58
+ resolve,
59
+ reject,
60
+ logger,
61
+ dots: this.dots,
62
+ debug: this.debug,
63
+ verbose: this.verbose
64
+ });
54
65
  }, progressPollInterval);
55
66
  });
56
67
  })
@@ -75,7 +86,7 @@ class SpoFolderMoveCommand extends SpoCommand_1.default {
75
86
  return options.concat(parentOptions);
76
87
  }
77
88
  validate(args) {
78
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
89
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
79
90
  }
80
91
  }
81
92
  module.exports = new SpoFolderMoveCommand();
@@ -2,7 +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
+ const utils_1 = require("../../../../utils");
6
6
  const SpoCommand_1 = require("../../../base/SpoCommand");
7
7
  const commands_1 = require("../../commands");
8
8
  class SpoFolderRemoveCommand extends SpoCommand_1.default {
@@ -23,7 +23,7 @@ class SpoFolderRemoveCommand extends SpoCommand_1.default {
23
23
  if (this.verbose) {
24
24
  logger.logToStderr(`Removing folder in site at ${args.options.webUrl}...`);
25
25
  }
26
- const serverRelativeUrl = Utils_1.default.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
26
+ const serverRelativeUrl = utils_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
27
27
  let requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(serverRelativeUrl)}')`;
28
28
  if (args.options.recycle) {
29
29
  requestUrl += `/recycle()`;
@@ -80,7 +80,7 @@ class SpoFolderRemoveCommand extends SpoCommand_1.default {
80
80
  return options.concat(parentOptions);
81
81
  }
82
82
  validate(args) {
83
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
83
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
84
84
  }
85
85
  }
86
86
  module.exports = new SpoFolderRemoveCommand();
@@ -2,9 +2,8 @@
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
- const ClientSvc_1 = require("../../ClientSvc");
8
7
  const commands_1 = require("../../commands");
9
8
  class SpoFolderRenameCommand extends SpoCommand_1.default {
10
9
  get name() {
@@ -14,22 +13,21 @@ class SpoFolderRenameCommand extends SpoCommand_1.default {
14
13
  return 'Renames a folder';
15
14
  }
16
15
  commandAction(logger, args, cb) {
17
- const clientSvc = new ClientSvc_1.ClientSvc(logger, this.debug);
18
16
  let formDigestValue = '';
19
- this
17
+ utils_1.spo
20
18
  .getRequestDigest(args.options.webUrl)
21
19
  .then((contextResponse) => {
22
20
  formDigestValue = contextResponse.FormDigestValue;
23
- return clientSvc.getCurrentWebIdentity(args.options.webUrl, formDigestValue);
21
+ return utils_1.spo.getCurrentWebIdentity(args.options.webUrl, formDigestValue);
24
22
  })
25
23
  .then((webIdentityResp) => {
26
- return clientSvc.getFolderIdentity(webIdentityResp.objectIdentity, args.options.webUrl, args.options.folderUrl, formDigestValue);
24
+ return utils_1.spo.getFolderIdentity(webIdentityResp.objectIdentity, args.options.webUrl, args.options.folderUrl, formDigestValue);
27
25
  })
28
26
  .then((folderObjectIdentity) => {
29
27
  if (this.verbose) {
30
28
  logger.logToStderr(`Renaming folder ${args.options.folderUrl} to ${args.options.name}`);
31
29
  }
32
- const serverRelativeUrl = Utils_1.default.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
30
+ const serverRelativeUrl = utils_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
33
31
  const serverRelativeUrlWithoutOldFolder = serverRelativeUrl.substring(0, serverRelativeUrl.lastIndexOf('/'));
34
32
  const renamedServerRelativeUrl = `${serverRelativeUrlWithoutOldFolder}/${args.options.name}`;
35
33
  const requestOptions = {
@@ -68,7 +66,7 @@ class SpoFolderRenameCommand extends SpoCommand_1.default {
68
66
  return options.concat(parentOptions);
69
67
  }
70
68
  validate(args) {
71
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
69
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
72
70
  }
73
71
  }
74
72
  module.exports = new SpoFolderRenameCommand();
@@ -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 SpoGroupGetCommand extends SpoCommand_1.default {
@@ -67,7 +68,7 @@ class SpoGroupGetCommand extends SpoCommand_1.default {
67
68
  if (args.options.id && isNaN(args.options.id)) {
68
69
  return `Specified id ${args.options.id} is not a number`;
69
70
  }
70
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
71
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
71
72
  }
72
73
  }
73
74
  module.exports = new SpoGroupGetCommand();
@@ -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 SpoGroupListCommand extends SpoCommand_1.default {
@@ -42,7 +43,7 @@ class SpoGroupListCommand extends SpoCommand_1.default {
42
43
  return options.concat(parentOptions);
43
44
  }
44
45
  validate(args) {
45
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
46
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
46
47
  }
47
48
  }
48
49
  module.exports = new SpoGroupListCommand();
@@ -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 SpoGroupRemoveCommand extends SpoCommand_1.default {
@@ -95,7 +96,7 @@ class SpoGroupRemoveCommand extends SpoCommand_1.default {
95
96
  return options.concat(parentOptions);
96
97
  }
97
98
  validate(args) {
98
- const isValidSharePointUrl = SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
99
+ const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.webUrl);
99
100
  if (isValidSharePointUrl !== true) {
100
101
  return isValidSharePointUrl;
101
102
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const cli_1 = require("../../../../cli");
4
4
  const Command_1 = require("../../../../Command");
5
5
  const request_1 = require("../../../../request");
6
+ const utils_1 = require("../../../../utils");
6
7
  const AadUserGetCommand = require("../../../aad/commands/user/user-get");
7
8
  const SpoCommand_1 = require("../../../base/SpoCommand");
8
9
  const commands_1 = require("../../commands");
@@ -22,7 +23,7 @@ class SpoGroupUserAddCommand extends SpoCommand_1.default {
22
23
  .getGroupId(args)
23
24
  .then((_groupId) => {
24
25
  groupId = _groupId;
25
- return this.getOnlyActiveUsers(args, logger);
26
+ return this.getValidUsers(args, logger);
26
27
  })
27
28
  .then((resolvedUsernameList) => {
28
29
  if (this.verbose) {
@@ -73,13 +74,15 @@ class SpoGroupUserAddCommand extends SpoCommand_1.default {
73
74
  return groupId;
74
75
  });
75
76
  }
76
- getOnlyActiveUsers(args, logger) {
77
+ getValidUsers(args, logger) {
77
78
  if (this.verbose) {
78
- logger.logToStderr(`Removing Users which are not active from the original list`);
79
+ logger.logToStderr(`Checking if the specified users exist`);
79
80
  }
80
- const activeUserNameList = [];
81
+ const validUserNames = [];
82
+ const invalidUserNames = [];
81
83
  const userInfo = args.options.userName ? args.options.userName : args.options.email;
82
- return Promise.all(userInfo.split(',').map(singleUserName => {
84
+ return Promise
85
+ .all(userInfo.split(',').map(singleUserName => {
83
86
  const options = {
84
87
  output: 'json',
85
88
  debug: args.options.debug,
@@ -91,20 +94,25 @@ class SpoGroupUserAddCommand extends SpoCommand_1.default {
91
94
  else {
92
95
  options.email = singleUserName.trim();
93
96
  }
94
- return cli_1.Cli.executeCommandWithOutput(AadUserGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) })
97
+ return cli_1.Cli
98
+ .executeCommandWithOutput(AadUserGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) })
95
99
  .then((getUserGetOutput) => {
96
100
  if (this.debug) {
97
101
  logger.logToStderr(getUserGetOutput.stderr);
98
102
  }
99
- activeUserNameList.push(JSON.parse(getUserGetOutput.stdout).userPrincipalName);
103
+ validUserNames.push(JSON.parse(getUserGetOutput.stdout).userPrincipalName);
100
104
  }, (err) => {
101
105
  if (this.debug) {
102
106
  logger.logToStderr(err.stderr);
103
107
  }
108
+ invalidUserNames.push(singleUserName);
104
109
  });
105
110
  }))
106
111
  .then(() => {
107
- return Promise.resolve(activeUserNameList);
112
+ if (invalidUserNames.length > 0) {
113
+ return Promise.reject(`Users not added to the group because the following users don't exist: ${invalidUserNames.join(', ')}`);
114
+ }
115
+ return Promise.resolve(validUserNames);
108
116
  });
109
117
  }
110
118
  getFormattedUserList(activeUserList) {
@@ -135,7 +143,7 @@ class SpoGroupUserAddCommand extends SpoCommand_1.default {
135
143
  return options.concat(parentOptions);
136
144
  }
137
145
  validate(args) {
138
- const isValidSharePointUrl = SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
146
+ const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.webUrl);
139
147
  if (isValidSharePointUrl !== true) {
140
148
  return isValidSharePointUrl;
141
149
  }
@@ -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 SpoGroupUserListCommand extends SpoCommand_1.default {
@@ -59,7 +60,7 @@ class SpoGroupUserListCommand extends SpoCommand_1.default {
59
60
  if (args.options.groupId && isNaN(args.options.groupId)) {
60
61
  return `Specified "groupId" ${args.options.groupId} is not valid`;
61
62
  }
62
- return SpoCommand_1.default.isValidSharePointUrl(args.options.webUrl);
63
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
63
64
  }
64
65
  }
65
66
  module.exports = new SpoGroupUserListCommand();
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cli_1 = require("../../../../cli");
4
+ const request_1 = require("../../../../request");
5
+ const utils_1 = require("../../../../utils");
6
+ const SpoCommand_1 = require("../../../base/SpoCommand");
7
+ const commands_1 = require("../../commands");
8
+ class SpoGroupUserRemoveCommand extends SpoCommand_1.default {
9
+ get name() {
10
+ return commands_1.default.GROUP_USER_REMOVE;
11
+ }
12
+ get description() {
13
+ return 'Removes the specified user from a SharePoint group';
14
+ }
15
+ getTelemetryProperties(args) {
16
+ const telemetryProps = super.getTelemetryProperties(args);
17
+ telemetryProps.groupId = (!(!args.options.groupId)).toString();
18
+ telemetryProps.groupName = (!(!args.options.groupName)).toString();
19
+ telemetryProps.confirm = (!(!args.options.confirm)).toString();
20
+ return telemetryProps;
21
+ }
22
+ commandAction(logger, args, cb) {
23
+ const removeUserfromSPGroup = () => {
24
+ if (this.verbose) {
25
+ logger.logToStderr(`Removing User with Username ${args.options.userName} from Group: ${args.options.groupId ? args.options.groupId : args.options.groupName}`);
26
+ }
27
+ const loginName = `i:0#.f|membership|${args.options.userName}`;
28
+ const requestUrl = `${args.options.webUrl}/_api/web/sitegroups/${args.options.groupId
29
+ ? `GetById('${encodeURIComponent(args.options.groupId)}')`
30
+ : `GetByName('${encodeURIComponent(args.options.groupName)}')`}/users/removeByLoginName(@LoginName)?@LoginName='${encodeURIComponent(loginName)}'`;
31
+ const requestOptions = {
32
+ url: requestUrl,
33
+ headers: {
34
+ 'accept': 'application/json;odata=nometadata'
35
+ },
36
+ responseType: 'json'
37
+ };
38
+ request_1.default
39
+ .post(requestOptions)
40
+ .then(() => {
41
+ cb();
42
+ }, (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
43
+ };
44
+ if (args.options.confirm) {
45
+ if (this.debug) {
46
+ logger.logToStderr('Confirmation bypassed by entering confirm option. Removing the user from SharePoint Group...');
47
+ }
48
+ removeUserfromSPGroup();
49
+ }
50
+ else {
51
+ cli_1.Cli.prompt({
52
+ type: 'confirm',
53
+ name: 'continue',
54
+ default: false,
55
+ message: `Are you sure you want to remove user User ${args.options.userName} from SharePoint group?`
56
+ }, (result) => {
57
+ if (!result.continue) {
58
+ cb();
59
+ }
60
+ else {
61
+ removeUserfromSPGroup();
62
+ }
63
+ });
64
+ }
65
+ }
66
+ options() {
67
+ const options = [
68
+ {
69
+ option: '-u, --webUrl <webUrl>'
70
+ },
71
+ {
72
+ option: '--groupId [groupId]'
73
+ },
74
+ {
75
+ option: '--groupName [groupName]'
76
+ },
77
+ {
78
+ option: '--userName <userName>'
79
+ },
80
+ {
81
+ option: '--confirm'
82
+ }
83
+ ];
84
+ const parentOptions = super.options();
85
+ return options.concat(parentOptions);
86
+ }
87
+ validate(args) {
88
+ if (args.options.groupId && args.options.groupName) {
89
+ return 'Use either "groupName" or "groupId", but not both';
90
+ }
91
+ if (!args.options.groupId && !args.options.groupName) {
92
+ return 'Either "groupName" or "groupId" is required';
93
+ }
94
+ if (args.options.groupId && isNaN(args.options.groupId)) {
95
+ return `Specified "groupId" ${args.options.groupId} is not valid`;
96
+ }
97
+ return utils_1.validation.isValidSharePointUrl(args.options.webUrl);
98
+ }
99
+ }
100
+ module.exports = new SpoGroupUserRemoveCommand();
101
+ //# sourceMappingURL=group-user-remove.js.map
@@ -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 SpoHideDefaultThemesGetCommand extends SpoCommand_1.default {
@@ -11,7 +12,7 @@ class SpoHideDefaultThemesGetCommand extends SpoCommand_1.default {
11
12
  return 'Gets the current value of the HideDefaultThemes setting';
12
13
  }
13
14
  commandAction(logger, args, cb) {
14
- this
15
+ utils_1.spo
15
16
  .getSpoAdminUrl(logger, this.debug)
16
17
  .then((spoAdminUrl) => {
17
18
  if (this.verbose) {
@@ -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 SpoHideDefaultThemesSetCommand extends SpoCommand_1.default {
@@ -16,7 +17,7 @@ class SpoHideDefaultThemesSetCommand extends SpoCommand_1.default {
16
17
  return telemetryProps;
17
18
  }
18
19
  commandAction(logger, args, cb) {
19
- this
20
+ utils_1.spo
20
21
  .getSpoAdminUrl(logger, this.debug)
21
22
  .then((spoAdminUrl) => {
22
23
  if (this.verbose) {
@@ -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 SpoHomeSiteGetCommand extends SpoCommand_1.default {
@@ -11,7 +12,7 @@ class SpoHomeSiteGetCommand extends SpoCommand_1.default {
11
12
  return 'Gets information about the Home Site';
12
13
  }
13
14
  commandAction(logger, args, cb) {
14
- this
15
+ utils_1.spo
15
16
  .getSpoUrl(logger, this.debug)
16
17
  .then((spoUrl) => {
17
18
  const requestOptions = {
@@ -4,6 +4,7 @@ const cli_1 = require("../../../../cli");
4
4
  const Command_1 = require("../../../../Command");
5
5
  const config_1 = require("../../../../config");
6
6
  const request_1 = require("../../../../request");
7
+ const utils_1 = require("../../../../utils");
7
8
  const SpoCommand_1 = require("../../../base/SpoCommand");
8
9
  const commands_1 = require("../../commands");
9
10
  class SpoHomeSiteRemoveCommand extends SpoCommand_1.default {
@@ -21,10 +22,10 @@ class SpoHomeSiteRemoveCommand extends SpoCommand_1.default {
21
22
  commandAction(logger, args, cb) {
22
23
  const removeHomeSite = () => {
23
24
  let spoAdminUrl = '';
24
- this.getSpoAdminUrl(logger, this.debug)
25
+ utils_1.spo.getSpoAdminUrl(logger, this.debug)
25
26
  .then((_spoAdminUrl) => {
26
27
  spoAdminUrl = _spoAdminUrl;
27
- return this.getRequestDigest(spoAdminUrl);
28
+ return utils_1.spo.getRequestDigest(spoAdminUrl);
28
29
  })
29
30
  .then((res) => {
30
31
  const requestOptions = {