@pnp/cli-microsoft365 5.0.0-beta.fe151d6 → 5.1.0-beta.c8f5fd7

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 (490) hide show
  1. package/.devcontainer/devcontainer.json +13 -2
  2. package/.eslintrc.js +3 -0
  3. package/.mocharc.json +9 -0
  4. package/README.md +3 -3
  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/appInsights.js +3 -2
  10. package/dist/cli/Cli.js +59 -12
  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 +142 -0
  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 +55 -0
  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/{spo/commands/site/SpoOperation.js → aad/commands/o365group/GroupExtended.js} +1 -1
  29. package/dist/m365/aad/commands/o365group/o365group-add.js +41 -3
  30. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +41 -0
  31. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +87 -0
  32. package/dist/m365/aad/commands/o365group/o365group-get.js +2 -2
  33. package/dist/m365/aad/commands/o365group/o365group-list.js +15 -12
  34. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +8 -7
  35. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +7 -6
  36. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +2 -2
  37. package/dist/m365/aad/commands/o365group/o365group-remove.js +2 -2
  38. package/dist/m365/aad/commands/o365group/o365group-renew.js +2 -2
  39. package/dist/m365/aad/commands/o365group/o365group-set.js +2 -2
  40. package/dist/m365/aad/commands/o365group/o365group-teamify.js +2 -2
  41. package/dist/m365/aad/commands/o365group/o365group-user-add.js +3 -3
  42. package/dist/m365/aad/commands/o365group/o365group-user-list.js +21 -15
  43. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +3 -3
  44. package/dist/m365/aad/commands/o365group/o365group-user-set.js +23 -17
  45. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +3 -3
  46. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +2 -2
  47. package/dist/m365/aad/commands/sp/sp-add.js +3 -3
  48. package/dist/m365/aad/commands/sp/sp-get.js +3 -3
  49. package/dist/m365/aad/commands/user/user-get.js +35 -8
  50. package/dist/m365/aad/commands/user/user-hibp.js +67 -0
  51. package/dist/m365/aad/commands/user/user-list.js +14 -10
  52. package/dist/m365/aad/commands/user/user-password-validate.js +42 -0
  53. package/dist/m365/aad/commands/user/user-set.js +2 -2
  54. package/dist/m365/aad/commands.js +7 -0
  55. package/dist/m365/app/commands/permission/permission-list.js +266 -0
  56. package/dist/m365/app/commands.js +7 -0
  57. package/dist/m365/base/AppCommand.js +76 -0
  58. package/dist/m365/base/SpoCommand.js +0 -260
  59. package/dist/m365/cli/commands/cli-doctor.js +4 -2
  60. package/dist/m365/cli/commands/config/config-set.js +5 -1
  61. package/dist/m365/commands/status.js +3 -3
  62. package/dist/m365/file/commands/file-add.js +3 -3
  63. package/dist/m365/file/commands/file-list.js +14 -12
  64. package/dist/m365/flow/commands/flow-export.js +2 -2
  65. package/dist/m365/flow/commands/flow-get.js +2 -2
  66. package/dist/m365/flow/commands/flow-remove.js +2 -2
  67. package/dist/m365/flow/commands/run/run-cancel.js +2 -2
  68. package/dist/m365/flow/commands/run/run-resubmit.js +2 -2
  69. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +2 -2
  70. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +2 -2
  71. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +2 -2
  72. package/dist/m365/graph/commands/subscription/subscription-add.js +2 -2
  73. package/dist/m365/onedrive/commands/onedrive-list.js +3 -2
  74. package/dist/m365/outlook/commands/message/message-list.js +6 -5
  75. package/dist/m365/outlook/commands/room/room-list.js +44 -0
  76. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +26 -0
  77. package/dist/m365/outlook/commands.js +2 -0
  78. package/dist/m365/pa/cds-project-mutator.js +1 -1
  79. package/dist/m365/pa/commands/app/app-get.js +2 -2
  80. package/dist/m365/pa/commands/app/app-list.js +28 -1
  81. package/dist/m365/pa/commands/app/app-remove.js +2 -2
  82. package/dist/m365/pa/commands/pcf/pcf-init.js +4 -4
  83. package/dist/m365/pa/commands/solution/solution-init.js +2 -2
  84. package/dist/m365/{base/AzmgmtResponse.js → planner/AppliedCategories.js} +1 -1
  85. package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
  86. package/dist/m365/planner/commands/bucket/bucket-list.js +7 -7
  87. package/dist/m365/planner/commands/plan/plan-add.js +2 -2
  88. package/dist/m365/planner/commands/plan/plan-details-get.js +134 -0
  89. package/dist/m365/planner/commands/plan/plan-get.js +7 -7
  90. package/dist/m365/planner/commands/plan/plan-list.js +2 -2
  91. package/dist/m365/planner/commands/task/task-add.js +288 -0
  92. package/dist/m365/planner/commands/task/task-details-get.js +39 -0
  93. package/dist/m365/planner/commands/task/task-get.js +37 -0
  94. package/dist/m365/planner/commands/task/task-list.js +46 -16
  95. package/dist/m365/planner/commands/task/task-set.js +357 -0
  96. package/dist/m365/planner/commands.js +6 -1
  97. package/dist/m365/search/commands/externalconnection/externalconnection-add.js +99 -0
  98. package/dist/m365/search/commands.js +7 -0
  99. package/dist/m365/spfx/commands/package/package-generate.js +4 -4
  100. package/dist/m365/spfx/commands/project/base-project-command.js +18 -19
  101. package/dist/m365/spfx/commands/project/project-upgrade/index.js +0 -1
  102. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001005_DEP_types_react.js +2 -2
  103. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001006_DEP_types_react_dom.js +2 -2
  104. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001008_DEP_react.js +2 -2
  105. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001009_DEP_react_dom.js +2 -2
  106. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001015_DEP_types_react_addons_shallow_compare.js +2 -2
  107. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001016_DEP_types_react_addons_update.js +2 -2
  108. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001017_DEP_types_react_addons_update.js +2 -2
  109. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001019_DEP_knockout.js +2 -2
  110. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001020_DEP_types_knockout.js +2 -2
  111. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  112. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002015_DEVDEP_types_react.js +2 -2
  113. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  114. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006005_CFG_PS_metadata.js +63 -0
  115. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +60 -0
  116. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014008_CODE_launch_hostedWorkbench_type.js +62 -0
  117. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN020001_RES_types_react.js +2 -2
  118. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022001_SCSS_remove_fabric_react.js +2 -2
  119. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022002_SCSS_add_fabric_react.js +2 -2
  120. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.14.0.js +59 -0
  121. package/dist/m365/spfx/commands/project/project-upgrade.js +2 -1
  122. package/dist/m365/spfx/commands/spfx-doctor.js +25 -6
  123. package/dist/m365/spo/commands/app/app-add.js +3 -2
  124. package/dist/m365/spo/commands/app/app-deploy.js +4 -4
  125. package/dist/m365/spo/commands/app/app-get.js +4 -4
  126. package/dist/m365/spo/commands/app/app-install.js +3 -3
  127. package/dist/m365/spo/commands/app/app-instance-list.js +2 -1
  128. package/dist/m365/spo/commands/app/app-list.js +3 -2
  129. package/dist/m365/spo/commands/app/app-remove.js +4 -5
  130. package/dist/m365/spo/commands/app/app-retract.js +4 -5
  131. package/dist/m365/spo/commands/app/app-uninstall.js +3 -3
  132. package/dist/m365/spo/commands/app/app-upgrade.js +3 -3
  133. package/dist/m365/spo/commands/apppage/apppage-add.js +2 -2
  134. package/dist/m365/spo/commands/apppage/apppage-set.js +2 -2
  135. package/dist/m365/spo/commands/cdn/cdn-get.js +4 -3
  136. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +5 -5
  137. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +4 -3
  138. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +5 -5
  139. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +4 -3
  140. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +5 -5
  141. package/dist/m365/spo/commands/cdn/cdn-set.js +3 -2
  142. package/dist/m365/spo/commands/contenttype/contenttype-add.js +6 -6
  143. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +6 -6
  144. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +6 -6
  145. package/dist/m365/spo/commands/contenttype/contenttype-get.js +2 -1
  146. package/dist/m365/spo/commands/contenttype/contenttype-list.js +2 -1
  147. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +2 -1
  148. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +3 -2
  149. package/dist/m365/spo/commands/customaction/customaction-add.js +3 -3
  150. package/dist/m365/spo/commands/customaction/customaction-clear.js +2 -1
  151. package/dist/m365/spo/commands/customaction/customaction-get.js +3 -3
  152. package/dist/m365/spo/commands/customaction/customaction-list.js +2 -1
  153. package/dist/m365/spo/commands/customaction/customaction-remove.js +3 -3
  154. package/dist/m365/spo/commands/customaction/customaction-set.js +4 -4
  155. package/dist/m365/spo/commands/externaluser/externaluser-list.js +6 -6
  156. package/dist/m365/spo/commands/feature/feature-enable.js +2 -1
  157. package/dist/m365/spo/commands/feature/feature-list.js +2 -1
  158. package/dist/m365/spo/commands/field/field-add.js +3 -2
  159. package/dist/m365/spo/commands/field/field-get.js +5 -5
  160. package/dist/m365/spo/commands/field/field-remove.js +5 -5
  161. package/dist/m365/spo/commands/field/field-set.js +10 -10
  162. package/dist/m365/spo/commands/file/file-add.js +5 -7
  163. package/dist/m365/spo/commands/file/file-checkin.js +3 -3
  164. package/dist/m365/spo/commands/file/file-checkout.js +3 -3
  165. package/dist/m365/spo/commands/file/file-copy.js +18 -7
  166. package/dist/m365/spo/commands/file/file-get.js +3 -3
  167. package/dist/m365/spo/commands/file/file-list.js +3 -3
  168. package/dist/m365/spo/commands/file/file-move.js +18 -7
  169. package/dist/m365/spo/commands/file/file-remove.js +3 -3
  170. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +3 -3
  171. package/dist/m365/spo/commands/folder/folder-add.js +3 -3
  172. package/dist/m365/spo/commands/folder/folder-copy.js +16 -5
  173. package/dist/m365/spo/commands/folder/folder-get.js +3 -3
  174. package/dist/m365/spo/commands/folder/folder-list.js +3 -3
  175. package/dist/m365/spo/commands/folder/folder-move.js +16 -5
  176. package/dist/m365/spo/commands/folder/folder-remove.js +3 -3
  177. package/dist/m365/spo/commands/folder/folder-rename.js +6 -8
  178. package/dist/m365/spo/commands/group/group-get.js +2 -1
  179. package/dist/m365/spo/commands/group/group-list.js +2 -1
  180. package/dist/m365/spo/commands/group/group-remove.js +2 -1
  181. package/dist/m365/spo/commands/group/group-user-add.js +76 -17
  182. package/dist/m365/spo/commands/group/group-user-list.js +2 -1
  183. package/dist/m365/spo/commands/group/group-user-remove.js +101 -0
  184. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +2 -1
  185. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +2 -1
  186. package/dist/m365/spo/commands/homesite/homesite-get.js +2 -1
  187. package/dist/m365/spo/commands/homesite/homesite-remove.js +3 -2
  188. package/dist/m365/spo/commands/homesite/homesite-set.js +5 -5
  189. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +4 -4
  190. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +2 -1
  191. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +3 -2
  192. package/dist/m365/spo/commands/hubsite/hubsite-get.js +3 -3
  193. package/dist/m365/spo/commands/hubsite/hubsite-list.js +2 -1
  194. package/dist/m365/spo/commands/hubsite/hubsite-register.js +3 -2
  195. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +6 -6
  196. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +6 -6
  197. package/dist/m365/spo/commands/hubsite/hubsite-set.js +8 -8
  198. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +2 -1
  199. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +3 -2
  200. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +3 -2
  201. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +3 -2
  202. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +5 -5
  203. package/dist/m365/spo/commands/list/list-add.js +5 -5
  204. package/dist/m365/spo/commands/list/list-contenttype-add.js +3 -3
  205. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +3 -3
  206. package/dist/m365/spo/commands/list/list-contenttype-list.js +3 -3
  207. package/dist/m365/spo/commands/list/list-contenttype-remove.js +3 -3
  208. package/dist/m365/spo/commands/list/list-get.js +3 -3
  209. package/dist/m365/spo/commands/list/list-label-get.js +4 -4
  210. package/dist/m365/spo/commands/list/list-label-set.js +5 -5
  211. package/dist/m365/spo/commands/list/list-list.js +2 -1
  212. package/dist/m365/spo/commands/list/list-remove.js +3 -3
  213. package/dist/m365/spo/commands/list/list-set.js +6 -6
  214. package/dist/m365/spo/commands/list/list-sitescript-get.js +4 -4
  215. package/dist/m365/spo/commands/list/list-view-field-add.js +5 -5
  216. package/dist/m365/spo/commands/list/list-view-field-remove.js +5 -5
  217. package/dist/m365/spo/commands/list/list-view-field-set.js +5 -5
  218. package/dist/m365/spo/commands/list/list-view-get.js +5 -5
  219. package/dist/m365/spo/commands/list/list-view-list.js +3 -3
  220. package/dist/m365/spo/commands/list/list-view-remove.js +4 -4
  221. package/dist/m365/spo/commands/list/list-view-set.js +5 -5
  222. package/dist/m365/spo/commands/list/list-webhook-add.js +3 -3
  223. package/dist/m365/spo/commands/list/list-webhook-get.js +4 -4
  224. package/dist/m365/spo/commands/list/list-webhook-list.js +4 -4
  225. package/dist/m365/spo/commands/list/list-webhook-remove.js +4 -4
  226. package/dist/m365/spo/commands/list/list-webhook-set.js +4 -4
  227. package/dist/m365/spo/commands/listitem/listitem-add.js +5 -7
  228. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +3 -3
  229. package/dist/m365/spo/commands/listitem/listitem-get.js +3 -3
  230. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +5 -7
  231. package/dist/m365/spo/commands/listitem/listitem-list.js +4 -4
  232. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +6 -8
  233. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +5 -7
  234. package/dist/m365/spo/commands/listitem/listitem-remove.js +3 -3
  235. package/dist/m365/spo/commands/listitem/listitem-set.js +4 -4
  236. package/dist/m365/spo/commands/mail/mail-send.js +2 -1
  237. package/dist/m365/spo/commands/navigation/navigation-node-add.js +2 -1
  238. package/dist/m365/spo/commands/navigation/navigation-node-list.js +2 -1
  239. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +3 -2
  240. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +5 -4
  241. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +3 -2
  242. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +3 -2
  243. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +3 -2
  244. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +5 -5
  245. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +5 -5
  246. package/dist/m365/spo/commands/page/Page.js +2 -2
  247. package/dist/m365/spo/commands/page/page-add.js +4 -4
  248. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +3 -3
  249. package/dist/m365/spo/commands/page/page-column-get.js +2 -1
  250. package/dist/m365/spo/commands/page/page-column-list.js +2 -1
  251. package/dist/m365/spo/commands/page/page-control-get.js +3 -3
  252. package/dist/m365/spo/commands/page/page-control-list.js +2 -1
  253. package/dist/m365/spo/commands/page/page-control-set.js +3 -3
  254. package/dist/m365/spo/commands/page/page-copy.js +2 -1
  255. package/dist/m365/spo/commands/page/page-get.js +3 -3
  256. package/dist/m365/spo/commands/page/page-header-set.js +2 -1
  257. package/dist/m365/spo/commands/page/page-list.js +2 -1
  258. package/dist/m365/spo/commands/page/page-remove.js +4 -4
  259. package/dist/m365/spo/commands/page/page-section-add.js +2 -1
  260. package/dist/m365/spo/commands/page/page-section-get.js +2 -1
  261. package/dist/m365/spo/commands/page/page-section-list.js +2 -1
  262. package/dist/m365/spo/commands/page/page-set.js +4 -4
  263. package/dist/m365/spo/commands/page/page-template-list.js +2 -1
  264. package/dist/m365/spo/commands/page/page-text-add.js +4 -4
  265. package/dist/m365/spo/commands/propertybag/propertybag-base.js +4 -4
  266. package/dist/m365/spo/commands/propertybag/propertybag-get.js +4 -6
  267. package/dist/m365/spo/commands/propertybag/propertybag-list.js +4 -6
  268. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +6 -9
  269. package/dist/m365/spo/commands/propertybag/propertybag-set.js +8 -10
  270. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +4 -4
  271. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +3 -2
  272. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +4 -4
  273. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +5 -5
  274. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +5 -5
  275. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +3 -2
  276. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +3 -2
  277. package/dist/m365/spo/commands/site/site-add.js +36 -16
  278. package/dist/m365/spo/commands/site/site-appcatalog-add.js +5 -5
  279. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +5 -5
  280. package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -4
  281. package/dist/m365/spo/commands/site/site-apppermission-get.js +2 -2
  282. package/dist/m365/spo/commands/site/site-apppermission-list.js +2 -2
  283. package/dist/m365/spo/commands/site/site-apppermission-remove.js +3 -4
  284. package/dist/m365/spo/commands/site/site-apppermission-set.js +3 -4
  285. package/dist/m365/spo/commands/site/site-chrome-set.js +2 -1
  286. package/dist/m365/spo/commands/site/site-classic-add.js +33 -13
  287. package/dist/m365/spo/commands/site/site-classic-list.js +4 -4
  288. package/dist/m365/spo/commands/site/site-classic-set.js +33 -13
  289. package/dist/m365/spo/commands/site/site-commsite-enable.js +6 -6
  290. package/dist/m365/spo/commands/site/site-ensure.js +3 -2
  291. package/dist/m365/spo/commands/site/site-get.js +2 -1
  292. package/dist/m365/spo/commands/site/site-groupify.js +2 -1
  293. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +3 -3
  294. package/dist/m365/spo/commands/site/site-list.js +4 -4
  295. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +77 -0
  296. package/dist/m365/spo/commands/site/site-remove.js +34 -14
  297. package/dist/m365/spo/commands/site/site-rename.js +3 -2
  298. package/dist/m365/spo/commands/site/site-set.js +12 -12
  299. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +4 -4
  300. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +4 -4
  301. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +3 -3
  302. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +2 -1
  303. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +4 -4
  304. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +4 -4
  305. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +4 -4
  306. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +4 -4
  307. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +3 -3
  308. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +3 -3
  309. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +4 -4
  310. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +3 -3
  311. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +2 -1
  312. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +3 -3
  313. package/dist/m365/spo/commands/sitescript/sitescript-add.js +3 -2
  314. package/dist/m365/spo/commands/sitescript/sitescript-get.js +4 -4
  315. package/dist/m365/spo/commands/sitescript/sitescript-list.js +3 -2
  316. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +4 -4
  317. package/dist/m365/spo/commands/sitescript/sitescript-set.js +4 -4
  318. package/dist/m365/spo/commands/spo-search.js +4 -4
  319. package/dist/m365/spo/commands/spo-set.js +2 -1
  320. package/dist/m365/spo/commands/storageentity/storageentity-get.js +2 -1
  321. package/dist/m365/spo/commands/storageentity/storageentity-list.js +2 -1
  322. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +5 -5
  323. package/dist/m365/spo/commands/storageentity/storageentity-set.js +5 -5
  324. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +2 -1
  325. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +2 -1
  326. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +3 -2
  327. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +16 -6
  328. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +16 -6
  329. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +3 -2
  330. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +5 -5
  331. package/dist/m365/spo/commands/term/term-add.js +13 -13
  332. package/dist/m365/spo/commands/term/term-get.js +9 -9
  333. package/dist/m365/spo/commands/term/term-group-add.js +6 -6
  334. package/dist/m365/spo/commands/term/term-group-get.js +5 -5
  335. package/dist/m365/spo/commands/term/term-group-list.js +3 -2
  336. package/dist/m365/spo/commands/term/term-list.js +7 -7
  337. package/dist/m365/spo/commands/term/term-set-add.js +9 -9
  338. package/dist/m365/spo/commands/term/term-set-get.js +7 -7
  339. package/dist/m365/spo/commands/term/term-set-list.js +5 -5
  340. package/dist/m365/spo/commands/theme/theme-apply.js +5 -5
  341. package/dist/m365/spo/commands/theme/theme-get.js +4 -4
  342. package/dist/m365/spo/commands/theme/theme-list.js +2 -1
  343. package/dist/m365/spo/commands/theme/theme-remove.js +2 -1
  344. package/dist/m365/spo/commands/theme/theme-set.js +5 -5
  345. package/dist/m365/spo/commands/user/user-get.js +2 -1
  346. package/dist/m365/spo/commands/user/user-list.js +2 -1
  347. package/dist/m365/spo/commands/user/user-remove.js +2 -1
  348. package/dist/m365/spo/commands/userprofile/userprofile-get.js +3 -3
  349. package/dist/m365/spo/commands/userprofile/userprofile-set.js +3 -2
  350. package/dist/m365/spo/commands/web/web-add.js +4 -3
  351. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +2 -1
  352. package/dist/m365/spo/commands/web/web-get.js +2 -1
  353. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +49 -0
  354. package/dist/m365/spo/commands/web/web-list.js +2 -1
  355. package/dist/m365/spo/commands/web/web-reindex.js +10 -11
  356. package/dist/m365/spo/commands/web/web-remove.js +2 -1
  357. package/dist/m365/spo/commands/web/web-set.js +2 -1
  358. package/dist/m365/spo/commands.js +3 -0
  359. package/dist/m365/teams/commands/app/app-install.js +77 -23
  360. package/dist/m365/teams/commands/app/app-list.js +17 -14
  361. package/dist/m365/teams/commands/app/app-remove.js +2 -2
  362. package/dist/m365/teams/commands/app/app-uninstall.js +2 -2
  363. package/dist/m365/teams/commands/app/app-update.js +55 -13
  364. package/dist/m365/teams/commands/channel/channel-add.js +2 -2
  365. package/dist/m365/teams/commands/channel/channel-get.js +32 -10
  366. package/dist/m365/teams/commands/channel/channel-list.js +7 -8
  367. package/dist/m365/teams/commands/channel/channel-remove.js +3 -3
  368. package/dist/m365/teams/commands/channel/channel-set.js +2 -2
  369. package/dist/m365/teams/commands/chat/chat-list.js +44 -0
  370. package/dist/m365/teams/commands/chat/chat-member-list.js +42 -0
  371. package/dist/m365/teams/commands/chat/chat-message-list.js +60 -0
  372. package/dist/m365/teams/commands/chat/chat-message-send.js +225 -0
  373. package/dist/m365/teams/commands/conversationmember/conversationmember-add.js +3 -3
  374. package/dist/m365/teams/commands/conversationmember/conversationmember-list.js +9 -9
  375. package/dist/m365/teams/commands/funsettings/funsettings-list.js +2 -2
  376. package/dist/m365/teams/commands/funsettings/funsettings-set.js +2 -2
  377. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +2 -2
  378. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +2 -2
  379. package/dist/m365/teams/commands/membersettings/membersettings-list.js +2 -2
  380. package/dist/m365/teams/commands/membersettings/membersettings-set.js +2 -2
  381. package/dist/m365/teams/commands/message/message-get.js +4 -4
  382. package/dist/m365/teams/commands/message/message-list.js +12 -12
  383. package/dist/m365/teams/commands/message/message-reply-list.js +10 -10
  384. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +2 -2
  385. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +3 -3
  386. package/dist/m365/teams/commands/report/report-directroutingcalls.js +3 -3
  387. package/dist/m365/teams/commands/report/report-pstncalls.js +3 -3
  388. package/dist/m365/teams/commands/tab/tab-add.js +5 -5
  389. package/dist/m365/teams/commands/tab/tab-get.js +13 -10
  390. package/dist/m365/teams/commands/tab/tab-list.js +10 -10
  391. package/dist/m365/teams/commands/tab/tab-remove.js +4 -4
  392. package/dist/m365/teams/commands/team/team-archive.js +2 -2
  393. package/dist/m365/teams/commands/team/team-clone.js +2 -2
  394. package/dist/m365/teams/commands/team/team-get.js +2 -2
  395. package/dist/m365/teams/commands/team/team-list.js +10 -12
  396. package/dist/m365/teams/commands/team/team-remove.js +2 -2
  397. package/dist/m365/teams/commands/team/team-set.js +2 -2
  398. package/dist/m365/teams/commands/team/team-unarchive.js +2 -2
  399. package/dist/m365/teams/commands/user/user-app-add.js +3 -3
  400. package/dist/m365/teams/commands/user/user-app-list.js +10 -10
  401. package/dist/m365/teams/commands/user/user-app-remove.js +2 -2
  402. package/dist/m365/teams/commands/user/user-list.js +14 -8
  403. package/dist/m365/teams/commands.js +4 -0
  404. package/dist/m365/tenant/commands/auditlog/auditlog-report.js +2 -2
  405. package/dist/m365/tenant/commands/id/id-get.js +2 -2
  406. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +2 -2
  407. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +2 -2
  408. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +2 -2
  409. package/dist/m365/tenant/commands/service/service-list.js +2 -2
  410. package/dist/m365/tenant/commands/service/service-message-list.js +2 -2
  411. package/dist/m365/tenant/commands/service/service-report-historicalservicestatus.js +2 -2
  412. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +57 -0
  413. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +56 -0
  414. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +39 -0
  415. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +39 -0
  416. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +51 -0
  417. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +39 -0
  418. package/dist/m365/tenant/commands/status/status-list.js +2 -2
  419. package/dist/m365/tenant/commands.js +6 -0
  420. package/dist/m365/todo/commands/list/list-list.js +7 -6
  421. package/dist/m365/todo/commands/task/task-list.js +7 -6
  422. package/dist/request.js +11 -6
  423. package/dist/settingsNames.js +7 -0
  424. package/dist/utils/accessToken.js +44 -0
  425. package/dist/utils/formatting.js +66 -0
  426. package/dist/utils/fsUtil.js +36 -0
  427. package/dist/utils/index.js +22 -0
  428. package/dist/utils/odata.js +37 -0
  429. package/dist/utils/sinonUtil.js +19 -0
  430. package/dist/{m365/spfx/commands/project/project-upgrade/Utils.js → utils/spfx.js} +7 -19
  431. package/dist/utils/spo.js +432 -0
  432. package/dist/utils/urlUtil.js +174 -0
  433. package/dist/utils/validation.js +310 -0
  434. package/docs/docs/cmd/_global.md +2 -2
  435. package/docs/docs/cmd/aad/app/app-delete.md +51 -0
  436. package/docs/docs/cmd/aad/app/app-get.md +59 -0
  437. package/docs/docs/cmd/aad/app/app-set.md +21 -0
  438. package/docs/docs/cmd/aad/group/group-list.md +30 -0
  439. package/docs/docs/cmd/aad/o365group/o365group-add.md +42 -6
  440. package/docs/docs/cmd/aad/o365group/o365group-conversation-list.md +24 -0
  441. package/docs/docs/cmd/aad/o365group/o365group-conversation-post-list.md +36 -0
  442. package/docs/docs/cmd/aad/user/user-get.md +13 -4
  443. package/docs/docs/cmd/aad/user/user-hibp.md +46 -0
  444. package/docs/docs/cmd/aad/user/user-list.md +9 -0
  445. package/docs/docs/cmd/aad/user/user-password-validate.md +29 -0
  446. package/docs/docs/cmd/app/permission/permission-list.md +36 -0
  447. package/docs/docs/cmd/outlook/room/room-list.md +30 -0
  448. package/docs/docs/cmd/outlook/roomlist/roomlist-list.md +21 -0
  449. package/docs/docs/cmd/pa/app/app-list.md +17 -1
  450. package/docs/docs/cmd/planner/plan/plan-details-get.md +45 -0
  451. package/docs/docs/cmd/planner/task/task-add.md +78 -0
  452. package/docs/docs/cmd/planner/task/task-details-get.md +24 -0
  453. package/docs/docs/cmd/planner/task/task-get.md +29 -0
  454. package/docs/docs/cmd/planner/task/task-list.md +5 -0
  455. package/docs/docs/cmd/planner/task/task-set.md +99 -0
  456. package/docs/docs/cmd/search/externalconnection/externalconnection-add.md +43 -0
  457. package/docs/docs/cmd/spfx/project/project-externalize.md +1 -1
  458. package/docs/docs/cmd/spfx/project/project-rename.md +1 -1
  459. package/docs/docs/cmd/spfx/project/project-upgrade.md +8 -8
  460. package/docs/docs/cmd/spfx/spfx-doctor.md +1 -1
  461. package/docs/docs/cmd/spo/group/group-user-add.md +28 -6
  462. package/docs/docs/cmd/spo/group/group-user-remove.md +39 -0
  463. package/docs/docs/cmd/spo/site/site-recyclebinitem-list.md +40 -0
  464. package/docs/docs/cmd/spo/web/web-installedlanguage-list.md +24 -0
  465. package/docs/docs/cmd/teams/app/app-install.md +22 -4
  466. package/docs/docs/cmd/teams/app/app-update.md +12 -3
  467. package/docs/docs/cmd/teams/channel/channel-get.md +11 -2
  468. package/docs/docs/cmd/teams/chat/chat-list.md +30 -0
  469. package/docs/docs/cmd/teams/chat/chat-member-list.md +24 -0
  470. package/docs/docs/cmd/teams/chat/chat-message-list.md +24 -0
  471. package/docs/docs/cmd/teams/chat/chat-message-send.md +55 -0
  472. package/docs/docs/cmd/teams/message/message-get.md +0 -3
  473. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +33 -0
  474. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +30 -0
  475. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.md +24 -0
  476. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.md +34 -0
  477. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.md +28 -0
  478. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.md +34 -0
  479. package/npm-shrinkwrap.json +1329 -1499
  480. package/package.json +39 -27
  481. package/dist/Utils.js +0 -568
  482. package/dist/m365/aad/commands/o365group/Group.js +0 -3
  483. package/dist/m365/aad/commands/o365group/GroupUser.js +0 -3
  484. package/dist/m365/base/AadCommand.js +0 -10
  485. package/dist/m365/base/GraphItemsListCommand.js +0 -46
  486. package/dist/m365/base/GraphResponse.js +0 -3
  487. package/dist/m365/base/GraphResponseError.js +0 -3
  488. package/dist/m365/spo/ClientSvc.js +0 -128
  489. package/dist/m365/spo/FolderExtensions.js +0 -101
  490. package/dist/m365/spo/spo.js +0 -3
