@pnp/cli-microsoft365 5.8.0-beta.f956c5d → 5.9.0-beta.005c47a

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 (571) hide show
  1. package/dist/Auth.js +4 -4
  2. package/dist/Command.js +56 -43
  3. package/dist/api.js +3 -3
  4. package/dist/appInsights.js +2 -0
  5. package/dist/cli/Cli.js +36 -28
  6. package/dist/index.js +2 -2
  7. package/dist/m365/aad/commands/app/app-add.js +33 -32
  8. package/dist/m365/aad/commands/app/app-get.js +15 -12
  9. package/dist/m365/aad/commands/app/app-remove.js +38 -39
  10. package/dist/m365/aad/commands/app/app-role-add.js +29 -26
  11. package/dist/m365/aad/commands/app/app-role-list.js +21 -9
  12. package/dist/m365/aad/commands/app/app-role-remove.js +26 -25
  13. package/dist/m365/aad/commands/app/app-set.js +12 -7
  14. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +92 -96
  15. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +41 -41
  16. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +93 -95
  17. package/dist/m365/aad/commands/group/group-list.js +36 -24
  18. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +35 -34
  19. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +19 -16
  20. package/dist/m365/aad/commands/groupsetting/groupsetting-list.js +20 -8
  21. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +33 -32
  22. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +35 -32
  23. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +17 -15
  24. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-list.js +20 -8
  25. package/dist/m365/aad/commands/o365group/o365group-add.js +87 -98
  26. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +13 -9
  27. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +14 -12
  28. package/dist/m365/aad/commands/o365group/o365group-get.js +22 -27
  29. package/dist/m365/aad/commands/o365group/o365group-list.js +39 -44
  30. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +34 -22
  31. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +25 -13
  32. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +36 -38
  33. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +26 -22
  34. package/dist/m365/aad/commands/o365group/o365group-remove.js +41 -43
  35. package/dist/m365/aad/commands/o365group/o365group-renew.js +19 -14
  36. package/dist/m365/aad/commands/o365group/o365group-set.js +98 -116
  37. package/dist/m365/aad/commands/o365group/o365group-teamify.js +33 -30
  38. package/dist/m365/aad/commands/o365group/o365group-user-add.js +30 -27
  39. package/dist/m365/aad/commands/o365group/o365group-user-list.js +20 -21
  40. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +61 -64
  41. package/dist/m365/aad/commands/o365group/o365group-user-set.js +65 -65
  42. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +28 -23
  43. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +23 -20
  44. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +42 -32
  45. package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +30 -16
  46. package/dist/m365/aad/commands/policy/policy-list.js +22 -23
  47. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +61 -53
  48. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +84 -72
  49. package/dist/m365/aad/commands/siteclassification/siteclassification-get.js +66 -57
  50. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +96 -93
  51. package/dist/m365/aad/commands/sp/sp-add.js +25 -24
  52. package/dist/m365/aad/commands/sp/sp-get.js +25 -24
  53. package/dist/m365/aad/commands/user/user-get.js +39 -39
  54. package/dist/m365/aad/commands/user/user-hibp.js +23 -24
  55. package/dist/m365/aad/commands/user/user-list.js +32 -22
  56. package/dist/m365/aad/commands/user/user-password-validate.js +29 -17
  57. package/dist/m365/aad/commands/user/user-set.js +20 -15
  58. package/dist/m365/aad/commands/user/user-signin-list.js +28 -24
  59. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +39 -37
  60. package/dist/m365/app/commands/app-get.js +28 -16
  61. package/dist/m365/app/commands/app-open.js +20 -5
  62. package/dist/m365/app/commands/permission/permission-list.js +19 -17
  63. package/dist/m365/base/AnonymousCommand.js +14 -3
  64. package/dist/m365/base/AppCommand.js +54 -47
  65. package/dist/m365/base/DateAndPeriodBasedReport.js +7 -5
  66. package/dist/m365/base/PeriodBasedReport.js +23 -16
  67. package/dist/m365/base/SpoCommand.js +13 -9
  68. package/dist/m365/base/YammerCommand.js +4 -4
  69. package/dist/m365/booking/commands/business/business-get.js +27 -17
  70. package/dist/m365/booking/commands/business/business-list.js +21 -12
  71. package/dist/m365/cli/commands/cli-consent.js +15 -12
  72. package/dist/m365/cli/commands/cli-doctor.js +37 -27
  73. package/dist/m365/cli/commands/cli-issue.js +15 -15
  74. package/dist/m365/cli/commands/cli-reconsent.js +31 -19
  75. package/dist/m365/cli/commands/completion/completion-clink-update.js +13 -3
  76. package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +47 -38
  77. package/dist/m365/cli/commands/completion/completion-pwsh-update.js +16 -6
  78. package/dist/m365/cli/commands/completion/completion-sh-setup.js +21 -11
  79. package/dist/m365/cli/commands/completion/completion-sh-update.js +16 -6
  80. package/dist/m365/cli/commands/config/config-get.js +5 -4
  81. package/dist/m365/cli/commands/config/config-reset.js +10 -9
  82. package/dist/m365/cli/commands/config/config-set.js +21 -20
  83. package/dist/m365/commands/login.js +66 -63
  84. package/dist/m365/commands/logout.js +34 -23
  85. package/dist/m365/commands/request.js +56 -59
  86. package/dist/m365/commands/status.js +50 -28
  87. package/dist/m365/commands/version.js +13 -3
  88. package/dist/m365/file/commands/convert/convert-pdf.js +58 -53
  89. package/dist/m365/file/commands/file-add.js +17 -12
  90. package/dist/m365/file/commands/file-list.js +31 -33
  91. package/dist/m365/flow/commands/environment/environment-get.js +34 -22
  92. package/dist/m365/flow/commands/environment/environment-list.js +33 -21
  93. package/dist/m365/flow/commands/flow-disable.js +28 -14
  94. package/dist/m365/flow/commands/flow-enable.js +28 -14
  95. package/dist/m365/flow/commands/flow-export.js +104 -104
  96. package/dist/m365/flow/commands/flow-get.js +33 -21
  97. package/dist/m365/flow/commands/flow-list.js +28 -16
  98. package/dist/m365/flow/commands/flow-remove.js +41 -45
  99. package/dist/m365/flow/commands/run/run-cancel.js +35 -34
  100. package/dist/m365/flow/commands/run/run-get.js +33 -21
  101. package/dist/m365/flow/commands/run/run-list.js +31 -19
  102. package/dist/m365/flow/commands/run/run-resubmit.js +39 -40
  103. package/dist/m365/graph/commands/changelog/changelog-list.js +26 -22
  104. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +32 -29
  105. package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +30 -17
  106. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +40 -36
  107. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +43 -32
  108. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +59 -56
  109. package/dist/m365/graph/commands/subscription/subscription-add.js +30 -27
  110. package/dist/m365/onedrive/commands/onedrive-list.js +25 -15
  111. package/dist/m365/onenote/commands/notebook/notebook-list.js +15 -14
  112. package/dist/m365/outlook/commands/mail/mail-send.js +64 -41
  113. package/dist/m365/outlook/commands/message/message-list.js +22 -12
  114. package/dist/m365/outlook/commands/message/message-move.js +33 -25
  115. package/dist/m365/outlook/commands/room/room-list.js +24 -12
  116. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +20 -8
  117. package/dist/m365/pa/commands/app/app-get.js +45 -46
  118. package/dist/m365/pa/commands/app/app-list.js +20 -17
  119. package/dist/m365/pa/commands/app/app-remove.js +41 -41
  120. package/dist/m365/pa/commands/connector/connector-export.js +102 -104
  121. package/dist/m365/pa/commands/connector/connector-list.js +29 -17
  122. package/dist/m365/pa/commands/environment/environment-get.js +34 -22
  123. package/dist/m365/pa/commands/environment/environment-list.js +33 -21
  124. package/dist/m365/pa/commands/pcf/pcf-init.js +39 -38
  125. package/dist/m365/pa/commands/solution/solution-init.js +50 -49
  126. package/dist/m365/pa/commands/solution/solution-reference-add.js +15 -14
  127. package/dist/m365/planner/commands/bucket/bucket-add.js +34 -32
  128. package/dist/m365/planner/commands/bucket/bucket-get.js +22 -18
  129. package/dist/m365/planner/commands/bucket/bucket-list.js +23 -18
  130. package/dist/m365/planner/commands/bucket/bucket-remove.js +43 -43
  131. package/dist/m365/planner/commands/bucket/bucket-set.js +35 -31
  132. package/dist/m365/planner/commands/plan/plan-add.js +35 -31
  133. package/dist/m365/planner/commands/plan/plan-get.js +34 -34
  134. package/dist/m365/planner/commands/plan/plan-list.js +19 -15
  135. package/dist/m365/planner/commands/plan/plan-remove.js +38 -40
  136. package/dist/m365/planner/commands/task/task-add.js +51 -54
  137. package/dist/m365/planner/commands/task/task-checklistitem-add.js +47 -37
  138. package/dist/m365/planner/commands/task/task-checklistitem-list.js +36 -22
  139. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +52 -42
  140. package/dist/m365/planner/commands/task/task-get.js +28 -24
  141. package/dist/m365/planner/commands/task/task-list.js +52 -60
  142. package/dist/m365/planner/commands/task/task-reference-add.js +25 -24
  143. package/dist/m365/planner/commands/task/task-reference-list.js +31 -19
  144. package/dist/m365/planner/commands/task/task-reference-remove.js +41 -42
  145. package/dist/m365/planner/commands/task/task-remove.js +38 -37
  146. package/dist/m365/planner/commands/task/task-set.js +42 -45
  147. package/dist/m365/planner/commands/tenant/tenant-settings-list.js +26 -14
  148. package/dist/m365/planner/commands/tenant/tenant-settings-set.js +27 -24
  149. package/dist/m365/pp/commands/environment/environment-list.js +40 -28
  150. package/dist/m365/pp/commands/gateway/gateway-list.js +29 -17
  151. package/dist/m365/pp/commands/managementapp/managementapp-add.js +22 -21
  152. package/dist/m365/pp/commands/managementapp/managementapp-list.js +21 -9
  153. package/dist/m365/search/commands/externalconnection/externalconnection-add.js +29 -24
  154. package/dist/m365/search/commands/externalconnection/externalconnection-get.js +37 -28
  155. package/dist/m365/search/commands/externalconnection/externalconnection-list.js +20 -8
  156. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +40 -33
  157. package/dist/m365/spfx/commands/package/package-generate.js +105 -98
  158. package/dist/m365/spfx/commands/project/base-project-command.js +19 -18
  159. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001008_DEP_react.js +2 -2
  160. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001009_DEP_react_dom.js +2 -2
  161. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  162. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002015_DEVDEP_types_react.js +2 -2
  163. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  164. package/dist/m365/spfx/commands/project/project-doctor.js +102 -105
  165. package/dist/m365/spfx/commands/project/project-externalize.js +45 -38
  166. package/dist/m365/spfx/commands/project/project-rename.js +38 -30
  167. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001005_DEP_types_react.js +2 -2
  168. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001006_DEP_types_react_dom.js +2 -2
  169. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001008_DEP_react.js +2 -2
  170. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001009_DEP_react_dom.js +2 -2
  171. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001015_DEP_types_react_addons_shallow_compare.js +2 -2
  172. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001016_DEP_types_react_addons_update.js +2 -2
  173. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001017_DEP_types_react_addons_update.js +2 -2
  174. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001019_DEP_knockout.js +2 -2
  175. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001020_DEP_types_knockout.js +2 -2
  176. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  177. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002015_DEVDEP_types_react.js +2 -2
  178. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  179. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002025_DEVDEP_eslint_plugin_react_hooks.js +2 -2
  180. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +1 -1
  181. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015008_FILE_eslintrc_js.js +2 -2
  182. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN020001_RES_types_react.js +2 -2
  183. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022001_SCSS_remove_fabric_react.js +2 -2
  184. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022002_SCSS_add_fabric_react.js +2 -2
  185. package/dist/m365/spfx/commands/project/project-upgrade.js +185 -190
  186. package/dist/m365/spfx/commands/spfx-doctor.js +59 -49
  187. package/dist/m365/spo/commands/app/app-add.js +34 -34
  188. package/dist/m365/spo/commands/app/app-deploy.js +41 -41
  189. package/dist/m365/spo/commands/app/app-get.js +43 -43
  190. package/dist/m365/spo/commands/app/app-install.js +21 -16
  191. package/dist/m365/spo/commands/app/app-instance-list.js +27 -23
  192. package/dist/m365/spo/commands/app/app-list.js +32 -34
  193. package/dist/m365/spo/commands/app/app-remove.js +38 -40
  194. package/dist/m365/spo/commands/app/app-retract.js +38 -40
  195. package/dist/m365/spo/commands/app/app-teamspackage-download.js +42 -43
  196. package/dist/m365/spo/commands/app/app-uninstall.js +35 -34
  197. package/dist/m365/spo/commands/app/app-upgrade.js +21 -16
  198. package/dist/m365/spo/commands/apppage/apppage-add.js +39 -40
  199. package/dist/m365/spo/commands/apppage/apppage-set.js +21 -16
  200. package/dist/m365/spo/commands/cdn/cdn-get.js +36 -42
  201. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +31 -38
  202. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +34 -40
  203. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +46 -59
  204. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +42 -49
  205. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +38 -46
  206. package/dist/m365/spo/commands/cdn/cdn-set.js +64 -68
  207. package/dist/m365/spo/commands/contenttype/contenttype-add.js +54 -57
  208. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +100 -116
  209. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +127 -151
  210. package/dist/m365/spo/commands/contenttype/contenttype-get.js +38 -36
  211. package/dist/m365/spo/commands/contenttype/contenttype-list.js +23 -20
  212. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +65 -69
  213. package/dist/m365/spo/commands/contenttype/contenttype-set.js +168 -0
  214. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +51 -48
  215. package/dist/m365/spo/commands/customaction/customaction-add.js +46 -43
  216. package/dist/m365/spo/commands/customaction/customaction-clear.js +30 -28
  217. package/dist/m365/spo/commands/customaction/customaction-get.js +43 -38
  218. package/dist/m365/spo/commands/customaction/customaction-list.js +30 -25
  219. package/dist/m365/spo/commands/customaction/customaction-remove.js +36 -35
  220. package/dist/m365/spo/commands/customaction/customaction-set.js +25 -20
  221. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +47 -42
  222. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +39 -35
  223. package/dist/m365/spo/commands/externaluser/externaluser-list.js +55 -58
  224. package/dist/m365/spo/commands/feature/feature-disable.js +26 -21
  225. package/dist/m365/spo/commands/feature/feature-enable.js +28 -23
  226. package/dist/m365/spo/commands/feature/feature-list.js +25 -22
  227. package/dist/m365/spo/commands/field/field-add.js +29 -26
  228. package/dist/m365/spo/commands/field/field-get.js +45 -40
  229. package/dist/m365/spo/commands/field/field-list.js +33 -28
  230. package/dist/m365/spo/commands/field/field-remove.js +90 -91
  231. package/dist/m365/spo/commands/field/field-set.js +71 -75
  232. package/dist/m365/spo/commands/file/file-add.js +158 -177
  233. package/dist/m365/spo/commands/file/file-checkin.js +39 -34
  234. package/dist/m365/spo/commands/file/file-checkout.js +26 -21
  235. package/dist/m365/spo/commands/file/file-copy.js +67 -67
  236. package/dist/m365/spo/commands/file/file-get.js +67 -69
  237. package/dist/m365/spo/commands/file/file-list.js +17 -11
  238. package/dist/m365/spo/commands/file/file-move.js +66 -66
  239. package/dist/m365/spo/commands/file/file-remove.js +58 -60
  240. package/dist/m365/spo/commands/file/file-rename.js +35 -36
  241. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +125 -0
  242. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +49 -46
  243. package/dist/m365/spo/commands/folder/folder-add.js +29 -25
  244. package/dist/m365/spo/commands/folder/folder-copy.js +49 -44
  245. package/dist/m365/spo/commands/folder/folder-get.js +59 -28
  246. package/dist/m365/spo/commands/folder/folder-list.js +25 -21
  247. package/dist/m365/spo/commands/folder/folder-move.js +50 -45
  248. package/dist/m365/spo/commands/folder/folder-remove.js +44 -42
  249. package/dist/m365/spo/commands/folder/folder-rename.js +34 -38
  250. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +89 -0
  251. package/dist/m365/spo/commands/group/group-add.js +28 -25
  252. package/dist/m365/spo/commands/group/group-get.js +42 -39
  253. package/dist/m365/spo/commands/group/group-list.js +23 -20
  254. package/dist/m365/spo/commands/group/group-remove.js +49 -52
  255. package/dist/m365/spo/commands/group/group-set.js +31 -26
  256. package/dist/m365/spo/commands/group/group-user-add.js +34 -38
  257. package/dist/m365/spo/commands/group/group-user-list.js +25 -22
  258. package/dist/m365/spo/commands/group/group-user-remove.js +42 -43
  259. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +30 -20
  260. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +23 -20
  261. package/dist/m365/spo/commands/homesite/homesite-get.js +29 -19
  262. package/dist/m365/spo/commands/homesite/homesite-remove.js +50 -49
  263. package/dist/m365/spo/commands/homesite/homesite-set.js +28 -31
  264. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +22 -18
  265. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +27 -24
  266. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +38 -38
  267. package/dist/m365/spo/commands/hubsite/hubsite-get.js +24 -37
  268. package/dist/m365/spo/commands/hubsite/hubsite-list.js +65 -63
  269. package/dist/m365/spo/commands/hubsite/hubsite-register.js +22 -20
  270. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +33 -36
  271. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +48 -55
  272. package/dist/m365/spo/commands/hubsite/hubsite-set.js +38 -41
  273. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +21 -16
  274. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +35 -35
  275. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +35 -32
  276. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +52 -53
  277. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +29 -33
  278. package/dist/m365/spo/commands/list/list-add.js +28 -25
  279. package/dist/m365/spo/commands/list/list-contenttype-add.js +34 -30
  280. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +60 -60
  281. package/dist/m365/spo/commands/list/list-contenttype-list.js +33 -29
  282. package/dist/m365/spo/commands/list/list-contenttype-remove.js +46 -47
  283. package/dist/m365/spo/commands/list/list-get.js +37 -33
  284. package/dist/m365/spo/commands/list/list-label-get.js +51 -51
  285. package/dist/m365/spo/commands/list/list-label-set.js +51 -47
  286. package/dist/m365/spo/commands/list/list-list.js +27 -24
  287. package/dist/m365/spo/commands/list/list-remove.js +46 -47
  288. package/dist/m365/spo/commands/list/list-roleassignment-add.js +44 -43
  289. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +58 -58
  290. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +36 -30
  291. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +32 -26
  292. package/dist/m365/spo/commands/list/list-set.js +31 -28
  293. package/dist/m365/spo/commands/list/list-sitescript-get.js +54 -55
  294. package/dist/m365/spo/commands/list/list-view-add.js +37 -32
  295. package/dist/m365/spo/commands/list/list-view-field-add.js +53 -53
  296. package/dist/m365/spo/commands/list/list-view-field-remove.js +47 -49
  297. package/dist/m365/spo/commands/list/list-view-field-set.js +34 -30
  298. package/dist/m365/spo/commands/list/list-view-get.js +36 -31
  299. package/dist/m365/spo/commands/list/list-view-list.js +32 -28
  300. package/dist/m365/spo/commands/list/list-view-remove.js +46 -46
  301. package/dist/m365/spo/commands/list/list-view-set.js +31 -26
  302. package/dist/m365/spo/commands/list/list-webhook-add.js +43 -41
  303. package/dist/m365/spo/commands/list/list-webhook-get.js +34 -32
  304. package/dist/m365/spo/commands/list/list-webhook-list.js +52 -48
  305. package/dist/m365/spo/commands/list/list-webhook-remove.js +47 -49
  306. package/dist/m365/spo/commands/list/list-webhook-set.js +40 -38
  307. package/dist/m365/spo/commands/listitem/listitem-add.js +106 -112
  308. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +32 -28
  309. package/dist/m365/spo/commands/listitem/listitem-get.js +32 -28
  310. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +68 -69
  311. package/dist/m365/spo/commands/listitem/listitem-list.js +69 -74
  312. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +55 -55
  313. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +54 -54
  314. package/dist/m365/spo/commands/listitem/listitem-remove.js +51 -51
  315. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +59 -59
  316. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +36 -30
  317. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +29 -23
  318. package/dist/m365/spo/commands/listitem/listitem-set.js +146 -163
  319. package/dist/m365/spo/commands/mail/mail-send.js +50 -45
  320. package/dist/m365/spo/commands/navigation/navigation-node-add.js +31 -28
  321. package/dist/m365/spo/commands/navigation/navigation-node-list.js +28 -25
  322. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +38 -38
  323. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +30 -33
  324. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +49 -45
  325. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +50 -50
  326. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +35 -31
  327. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +41 -50
  328. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +26 -29
  329. package/dist/m365/spo/commands/page/Page.js +2 -2
  330. package/dist/m365/spo/commands/page/page-add.js +197 -218
  331. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +186 -189
  332. package/dist/m365/spo/commands/page/page-column-get.js +25 -22
  333. package/dist/m365/spo/commands/page/page-column-list.js +20 -17
  334. package/dist/m365/spo/commands/page/page-control-get.js +39 -36
  335. package/dist/m365/spo/commands/page/page-control-list.js +35 -32
  336. package/dist/m365/spo/commands/page/page-control-set.js +100 -100
  337. package/dist/m365/spo/commands/page/page-copy.js +53 -53
  338. package/dist/m365/spo/commands/page/page-get.js +52 -53
  339. package/dist/m365/spo/commands/page/page-header-set.js +230 -234
  340. package/dist/m365/spo/commands/page/page-list.js +42 -41
  341. package/dist/m365/spo/commands/page/page-remove.js +48 -47
  342. package/dist/m365/spo/commands/page/page-section-add.js +68 -70
  343. package/dist/m365/spo/commands/page/page-section-get.js +16 -13
  344. package/dist/m365/spo/commands/page/page-section-list.js +25 -22
  345. package/dist/m365/spo/commands/page/page-set.js +219 -238
  346. package/dist/m365/spo/commands/page/page-template-list.js +26 -27
  347. package/dist/m365/spo/commands/page/page-text-add.js +45 -43
  348. package/dist/m365/spo/commands/propertybag/propertybag-base.js +4 -3
  349. package/dist/m365/spo/commands/propertybag/propertybag-get.js +27 -24
  350. package/dist/m365/spo/commands/propertybag/propertybag-list.js +22 -19
  351. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +36 -40
  352. package/dist/m365/spo/commands/propertybag/propertybag-set.js +25 -29
  353. package/dist/m365/spo/commands/roledefinition/roledefinition-add.js +117 -0
  354. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +27 -24
  355. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +22 -19
  356. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +38 -37
  357. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +40 -35
  358. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +43 -39
  359. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +35 -30
  360. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +33 -36
  361. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +28 -31
  362. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +45 -41
  363. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +47 -56
  364. package/dist/m365/spo/commands/site/site-add.js +189 -199
  365. package/dist/m365/spo/commands/site/site-appcatalog-add.js +33 -36
  366. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +33 -36
  367. package/dist/m365/spo/commands/site/site-apppermission-add.js +69 -37
  368. package/dist/m365/spo/commands/site/site-apppermission-get.js +21 -18
  369. package/dist/m365/spo/commands/site/site-apppermission-list.js +17 -19
  370. package/dist/m365/spo/commands/site/site-apppermission-remove.js +33 -39
  371. package/dist/m365/spo/commands/site/site-apppermission-set.js +33 -32
  372. package/dist/m365/spo/commands/site/site-chrome-set.js +52 -47
  373. package/dist/m365/spo/commands/site/site-classic-add.js +76 -90
  374. package/dist/m365/spo/commands/site/site-classic-list.js +30 -21
  375. package/dist/m365/spo/commands/site/site-classic-set.js +174 -190
  376. package/dist/m365/spo/commands/site/site-commsite-enable.js +30 -33
  377. package/dist/m365/spo/commands/site/site-ensure.js +46 -36
  378. package/dist/m365/spo/commands/site/site-get.js +19 -16
  379. package/dist/m365/spo/commands/site/site-groupify.js +37 -34
  380. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +27 -22
  381. package/dist/m365/spo/commands/site/site-list.js +20 -20
  382. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +29 -26
  383. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +36 -28
  384. package/dist/m365/spo/commands/site/site-remove.js +66 -73
  385. package/dist/m365/spo/commands/site/site-rename.js +66 -77
  386. package/dist/m365/spo/commands/site/site-set.js +47 -50
  387. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +40 -42
  388. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +31 -29
  389. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +26 -28
  390. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +28 -18
  391. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +38 -42
  392. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +29 -29
  393. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +28 -30
  394. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +41 -45
  395. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +30 -26
  396. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +25 -21
  397. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +53 -51
  398. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +25 -23
  399. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +19 -15
  400. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +37 -37
  401. package/dist/m365/spo/commands/sitescript/sitescript-add.js +23 -26
  402. package/dist/m365/spo/commands/sitescript/sitescript-get.js +25 -27
  403. package/dist/m365/spo/commands/sitescript/sitescript-list.js +31 -25
  404. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +38 -42
  405. package/dist/m365/spo/commands/sitescript/sitescript-set.js +38 -40
  406. package/dist/m365/spo/commands/spo-get.js +16 -6
  407. package/dist/m365/spo/commands/spo-search.js +23 -23
  408. package/dist/m365/spo/commands/spo-set.js +11 -9
  409. package/dist/m365/spo/commands/storageentity/storageentity-get.js +37 -27
  410. package/dist/m365/spo/commands/storageentity/storageentity-list.js +36 -38
  411. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +43 -51
  412. package/dist/m365/spo/commands/storageentity/storageentity-set.js +33 -36
  413. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +21 -22
  414. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +32 -22
  415. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +39 -35
  416. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +56 -62
  417. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +24 -22
  418. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +57 -53
  419. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +56 -66
  420. package/dist/m365/spo/commands/term/term-add.js +98 -103
  421. package/dist/m365/spo/commands/term/term-get.js +49 -53
  422. package/dist/m365/spo/commands/term/term-group-add.js +74 -81
  423. package/dist/m365/spo/commands/term/term-group-get.js +36 -39
  424. package/dist/m365/spo/commands/term/term-group-list.js +43 -39
  425. package/dist/m365/spo/commands/term/term-list.js +40 -43
  426. package/dist/m365/spo/commands/term/term-set-add.js +84 -89
  427. package/dist/m365/spo/commands/term/term-set-get.js +38 -41
  428. package/dist/m365/spo/commands/term/term-set-list.js +39 -42
  429. package/dist/m365/spo/commands/theme/theme-apply.js +56 -60
  430. package/dist/m365/spo/commands/theme/theme-get.js +39 -34
  431. package/dist/m365/spo/commands/theme/theme-list.js +36 -26
  432. package/dist/m365/spo/commands/theme/theme-remove.js +47 -39
  433. package/dist/m365/spo/commands/theme/theme-set.js +33 -34
  434. package/dist/m365/spo/commands/user/user-get.js +33 -30
  435. package/dist/m365/spo/commands/user/user-list.js +25 -22
  436. package/dist/m365/spo/commands/user/user-remove.js +42 -41
  437. package/dist/m365/spo/commands/userprofile/userprofile-get.js +25 -24
  438. package/dist/m365/spo/commands/userprofile/userprofile-set.js +42 -34
  439. package/dist/m365/spo/commands/web/web-add.js +74 -99
  440. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +31 -28
  441. package/dist/m365/spo/commands/web/web-get.js +23 -20
  442. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +22 -19
  443. package/dist/m365/spo/commands/web/web-list.js +26 -23
  444. package/dist/m365/spo/commands/web/web-reindex.js +44 -55
  445. package/dist/m365/spo/commands/web/web-remove.js +36 -35
  446. package/dist/m365/spo/commands/web/web-roleassignment-add.js +30 -31
  447. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +44 -46
  448. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +23 -18
  449. package/dist/m365/spo/commands/web/web-set.js +53 -48
  450. package/dist/m365/spo/commands.js +4 -0
  451. package/dist/m365/teams/commands/app/app-install.js +33 -30
  452. package/dist/m365/teams/commands/app/app-list.js +19 -15
  453. package/dist/m365/teams/commands/app/app-publish.js +23 -20
  454. package/dist/m365/teams/commands/app/app-remove.js +32 -31
  455. package/dist/m365/teams/commands/app/app-uninstall.js +31 -30
  456. package/dist/m365/teams/commands/app/app-update.js +23 -20
  457. package/dist/m365/teams/commands/cache/cache-remove.js +25 -24
  458. package/dist/m365/teams/commands/channel/channel-add.js +13 -10
  459. package/dist/m365/teams/commands/channel/channel-get.js +27 -29
  460. package/dist/m365/teams/commands/channel/channel-list.js +20 -18
  461. package/dist/m365/teams/commands/channel/channel-member-add.js +22 -27
  462. package/dist/m365/teams/commands/channel/channel-member-list.js +25 -26
  463. package/dist/m365/teams/commands/channel/channel-member-remove.js +32 -31
  464. package/dist/m365/teams/commands/channel/channel-member-set.js +30 -35
  465. package/dist/m365/teams/commands/channel/channel-remove.js +58 -61
  466. package/dist/m365/teams/commands/channel/channel-set.js +29 -26
  467. package/dist/m365/teams/commands/chat/chat-get.js +11 -8
  468. package/dist/m365/teams/commands/chat/chat-list.js +13 -10
  469. package/dist/m365/teams/commands/chat/chat-member-list.js +14 -10
  470. package/dist/m365/teams/commands/chat/chat-message-list.js +30 -26
  471. package/dist/m365/teams/commands/chat/chat-message-send.js +15 -11
  472. package/dist/m365/teams/commands/funsettings/funsettings-list.js +19 -16
  473. package/dist/m365/teams/commands/funsettings/funsettings-set.js +28 -23
  474. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +19 -16
  475. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +25 -20
  476. package/dist/m365/teams/commands/membersettings/membersettings-list.js +19 -16
  477. package/dist/m365/teams/commands/membersettings/membersettings-set.js +25 -20
  478. package/dist/m365/teams/commands/message/message-get.js +20 -17
  479. package/dist/m365/teams/commands/message/message-list.js +22 -18
  480. package/dist/m365/teams/commands/message/message-reply-list.js +19 -15
  481. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +19 -16
  482. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +26 -21
  483. package/dist/m365/teams/commands/report/report-directroutingcalls.js +21 -18
  484. package/dist/m365/teams/commands/report/report-pstncalls.js +21 -18
  485. package/dist/m365/teams/commands/tab/tab-add.js +23 -20
  486. package/dist/m365/teams/commands/tab/tab-get.js +25 -30
  487. package/dist/m365/teams/commands/tab/tab-list.js +18 -14
  488. package/dist/m365/teams/commands/tab/tab-remove.js +34 -31
  489. package/dist/m365/teams/commands/team/team-add.js +53 -55
  490. package/dist/m365/teams/commands/team/team-archive.js +29 -26
  491. package/dist/m365/teams/commands/team/team-clone.js +43 -38
  492. package/dist/m365/teams/commands/team/team-get.js +20 -19
  493. package/dist/m365/teams/commands/team/team-list.js +29 -19
  494. package/dist/m365/teams/commands/team/team-remove.js +38 -39
  495. package/dist/m365/teams/commands/team/team-set.js +29 -24
  496. package/dist/m365/teams/commands/team/team-unarchive.js +26 -23
  497. package/dist/m365/teams/commands/user/user-app-add.js +23 -18
  498. package/dist/m365/teams/commands/user/user-app-list.js +31 -31
  499. package/dist/m365/teams/commands/user/user-app-remove.js +33 -32
  500. package/dist/m365/teams/commands/user/user-list.js +21 -22
  501. package/dist/m365/tenant/commands/id/id-get.js +37 -26
  502. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +38 -24
  503. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +38 -24
  504. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +38 -24
  505. package/dist/m365/tenant/commands/security/security-alerts-list.js +19 -7
  506. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +19 -7
  507. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +19 -7
  508. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +26 -14
  509. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +24 -12
  510. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +20 -17
  511. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +24 -12
  512. package/dist/m365/todo/commands/list/list-add.js +31 -19
  513. package/dist/m365/todo/commands/list/list-list.js +20 -8
  514. package/dist/m365/todo/commands/list/list-remove.js +57 -49
  515. package/dist/m365/todo/commands/list/list-set.js +34 -22
  516. package/dist/m365/todo/commands/task/task-add.js +32 -22
  517. package/dist/m365/todo/commands/task/task-list.js +33 -23
  518. package/dist/m365/todo/commands/task/task-remove.js +57 -49
  519. package/dist/m365/todo/commands/task/task-set.js +22 -21
  520. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +26 -14
  521. package/dist/m365/viva/commands/connections/connections-app-create.js +104 -106
  522. package/dist/m365/yammer/commands/group/group-list.js +11 -8
  523. package/dist/m365/yammer/commands/group/group-user-add.js +21 -16
  524. package/dist/m365/yammer/commands/group/group-user-remove.js +39 -38
  525. package/dist/m365/yammer/commands/message/message-add.js +27 -24
  526. package/dist/m365/yammer/commands/message/message-get.js +18 -15
  527. package/dist/m365/yammer/commands/message/message-like-set.js +45 -46
  528. package/dist/m365/yammer/commands/message/message-list.js +24 -21
  529. package/dist/m365/yammer/commands/message/message-remove.js +31 -30
  530. package/dist/m365/yammer/commands/network/network-list.js +29 -17
  531. package/dist/m365/yammer/commands/user/user-get.js +25 -22
  532. package/dist/m365/yammer/commands/user/user-list.js +11 -8
  533. package/dist/m365/yammer/commands/yammer-search.js +76 -73
  534. package/dist/request.js +4 -4
  535. package/dist/utils/cache.js +81 -0
  536. package/dist/utils/pid.js +57 -0
  537. package/dist/utils/spo.js +7 -6
  538. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.md +1 -1
  539. package/docs/docs/cmd/aad/user/user-signin-list.md +1 -1
  540. package/docs/docs/cmd/onedrive/report/report-activityusercounts.md +1 -1
  541. package/docs/docs/cmd/outlook/mail/mail-send.md +26 -11
  542. package/docs/docs/cmd/planner/task/task-checklistitem-list.md +1 -1
  543. package/docs/docs/cmd/planner/task/task-reference-add.md +1 -1
  544. package/docs/docs/cmd/search/externalconnection/externalconnection-remove.md +1 -1
  545. package/docs/docs/cmd/spo/contenttype/contenttype-set.md +45 -0
  546. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.md +39 -0
  547. package/docs/docs/cmd/spo/folder/folder-get.md +13 -4
  548. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +36 -0
  549. package/docs/docs/cmd/spo/list/list-roleassignment-add.md +1 -1
  550. package/docs/docs/cmd/spo/list/list-roleassignment-remove.md +1 -1
  551. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.md +1 -1
  552. package/docs/docs/cmd/spo/roledefinition/roledefinition-add.md +43 -0
  553. package/docs/docs/cmd/spo/site/site-apppermission-add.md +1 -1
  554. package/docs/docs/cmd/spo/site/site-apppermission-set.md +1 -1
  555. package/docs/docs/cmd/spo/web/web-roleassignment-add.md +5 -5
  556. package/docs/docs/cmd/spo/web/web-roleassignment-remove.md +5 -5
  557. package/docs/docs/cmd/spo/web/web-roleinheritance-reset.md +1 -1
  558. package/docs/docs/cmd/teams/cache/cache-remove.md +1 -1
  559. package/docs/docs/cmd/teams/channel/channel-add.md +1 -1
  560. package/docs/docs/cmd/teams/channel/channel-list.md +1 -1
  561. package/docs/docs/cmd/teams/channel/channel-member-add.md +5 -5
  562. package/docs/docs/cmd/teams/channel/channel-member-remove.md +1 -1
  563. package/docs/docs/cmd/teams/channel/channel-member-set.md +2 -2
  564. package/docs/docs/cmd/teams/funsettings/funsettings-set.md +6 -6
  565. package/docs/docs/cmd/tenant/security/security-alerts-list.md +1 -1
  566. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +1 -1
  567. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +1 -1
  568. package/npm-shrinkwrap.json +344 -359
  569. package/package.json +24 -18
  570. package/dist/cli/index.js +0 -21
  571. package/dist/utils/index.js +0 -31
