@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
package/dist/Utils.js DELETED
@@ -1,568 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const fs = require("fs");
4
- const path = require("path");
5
- const url = require("url");
6
- class Utils {
7
- static escapeXml(s) {
8
- if (!s) {
9
- return s;
10
- }
11
- return s.toString().replace(/[<>&"]/g, (c) => {
12
- let char = c;
13
- switch (c) {
14
- case '<':
15
- char = '&lt;';
16
- break;
17
- case '>':
18
- char = '&gt;';
19
- break;
20
- case '&':
21
- char = '&amp;';
22
- break;
23
- case '"':
24
- char = '&quot;';
25
- break;
26
- }
27
- return char;
28
- });
29
- }
30
- static restore(method) {
31
- if (!method) {
32
- return;
33
- }
34
- if (!Array.isArray(method)) {
35
- method = [method];
36
- }
37
- method.forEach((m) => {
38
- if (m && m.restore) {
39
- m.restore();
40
- }
41
- });
42
- }
43
- static isValidGuid(guid) {
44
- const guidRegEx = new RegExp(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i);
45
- return guidRegEx.test(guid);
46
- }
47
- static isValidTeamsChannelId(guid) {
48
- const guidRegEx = new RegExp(/^19:[0-9a-zA-Z-_]+@thread\.(skype|tacv2)$/i);
49
- return guidRegEx.test(guid);
50
- }
51
- static isValidUserPrincipalName(upn) {
52
- const upnRegEx = new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/i);
53
- return upnRegEx.test(upn);
54
- }
55
- static isDateInRange(date, monthOffset) {
56
- const d = new Date(date);
57
- const cutoffDate = new Date();
58
- cutoffDate.setMonth(cutoffDate.getMonth() - monthOffset);
59
- return d > cutoffDate;
60
- }
61
- static isValidISODate(date) {
62
- const dateRegEx = new RegExp(/^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/i);
63
- return dateRegEx.test(date);
64
- }
65
- static isValidISODateDashOnly(date) {
66
- const dateTimeRegEx = new RegExp(/^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))$/i);
67
- const dateOnlyRegEx = new RegExp(/^(19|20)\d\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/i);
68
- return dateTimeRegEx.test(date) ? true : dateOnlyRegEx.test(date);
69
- }
70
- static isValidISODateTime(dateTime) {
71
- const withMilliSecsPattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9]):(0[0-9]|[1-5][0-9])\.[0-9]{3}Z$/);
72
- if (withMilliSecsPattern.test(dateTime)) {
73
- return true;
74
- }
75
- const withSecsPattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9]):(0[0-9]|[1-5][0-9])Z$/);
76
- if (withSecsPattern.test(dateTime)) {
77
- return true;
78
- }
79
- const withMinutesPattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9])Z$/);
80
- if (withMinutesPattern.test(dateTime)) {
81
- return true;
82
- }
83
- const withHoursPattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3])Z$/);
84
- if (withHoursPattern.test(dateTime)) {
85
- return true;
86
- }
87
- const withoutTimePattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))$/);
88
- if (withoutTimePattern.test(dateTime)) {
89
- return true;
90
- }
91
- return false;
92
- }
93
- static isValidBoolean(value) {
94
- return value.toLowerCase() === 'true' || value.toLowerCase() === 'false';
95
- }
96
- static getTenantIdFromAccessToken(accessToken) {
97
- let tenantId = '';
98
- if (!accessToken || accessToken.length === 0) {
99
- return tenantId;
100
- }
101
- const chunks = accessToken.split('.');
102
- if (chunks.length !== 3) {
103
- return tenantId;
104
- }
105
- const tokenString = Buffer.from(chunks[1], 'base64').toString();
106
- try {
107
- const token = JSON.parse(tokenString);
108
- tenantId = token.tid;
109
- }
110
- catch (_a) {
111
- }
112
- return tenantId;
113
- }
114
- static getUserNameFromAccessToken(accessToken) {
115
- let userName = '';
116
- if (!accessToken || accessToken.length === 0) {
117
- return userName;
118
- }
119
- const chunks = accessToken.split('.');
120
- if (chunks.length !== 3) {
121
- return userName;
122
- }
123
- const tokenString = Buffer.from(chunks[1], 'base64').toString();
124
- try {
125
- const token = JSON.parse(tokenString);
126
- // if authenticated using certificate, there is no upn so use
127
- // app display name instead
128
- userName = token.upn || token.app_displayname;
129
- }
130
- catch (_a) {
131
- }
132
- return userName;
133
- }
134
- /**
135
- * Returns server relative path.
136
- * @param webUrl web full or web relative url e.g. https://contoso.sharepoint.com/sites/team1
137
- * @param folderRelativePath folder relative path e.g. /Shared Documents
138
- * @example
139
- * // returns "/sites/team1"
140
- * Utils.getServerRelativePath("https://contoso.sharepoint.com/sites/team1", "");
141
- * @example
142
- * // returns "/sites/team1/Shared Documents"
143
- * Utils.getServerRelativePath("https://contoso.sharepoint.com/sites/team1", "/Shared Documents");
144
- * @example
145
- * // returns "/sites/team1/Shared Documents"
146
- * Utils.getServerRelativePath("/sites/team1/", "/Shared Documents");
147
- */
148
- static getServerRelativePath(webUrl, folderRelativePath) {
149
- const tenantUrl = `${url.parse(webUrl).protocol}//${url.parse(webUrl).hostname}`;
150
- // if webUrl is a server-relative URL then tenantUrl will resolve to null//null
151
- // in which case we should keep webUrl
152
- let webRelativePath = tenantUrl !== 'null//null' ? webUrl.substr(tenantUrl.length) : webUrl;
153
- // will be used to remove relative path from the folderRelativePath
154
- // in case the web relative url is included
155
- let relativePathToRemove = webRelativePath;
156
- // add '/' at 0
157
- if (webRelativePath[0] !== '/') {
158
- webRelativePath = `/${webRelativePath}`;
159
- }
160
- else {
161
- relativePathToRemove = webRelativePath.substring(1);
162
- }
163
- // remove last '/' of webRelativePath
164
- const webPathLastCharPos = webRelativePath.length - 1;
165
- if (webRelativePath.length > 1 &&
166
- webRelativePath[webPathLastCharPos] === '/') {
167
- webRelativePath = webRelativePath.substring(0, webPathLastCharPos);
168
- }
169
- // remove the web relative path if it is contained in the folder relative path
170
- const relativePathToRemoveIdx = folderRelativePath.toLowerCase().indexOf(relativePathToRemove.toLowerCase());
171
- if (relativePathToRemoveIdx > -1) {
172
- const pos = relativePathToRemoveIdx + relativePathToRemove.length;
173
- folderRelativePath = folderRelativePath.substring(pos, folderRelativePath.length);
174
- }
175
- if (folderRelativePath !== '') {
176
- // add '/' at 0 for siteRelativePath
177
- if (folderRelativePath[0] !== '/') {
178
- folderRelativePath = `/${folderRelativePath}`;
179
- }
180
- // remove last '/' of siteRelativePath
181
- const folderPathLastCharPos = folderRelativePath.length - 1;
182
- if (folderRelativePath[folderPathLastCharPos] === '/') {
183
- folderRelativePath = folderRelativePath.substring(0, folderPathLastCharPos);
184
- }
185
- if (webRelativePath === '/' && folderRelativePath !== '') {
186
- webRelativePath = folderRelativePath;
187
- }
188
- else {
189
- webRelativePath = `${webRelativePath}${folderRelativePath}`;
190
- }
191
- }
192
- return webRelativePath.replace('//', '/');
193
- }
194
- /**
195
- * Returns server relative site url.
196
- * @param webUrl web full or web relative url e.g. https://contoso.sharepoint.com/sites/team1
197
- * @example
198
- * // returns "/sites/team1"
199
- * Utils.getServerRelativeSiteUrl("https://contoso.sharepoint.com/sites/team1";
200
- * @example
201
- * // returns ""
202
- * Utils.getServerRelativeSiteUrl("https://contoso.sharepoint.com");
203
- * @example
204
- * // returns "/sites/team1/Shared Documents"
205
- * Utils.getServerRelativePath("/sites/team1/", "/Shared Documents");
206
- */
207
- static getServerRelativeSiteUrl(webUrl) {
208
- const serverRelativeSiteUrl = Utils.getServerRelativePath(webUrl, '');
209
- // return an empty string instead of / to prevent // replies
210
- return serverRelativeSiteUrl === '/' ? "" : serverRelativeSiteUrl;
211
- }
212
- /**
213
- * Returns web relative path from webUrl and folderUrl.
214
- * @param webUrl web full or web relative url e.g. https://contoso.sharepoint.com/sites/team1/
215
- * @param folderUrl folder server relative url e.g. /sites/team1/Lists/MyList
216
- * @example
217
- * // returns "/Lists/MyList"
218
- * Utils.getWebRelativePath("https://contoso.sharepoint.com/sites/team1/", "/sites/team1/Lists/MyList");
219
- * @example
220
- * // returns "/Shared Documents"
221
- * Utils.getWebRelativePath("/sites/team1/", "/sites/team1/Shared Documents");
222
- */
223
- static getWebRelativePath(webUrl, folderUrl) {
224
- let folderWebRelativePath = '';
225
- const tenantUrl = `${url.parse(webUrl).protocol}//${url.parse(webUrl).hostname}`;
226
- // if webUrl is a server-relative URL then tenantUrl will resolve to null//null
227
- // in which case we should keep webUrl
228
- let webRelativePath = tenantUrl !== 'null//null' ? webUrl.substr(tenantUrl.length) : webUrl;
229
- // will be used to remove relative path from the folderRelativePath
230
- // in case the web relative url is included
231
- let relativePathToRemove = webRelativePath;
232
- // add '/' at 0
233
- if (webRelativePath[0] !== '/') {
234
- webRelativePath = `/${webRelativePath}`;
235
- }
236
- else {
237
- relativePathToRemove = webRelativePath.substring(1);
238
- }
239
- // remove last '/' of webRelativePath
240
- const webPathLastCharPos = webRelativePath.length - 1;
241
- if (webRelativePath.length > 1 &&
242
- webRelativePath[webPathLastCharPos] === '/') {
243
- webRelativePath = webRelativePath.substring(0, webPathLastCharPos);
244
- }
245
- // remove the web relative path if it is contained in the folder relative path
246
- const relativePathToRemoveIdx = folderUrl.toLowerCase().indexOf(relativePathToRemove.toLowerCase());
247
- if (relativePathToRemoveIdx > -1) {
248
- const pos = relativePathToRemoveIdx + relativePathToRemove.length;
249
- folderWebRelativePath = folderUrl.substring(pos, folderUrl.length);
250
- }
251
- else {
252
- folderWebRelativePath = folderUrl;
253
- }
254
- // add '/' at 0 for folderWebRelativePath
255
- if (folderWebRelativePath[0] !== '/') {
256
- folderWebRelativePath = `/${folderWebRelativePath}`;
257
- }
258
- // remove last '/' of folderWebRelativePath
259
- const folderPathLastCharPos = folderWebRelativePath.length - 1;
260
- if (folderWebRelativePath.length > 1 && folderWebRelativePath[folderPathLastCharPos] === '/') {
261
- folderWebRelativePath = folderWebRelativePath.substring(0, folderPathLastCharPos);
262
- }
263
- return folderWebRelativePath.replace('//', '/');
264
- }
265
- /**
266
- * Returns the absolute URL according to a Web URL and the server relative URL of a folder
267
- * @param webUrl The full URL of a web
268
- * @param serverRelativeUrl The server relative URL of a folder
269
- * @example
270
- * // returns "https://contoso.sharepoint.com/sites/team1/Lists/MyList"
271
- * Utils.getAbsoluteUrl("https://contoso.sharepoint.com/sites/team1/", "/sites/team1/Lists/MyList");
272
- */
273
- static getAbsoluteUrl(webUrl, serverRelativeUrl) {
274
- const uri = url.parse(webUrl);
275
- const tenantUrl = `${uri.protocol}//${uri.hostname}`;
276
- if (serverRelativeUrl[0] !== '/') {
277
- serverRelativeUrl = `/${serverRelativeUrl}`;
278
- }
279
- return `${tenantUrl}${serverRelativeUrl}`;
280
- }
281
- static isJavascriptReservedWord(input) {
282
- const javascriptReservedWords = [
283
- "arguments",
284
- "await",
285
- "break",
286
- "case",
287
- "catch",
288
- "class",
289
- "const",
290
- "continue",
291
- "debugger",
292
- "default",
293
- "delete",
294
- "do",
295
- "else",
296
- "enum",
297
- "eval",
298
- "export",
299
- "extends",
300
- "false",
301
- "finally",
302
- "for",
303
- "function",
304
- "if",
305
- "implements",
306
- "import",
307
- "in",
308
- "instanceof",
309
- "interface",
310
- "let",
311
- "new",
312
- "null",
313
- "package",
314
- "private",
315
- "protected",
316
- "public",
317
- "return",
318
- "static",
319
- "super",
320
- "switch",
321
- "this",
322
- "throw",
323
- "true",
324
- "try",
325
- "typeof",
326
- "var",
327
- "void",
328
- "while",
329
- "with",
330
- "yield",
331
- "Array",
332
- "Date",
333
- "eval",
334
- "function",
335
- "hasOwnProperty",
336
- "Infinity",
337
- "isFinite",
338
- "isNaN",
339
- "isPrototypeOf",
340
- "length",
341
- "Math",
342
- "NaN",
343
- "name",
344
- "Number",
345
- "Object",
346
- "prototype",
347
- "String",
348
- "toString",
349
- "undefined",
350
- "valueOf",
351
- "alert",
352
- "all",
353
- "anchor",
354
- "anchors",
355
- "area",
356
- "assign",
357
- "blur",
358
- "button",
359
- "checkbox",
360
- "clearInterval",
361
- "clearTimeout",
362
- "clientInformation",
363
- "close",
364
- "closed",
365
- "confirm",
366
- "constructor",
367
- "crypto",
368
- "decodeURI",
369
- "decodeURIComponent",
370
- "defaultStatus",
371
- "document",
372
- "element",
373
- "elements",
374
- "embed",
375
- "embeds",
376
- "encodeURI",
377
- "encodeURIComponent",
378
- "escape",
379
- "event",
380
- "fileUpload",
381
- "focus",
382
- "form",
383
- "forms",
384
- "frame",
385
- "innerHeight",
386
- "innerWidth",
387
- "layer",
388
- "layers",
389
- "link",
390
- "location",
391
- "mimeTypes",
392
- "navigate",
393
- "navigator",
394
- "frames",
395
- "frameRate",
396
- "hidden",
397
- "history",
398
- "image",
399
- "images",
400
- "offscreenBuffering",
401
- "open",
402
- "opener",
403
- "option",
404
- "outerHeight",
405
- "outerWidth",
406
- "packages",
407
- "pageXOffset",
408
- "pageYOffset",
409
- "parent",
410
- "parseFloat",
411
- "parseInt",
412
- "password",
413
- "pkcs11",
414
- "plugin",
415
- "prompt",
416
- "propertyIsEnum",
417
- "radio",
418
- "reset",
419
- "screenX",
420
- "screenY",
421
- "scroll",
422
- "secure",
423
- "select",
424
- "self",
425
- "setInterval",
426
- "setTimeout",
427
- "status",
428
- "submit",
429
- "taint",
430
- "text",
431
- "textarea",
432
- "top",
433
- "unescape",
434
- "untaint",
435
- "window",
436
- "onblur",
437
- "onclick",
438
- "onerror",
439
- "onfocus",
440
- "onkeydown",
441
- "onkeypress",
442
- "onkeyup",
443
- "onmouseover",
444
- "onload",
445
- "onmouseup",
446
- "onmousedown",
447
- "onsubmit"
448
- ];
449
- return !!input && !input.split('.').every(value => !~javascriptReservedWords.indexOf(value));
450
- }
451
- static isValidFileName(input) {
452
- return !!input && !/^((\..*)|COM\d|CLOCK\$|LPT\d|AUX|NUL|CON|PRN|(.*[\u{d800}-\u{dfff}]+.*))$/iu.test(input) && !/^(.*\.\..*)$/i.test(input);
453
- }
454
- static getSafeFileName(input) {
455
- return input
456
- .replace(/'/g, "''");
457
- }
458
- static isValidTheme(input) {
459
- const validThemeProperties = [
460
- "themePrimary",
461
- "themeLighterAlt",
462
- "themeLighter",
463
- "themeLight",
464
- "themeTertiary",
465
- "themeSecondary",
466
- "themeDarkAlt",
467
- "themeDark",
468
- "themeDarker",
469
- "neutralLighterAlt",
470
- "neutralLighter",
471
- "neutralLight",
472
- "neutralQuaternaryAlt",
473
- "neutralQuaternary",
474
- "neutralTertiaryAlt",
475
- "neutralTertiary",
476
- "neutralSecondary",
477
- "neutralPrimaryAlt",
478
- "neutralPrimary",
479
- "neutralDark",
480
- "black",
481
- "white"
482
- ];
483
- let theme;
484
- try {
485
- theme = JSON.parse(input);
486
- }
487
- catch (_a) {
488
- return false;
489
- }
490
- if (Array.isArray(theme)) {
491
- return false;
492
- }
493
- const hasInvalidProperties = validThemeProperties.map((property) => {
494
- return theme.hasOwnProperty(property);
495
- }).includes(false);
496
- if (hasInvalidProperties) {
497
- return false;
498
- }
499
- const regex = new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/);
500
- const hasInvalidValues = validThemeProperties.map((property) => {
501
- return regex.test(theme[property]);
502
- }).includes(false);
503
- if (hasInvalidValues) {
504
- return false;
505
- }
506
- return true;
507
- }
508
- static parseJsonWithBom(s) {
509
- return JSON.parse(s.replace(/^\uFEFF/, ''));
510
- }
511
- static filterObject(obj, propertiesToInclude) {
512
- return Object.keys(obj)
513
- .filter(key => propertiesToInclude.includes(key))
514
- .reduce((filtered, key) => {
515
- filtered[key] = obj[key];
516
- return filtered;
517
- }, {});
518
- }
519
- static readdirR(dir) {
520
- return fs.statSync(dir).isDirectory()
521
- ? Array.prototype.concat(...fs.readdirSync(dir).map(f => Utils.readdirR(path.join(dir, f))))
522
- : dir;
523
- }
524
- // from: https://stackoverflow.com/a/22185855
525
- static copyRecursiveSync(src, dest, replaceTokens) {
526
- const exists = fs.existsSync(src);
527
- const stats = exists && fs.statSync(src);
528
- const isDirectory = exists && stats.isDirectory();
529
- if (replaceTokens) {
530
- dest = replaceTokens(dest);
531
- }
532
- if (isDirectory) {
533
- if (!fs.existsSync(dest)) {
534
- fs.mkdirSync(dest);
535
- }
536
- fs.readdirSync(src).forEach(function (childItemName) {
537
- Utils.copyRecursiveSync(path.join(src, childItemName), path.join(dest, childItemName), replaceTokens);
538
- });
539
- }
540
- else {
541
- fs.copyFileSync(src, dest);
542
- }
543
- }
544
- static parseCsvToJson(s) {
545
- const rows = s.split('\n');
546
- const jsonObj = [];
547
- const headers = rows[0].split(',');
548
- for (let i = 1; i < rows.length; i++) {
549
- const data = rows[i].split(',');
550
- const obj = {};
551
- for (let j = 0; j < data.length; j++) {
552
- const value = data[j].trim();
553
- const numValue = parseInt(value);
554
- obj[headers[j].trim()] = isNaN(numValue) || numValue.toString() !== value ? value : numValue;
555
- }
556
- jsonObj.push(obj);
557
- }
558
- return jsonObj;
559
- }
560
- static encodeQueryParameter(value) {
561
- if (!value) {
562
- return value;
563
- }
564
- return encodeURIComponent(value).replace(/'/g, "''");
565
- }
566
- }
567
- exports.default = Utils;
568
- //# sourceMappingURL=Utils.js.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Group.js.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=GroupUser.js.map
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const Command_1 = require("../../Command");
4
- class AadCommand extends Command_1.default {
5
- get resource() {
6
- return 'https://graph.windows.net';
7
- }
8
- }
9
- exports.default = AadCommand;
10
- //# sourceMappingURL=AadCommand.js.map
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphItemsListCommand = void 0;
4
- const request_1 = require("../../request");
5
- const GraphCommand_1 = require("./GraphCommand");
6
- class GraphItemsListCommand extends GraphCommand_1.default {
7
- constructor() {
8
- super();
9
- this.items = [];
10
- }
11
- getAllItems(url, logger, firstRun, metadata) {
12
- return new Promise((resolve, reject) => {
13
- const requestOptions = {
14
- url: url,
15
- headers: {
16
- accept: `application/json;odata.metadata=${metadata || 'none'}`
17
- },
18
- responseType: 'json'
19
- };
20
- request_1.default
21
- .get(requestOptions)
22
- .then((res) => {
23
- if (firstRun) {
24
- this.items = [];
25
- }
26
- this.items = this.items.concat(res.value);
27
- if (res['@odata.nextLink']) {
28
- this
29
- .getAllItems(res['@odata.nextLink'], logger, false)
30
- .then(() => {
31
- resolve();
32
- }, (err) => {
33
- reject(err);
34
- });
35
- }
36
- else {
37
- resolve();
38
- }
39
- }, (err) => {
40
- reject(err);
41
- });
42
- });
43
- }
44
- }
45
- exports.GraphItemsListCommand = GraphItemsListCommand;
46
- //# sourceMappingURL=GraphItemsListCommand.js.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=GraphResponse.js.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=GraphResponseError.js.map