@pnp/cli-microsoft365 5.8.0-beta.b2e656e → 5.8.0-beta.c1d5041

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 (515) hide show
  1. package/dist/Command.js +48 -35
  2. package/dist/cli/Cli.js +30 -24
  3. package/dist/m365/aad/commands/app/app-add.js +30 -30
  4. package/dist/m365/aad/commands/app/app-get.js +12 -9
  5. package/dist/m365/aad/commands/app/app-remove.js +34 -35
  6. package/dist/m365/aad/commands/app/app-role-add.js +29 -26
  7. package/dist/m365/aad/commands/app/app-role-list.js +20 -8
  8. package/dist/m365/aad/commands/app/app-role-remove.js +23 -22
  9. package/dist/m365/aad/commands/app/app-set.js +12 -7
  10. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +89 -93
  11. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +38 -38
  12. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +89 -91
  13. package/dist/m365/aad/commands/group/group-list.js +35 -23
  14. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +33 -32
  15. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +17 -14
  16. package/dist/m365/aad/commands/groupsetting/groupsetting-list.js +19 -7
  17. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +30 -29
  18. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +33 -30
  19. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +14 -13
  20. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-list.js +19 -7
  21. package/dist/m365/aad/commands/o365group/o365group-add.js +85 -96
  22. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +10 -7
  23. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +11 -10
  24. package/dist/m365/aad/commands/o365group/o365group-get.js +20 -25
  25. package/dist/m365/aad/commands/o365group/o365group-list.js +38 -43
  26. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +31 -19
  27. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +24 -12
  28. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +30 -33
  29. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +21 -18
  30. package/dist/m365/aad/commands/o365group/o365group-remove.js +38 -40
  31. package/dist/m365/aad/commands/o365group/o365group-renew.js +17 -12
  32. package/dist/m365/aad/commands/o365group/o365group-set.js +96 -114
  33. package/dist/m365/aad/commands/o365group/o365group-teamify.js +31 -28
  34. package/dist/m365/aad/commands/o365group/o365group-user-add.js +27 -24
  35. package/dist/m365/aad/commands/o365group/o365group-user-list.js +15 -17
  36. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +57 -60
  37. package/dist/m365/aad/commands/o365group/o365group-user-set.js +59 -60
  38. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +25 -20
  39. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +21 -18
  40. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +41 -31
  41. package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +30 -16
  42. package/dist/m365/aad/commands/policy/policy-list.js +22 -23
  43. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +60 -52
  44. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +84 -72
  45. package/dist/m365/aad/commands/siteclassification/siteclassification-get.js +66 -57
  46. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +96 -93
  47. package/dist/m365/aad/commands/sp/sp-add.js +22 -21
  48. package/dist/m365/aad/commands/sp/sp-get.js +22 -21
  49. package/dist/m365/aad/commands/user/user-get.js +37 -37
  50. package/dist/m365/aad/commands/user/user-hibp.js +21 -22
  51. package/dist/m365/aad/commands/user/user-list.js +31 -21
  52. package/dist/m365/aad/commands/user/user-password-validate.js +29 -17
  53. package/dist/m365/aad/commands/user/user-set.js +18 -13
  54. package/dist/m365/aad/commands/user/user-signin-list.js +24 -21
  55. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +39 -37
  56. package/dist/m365/app/commands/app-get.js +27 -15
  57. package/dist/m365/app/commands/app-open.js +18 -3
  58. package/dist/m365/app/commands/permission/permission-list.js +17 -15
  59. package/dist/m365/base/AnonymousCommand.js +14 -3
  60. package/dist/m365/base/AppCommand.js +51 -44
  61. package/dist/m365/base/DateAndPeriodBasedReport.js +7 -5
  62. package/dist/m365/base/PeriodBasedReport.js +23 -16
  63. package/dist/m365/base/SpoCommand.js +13 -9
  64. package/dist/m365/base/YammerCommand.js +4 -4
  65. package/dist/m365/booking/commands/business/business-get.js +27 -17
  66. package/dist/m365/booking/commands/business/business-list.js +20 -11
  67. package/dist/m365/cli/commands/cli-consent.js +15 -12
  68. package/dist/m365/cli/commands/cli-doctor.js +35 -25
  69. package/dist/m365/cli/commands/cli-issue.js +15 -15
  70. package/dist/m365/cli/commands/cli-reconsent.js +30 -18
  71. package/dist/m365/cli/commands/completion/completion-clink-update.js +13 -3
  72. package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +47 -38
  73. package/dist/m365/cli/commands/completion/completion-pwsh-update.js +16 -6
  74. package/dist/m365/cli/commands/completion/completion-sh-setup.js +21 -11
  75. package/dist/m365/cli/commands/completion/completion-sh-update.js +16 -6
  76. package/dist/m365/cli/commands/config/config-get.js +4 -3
  77. package/dist/m365/cli/commands/config/config-reset.js +9 -8
  78. package/dist/m365/cli/commands/config/config-set.js +20 -19
  79. package/dist/m365/commands/login.js +66 -63
  80. package/dist/m365/commands/logout.js +34 -23
  81. package/dist/m365/commands/request.js +56 -59
  82. package/dist/m365/commands/status.js +49 -27
  83. package/dist/m365/commands/version.js +13 -3
  84. package/dist/m365/file/commands/convert/convert-pdf.js +58 -53
  85. package/dist/m365/file/commands/file-add.js +14 -9
  86. package/dist/m365/file/commands/file-list.js +27 -30
  87. package/dist/m365/flow/commands/environment/environment-get.js +34 -22
  88. package/dist/m365/flow/commands/environment/environment-list.js +33 -21
  89. package/dist/m365/flow/commands/flow-disable.js +28 -14
  90. package/dist/m365/flow/commands/flow-enable.js +28 -14
  91. package/dist/m365/flow/commands/flow-export.js +102 -102
  92. package/dist/m365/flow/commands/flow-get.js +33 -21
  93. package/dist/m365/flow/commands/flow-list.js +28 -16
  94. package/dist/m365/flow/commands/flow-remove.js +38 -42
  95. package/dist/m365/flow/commands/run/run-cancel.js +32 -31
  96. package/dist/m365/flow/commands/run/run-get.js +33 -21
  97. package/dist/m365/flow/commands/run/run-list.js +31 -19
  98. package/dist/m365/flow/commands/run/run-resubmit.js +36 -37
  99. package/dist/m365/graph/commands/changelog/changelog-list.js +21 -18
  100. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +30 -27
  101. package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +30 -17
  102. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +38 -34
  103. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +42 -31
  104. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +57 -54
  105. package/dist/m365/graph/commands/subscription/subscription-add.js +28 -25
  106. package/dist/m365/onedrive/commands/onedrive-list.js +23 -13
  107. package/dist/m365/onenote/commands/notebook/notebook-list.js +11 -11
  108. package/dist/m365/outlook/commands/mail/mail-send.js +73 -31
  109. package/dist/m365/outlook/commands/message/message-list.js +21 -11
  110. package/dist/m365/outlook/commands/message/message-move.js +33 -25
  111. package/dist/m365/outlook/commands/room/room-list.js +23 -11
  112. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +19 -7
  113. package/dist/m365/pa/commands/app/app-get.js +41 -42
  114. package/dist/m365/pa/commands/app/app-list.js +19 -16
  115. package/dist/m365/pa/commands/app/app-remove.js +38 -38
  116. package/dist/m365/pa/commands/connector/connector-export.js +102 -104
  117. package/dist/m365/pa/commands/connector/connector-list.js +28 -16
  118. package/dist/m365/pa/commands/environment/environment-get.js +34 -22
  119. package/dist/m365/pa/commands/environment/environment-list.js +33 -21
  120. package/dist/m365/pa/commands/pcf/pcf-init.js +35 -34
  121. package/dist/m365/pa/commands/solution/solution-init.js +48 -47
  122. package/dist/m365/pa/commands/solution/solution-reference-add.js +15 -14
  123. package/dist/m365/planner/commands/bucket/bucket-add.js +31 -30
  124. package/dist/m365/planner/commands/bucket/bucket-get.js +19 -16
  125. package/dist/m365/planner/commands/bucket/bucket-list.js +19 -16
  126. package/dist/m365/planner/commands/bucket/bucket-remove.js +39 -40
  127. package/dist/m365/planner/commands/bucket/bucket-set.js +32 -29
  128. package/dist/m365/planner/commands/plan/plan-add.js +27 -26
  129. package/dist/m365/planner/commands/plan/plan-get.js +31 -32
  130. package/dist/m365/planner/commands/plan/plan-list.js +16 -13
  131. package/dist/m365/planner/commands/plan/plan-remove.js +34 -37
  132. package/dist/m365/planner/commands/task/task-add.js +43 -48
  133. package/dist/m365/planner/commands/task/task-checklistitem-add.js +47 -37
  134. package/dist/m365/planner/commands/task/task-checklistitem-list.js +35 -21
  135. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +51 -41
  136. package/dist/m365/planner/commands/task/task-get.js +25 -22
  137. package/dist/m365/planner/commands/task/task-list.js +48 -58
  138. package/dist/m365/planner/commands/task/task-reference-add.js +24 -23
  139. package/dist/m365/planner/commands/task/task-reference-list.js +30 -18
  140. package/dist/m365/planner/commands/task/task-reference-remove.js +39 -40
  141. package/dist/m365/planner/commands/task/task-remove.js +31 -32
  142. package/dist/m365/planner/commands/task/task-set.js +34 -39
  143. package/dist/m365/planner/commands/tenant/tenant-settings-list.js +26 -14
  144. package/dist/m365/planner/commands/tenant/tenant-settings-set.js +25 -22
  145. package/dist/m365/pp/commands/environment/environment-list.js +41 -29
  146. package/dist/m365/pp/commands/gateway/gateway-list.js +29 -17
  147. package/dist/m365/pp/commands/managementapp/managementapp-add.js +19 -18
  148. package/dist/m365/pp/commands/managementapp/managementapp-list.js +20 -8
  149. package/dist/m365/search/commands/externalconnection/externalconnection-add.js +29 -24
  150. package/dist/m365/search/commands/externalconnection/externalconnection-get.js +37 -28
  151. package/dist/m365/search/commands/externalconnection/externalconnection-list.js +19 -7
  152. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +39 -32
  153. package/dist/m365/spfx/commands/package/package-generate.js +104 -97
  154. package/dist/m365/spfx/commands/project/project-doctor.js +99 -102
  155. package/dist/m365/spfx/commands/project/project-externalize.js +45 -38
  156. package/dist/m365/spfx/commands/project/project-rename.js +38 -30
  157. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +1 -1
  158. package/dist/m365/spfx/commands/project/project-upgrade.js +173 -179
  159. package/dist/m365/spfx/commands/spfx-doctor.js +44 -49
  160. package/dist/m365/spo/commands/app/app-add.js +31 -32
  161. package/dist/m365/spo/commands/app/app-deploy.js +37 -38
  162. package/dist/m365/spo/commands/app/app-get.js +39 -40
  163. package/dist/m365/spo/commands/app/app-install.js +18 -13
  164. package/dist/m365/spo/commands/app/app-instance-list.js +25 -21
  165. package/dist/m365/spo/commands/app/app-list.js +29 -32
  166. package/dist/m365/spo/commands/app/app-remove.js +33 -36
  167. package/dist/m365/spo/commands/app/app-retract.js +33 -36
  168. package/dist/m365/spo/commands/app/app-teamspackage-download.js +42 -43
  169. package/dist/m365/spo/commands/app/app-uninstall.js +31 -30
  170. package/dist/m365/spo/commands/app/app-upgrade.js +18 -13
  171. package/dist/m365/spo/commands/apppage/apppage-add.js +38 -39
  172. package/dist/m365/spo/commands/apppage/apppage-set.js +20 -15
  173. package/dist/m365/spo/commands/cdn/cdn-get.js +35 -41
  174. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +29 -37
  175. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +33 -39
  176. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +43 -57
  177. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +41 -48
  178. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +36 -45
  179. package/dist/m365/spo/commands/cdn/cdn-set.js +63 -67
  180. package/dist/m365/spo/commands/contenttype/contenttype-add.js +48 -53
  181. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +94 -112
  182. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +120 -146
  183. package/dist/m365/spo/commands/contenttype/contenttype-get.js +35 -34
  184. package/dist/m365/spo/commands/contenttype/contenttype-list.js +21 -18
  185. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +62 -66
  186. package/dist/m365/spo/commands/contenttype/contenttype-set.js +166 -0
  187. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +50 -47
  188. package/dist/m365/spo/commands/customaction/customaction-add.js +43 -40
  189. package/dist/m365/spo/commands/customaction/customaction-clear.js +27 -25
  190. package/dist/m365/spo/commands/customaction/customaction-get.js +40 -35
  191. package/dist/m365/spo/commands/customaction/customaction-list.js +28 -23
  192. package/dist/m365/spo/commands/customaction/customaction-remove.js +32 -31
  193. package/dist/m365/spo/commands/customaction/customaction-set.js +21 -16
  194. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +42 -39
  195. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +35 -32
  196. package/dist/m365/spo/commands/externaluser/externaluser-list.js +51 -56
  197. package/dist/m365/spo/commands/feature/feature-disable.js +26 -21
  198. package/dist/m365/spo/commands/feature/feature-enable.js +26 -21
  199. package/dist/m365/spo/commands/feature/feature-list.js +23 -20
  200. package/dist/m365/spo/commands/field/field-add.js +25 -24
  201. package/dist/m365/spo/commands/field/field-get.js +39 -36
  202. package/dist/m365/spo/commands/field/field-list.js +28 -25
  203. package/dist/m365/spo/commands/field/field-remove.js +83 -86
  204. package/dist/m365/spo/commands/field/field-set.js +64 -70
  205. package/dist/m365/spo/commands/file/file-add.js +153 -175
  206. package/dist/m365/spo/commands/file/file-checkin.js +36 -31
  207. package/dist/m365/spo/commands/file/file-checkout.js +23 -18
  208. package/dist/m365/spo/commands/file/file-copy.js +61 -63
  209. package/dist/m365/spo/commands/file/file-get.js +64 -66
  210. package/dist/m365/spo/commands/file/file-list.js +13 -8
  211. package/dist/m365/spo/commands/file/file-move.js +60 -62
  212. package/dist/m365/spo/commands/file/file-remove.js +54 -56
  213. package/dist/m365/spo/commands/file/file-rename.js +29 -31
  214. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +45 -43
  215. package/dist/m365/spo/commands/folder/folder-add.js +26 -23
  216. package/dist/m365/spo/commands/folder/folder-copy.js +45 -42
  217. package/dist/m365/spo/commands/folder/folder-get.js +23 -23
  218. package/dist/m365/spo/commands/folder/folder-list.js +22 -19
  219. package/dist/m365/spo/commands/folder/folder-move.js +46 -43
  220. package/dist/m365/spo/commands/folder/folder-remove.js +40 -39
  221. package/dist/m365/spo/commands/folder/folder-rename.js +30 -36
  222. package/dist/m365/spo/commands/group/group-add.js +25 -22
  223. package/dist/m365/spo/commands/group/group-get.js +40 -37
  224. package/dist/m365/spo/commands/group/group-list.js +21 -18
  225. package/dist/m365/spo/commands/group/group-remove.js +46 -49
  226. package/dist/m365/spo/commands/group/group-set.js +26 -21
  227. package/dist/m365/spo/commands/group/group-user-add.js +30 -34
  228. package/dist/m365/spo/commands/group/group-user-list.js +23 -20
  229. package/dist/m365/spo/commands/group/group-user-remove.js +39 -40
  230. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +29 -19
  231. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +22 -19
  232. package/dist/m365/spo/commands/homesite/homesite-get.js +28 -18
  233. package/dist/m365/spo/commands/homesite/homesite-remove.js +48 -47
  234. package/dist/m365/spo/commands/homesite/homesite-set.js +24 -29
  235. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +18 -15
  236. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +25 -22
  237. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +34 -35
  238. package/dist/m365/spo/commands/hubsite/hubsite-get.js +18 -32
  239. package/dist/m365/spo/commands/hubsite/hubsite-list.js +64 -62
  240. package/dist/m365/spo/commands/hubsite/hubsite-register.js +19 -18
  241. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +29 -34
  242. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +43 -52
  243. package/dist/m365/spo/commands/hubsite/hubsite-set.js +34 -39
  244. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +19 -14
  245. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +31 -32
  246. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +34 -31
  247. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +50 -51
  248. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +25 -31
  249. package/dist/m365/spo/commands/list/list-add.js +23 -20
  250. package/dist/m365/spo/commands/list/list-contenttype-add.js +30 -27
  251. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +56 -57
  252. package/dist/m365/spo/commands/list/list-contenttype-list.js +29 -26
  253. package/dist/m365/spo/commands/list/list-contenttype-remove.js +41 -43
  254. package/dist/m365/spo/commands/list/list-get.js +33 -30
  255. package/dist/m365/spo/commands/list/list-label-get.js +46 -48
  256. package/dist/m365/spo/commands/list/list-label-set.js +46 -44
  257. package/dist/m365/spo/commands/list/list-list.js +25 -22
  258. package/dist/m365/spo/commands/list/list-remove.js +41 -43
  259. package/dist/m365/spo/commands/list/list-roleassignment-add.js +35 -36
  260. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +50 -52
  261. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +32 -27
  262. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +28 -23
  263. package/dist/m365/spo/commands/list/list-set.js +25 -22
  264. package/dist/m365/spo/commands/list/list-sitescript-get.js +49 -52
  265. package/dist/m365/spo/commands/list/list-view-add.js +29 -26
  266. package/dist/m365/spo/commands/list/list-view-field-add.js +47 -48
  267. package/dist/m365/spo/commands/list/list-view-field-remove.js +40 -43
  268. package/dist/m365/spo/commands/list/list-view-field-set.js +28 -25
  269. package/dist/m365/spo/commands/list/list-view-get.js +30 -27
  270. package/dist/m365/spo/commands/list/list-view-list.js +28 -25
  271. package/dist/m365/spo/commands/list/list-view-remove.js +40 -41
  272. package/dist/m365/spo/commands/list/list-view-set.js +25 -22
  273. package/dist/m365/spo/commands/list/list-webhook-add.js +39 -38
  274. package/dist/m365/spo/commands/list/list-webhook-get.js +29 -28
  275. package/dist/m365/spo/commands/list/list-webhook-list.js +47 -44
  276. package/dist/m365/spo/commands/list/list-webhook-remove.js +41 -44
  277. package/dist/m365/spo/commands/list/list-webhook-set.js +35 -34
  278. package/dist/m365/spo/commands/listitem/listitem-add.js +100 -109
  279. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +28 -25
  280. package/dist/m365/spo/commands/listitem/listitem-get.js +28 -25
  281. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +63 -66
  282. package/dist/m365/spo/commands/listitem/listitem-list.js +63 -70
  283. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +49 -51
  284. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +49 -51
  285. package/dist/m365/spo/commands/listitem/listitem-remove.js +46 -47
  286. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +51 -53
  287. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +32 -27
  288. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +25 -20
  289. package/dist/m365/spo/commands/listitem/listitem-set.js +141 -160
  290. package/dist/m365/spo/commands/mail/mail-send.js +48 -43
  291. package/dist/m365/spo/commands/navigation/navigation-node-add.js +29 -26
  292. package/dist/m365/spo/commands/navigation/navigation-node-list.js +26 -23
  293. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +34 -35
  294. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +26 -30
  295. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +48 -44
  296. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +48 -48
  297. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +34 -30
  298. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +36 -47
  299. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +22 -27
  300. package/dist/m365/spo/commands/page/page-add.js +193 -216
  301. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +183 -186
  302. package/dist/m365/spo/commands/page/page-column-get.js +23 -20
  303. package/dist/m365/spo/commands/page/page-column-list.js +18 -15
  304. package/dist/m365/spo/commands/page/page-control-get.js +36 -33
  305. package/dist/m365/spo/commands/page/page-control-list.js +33 -30
  306. package/dist/m365/spo/commands/page/page-control-set.js +97 -97
  307. package/dist/m365/spo/commands/page/page-copy.js +51 -51
  308. package/dist/m365/spo/commands/page/page-get.js +49 -51
  309. package/dist/m365/spo/commands/page/page-header-set.js +228 -232
  310. package/dist/m365/spo/commands/page/page-list.js +40 -39
  311. package/dist/m365/spo/commands/page/page-remove.js +43 -44
  312. package/dist/m365/spo/commands/page/page-section-add.js +66 -68
  313. package/dist/m365/spo/commands/page/page-section-get.js +14 -11
  314. package/dist/m365/spo/commands/page/page-section-list.js +23 -20
  315. package/dist/m365/spo/commands/page/page-set.js +215 -236
  316. package/dist/m365/spo/commands/page/page-template-list.js +24 -25
  317. package/dist/m365/spo/commands/page/page-text-add.js +40 -40
  318. package/dist/m365/spo/commands/propertybag/propertybag-get.js +24 -22
  319. package/dist/m365/spo/commands/propertybag/propertybag-list.js +19 -17
  320. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +30 -36
  321. package/dist/m365/spo/commands/propertybag/propertybag-set.js +22 -27
  322. package/dist/m365/spo/commands/roledefinition/roledefinition-add.js +117 -0
  323. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +25 -22
  324. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +20 -17
  325. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +35 -34
  326. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +38 -34
  327. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +42 -38
  328. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +33 -29
  329. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +29 -34
  330. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +24 -29
  331. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +44 -40
  332. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +45 -54
  333. package/dist/m365/spo/commands/site/site-add.js +177 -189
  334. package/dist/m365/spo/commands/site/site-appcatalog-add.js +29 -34
  335. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +29 -34
  336. package/dist/m365/spo/commands/site/site-apppermission-add.js +66 -34
  337. package/dist/m365/spo/commands/site/site-apppermission-get.js +19 -16
  338. package/dist/m365/spo/commands/site/site-apppermission-list.js +15 -17
  339. package/dist/m365/spo/commands/site/site-apppermission-remove.js +29 -35
  340. package/dist/m365/spo/commands/site/site-apppermission-set.js +30 -29
  341. package/dist/m365/spo/commands/site/site-chrome-set.js +50 -45
  342. package/dist/m365/spo/commands/site/site-classic-add.js +66 -82
  343. package/dist/m365/spo/commands/site/site-classic-list.js +27 -19
  344. package/dist/m365/spo/commands/site/site-classic-set.js +168 -186
  345. package/dist/m365/spo/commands/site/site-commsite-enable.js +25 -30
  346. package/dist/m365/spo/commands/site/site-ensure.js +38 -28
  347. package/dist/m365/spo/commands/site/site-get.js +17 -14
  348. package/dist/m365/spo/commands/site/site-groupify.js +35 -32
  349. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +24 -19
  350. package/dist/m365/spo/commands/site/site-list.js +17 -18
  351. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +27 -24
  352. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +31 -24
  353. package/dist/m365/spo/commands/site/site-remove.js +49 -58
  354. package/dist/m365/spo/commands/site/site-rename.js +65 -76
  355. package/dist/m365/spo/commands/site/site-set.js +26 -32
  356. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +37 -40
  357. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +27 -26
  358. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +23 -26
  359. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +27 -17
  360. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +34 -39
  361. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +26 -27
  362. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +25 -28
  363. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +37 -42
  364. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +27 -23
  365. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +22 -18
  366. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +49 -48
  367. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +22 -21
  368. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +17 -13
  369. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +33 -34
  370. package/dist/m365/spo/commands/sitescript/sitescript-add.js +22 -25
  371. package/dist/m365/spo/commands/sitescript/sitescript-get.js +22 -25
  372. package/dist/m365/spo/commands/sitescript/sitescript-list.js +30 -24
  373. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +34 -39
  374. package/dist/m365/spo/commands/sitescript/sitescript-set.js +35 -38
  375. package/dist/m365/spo/commands/spo-get.js +16 -6
  376. package/dist/m365/spo/commands/spo-search.js +19 -20
  377. package/dist/m365/spo/commands/spo-set.js +9 -7
  378. package/dist/m365/spo/commands/storageentity/storageentity-get.js +36 -26
  379. package/dist/m365/spo/commands/storageentity/storageentity-list.js +34 -36
  380. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +38 -48
  381. package/dist/m365/spo/commands/storageentity/storageentity-set.js +29 -34
  382. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +15 -16
  383. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +31 -21
  384. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +38 -34
  385. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +51 -59
  386. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +21 -20
  387. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +56 -52
  388. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +54 -65
  389. package/dist/m365/spo/commands/term/term-add.js +91 -98
  390. package/dist/m365/spo/commands/term/term-get.js +43 -49
  391. package/dist/m365/spo/commands/term/term-group-add.js +70 -79
  392. package/dist/m365/spo/commands/term/term-group-get.js +32 -37
  393. package/dist/m365/spo/commands/term/term-group-list.js +42 -38
  394. package/dist/m365/spo/commands/term/term-list.js +35 -40
  395. package/dist/m365/spo/commands/term/term-set-add.js +79 -86
  396. package/dist/m365/spo/commands/term/term-set-get.js +33 -38
  397. package/dist/m365/spo/commands/term/term-set-list.js +35 -40
  398. package/dist/m365/spo/commands/theme/theme-apply.js +52 -58
  399. package/dist/m365/spo/commands/theme/theme-get.js +37 -33
  400. package/dist/m365/spo/commands/theme/theme-list.js +35 -25
  401. package/dist/m365/spo/commands/theme/theme-remove.js +45 -37
  402. package/dist/m365/spo/commands/theme/theme-set.js +29 -32
  403. package/dist/m365/spo/commands/user/user-get.js +31 -28
  404. package/dist/m365/spo/commands/user/user-list.js +23 -20
  405. package/dist/m365/spo/commands/user/user-remove.js +39 -38
  406. package/dist/m365/spo/commands/userprofile/userprofile-get.js +22 -22
  407. package/dist/m365/spo/commands/userprofile/userprofile-set.js +41 -33
  408. package/dist/m365/spo/commands/web/web-add.js +71 -97
  409. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +29 -26
  410. package/dist/m365/spo/commands/web/web-get.js +21 -18
  411. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +20 -17
  412. package/dist/m365/spo/commands/web/web-list.js +24 -21
  413. package/dist/m365/spo/commands/web/web-reindex.js +40 -52
  414. package/dist/m365/spo/commands/web/web-remove.js +33 -32
  415. package/dist/m365/spo/commands/web/web-roleassignment-add.js +24 -25
  416. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +39 -41
  417. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +21 -16
  418. package/dist/m365/spo/commands/web/web-set.js +51 -46
  419. package/dist/m365/spo/commands.js +2 -0
  420. package/dist/m365/teams/commands/app/app-install.js +27 -24
  421. package/dist/m365/teams/commands/app/app-list.js +16 -13
  422. package/dist/m365/teams/commands/app/app-publish.js +23 -20
  423. package/dist/m365/teams/commands/app/app-remove.js +29 -28
  424. package/dist/m365/teams/commands/app/app-uninstall.js +28 -27
  425. package/dist/m365/teams/commands/app/app-update.js +21 -18
  426. package/dist/m365/teams/commands/cache/cache-remove.js +24 -23
  427. package/dist/m365/teams/commands/channel/channel-add.js +11 -8
  428. package/dist/m365/teams/commands/channel/channel-get.js +24 -26
  429. package/dist/m365/teams/commands/channel/channel-list.js +14 -13
  430. package/dist/m365/teams/commands/channel/channel-member-add.js +18 -23
  431. package/dist/m365/teams/commands/channel/channel-member-list.js +21 -23
  432. package/dist/m365/teams/commands/channel/channel-member-remove.js +26 -25
  433. package/dist/m365/teams/commands/channel/channel-member-set.js +25 -30
  434. package/dist/m365/teams/commands/channel/channel-remove.js +54 -57
  435. package/dist/m365/teams/commands/channel/channel-set.js +27 -24
  436. package/dist/m365/teams/commands/chat/chat-get.js +11 -8
  437. package/dist/m365/teams/commands/chat/chat-list.js +12 -9
  438. package/dist/m365/teams/commands/chat/chat-member-list.js +11 -8
  439. package/dist/m365/teams/commands/chat/chat-message-list.js +27 -24
  440. package/dist/m365/teams/commands/chat/chat-message-send.js +10 -7
  441. package/dist/m365/teams/commands/funsettings/funsettings-list.js +17 -14
  442. package/dist/m365/teams/commands/funsettings/funsettings-set.js +26 -21
  443. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +17 -14
  444. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +23 -18
  445. package/dist/m365/teams/commands/membersettings/membersettings-list.js +17 -14
  446. package/dist/m365/teams/commands/membersettings/membersettings-set.js +23 -18
  447. package/dist/m365/teams/commands/message/message-get.js +17 -14
  448. package/dist/m365/teams/commands/message/message-list.js +16 -13
  449. package/dist/m365/teams/commands/message/message-reply-list.js +15 -12
  450. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +17 -14
  451. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +23 -18
  452. package/dist/m365/teams/commands/report/report-directroutingcalls.js +18 -15
  453. package/dist/m365/teams/commands/report/report-pstncalls.js +18 -15
  454. package/dist/m365/teams/commands/tab/tab-add.js +20 -17
  455. package/dist/m365/teams/commands/tab/tab-get.js +21 -26
  456. package/dist/m365/teams/commands/tab/tab-list.js +14 -11
  457. package/dist/m365/teams/commands/tab/tab-remove.js +29 -26
  458. package/dist/m365/teams/commands/team/team-add.js +53 -55
  459. package/dist/m365/teams/commands/team/team-archive.js +26 -23
  460. package/dist/m365/teams/commands/team/team-clone.js +40 -35
  461. package/dist/m365/teams/commands/team/team-get.js +18 -17
  462. package/dist/m365/teams/commands/team/team-list.js +28 -18
  463. package/dist/m365/teams/commands/team/team-remove.js +34 -35
  464. package/dist/m365/teams/commands/team/team-set.js +26 -21
  465. package/dist/m365/teams/commands/team/team-unarchive.js +23 -20
  466. package/dist/m365/teams/commands/user/user-app-add.js +20 -15
  467. package/dist/m365/teams/commands/user/user-app-list.js +27 -28
  468. package/dist/m365/teams/commands/user/user-app-remove.js +30 -29
  469. package/dist/m365/teams/commands/user/user-list.js +16 -18
  470. package/dist/m365/tenant/commands/id/id-get.js +36 -25
  471. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +37 -23
  472. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +37 -23
  473. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +37 -23
  474. package/dist/m365/tenant/commands/security/security-alerts-list.js +19 -7
  475. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +19 -7
  476. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +19 -7
  477. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +26 -14
  478. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +23 -11
  479. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +20 -17
  480. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +23 -11
  481. package/dist/m365/todo/commands/list/list-add.js +31 -19
  482. package/dist/m365/todo/commands/list/list-list.js +19 -7
  483. package/dist/m365/todo/commands/list/list-remove.js +56 -48
  484. package/dist/m365/todo/commands/list/list-set.js +34 -22
  485. package/dist/m365/todo/commands/task/task-add.js +32 -22
  486. package/dist/m365/todo/commands/task/task-list.js +32 -22
  487. package/dist/m365/todo/commands/task/task-remove.js +56 -48
  488. package/dist/m365/todo/commands/task/task-set.js +22 -21
  489. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +26 -14
  490. package/dist/m365/viva/commands/connections/connections-app-create.js +102 -104
  491. package/dist/m365/yammer/commands/group/group-list.js +11 -8
  492. package/dist/m365/yammer/commands/group/group-user-add.js +21 -16
  493. package/dist/m365/yammer/commands/group/group-user-remove.js +38 -37
  494. package/dist/m365/yammer/commands/message/message-add.js +27 -24
  495. package/dist/m365/yammer/commands/message/message-get.js +18 -15
  496. package/dist/m365/yammer/commands/message/message-like-set.js +44 -45
  497. package/dist/m365/yammer/commands/message/message-list.js +24 -21
  498. package/dist/m365/yammer/commands/message/message-remove.js +30 -29
  499. package/dist/m365/yammer/commands/network/network-list.js +29 -17
  500. package/dist/m365/yammer/commands/user/user-get.js +25 -22
  501. package/dist/m365/yammer/commands/user/user-list.js +11 -8
  502. package/dist/m365/yammer/commands/yammer-search.js +76 -73
  503. package/dist/utils/fsUtil.js +2 -4
  504. package/dist/utils/md.js +1 -1
  505. package/docs/docs/cmd/outlook/mail/mail-send.md +68 -10
  506. package/docs/docs/cmd/pp/environment/environment-list.md +1 -1
  507. package/docs/docs/cmd/spo/contenttype/contenttype-set.md +45 -0
  508. package/docs/docs/cmd/spo/list/list-roleassignment-add.md +2 -2
  509. package/docs/docs/cmd/spo/list/list-roleassignment-remove.md +2 -2
  510. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.md +2 -2
  511. package/docs/docs/cmd/spo/roledefinition/roledefinition-add.md +43 -0
  512. package/docs/docs/cmd/spo/site/site-apppermission-add.md +1 -1
  513. package/docs/docs/cmd/spo/site/site-apppermission-set.md +1 -1
  514. package/docs/docs/cmd/spo/web/web-roleassignment-add.md +2 -2
  515. package/package.json +1 -1