@@ -1,128 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClientSvc = void 0;
4
- const config_1 = require("../../config");
5
- const request_1 = require("../../request");
6
- const Utils_1 = require("../../Utils");
7
- const base_permissions_1 = require("./base-permissions");
8
- /**
9
- * Commonly used Client Svc calls.
10
- */
11
- class ClientSvc {
12
- constructor(logger, debug) {
13
- this.logger = logger;
14
- this.debug = debug;
15
- this.debug = debug;
16
- }
17
- /**
18
- * Requests web object identity for the current web.
19
- * That request is something similar to _contextinfo in REST.
20
- * The response data looks like:
21
- * _ObjectIdentity_=<GUID>|<GUID>:site:<GUID>:web:<GUID>
22
- * _ObjectType_=SP.Web
23
- * ServerRelativeUrl=/sites/contoso
24
- * @param webUrl web url
25
- * @param formDigestValue formDigestValue
26
- */
27
- getCurrentWebIdentity(webUrl, formDigestValue) {
28
- const requestOptions = {
29
- url: `${webUrl}/_vti_bin/client.svc/ProcessQuery`,
30
- headers: {
31
- 'X-RequestDigest': formDigestValue
32
- },
33
- 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><Query Id="1" ObjectPathId="5"><Query SelectAllProperties="false"><Properties><Property Name="ServerRelativeUrl" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Property Id="5" ParentId="3" Name="Web" /><StaticProperty Id="3" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" /></ObjectPaths></Request>`
34
- };
35
- return new Promise((resolve, reject) => {
36
- request_1.default.post(requestOptions).then((res) => {
37
- const json = JSON.parse(res);
38
- const contents = json.find(x => { return x.ErrorInfo; });
39
- if (contents && contents.ErrorInfo) {
40
- return reject(contents.ErrorInfo.ErrorMessage || 'ClientSvc unknown error');
41
- }
42
- const identityObject = json.find(x => { return x._ObjectIdentity_; });
43
- if (identityObject) {
44
- return resolve({
45
- objectIdentity: identityObject._ObjectIdentity_,
46
- serverRelativeUrl: identityObject.ServerRelativeUrl
47
- });
48
- }
49
- reject('Cannot proceed. _ObjectIdentity_ not found'); // this is not supposed to happen
50
- }, (err) => { reject(err); });
51
- });
52
- }
53
- /**
54
- * Gets EffectiveBasePermissions for web return type is "_ObjectType_\":\"SP.Web\".
55
- * @param webObjectIdentity ObjectIdentity. Has format _ObjectIdentity_=<GUID>|<GUID>:site:<GUID>:web:<GUID>
56
- * @param webUrl web url
57
- * @param siteAccessToken site access token
58
- * @param formDigestValue formDigestValue
59
- */
60
- getEffectiveBasePermissions(webObjectIdentity, webUrl, formDigestValue) {
61
- const basePermissionsResult = new base_permissions_1.BasePermissions();
62
- const requestOptions = {
63
- url: `${webUrl}/_vti_bin/client.svc/ProcessQuery`,
64
- headers: {
65
- 'X-RequestDigest': formDigestValue
66
- },
67
- 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><Query Id="11" ObjectPathId="5"><Query SelectAllProperties="false"><Properties><Property Name="EffectiveBasePermissions" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Identity Id="5" Name="${webObjectIdentity}" /></ObjectPaths></Request>`
68
- };
69
- return new Promise((resolve, reject) => {
70
- request_1.default.post(requestOptions).then((res) => {
71
- if (this.debug) {
72
- this.logger.log('Attempt to get the web EffectiveBasePermissions');
73
- }
74
- const json = JSON.parse(res);
75
- const contents = json.find(x => { return x.ErrorInfo; });
76
- if (contents && contents.ErrorInfo) {
77
- return reject(contents.ErrorInfo.ErrorMessage || 'ClientSvc unknown error');
78
- }
79
- const permissionsObj = json.find(x => { return x.EffectiveBasePermissions; });
80
- if (permissionsObj) {
81
- basePermissionsResult.high = permissionsObj.EffectiveBasePermissions.High;
82
- basePermissionsResult.low = permissionsObj.EffectiveBasePermissions.Low;
83
- return resolve(basePermissionsResult);
84
- }
85
- reject('Cannot proceed. EffectiveBasePermissions not found'); // this is not supposed to happen
86
- }, (err) => { reject(err); });
87
- });
88
- }
89
- /**
90
- * Gets folder by server relative url (GetFolderByServerRelativeUrl in REST)
91
- * The response data looks like:
92
- * _ObjectIdentity_=<GUID>|<GUID>:site:<GUID>:web:<GUID>:folder:<GUID>
93
- * _ObjectType_=SP.Folder
94
- * @param webObjectIdentity ObjectIdentity. Has format _ObjectIdentity_=<GUID>|<GUID>:site:<GUID>:web:<GUID>
95
- * @param webUrl web url
96
- * @param siteRelativeUrl site relative url e.g. /Shared Documents/Folder1
97
- * @param formDigestValue formDigestValue
98
- */
99
- getFolderIdentity(webObjectIdentity, webUrl, siteRelativeUrl, formDigestValue) {
100
- const serverRelativePath = Utils_1.default.getServerRelativePath(webUrl, siteRelativeUrl);
101
- const requestOptions = {
102
- url: `${webUrl}/_vti_bin/client.svc/ProcessQuery`,
103
- headers: {
104
- 'X-RequestDigest': formDigestValue
105
- },
106
- 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" /><ObjectIdentityQuery Id="11" ObjectPathId="9" /><Query Id="12" ObjectPathId="9"><Query SelectAllProperties="false"><Properties><Property Name="Properties" SelectAll="true"><Query SelectAllProperties="false"><Properties /></Query></Property></Properties></Query></Query></Actions><ObjectPaths><Method Id="9" ParentId="5" Name="GetFolderByServerRelativeUrl"><Parameters><Parameter Type="String">${serverRelativePath}</Parameter></Parameters></Method><Identity Id="5" Name="${webObjectIdentity}" /></ObjectPaths></Request>`
107
- };
108
- return new Promise((resolve, reject) => {
109
- return request_1.default.post(requestOptions).then((res) => {
110
- const json = JSON.parse(res);
111
- const contents = json.find(x => { return x.ErrorInfo; });
112
- if (contents && contents.ErrorInfo) {
113
- return reject(contents.ErrorInfo.ErrorMessage || 'ClientSvc unknown error');
114
- }
115
- const objectIdentity = json.find(x => { return x._ObjectIdentity_; });
116
- if (objectIdentity) {
117
- return resolve({
118
- objectIdentity: objectIdentity._ObjectIdentity_,
119
- serverRelativeUrl: serverRelativePath
120
- });
121
- }
122
- reject('Cannot proceed. Folder _ObjectIdentity_ not found'); // this is not suppose to happen
123
- }, (err) => { reject(err); });
124
- });
125
- }
126
- }
127
- exports.ClientSvc = ClientSvc;
128
- //# sourceMappingURL=ClientSvc.js.map
@@ -1,101 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FolderExtensions = void 0;
4
- const url = require("url");
5
- const request_1 = require("../../request");
6
- const Utils_1 = require("../../Utils");
7
- /**
8
- * Folder methods that are shared among multiple commands.
9
- */
10
- class FolderExtensions {
11
- constructor(logger, debug) {
12
- this.logger = logger;
13
- this.debug = debug;
14
- }
15
- /**
16
- * Ensures the folder path exists
17
- * @param webFullUrl web full url e.g. https://contoso.sharepoint.com/sites/site1
18
- * @param folderToEnsure web relative or server relative folder path e.g. /Documents/MyFolder or /sites/site1/Documents/MyFolder
19
- * @param siteAccessToken a valid access token for the site specified in the webFullUrl param
20
- */
21
- ensureFolder(webFullUrl, folderToEnsure) {
22
- const webUrl = url.parse(webFullUrl);
23
- if (!webUrl.protocol || !webUrl.hostname) {
24
- return Promise.reject('webFullUrl is not a valid URL');
25
- }
26
- if (!folderToEnsure) {
27
- return Promise.reject('folderToEnsure cannot be empty');
28
- }
29
- // remove last '/' of webFullUrl if exists
30
- const webFullUrlLastCharPos = webFullUrl.length - 1;
31
- if (webFullUrl.length > 1 &&
32
- webFullUrl[webFullUrlLastCharPos] === '/') {
33
- webFullUrl = webFullUrl.substring(0, webFullUrlLastCharPos);
34
- }
35
- folderToEnsure = Utils_1.default.getWebRelativePath(webFullUrl, folderToEnsure);
36
- if (this.debug) {
37
- this.logger.log(`folderToEnsure`);
38
- this.logger.log(folderToEnsure);
39
- this.logger.log('');
40
- }
41
- let nextFolder = '';
42
- let prevFolder = '';
43
- let folderIndex = 0;
44
- // build array of folders e.g. ["Shared%20Documents","22","54","55"]
45
- const folders = folderToEnsure.substring(1).split('/');
46
- if (this.debug) {
47
- this.logger.log('folders to process');
48
- this.logger.log(JSON.stringify(folders));
49
- this.logger.log('');
50
- }
51
- // recursive function
52
- const checkOrAddFolder = (resolve, reject) => {
53
- if (folderIndex === folders.length) {
54
- if (this.debug) {
55
- this.logger.log(`All sub-folders exist`);
56
- }
57
- return resolve();
58
- }
59
- // append the next sub-folder to the folder path and check if it exists
60
- prevFolder = nextFolder;
61
- nextFolder += `/${folders[folderIndex]}`;
62
- const folderServerRelativeUrl = Utils_1.default.getServerRelativePath(webFullUrl, nextFolder);
63
- const requestOptions = {
64
- url: `${webFullUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderServerRelativeUrl)}')`,
65
- headers: {
66
- 'accept': 'application/json;odata=nometadata'
67
- }
68
- };
69
- request_1.default
70
- .get(requestOptions)
71
- .then(() => {
72
- folderIndex++;
73
- checkOrAddFolder(resolve, reject);
74
- })
75
- .catch(() => {
76
- const prevFolderServerRelativeUrl = Utils_1.default.getServerRelativePath(webFullUrl, prevFolder);
77
- const requestOptions = {
78
- url: `${webFullUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl=@a1)/AddSubFolderUsingPath(DecodedUrl=@a2)?@a1=%27${encodeURIComponent(prevFolderServerRelativeUrl)}%27&@a2=%27${encodeURIComponent(folders[folderIndex])}%27`,
79
- headers: {
80
- 'accept': 'application/json;odata=nometadata'
81
- },
82
- responseType: 'json'
83
- };
84
- return request_1.default.post(requestOptions)
85
- .then(() => {
86
- folderIndex++;
87
- checkOrAddFolder(resolve, reject);
88
- })
89
- .catch((err) => {
90
- if (this.debug) {
91
- this.logger.log(`Could not create sub-folder ${folderServerRelativeUrl}`);
92
- }
93
- reject(err);
94
- });
95
- });
96
- };
97
- return new Promise(checkOrAddFolder);
98
- }
99
- }
100
- exports.FolderExtensions = FolderExtensions;
101
- //# sourceMappingURL=FolderExtensions.js.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=spo.js.map