@@ -15,10 +15,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _SpoFieldSetCommand_instances, _SpoFieldSetCommand_initTelemetry, _SpoFieldSetCommand_initOptions, _SpoFieldSetCommand_initValidators, _SpoFieldSetCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- const Command_1 = require("../../../../Command");
19
18
  const config_1 = require("../../../../config");
20
19
  const request_1 = require("../../../../request");
21
- const utils_1 = require("../../../../utils");
20
+ const formatting_1 = require("../../../../utils/formatting");
21
+ const spo_1 = require("../../../../utils/spo");
22
+ const validation_1 = require("../../../../utils/validation");
22
23
  const SpoCommand_1 = require("../../../base/SpoCommand");
23
24
  const commands_1 = require("../../commands");
24
25
  class SpoFieldSetCommand extends SpoCommand_1.default {
@@ -39,81 +40,76 @@ class SpoFieldSetCommand extends SpoCommand_1.default {
39
40
  allowUnknownOptions() {
40
41
  return true;
41
42
  }
42
- commandAction(logger, args, cb) {
43
- if (args.options.name) {
44
- this.warn(logger, `Option 'name' is deprecated. Please use 'title' instead.`);
45
- }
46
- let requestDigest = '';
47
- utils_1.spo
48
- .getRequestDigest(args.options.webUrl)
49
- .then((res) => {
50
- requestDigest = res.FormDigestValue;
51
- if (!args.options.listId && !args.options.listTitle) {
52
- return Promise.resolve(undefined);
43
+ commandAction(logger, args) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ if (args.options.name) {
46
+ this.warn(logger, `Option 'name' is deprecated. Please use 'title' instead.`);
53
47
  }
54
- const listQuery = args.options.listId ?
55
- `<Method Id="663" ParentId="7" Name="GetById"><Parameters><Parameter Type="Guid">${utils_1.formatting.escapeXml(args.options.listId)}</Parameter></Parameters></Method>` :
56
- `<Method Id="663" ParentId="7" Name="GetByTitle"><Parameters><Parameter Type="String">${utils_1.formatting.escapeXml(args.options.listTitle)}</Parameter></Parameters></Method>`;
57
- const requestOptions = {
58
- url: `${args.options.webUrl}/_vti_bin/client.svc/ProcessQuery`,
59
- headers: {
60
- 'X-RequestDigest': requestDigest
61
- },
62
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="664" ObjectPathId="663" /><Query Id="665" ObjectPathId="663"><Query SelectAllProperties="false"><Properties /></Query></Query></Actions><ObjectPaths>${listQuery}<Property Id="7" ParentId="5" Name="Lists" /><Property Id="5" ParentId="3" Name="Web" /><StaticProperty Id="3" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" /></ObjectPaths></Request>`
63
- };
64
- return request_1.default.post(requestOptions);
65
- })
66
- .then((res) => {
67
- // by default retrieve the column from the site
68
- let fieldsParentIdentity = '<Property Id="5" ParentId="3" Name="Web" /><StaticProperty Id="3" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" />';
69
- if (res) {
70
- const json = JSON.parse(res);
71
- const response = json[0];
48
+ try {
49
+ const reqDigest = yield spo_1.spo.getRequestDigest(args.options.webUrl);
50
+ const requestDigest = reqDigest.FormDigestValue;
51
+ let list = undefined;
52
+ if (args.options.listId || args.options.listTitle) {
53
+ const listQuery = args.options.listId ?
54
+ `<Method Id="663" ParentId="7" Name="GetById"><Parameters><Parameter Type="Guid">${formatting_1.formatting.escapeXml(args.options.listId)}</Parameter></Parameters></Method>` :
55
+ `<Method Id="663" ParentId="7" Name="GetByTitle"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.listTitle)}</Parameter></Parameters></Method>`;
56
+ const requestOptions = {
57
+ url: `${args.options.webUrl}/_vti_bin/client.svc/ProcessQuery`,
58
+ headers: {
59
+ 'X-RequestDigest': requestDigest
60
+ },
61
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="664" ObjectPathId="663" /><Query Id="665" ObjectPathId="663"><Query SelectAllProperties="false"><Properties /></Query></Query></Actions><ObjectPaths>${listQuery}<Property Id="7" ParentId="5" Name="Lists" /><Property Id="5" ParentId="3" Name="Web" /><StaticProperty Id="3" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" /></ObjectPaths></Request>`
62
+ };
63
+ list = yield request_1.default.post(requestOptions);
64
+ }
65
+ // by default retrieve the column from the site
66
+ let fieldsParentIdentity = '<Property Id="5" ParentId="3" Name="Web" /><StaticProperty Id="3" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" />';
67
+ if (list) {
68
+ const json = JSON.parse(list);
69
+ const response = json[0];
70
+ if (response.ErrorInfo) {
71
+ throw response.ErrorInfo.ErrorMessage;
72
+ }
73
+ const result = json[json.length - 1];
74
+ fieldsParentIdentity = `<Identity Id="5" Name="${result._ObjectIdentity_}" />`;
75
+ }
76
+ // retrieve column CSOM object id
77
+ const fieldQuery = args.options.id ?
78
+ `<Method Id="663" ParentId="7" Name="GetById"><Parameters><Parameter Type="Guid">${formatting_1.formatting.escapeXml(args.options.id)}</Parameter></Parameters></Method>` :
79
+ `<Method Id="663" ParentId="7" Name="GetByInternalNameOrTitle"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.name || args.options.title)}</Parameter></Parameters></Method>`;
80
+ let requestOptions = {
81
+ url: `${args.options.webUrl}/_vti_bin/client.svc/ProcessQuery`,
82
+ headers: {
83
+ 'X-RequestDigest': requestDigest
84
+ },
85
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="664" ObjectPathId="663" /><Query Id="665" ObjectPathId="663"><Query SelectAllProperties="false"><Properties /></Query></Query></Actions><ObjectPaths>${fieldQuery}<Property Id="7" ParentId="5" Name="Fields" />${fieldsParentIdentity}</ObjectPaths></Request>`
86
+ };
87
+ const field = yield request_1.default.post(requestOptions);
88
+ let json = JSON.parse(field);
89
+ let response = json[0];
72
90
  if (response.ErrorInfo) {
73
- return Promise.reject(response.ErrorInfo.ErrorMessage);
91
+ throw response.ErrorInfo.ErrorMessage;
74
92
  }
75
93
  const result = json[json.length - 1];
76
- fieldsParentIdentity = `<Identity Id="5" Name="${result._ObjectIdentity_}" />`;
77
- }
78
- // retrieve column CSOM object id
79
- const fieldQuery = args.options.id ?
80
- `<Method Id="663" ParentId="7" Name="GetById"><Parameters><Parameter Type="Guid">${utils_1.formatting.escapeXml(args.options.id)}</Parameter></Parameters></Method>` :
81
- `<Method Id="663" ParentId="7" Name="GetByInternalNameOrTitle"><Parameters><Parameter Type="String">${utils_1.formatting.escapeXml(args.options.name || args.options.title)}</Parameter></Parameters></Method>`;
82
- const requestOptions = {
83
- url: `${args.options.webUrl}/_vti_bin/client.svc/ProcessQuery`,
84
- headers: {
85
- 'X-RequestDigest': requestDigest
86
- },
87
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="664" ObjectPathId="663" /><Query Id="665" ObjectPathId="663"><Query SelectAllProperties="false"><Properties /></Query></Query></Actions><ObjectPaths>${fieldQuery}<Property Id="7" ParentId="5" Name="Fields" />${fieldsParentIdentity}</ObjectPaths></Request>`
88
- };
89
- return request_1.default.post(requestOptions);
90
- })
91
- .then((res) => {
92
- const json = JSON.parse(res);
93
- const response = json[0];
94
- if (response.ErrorInfo) {
95
- return Promise.reject(response.ErrorInfo.ErrorMessage);
94
+ const fieldId = result._ObjectIdentity_;
95
+ requestOptions = {
96
+ url: `${args.options.webUrl}/_vti_bin/client.svc/ProcessQuery`,
97
+ headers: {
98
+ 'X-RequestDigest': requestDigest
99
+ },
100
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions>${this.getPayload(args.options)}<Method Name="UpdateAndPushChanges" Id="9000" ObjectPathId="663"><Parameters><Parameter Type="Boolean">${args.options.updateExistingLists ? 'true' : 'false'}</Parameter></Parameters></Method></Actions><ObjectPaths><Identity Id="663" Name="${fieldId}" /></ObjectPaths></Request>`
101
+ };
102
+ const res = yield request_1.default.post(requestOptions);
103
+ json = JSON.parse(res);
104
+ response = json[0];
105
+ if (response.ErrorInfo) {
106
+ throw response.ErrorInfo.ErrorMessage;
107
+ }
96
108
  }
97
- const result = json[json.length - 1];
98
- const fieldId = result._ObjectIdentity_;
99
- const requestOptions = {
100
- url: `${args.options.webUrl}/_vti_bin/client.svc/ProcessQuery`,
101
- headers: {
102
- 'X-RequestDigest': requestDigest
103
- },
104
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions>${this.getPayload(args.options)}<Method Name="UpdateAndPushChanges" Id="9000" ObjectPathId="663"><Parameters><Parameter Type="Boolean">${args.options.updateExistingLists ? 'true' : 'false'}</Parameter></Parameters></Method></Actions><ObjectPaths><Identity Id="663" Name="${fieldId}" /></ObjectPaths></Request>`
105
- };
106
- return request_1.default.post(requestOptions);
107
- })
108
- .then((res) => {
109
- const json = JSON.parse(res);
110
- const response = json[0];
111
- if (response.ErrorInfo) {
112
- cb(new Command_1.CommandError(response.ErrorInfo.ErrorMessage));
113
- return;
109
+ catch (err) {
110
+ this.handleRejectedPromise(err);
114
111
  }
115
- cb();
116
- }, (err) => this.handleRejectedPromise(err, logger, cb));
112
+ });
117
113
  }
118
114
  getPayload(options) {
119
115
  const excludeOptions = [
@@ -130,7 +126,7 @@ class SpoFieldSetCommand extends SpoCommand_1.default {
130
126
  ];
131
127
  let i = 667;
132
128
  const payload = Object.keys(options).map(key => {
133
- return excludeOptions.indexOf(key) === -1 ? `<SetProperty Id="${i++}" ObjectPathId="663" Name="${key}"><Parameter Type="String">${utils_1.formatting.escapeXml(options[key])}</Parameter></SetProperty>` : '';
129
+ return excludeOptions.indexOf(key) === -1 ? `<SetProperty Id="${i++}" ObjectPathId="663" Name="${key}"><Parameter Type="String">${formatting_1.formatting.escapeXml(options[key])}</Parameter></SetProperty>` : '';
134
130
  }).join('');
135
131
  return payload;
136
132
  }
@@ -164,7 +160,7 @@ _SpoFieldSetCommand_instances = new WeakSet(), _SpoFieldSetCommand_initTelemetry
164
160
  });
165
161
  }, _SpoFieldSetCommand_initValidators = function _SpoFieldSetCommand_initValidators() {
166
162
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
167
- const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.webUrl);
163
+ const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
168
164
  if (isValidSharePointUrl !== true) {
169
165
  return isValidSharePointUrl;
170
166
  }
@@ -172,11 +168,11 @@ _SpoFieldSetCommand_instances = new WeakSet(), _SpoFieldSetCommand_initTelemetry
172
168
  return `Specify listId or listTitle but not both`;
173
169
  }
174
170
  if (args.options.listId &&
175
- !utils_1.validation.isValidGuid(args.options.listId)) {
171
+ !validation_1.validation.isValidGuid(args.options.listId)) {
176
172
  return `${args.options.listId} in option listId is not a valid GUID`;
177
173
  }
178
174
  if (args.options.id &&
179
- !utils_1.validation.isValidGuid(args.options.id)) {
175
+ !validation_1.validation.isValidGuid(args.options.id)) {
180
176
  return `${args.options.id} in option id is not a valid GUID`;
181
177
  }
182
178
  return true;
@@ -19,7 +19,10 @@ const fs = require("fs");
19
19
  const path = require("path");
20
20
  const uuid_1 = require("uuid");
21
21
  const request_1 = require("../../../../request");
22
- const utils_1 = require("../../../../utils");
22
+ const fsUtil_1 = require("../../../../utils/fsUtil");
23
+ const spo_1 = require("../../../../utils/spo");
24
+ const urlUtil_1 = require("../../../../utils/urlUtil");
25
+ const validation_1 = require("../../../../utils/validation");
23
26
  const SpoCommand_1 = require("../../../base/SpoCommand");
24
27
  const commands_1 = require("../../commands");
25
28
  class SpoFileAddCommand extends SpoCommand_1.default {
@@ -42,73 +45,66 @@ class SpoFileAddCommand extends SpoCommand_1.default {
42
45
  allowUnknownOptions() {
43
46
  return true;
44
47
  }
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
- });
48
+ commandAction(logger, args) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const folderPath = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.folder);
51
+ const fullPath = path.resolve(args.options.path);
52
+ const fileName = fsUtil_1.fsUtil.getSafeFileName(path.basename(fullPath));
53
+ let isCheckedOut = false;
54
+ let listSettings;
55
+ if (this.debug) {
56
+ logger.logToStderr(`folder path: ${folderPath}...`);
83
57
  }
84
- return Promise.resolve();
85
- })
86
- .then(() => {
87
- if (this.verbose) {
88
- logger.logToStderr(`Upload file to site ${args.options.webUrl}...`);
58
+ if (this.debug) {
59
+ logger.logToStderr('Check if the specified folder exists.');
60
+ logger.logToStderr('');
89
61
  }
90
- const fileStats = fs.statSync(fullPath);
91
- const fileSize = fileStats.size;
92
62
  if (this.debug) {
93
- logger.logToStderr(`File size is ${fileSize} bytes`);
63
+ logger.logToStderr(`file name: ${fileName}...`);
94
64
  }
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);
65
+ try {
66
+ try {
67
+ const requestOptions = {
68
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')`,
69
+ headers: {
70
+ 'accept': 'application/json;odata=nometadata'
71
+ }
72
+ };
73
+ yield request_1.default.get(requestOptions);
74
+ }
75
+ catch (err) {
76
+ // folder does not exist so will attempt to create the folder tree
77
+ yield spo_1.spo.ensureFolder(args.options.webUrl, folderPath, logger, this.debug);
78
+ }
79
+ if (args.options.checkOut) {
80
+ yield this.fileCheckOut(fileName, args.options.webUrl, folderPath);
81
+ // flag the file is checkedOut by the command
82
+ // so in case of command failure we can try check it in
83
+ isCheckedOut = true;
84
+ }
98
85
  if (this.verbose) {
99
- logger.logToStderr(`Uploading ${fileSize} bytes in ${fileChunkCount} chunks...`);
86
+ logger.logToStderr(`Upload file to site ${args.options.webUrl}...`);
100
87
  }
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'
88
+ const fileStats = fs.statSync(fullPath);
89
+ const fileSize = fileStats.size;
90
+ if (this.debug) {
91
+ logger.logToStderr(`File size is ${fileSize} bytes`);
92
+ }
93
+ // only up to 250 MB are allowed in a single request
94
+ if (fileSize > this.fileChunkingThreshold) {
95
+ const fileChunkCount = Math.ceil(fileSize / this.fileChunkSize);
96
+ if (this.verbose) {
97
+ logger.logToStderr(`Uploading ${fileSize} bytes in ${fileChunkCount} chunks...`);
107
98
  }
108
- };
109
- return request_1.default
110
- .post(requestOptions)
111
- .then(() => {
99
+ // initiate chunked upload session
100
+ const uploadId = (0, uuid_1.v4)();
101
+ const requestOptions = {
102
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files/GetByPathOrAddStub(DecodedUrl='${encodeURIComponent(fileName)}')/StartUpload(uploadId=guid'${uploadId}')`,
103
+ headers: {
104
+ 'accept': 'application/json;odata=nometadata'
105
+ }
106
+ };
107
+ yield request_1.default.post(requestOptions);
112
108
  // session started successfully, now upload our file chunks
113
109
  const fileUploadInfo = {
114
110
  Name: fileName,
@@ -120,16 +116,15 @@ class SpoFileAddCommand extends SpoCommand_1.default {
120
116
  Position: 0,
121
117
  Size: fileSize
122
118
  };
123
- return new Promise((resolve, reject) => {
124
- this.uploadFileChunks(fileUploadInfo, logger, resolve, reject);
125
- })
126
- .then(() => {
119
+ try {
120
+ yield new Promise((resolve, reject) => {
121
+ this.uploadFileChunks(fileUploadInfo, logger, resolve, reject);
122
+ });
127
123
  if (this.verbose) {
128
124
  logger.logToStderr(`Finished uploading ${fileUploadInfo.Position} bytes in ${fileChunkCount} chunks`);
129
125
  }
130
- return Promise.resolve();
131
- })
132
- .catch((err) => {
126
+ }
127
+ catch (err) {
133
128
  if (this.verbose) {
134
129
  logger.logToStderr('Cancelling upload session due to error...');
135
130
  }
@@ -139,124 +134,110 @@ class SpoFileAddCommand extends SpoCommand_1.default {
139
134
  'accept': 'application/json;odata=nometadata'
140
135
  }
141
136
  };
142
- return request_1.default
143
- .post(requestOptions)
144
- .then(() => {
145
- return Promise.reject(err); // original error
146
- })
147
- .catch((err_) => {
137
+ try {
138
+ yield request_1.default.post(requestOptions);
139
+ throw err;
140
+ }
141
+ catch (err) {
148
142
  if (this.debug) {
149
- logger.logToStderr(`Failed to cancel upload session: ${err_}`);
143
+ logger.logToStderr(`Failed to cancel upload session: ${err}`);
150
144
  }
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;
145
+ throw err;
146
+ }
147
+ }
148
+ }
149
+ else {
150
+ // upload small file in a single request
151
+ const fileBody = fs.readFileSync(fullPath);
152
+ const bodyLength = fileBody.byteLength;
153
+ const requestOptions = {
154
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files/Add(url='${encodeURIComponent(fileName)}', overwrite=true)`,
155
+ data: fileBody,
156
+ headers: {
157
+ 'accept': 'application/json;odata=nometadata',
158
+ 'content-length': bodyLength
159
+ },
160
+ maxBodyLength: this.fileChunkingThreshold
161
+ };
162
+ yield request_1.default.post(requestOptions);
163
+ }
164
+ if (args.options.contentType || args.options.publish || args.options.approve) {
165
+ listSettings = yield this.getFileParentList(fileName, args.options.webUrl, folderPath, logger);
175
166
  if (args.options.contentType) {
176
- return this.listHasContentType(args.options.contentType, args.options.webUrl, listSettings, logger);
167
+ yield this.listHasContentType(args.options.contentType, args.options.webUrl, listSettings, logger);
177
168
  }
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
169
  }
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');
170
+ // check if there are unknown options
171
+ // and map them as fields to update
172
+ const fieldsToUpdate = this.mapUnknownOptionsAsFieldValue(args.options);
173
+ if (args.options.contentType) {
174
+ fieldsToUpdate.push({
175
+ FieldName: 'ContentType',
176
+ FieldValue: args.options.contentType
177
+ });
224
178
  }
225
- if (this.verbose) {
226
- logger.logToStderr(`Publish file ${fileName}`);
179
+ if (fieldsToUpdate.length > 0) {
180
+ // perform list item update and checkin
181
+ yield this.validateUpdateListItem(args.options.webUrl, folderPath, fileName, fieldsToUpdate, logger, args.options.checkInComment);
227
182
  }
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 => {
183
+ else if (isCheckedOut) {
184
+ // perform checkin
185
+ yield this.fileCheckIn(args, fileName);
186
+ }
187
+ // approve and publish cannot be used together
188
+ // when approve is used it will automatically publish the file
189
+ // so then no need to publish afterwards
190
+ if (args.options.approve) {
191
+ if (this.verbose) {
192
+ logger.logToStderr(`Approve file ${fileName}`);
193
+ }
194
+ // approve the existing file with given comment
195
+ const requestOptions = {
196
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/approve(comment='${encodeURIComponent(args.options.approveComment || '')}')`,
197
+ headers: {
198
+ 'accept': 'application/json;odata=nometadata'
199
+ },
200
+ responseType: 'json'
201
+ };
202
+ yield request_1.default.post(requestOptions);
203
+ }
204
+ else if (args.options.publish) {
205
+ if (listSettings.EnableModeration && listSettings.EnableMinorVersions) {
206
+ 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';
207
+ }
250
208
  if (this.verbose) {
251
- logger.logToStderr('Could not rollback file checkout');
252
- logger.logToStderr(checkoutError);
253
- logger.logToStderr('');
209
+ logger.logToStderr(`Publish file ${fileName}`);
254
210
  }
255
- this.handleRejectedODataJsonPromise(err, logger, cb);
256
- });
211
+ // publish the existing file with given comment
212
+ const requestOptions = {
213
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/publish(comment='${encodeURIComponent(args.options.publishComment || '')}')`,
214
+ headers: {
215
+ 'accept': 'application/json;odata=nometadata'
216
+ },
217
+ responseType: 'json'
218
+ };
219
+ yield request_1.default.post(requestOptions);
220
+ }
257
221
  }
258
- else {
259
- this.handleRejectedODataJsonPromise(err, logger, cb);
222
+ catch (err) {
223
+ if (isCheckedOut) {
224
+ // in a case the command has done checkout
225
+ // then have to rollback the checkout
226
+ const requestOptions = {
227
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/UndoCheckOut()`
228
+ };
229
+ try {
230
+ yield request_1.default.post(requestOptions);
231
+ }
232
+ catch (err) {
233
+ if (this.verbose) {
234
+ logger.logToStderr('Could not rollback file checkout');
235
+ logger.logToStderr(err);
236
+ logger.logToStderr('');
237
+ }
238
+ }
239
+ }
240
+ this.handleRejectedODataJsonPromise(err);
260
241
  }
261
242
  });
262
243
  }
@@ -498,7 +479,7 @@ _SpoFileAddCommand_instances = new WeakSet(), _SpoFileAddCommand_initTelemetry =
498
479
  });
499
480
  }, _SpoFileAddCommand_initValidators = function _SpoFileAddCommand_initValidators() {
500
481
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
501
- const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.webUrl);
482
+ const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
502
483
  if (isValidSharePointUrl !== true) {
503
484
  return isValidSharePointUrl;
504
485
  }