@@ -42,73 +42,66 @@ class SpoFileAddCommand extends SpoCommand_1.default {
42
42
  allowUnknownOptions() {
43
43
  return true;
44
44
  }
45
- commandAction(logger, args, cb) {
46
- const folderPath = utils_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.folder);
47
- const fullPath = path.resolve(args.options.path);
48
- const fileName = utils_1.fsUtil.getSafeFileName(path.basename(fullPath));
49
- let isCheckedOut = false;
50
- let listSettings;
51
- if (this.debug) {
52
- logger.logToStderr(`folder path: ${folderPath}...`);
53
- }
54
- if (this.debug) {
55
- logger.logToStderr('Check if the specified folder exists.');
56
- logger.logToStderr('');
57
- }
58
- if (this.debug) {
59
- logger.logToStderr(`file name: ${fileName}...`);
60
- }
61
- const requestOptions = {
62
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')`,
63
- headers: {
64
- 'accept': 'application/json;odata=nometadata'
65
- }
66
- };
67
- request_1.default.get(requestOptions).catch(() => {
68
- // folder does not exist so will attempt to create the folder tree
69
- return utils_1.spo.ensureFolder(args.options.webUrl, folderPath, logger, this.debug);
70
- })
71
- .then(() => {
72
- if (args.options.checkOut) {
73
- return this.fileCheckOut(fileName, args.options.webUrl, folderPath)
74
- .then(() => {
75
- // flag the file is checkedOut by the command
76
- // so in case of command failure we can try check it in
77
- isCheckedOut = true;
78
- return Promise.resolve();
79
- })
80
- .catch((err) => {
81
- return Promise.reject(err);
82
- });
45
+ commandAction(logger, args) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const folderPath = utils_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.folder);
48
+ const fullPath = path.resolve(args.options.path);
49
+ const fileName = utils_1.fsUtil.getSafeFileName(path.basename(fullPath));
50
+ let isCheckedOut = false;
51
+ let listSettings;
52
+ if (this.debug) {
53
+ logger.logToStderr(`folder path: ${folderPath}...`);
83
54
  }
84
- return Promise.resolve();
85
- })
86
- .then(() => {
87
- if (this.verbose) {
88
- logger.logToStderr(`Upload file to site ${args.options.webUrl}...`);
55
+ if (this.debug) {
56
+ logger.logToStderr('Check if the specified folder exists.');
57
+ logger.logToStderr('');
89
58
  }
90
- const fileStats = fs.statSync(fullPath);
91
- const fileSize = fileStats.size;
92
59
  if (this.debug) {
93
- logger.logToStderr(`File size is ${fileSize} bytes`);
60
+ logger.logToStderr(`file name: ${fileName}...`);
94
61
  }
95
- // only up to 250 MB are allowed in a single request
96
- if (fileSize > this.fileChunkingThreshold) {
97
- const fileChunkCount = Math.ceil(fileSize / this.fileChunkSize);
62
+ try {
63
+ try {
64
+ const requestOptions = {
65
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')`,
66
+ headers: {
67
+ 'accept': 'application/json;odata=nometadata'
68
+ }
69
+ };
70
+ yield request_1.default.get(requestOptions);
71
+ }
72
+ catch (err) {
73
+ // folder does not exist so will attempt to create the folder tree
74
+ yield utils_1.spo.ensureFolder(args.options.webUrl, folderPath, logger, this.debug);
75
+ }
76
+ if (args.options.checkOut) {
77
+ yield this.fileCheckOut(fileName, args.options.webUrl, folderPath);
78
+ // flag the file is checkedOut by the command
79
+ // so in case of command failure we can try check it in
80
+ isCheckedOut = true;
81
+ }
98
82
  if (this.verbose) {
99
- logger.logToStderr(`Uploading ${fileSize} bytes in ${fileChunkCount} chunks...`);
83
+ logger.logToStderr(`Upload file to site ${args.options.webUrl}...`);
100
84
  }
101
- // initiate chunked upload session
102
- const uploadId = (0, uuid_1.v4)();
103
- const requestOptions = {
104
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files/GetByPathOrAddStub(DecodedUrl='${encodeURIComponent(fileName)}')/StartUpload(uploadId=guid'${uploadId}')`,
105
- headers: {
106
- 'accept': 'application/json;odata=nometadata'
85
+ const fileStats = fs.statSync(fullPath);
86
+ const fileSize = fileStats.size;
87
+ if (this.debug) {
88
+ logger.logToStderr(`File size is ${fileSize} bytes`);
89
+ }
90
+ // only up to 250 MB are allowed in a single request
91
+ if (fileSize > this.fileChunkingThreshold) {
92
+ const fileChunkCount = Math.ceil(fileSize / this.fileChunkSize);
93
+ if (this.verbose) {
94
+ logger.logToStderr(`Uploading ${fileSize} bytes in ${fileChunkCount} chunks...`);
107
95
  }
108
- };
109
- return request_1.default
110
- .post(requestOptions)
111
- .then(() => {
96
+ // initiate chunked upload session
97
+ const uploadId = (0, uuid_1.v4)();
98
+ const requestOptions = {
99
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files/GetByPathOrAddStub(DecodedUrl='${encodeURIComponent(fileName)}')/StartUpload(uploadId=guid'${uploadId}')`,
100
+ headers: {
101
+ 'accept': 'application/json;odata=nometadata'
102
+ }
103
+ };
104
+ yield request_1.default.post(requestOptions);
112
105
  // session started successfully, now upload our file chunks
113
106
  const fileUploadInfo = {
114
107
  Name: fileName,
@@ -120,16 +113,15 @@ class SpoFileAddCommand extends SpoCommand_1.default {
120
113
  Position: 0,
121
114
  Size: fileSize
122
115
  };
123
- return new Promise((resolve, reject) => {
124
- this.uploadFileChunks(fileUploadInfo, logger, resolve, reject);
125
- })
126
- .then(() => {
116
+ try {
117
+ yield new Promise((resolve, reject) => {
118
+ this.uploadFileChunks(fileUploadInfo, logger, resolve, reject);
119
+ });
127
120
  if (this.verbose) {
128
121
  logger.logToStderr(`Finished uploading ${fileUploadInfo.Position} bytes in ${fileChunkCount} chunks`);
129
122
  }
130
- return Promise.resolve();
131
- })
132
- .catch((err) => {
123
+ }
124
+ catch (err) {
133
125
  if (this.verbose) {
134
126
  logger.logToStderr('Cancelling upload session due to error...');
135
127
  }
@@ -139,124 +131,110 @@ class SpoFileAddCommand extends SpoCommand_1.default {
139
131
  'accept': 'application/json;odata=nometadata'
140
132
  }
141
133
  };
142
- return request_1.default
143
- .post(requestOptions)
144
- .then(() => {
145
- return Promise.reject(err); // original error
146
- })
147
- .catch((err_) => {
134
+ try {
135
+ yield request_1.default.post(requestOptions);
136
+ throw err;
137
+ }
138
+ catch (err) {
148
139
  if (this.debug) {
149
- logger.logToStderr(`Failed to cancel upload session: ${err_}`);
140
+ logger.logToStderr(`Failed to cancel upload session: ${err}`);
150
141
  }
151
- return Promise.reject(err); // original error
152
- });
153
- });
154
- });
155
- }
156
- // upload small file in a single request
157
- const fileBody = fs.readFileSync(fullPath);
158
- const bodyLength = fileBody.byteLength;
159
- const requestOptions = {
160
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files/Add(url='${encodeURIComponent(fileName)}', overwrite=true)`,
161
- data: fileBody,
162
- headers: {
163
- 'accept': 'application/json;odata=nometadata',
164
- 'content-length': bodyLength
165
- },
166
- maxBodyLength: this.fileChunkingThreshold
167
- };
168
- return request_1.default.post(requestOptions);
169
- })
170
- .then(() => {
171
- if (args.options.contentType || args.options.publish || args.options.approve) {
172
- return this.getFileParentList(fileName, args.options.webUrl, folderPath, logger)
173
- .then((listSettingsResp) => {
174
- listSettings = listSettingsResp;
142
+ throw err;
143
+ }
144
+ }
145
+ }
146
+ else {
147
+ // upload small file in a single request
148
+ const fileBody = fs.readFileSync(fullPath);
149
+ const bodyLength = fileBody.byteLength;
150
+ const requestOptions = {
151
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files/Add(url='${encodeURIComponent(fileName)}', overwrite=true)`,
152
+ data: fileBody,
153
+ headers: {
154
+ 'accept': 'application/json;odata=nometadata',
155
+ 'content-length': bodyLength
156
+ },
157
+ maxBodyLength: this.fileChunkingThreshold
158
+ };
159
+ yield request_1.default.post(requestOptions);
160
+ }
161
+ if (args.options.contentType || args.options.publish || args.options.approve) {
162
+ listSettings = yield this.getFileParentList(fileName, args.options.webUrl, folderPath, logger);
175
163
  if (args.options.contentType) {
176
- return this.listHasContentType(args.options.contentType, args.options.webUrl, listSettings, logger);
164
+ yield this.listHasContentType(args.options.contentType, args.options.webUrl, listSettings, logger);
177
165
  }
178
- return Promise.resolve();
179
- });
180
- }
181
- return Promise.resolve();
182
- })
183
- .then(() => {
184
- // check if there are unknown options
185
- // and map them as fields to update
186
- const fieldsToUpdate = this.mapUnknownOptionsAsFieldValue(args.options);
187
- if (args.options.contentType) {
188
- fieldsToUpdate.push({
189
- FieldName: 'ContentType',
190
- FieldValue: args.options.contentType
191
- });
192
- }
193
- if (fieldsToUpdate.length > 0) {
194
- // perform list item update and checkin
195
- return this.validateUpdateListItem(args.options.webUrl, folderPath, fileName, fieldsToUpdate, logger, args.options.checkInComment);
196
- }
197
- else if (isCheckedOut) {
198
- // perform checkin
199
- return this.fileCheckIn(args, fileName);
200
- }
201
- return Promise.resolve();
202
- })
203
- .then(() => {
204
- // approve and publish cannot be used together
205
- // when approve is used it will automatically publish the file
206
- // so then no need to publish afterwards
207
- if (args.options.approve) {
208
- if (this.verbose) {
209
- logger.logToStderr(`Approve file ${fileName}`);
210
166
  }
211
- // approve the existing file with given comment
212
- const requestOptions = {
213
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/approve(comment='${encodeURIComponent(args.options.approveComment || '')}')`,
214
- headers: {
215
- 'accept': 'application/json;odata=nometadata'
216
- },
217
- responseType: 'json'
218
- };
219
- return request_1.default.post(requestOptions);
220
- }
221
- else if (args.options.publish) {
222
- if (listSettings.EnableModeration && listSettings.EnableMinorVersions) {
223
- return Promise.reject('The file cannot be published without approval. Moderation for this list is enabled. Use the --approve option instead of --publish to approve and publish the file');
167
+ // check if there are unknown options
168
+ // and map them as fields to update
169
+ const fieldsToUpdate = this.mapUnknownOptionsAsFieldValue(args.options);
170
+ if (args.options.contentType) {
171
+ fieldsToUpdate.push({
172
+ FieldName: 'ContentType',
173
+ FieldValue: args.options.contentType
174
+ });
224
175
  }
225
- if (this.verbose) {
226
- logger.logToStderr(`Publish file ${fileName}`);
176
+ if (fieldsToUpdate.length > 0) {
177
+ // perform list item update and checkin
178
+ yield this.validateUpdateListItem(args.options.webUrl, folderPath, fileName, fieldsToUpdate, logger, args.options.checkInComment);
227
179
  }
228
- // publish the existing file with given comment
229
- const requestOptions = {
230
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/publish(comment='${encodeURIComponent(args.options.publishComment || '')}')`,
231
- headers: {
232
- 'accept': 'application/json;odata=nometadata'
233
- },
234
- responseType: 'json'
235
- };
236
- return request_1.default.post(requestOptions);
237
- }
238
- return Promise.resolve();
239
- })
240
- .then(_ => cb(), (err) => {
241
- if (isCheckedOut) {
242
- // in a case the command has done checkout
243
- // then have to rollback the checkout
244
- const requestOptions = {
245
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/UndoCheckOut()`
246
- };
247
- request_1.default.post(requestOptions)
248
- .then(_ => this.handleRejectedODataJsonPromise(err, logger, cb))
249
- .catch(checkoutError => {
180
+ else if (isCheckedOut) {
181
+ // perform checkin
182
+ yield this.fileCheckIn(args, fileName);
183
+ }
184
+ // approve and publish cannot be used together
185
+ // when approve is used it will automatically publish the file
186
+ // so then no need to publish afterwards
187
+ if (args.options.approve) {
188
+ if (this.verbose) {
189
+ logger.logToStderr(`Approve file ${fileName}`);
190
+ }
191
+ // approve the existing file with given comment
192
+ const requestOptions = {
193
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/approve(comment='${encodeURIComponent(args.options.approveComment || '')}')`,
194
+ headers: {
195
+ 'accept': 'application/json;odata=nometadata'
196
+ },
197
+ responseType: 'json'
198
+ };
199
+ yield request_1.default.post(requestOptions);
200
+ }
201
+ else if (args.options.publish) {
202
+ if (listSettings.EnableModeration && listSettings.EnableMinorVersions) {
203
+ throw 'The file cannot be published without approval. Moderation for this list is enabled. Use the --approve option instead of --publish to approve and publish the file';
204
+ }
250
205
  if (this.verbose) {
251
- logger.logToStderr('Could not rollback file checkout');
252
- logger.logToStderr(checkoutError);
253
- logger.logToStderr('');
206
+ logger.logToStderr(`Publish file ${fileName}`);
254
207
  }
255
- this.handleRejectedODataJsonPromise(err, logger, cb);
256
- });
208
+ // publish the existing file with given comment
209
+ const requestOptions = {
210
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/publish(comment='${encodeURIComponent(args.options.publishComment || '')}')`,
211
+ headers: {
212
+ 'accept': 'application/json;odata=nometadata'
213
+ },
214
+ responseType: 'json'
215
+ };
216
+ yield request_1.default.post(requestOptions);
217
+ }
257
218
  }
258
- else {
259
- this.handleRejectedODataJsonPromise(err, logger, cb);
219
+ catch (err) {
220
+ if (isCheckedOut) {
221
+ // in a case the command has done checkout
222
+ // then have to rollback the checkout
223
+ const requestOptions = {
224
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/UndoCheckOut()`
225
+ };
226
+ try {
227
+ yield request_1.default.post(requestOptions);
228
+ }
229
+ catch (err) {
230
+ if (this.verbose) {
231
+ logger.logToStderr('Could not rollback file checkout');
232
+ logger.logToStderr(err);
233
+ logger.logToStderr('');
234
+ }
235
+ }
236
+ }
237
+ this.handleRejectedODataJsonPromise(err);
260
238
  }
261
239
  });
262
240
  }
@@ -40,38 +40,43 @@ class SpoFileCheckinCommand extends SpoCommand_1.default {
40
40
  get description() {
41
41
  return 'Checks in specified file';
42
42
  }
43
- commandAction(logger, args, cb) {
44
- let type = CheckinType.Major;
45
- if (args.options.type) {
46
- switch (args.options.type.toLowerCase()) {
47
- case 'minor':
48
- type = CheckinType.Minor;
49
- break;
50
- case 'overwrite':
51
- type = CheckinType.Overwrite;
43
+ commandAction(logger, args) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ let type = CheckinType.Major;
46
+ if (args.options.type) {
47
+ switch (args.options.type.toLowerCase()) {
48
+ case 'minor':
49
+ type = CheckinType.Minor;
50
+ break;
51
+ case 'overwrite':
52
+ type = CheckinType.Overwrite;
53
+ }
52
54
  }
53
- }
54
- let comment = '';
55
- if (args.options.comment) {
56
- comment = encodeURIComponent(args.options.comment);
57
- }
58
- let requestUrl = '';
59
- if (args.options.id) {
60
- requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${encodeURIComponent(args.options.id)}')/checkin(comment='${comment}',checkintype=${type})`;
61
- }
62
- if (args.options.fileUrl) {
63
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(args.options.fileUrl)}')/checkin(comment='${comment}',checkintype=${type})`;
64
- }
65
- const requestOptions = {
66
- url: requestUrl,
67
- headers: {
68
- 'accept': 'application/json;odata=nometadata'
69
- },
70
- responseType: 'json'
71
- };
72
- request_1.default
73
- .post(requestOptions)
74
- .then(_ => cb(), (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
55
+ let comment = '';
56
+ if (args.options.comment) {
57
+ comment = encodeURIComponent(args.options.comment);
58
+ }
59
+ let requestUrl = '';
60
+ if (args.options.id) {
61
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${encodeURIComponent(args.options.id)}')/checkin(comment='${comment}',checkintype=${type})`;
62
+ }
63
+ if (args.options.fileUrl) {
64
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(args.options.fileUrl)}')/checkin(comment='${comment}',checkintype=${type})`;
65
+ }
66
+ const requestOptions = {
67
+ url: requestUrl,
68
+ headers: {
69
+ 'accept': 'application/json;odata=nometadata'
70
+ },
71
+ responseType: 'json'
72
+ };
73
+ try {
74
+ yield request_1.default.post(requestOptions);
75
+ }
76
+ catch (err) {
77
+ this.handleRejectedODataJsonPromise(err);
78
+ }
79
+ });
75
80
  }
76
81
  }
77
82
  _SpoFileCheckinCommand_instances = new WeakSet(), _SpoFileCheckinCommand_initTelemetry = function _SpoFileCheckinCommand_initTelemetry() {
@@ -34,24 +34,29 @@ class SpoFileCheckoutCommand extends SpoCommand_1.default {
34
34
  get description() {
35
35
  return 'Checks out specified file';
36
36
  }
37
- commandAction(logger, args, cb) {
38
- let requestUrl = '';
39
- if (args.options.id) {
40
- requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${encodeURIComponent(args.options.id)}')/checkout`;
41
- }
42
- if (args.options.fileUrl) {
43
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(args.options.fileUrl)}')/checkout`;
44
- }
45
- const requestOptions = {
46
- url: requestUrl,
47
- headers: {
48
- 'accept': 'application/json;odata=nometadata'
49
- },
50
- responseType: 'json'
51
- };
52
- request_1.default
53
- .post(requestOptions)
54
- .then(_ => cb(), (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
37
+ commandAction(logger, args) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ let requestUrl = '';
40
+ if (args.options.id) {
41
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${encodeURIComponent(args.options.id)}')/checkout`;
42
+ }
43
+ if (args.options.fileUrl) {
44
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(args.options.fileUrl)}')/checkout`;
45
+ }
46
+ const requestOptions = {
47
+ url: requestUrl,
48
+ headers: {
49
+ 'accept': 'application/json;odata=nometadata'
50
+ },
51
+ responseType: 'json'
52
+ };
53
+ try {
54
+ yield request_1.default.post(requestOptions);
55
+ }
56
+ catch (err) {
57
+ this.handleRejectedODataJsonPromise(err);
58
+ }
59
+ });
55
60
  }
56
61
  }
57
62
  _SpoFileCheckoutCommand_instances = new WeakSet(), _SpoFileCheckoutCommand_initTelemetry = function _SpoFileCheckoutCommand_initTelemetry() {
@@ -37,70 +37,68 @@ class SpoFileCopyCommand extends SpoCommand_1.default {
37
37
  getExcludedOptionsWithUrls() {
38
38
  return ['targetUrl'];
39
39
  }
40
- commandAction(logger, args, cb) {
41
- const webUrl = args.options.webUrl;
42
- const parsedUrl = url.parse(webUrl);
43
- const tenantUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}`;
44
- // Check if the source file exists.
45
- // Called on purpose, we explicitly check if user specified file
46
- // in the sourceUrl option.
47
- // The CreateCopyJobs endpoint accepts file, folder or batch from both.
48
- // A user might enter folder instead of file as source url by mistake
49
- // then there are edge cases when deleteIfAlreadyExists flag is set
50
- // the user can receive misleading error message.
51
- this
52
- .fileExists(tenantUrl, webUrl, args.options.sourceUrl)
53
- .then(() => {
54
- if (args.options.deleteIfAlreadyExists) {
55
- // try delete target file, if deleteIfAlreadyExists flag is set
56
- const filename = args.options.sourceUrl.replace(/^.*[\\\/]/, '');
57
- return this.recycleFile(tenantUrl, args.options.targetUrl, filename, logger);
40
+ commandAction(logger, args) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ const webUrl = args.options.webUrl;
43
+ const parsedUrl = url.parse(webUrl);
44
+ const tenantUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}`;
45
+ try {
46
+ // Check if the source file exists.
47
+ // Called on purpose, we explicitly check if user specified file
48
+ // in the sourceUrl option.
49
+ // The CreateCopyJobs endpoint accepts file, folder or batch from both.
50
+ // A user might enter folder instead of file as source url by mistake
51
+ // then there are edge cases when deleteIfAlreadyExists flag is set
52
+ // the user can receive misleading error message.
53
+ yield this.fileExists(tenantUrl, webUrl, args.options.sourceUrl);
54
+ if (args.options.deleteIfAlreadyExists) {
55
+ // try delete target file, if deleteIfAlreadyExists flag is set
56
+ const filename = args.options.sourceUrl.replace(/^.*[\\\/]/, '');
57
+ yield this.recycleFile(tenantUrl, args.options.targetUrl, filename, logger);
58
+ }
59
+ // all preconditions met, now create copy job
60
+ const sourceAbsoluteUrl = utils_1.urlUtil.urlCombine(webUrl, args.options.sourceUrl);
61
+ const allowSchemaMismatch = args.options.allowSchemaMismatch || false;
62
+ const requestUrl = utils_1.urlUtil.urlCombine(webUrl, '/_api/site/CreateCopyJobs');
63
+ const requestOptions = {
64
+ url: requestUrl,
65
+ headers: {
66
+ 'accept': 'application/json;odata=nometadata'
67
+ },
68
+ data: {
69
+ exportObjectUris: [sourceAbsoluteUrl],
70
+ destinationUri: utils_1.urlUtil.urlCombine(tenantUrl, args.options.targetUrl),
71
+ options: {
72
+ "AllowSchemaMismatch": allowSchemaMismatch,
73
+ "IgnoreVersionHistory": true
74
+ }
75
+ },
76
+ responseType: 'json'
77
+ };
78
+ const jobInfo = yield request_1.default.post(requestOptions);
79
+ yield new Promise((resolve, reject) => {
80
+ this.dots = '';
81
+ const copyJobInfo = jobInfo.value[0];
82
+ const progressPollInterval = 30 * 60; //used previously implemented interval. The API does not provide guidance on what value should be used.
83
+ setTimeout(() => {
84
+ utils_1.spo.waitUntilCopyJobFinished({
85
+ copyJobInfo,
86
+ siteUrl: webUrl,
87
+ pollingInterval: progressPollInterval,
88
+ resolve,
89
+ reject,
90
+ logger,
91
+ dots: this.dots,
92
+ debug: this.debug,
93
+ verbose: this.verbose
94
+ });
95
+ }, progressPollInterval);
96
+ });
58
97
  }
59
- return Promise.resolve();
60
- })
61
- .then(() => {
62
- // all preconditions met, now create copy job
63
- const sourceAbsoluteUrl = utils_1.urlUtil.urlCombine(webUrl, args.options.sourceUrl);
64
- const allowSchemaMismatch = args.options.allowSchemaMismatch || false;
65
- const requestUrl = utils_1.urlUtil.urlCombine(webUrl, '/_api/site/CreateCopyJobs');
66
- const requestOptions = {
67
- url: requestUrl,
68
- headers: {
69
- 'accept': 'application/json;odata=nometadata'
70
- },
71
- data: {
72
- exportObjectUris: [sourceAbsoluteUrl],
73
- destinationUri: utils_1.urlUtil.urlCombine(tenantUrl, args.options.targetUrl),
74
- options: {
75
- "AllowSchemaMismatch": allowSchemaMismatch,
76
- "IgnoreVersionHistory": true
77
- }
78
- },
79
- responseType: 'json'
80
- };
81
- return request_1.default.post(requestOptions);
82
- })
83
- .then((jobInfo) => {
84
- return new Promise((resolve, reject) => {
85
- this.dots = '';
86
- const copyJobInfo = jobInfo.value[0];
87
- const progressPollInterval = 30 * 60; //used previously implemented interval. The API does not provide guidance on what value should be used.
88
- setTimeout(() => {
89
- utils_1.spo.waitUntilCopyJobFinished({
90
- copyJobInfo,
91
- siteUrl: webUrl,
92
- pollingInterval: progressPollInterval,
93
- resolve,
94
- reject,
95
- logger,
96
- dots: this.dots,
97
- debug: this.debug,
98
- verbose: this.verbose
99
- });
100
- }, progressPollInterval);
101
- });
102
- })
103
- .then(_ => cb(), (err) => this.handleRejectedODataJsonPromise(err, logger, cb));
98
+ catch (err) {
99
+ this.handleRejectedODataJsonPromise(err);
100
+ }
101
+ });
104
102
  }
105
103
  /**
106
104
  * Checks if a file exists on the server relative url